Error response format
All error responses use a consistent envelope:HTTP status codes
Rate limiting
Default: 100 requests per second per API key. Rate limit headers are returned on every response:X-RateLimit-Reset Unix timestamp before retrying.Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Consistent error envelope and HTTP status codes across all endpoints.
{
"ok": false,
"error": {
"code": "invalid_sender_id",
"message": "Sender ID 'TOOLONG12345' exceeds 11 character limit.",
"param": "sender_id",
"doc_url": "https://developers.senderz.ai/errors/invalid_sender_id"
},
"meta": {
"request_id": "req_abc124",
"timestamp": "2026-07-17T14:30:01+10:00"
}
}
| Field | Description |
|---|---|
error.code | Machine-readable error identifier. Stable across API versions. |
error.message | Human-readable explanation. May change without notice. |
error.param | The request parameter that caused the error, if applicable. |
error.doc_url | Link to documentation for this specific error. |
meta.request_id | Unique identifier for this request. Include in support queries. |
| Code | Meaning |
|---|---|
200 | Success |
201 | Created |
400 | Validation error. Check error.param. |
401 | Missing or invalid API key. |
403 | Key lacks required permission. |
404 | Resource not found. |
409 | Conflict (e.g. duplicate SID registration). |
422 | Unprocessable. The request is valid JSON but violates market-specific rules. |
429 | Rate limited. Retry after the X-RateLimit-Reset timestamp. |
500 | Internal error. Retry with exponential backoff. |
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1721200260
X-RateLimit-Reset Unix timestamp before retrying..jpg?fit=max&auto=format&n=IhWYk8R5R6sdJ_7C&q=85&s=7e3194d82fa9653ad2a2449b4f1a3073)