Error format
All errors follow a consistent JSON structure:| Field | Description |
|---|---|
code | Machine-readable error code |
message | Human-readable description |
doc_url | Link to relevant documentation |
request_id | Unique ID for debugging (include this when contacting support) |
Error codes
| HTTP Status | Code | Description |
|---|---|---|
400 | invalid_request | The request body is malformed or missing required fields |
401 | unauthorized | Missing or invalid API key |
403 | forbidden | The API key does not have the required scope |
404 | not_found | The requested resource does not exist |
409 | conflict | A resource with that identifier already exists |
422 | unprocessable_entity | The request is valid but cannot be processed (e.g., plan limit reached) |
429 | rate_limit_exceeded | Too many requests — see Rate Limiting |
500 | internal_error | An unexpected error occurred on our end |

