Error Codes
Error responses use standard HTTP status codes plus an application code in the response body for programmatic handling. All error responses follow this shape:
{
"error": {
"code": "insufficient_balance",
"message": "Insufficient balance. Please add funds to continue making calls."
}
}
Codes
| HTTP | Code | Meaning | What to do |
|---|---|---|---|
401 |
unauthorized |
Missing or invalid API key. | Verify the Authorization header. Re-create the key if needed. |
400 |
invalid_request |
Request body could not be parsed. | Check JSON syntax and the Content-Type header. |
400 |
validation_error |
A required field is missing or malformed. | Read the error message; fix the offending field. |
400 |
invalid_numbers |
Party A and Party B are the same number, or not valid 10-digit Indian mobiles. | Use two different, valid 10-digit Indian mobile numbers. |
402 |
insufficient_balance |
Wallet balance too low to start the call. | Top up your wallet, then retry. |
404 |
not_found |
The call_sid does not exist for your tenant, or the recording is not yet available. |
Double-check the call_sid; calls older than retention may be purged. |
429 |
rate_limited |
API rate limit exceeded. Default limit is 100 requests/minute per API key. | Back off and retry; spread requests over time. |
500 |
internal_error |
Server-side error. | Retry after a few seconds. If persistent, contact support. |
Stuck? Email [email protected] or message us on WhatsApp.