Error Format
Error Codes
| Status | Code | Description |
|---|---|---|
| 400 | BAD_REQUEST | The request body or parameters are invalid |
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 403 | FORBIDDEN | Valid key but insufficient permissions |
| 404 | NOT_FOUND | Resource does not exist |
| 409 | CONFLICT | Resource already exists or state conflict |
| 422 | VALIDATION_ERROR | Request body failed validation |
| 429 | RATE_LIMITED | Too many requests — see Rate Limits |
| 500 | INTERNAL_ERROR | Unexpected server error |
Validation Errors
422 VALIDATION_ERROR responses include field-level details:
Best Practices
- Check the
codefield for programmatic error handling, not themessage - Log the full error response for debugging
- Implement retry logic with exponential backoff for
429and5xxerrors - Do not retry
4xxerrors (except429) — they indicate a client issue