Error Codes
The API uses standard HTTP status codes. Error responses include a JSON body
with a code and message field.
Error shape
{
"error": {
"code": "unauthorized",
"message": "Invalid or expired API token.",
"status": 401
}
}
HTTP status codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 201 | Created |
| 400 | Bad Request — invalid parameters |
| 401 | Unauthorized — invalid or missing API key |
| 403 | Forbidden — insufficient permissions |
| 404 | Not Found |
| 422 | Unprocessable — validation failed |
| 429 | Rate Limit Exceeded |
| 500 | Internal Server Error |
Handling errors
- Treat any
5xxas retryable with exponential backoff. - Treat
429as retryable after theX-RateLimit-Resettime. - Treat
4xx(except429) as a client error — do not blindly retry.