GetPaidly API
Business PlanAccess your business data programmatically. REST API for transactions, contacts, business summaries, and real-time webhooks.
Quick Start
Get up and running in 3 steps.
Get your API key
Send "api key" to GetPaidly on WhatsApp. You'll receive your unique API key instantly.
Make your first request
Try fetching your business summary:
curl -H "x-api-key: YOUR_API_KEY" \
https://getpaidly-development.up.railway.app/v1/summaryExplore endpoints
Browse the full endpoint reference below to access transactions, contacts, and more.
Authentication
All API requests require an x-api-key header.
cURL
curl -H "x-api-key: YOUR_API_KEY" \
https://getpaidly-development.up.railway.app/v1/summaryJavaScript (fetch)
const res = await fetch("https://getpaidly-development.up.railway.app/v1/summary", {
headers: { "x-api-key": "YOUR_API_KEY" }
});
const data = await res.json();
console.log(data);Python (requests)
import requests
res = requests.get(
"https://getpaidly-development.up.railway.app/v1/summary",
headers={"x-api-key": "YOUR_API_KEY"}
)
print(res.json())Endpoints
Read-only data endpoints. Base URL: https://getpaidly-development.up.railway.app
Webhooks
Business PlanReceive real-time notifications when events happen in your GetPaidly account. Register an HTTPS endpoint and we'll POST event payloads to it.
Webhook Endpoints
Webhook Events
| Event | Description |
|---|---|
| transaction.created | A new transaction (due) was added. |
| transaction.paid | A transaction was marked as paid. |
| transaction.updated | A transaction was edited (amount, due date, etc.). |
| transaction.deleted | A transaction was soft-deleted. |
| reminder.sent | An auto-reminder was sent to a buyer. |
| payment.received | A payment was received and verified (UPI/Razorpay). |
Payload Format
{
"event": "transaction.paid",
"timestamp": "2026-03-17T14: 30: 00Z",
"data": {
"id": "tx_uuid-here",
"contactName": "Ramesh Steel",
"amountPaise": 450000,
"paidAt": "2026-03-17T14: 30: 00Z",
"paymentRef": "UTR123456789"
}
}Security & Verification
Every webhook delivery includes an X-GetPaidly-Signature header containing an HMAC-SHA256 signature. Verify it by computing the HMAC of the raw request body using your webhook secret, then comparing with the header value.
// Node.js verification example
const crypto = require('crypto');
function verifyWebhook(rawBody, signatureHeader, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(rawBody)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(signatureHeader)
);
}Try It Live
Paste your API key and send a real request. Responses come directly from the GetPaidly API.
Rate Limits
If you exceed the limit, you will receive a 429 status code. Wait 60 seconds before retrying.
Error Codes
Standard HTTP status codes are used to indicate success or failure.
| Status | Meaning | Description |
|---|---|---|
| 401 | Unauthorized | Invalid or missing API key. |
| 403 | Forbidden | Your plan does not include API access. Upgrade to Business. |
| 404 | Not Found | The requested resource does not exist. |
| 429 | Too Many Requests | Rate limit exceeded. Wait and retry. |
Need a Custom API?
We're actively building new endpoints based on what our customers need. If you need write access, bulk operations, or any integration that would help your business - we'd love to hear from you.
Need help? Message us on WhatsApp
← Back to GetPaidly