All errors return a JSON body with error.code, error.message and error.request_id. Include the request_id when contacting support.
| Status | Meaning | Action |
|---|---|---|
| 400 | Bad request | Fix payload, do not retry |
| 401 | Auth missing/invalid | Verify Authorization header |
| 403 | Tier insufficient | Upgrade plan or use different endpoint |
| 404 | Resource not found | Verify ID, do not retry |
| 429 | Rate-limited | Wait Retry-After seconds |
| 500–504 | Server error | Retry with exponential back-off |
{
"error": {
"code": "rate_limited",
"message": "Too many requests; retry in 13 s",
"request_id": "req_a1b2c3d4"
}
}