Error Codes
HTTP status codes the merchant API returns and what they mean.
| Code | Meaning |
|---|---|
200 | Request successful. |
400 | Invalid request format, validation error, insufficient balance, limit exceeded, or malformed signature. |
401 | Missing authentication headers, expired timestamp (±5 min window exceeded), or signature mismatch. |
403 | Invalid API key, IP not whitelisted, or KYC gate blocking signed API access. |
404 | Resource not found (typically a beneficiary or payout that doesn't exist or doesn't belong to this business). |
409 | Idempotency conflict (e.g. beneficiary already exists with same account + IFSC). |
500 | Internal server error or downstream bank failure on terminal payout state. |
Response envelope
All errors return the same envelope shape:
{
"status": 400,
"data": null,
"message": "Failed to add beneficiary",
"meta": null
}
data may be non-null on 409 (returns the conflicting record) and on
500 for payouts (returns the payout id + final failed status).