code field to programmatically identify and handle specific error conditions.
Error response format
request_id — include it when contacting support to help diagnose issues quickly.
Error codes
Authentication errors (401, 403)
| Code | Status | Description | Action |
|---|---|---|---|
missing_api_key | 401 | No Authorization header present | Add Authorization: Bearer YOUR_KEY header |
invalid_api_key | 401 | Key does not exist or is malformed | Check the key in your dashboard |
api_key_revoked | 401 | Key was revoked | Generate a new key |
api_key_expired | 401 | Key has passed its expiry date | Generate a new key |
insufficient_scope | 403 | Key lacks required permissions | Create a key with the appropriate scope |
ip_not_allowed | 403 | Request IP not on the key’s allowlist | Update the IP allowlist or use an allowed IP |
Validation errors (400, 422)
| Code | Status | Description | Action |
|---|---|---|---|
invalid_request | 400 | Request is malformed or unparseable | Check request body format and Content-Type |
validation_error | 422 | One or more fields failed validation | Check the details array for field-specific messages |
invalid_parameter | 400 | A query parameter has an invalid value | Review the parameter documentation |
missing_required_field | 422 | A required field is absent | Add the missing field to the request body |
Resource errors (404, 409)
| Code | Status | Description | Action |
|---|---|---|---|
resource_not_found | 404 | The requested resource does not exist | Verify the resource ID |
resource_already_exists | 409 | A resource with this identifier already exists | Use a different identifier or retrieve the existing resource |
resource_conflict | 409 | Operation conflicts with current resource state | Check the resource’s current status before retrying |
Rate limit errors (429)
| Code | Status | Description | Action |
|---|---|---|---|
rate_limit_exceeded | 429 | Too many requests in the current window | Wait for Retry-After seconds, then retry with backoff |
Server errors (500, 502, 503)
| Code | Status | Description | Action |
|---|---|---|---|
internal_error | 500 | Unexpected server error | Retry after a short delay; contact support if persistent |
service_unavailable | 503 | API is temporarily unavailable | Check the status page; retry with exponential backoff |