Errors
4XX responses share a common JSON format (5XX responses may be non-JSON).
HTTP status codes follow standard HTTP semantics.
| Response status | Meaning |
|---|---|
| 200 | Request succeeded |
| 400 | Parameter error (e.g. missing required parameter) |
| 401 | API key authentication error |
| 404 | Endpoint not found |
| 429 | Rate limited |
| 500 | Internal server error |
| 504 | Request timeout |
error objectrequired
Error details.
typestringrequired
High-level error category
Example:
invalid_request_errorcodestringnullable
Fine-grained error identifier
| error.type | error.code | Description |
|---|---|---|
| invalid_request_error | invalid_url | 404 Invalid endpoint |
| invalid_api_key | 401 Invalid API key | |
| invalid_json | Invalid JSON | |
| invalid_event | Invalid event type | |
| invalid_parameters | Invalid parameters | |
| session_expired | Session quota (client secret) exhausted | |
| limitation | timeout_error | Request timed out |
| rate_limit_error | Reached the rate limit | |
| server_error | internal_error | Internal server error |
Example:
invalid_jsonmessagestringrequired
Developer-facing message corresponding to code
Example:
Invalid JSONparamstringnullable
Related parameter name(s) for parameter errors (comma-separated)
Example:
nullErrors
{
"error": {
"type": "invalid_request_error",
"code": "invalid_json",
"message": "Invalid JSON",
"param": null
}
}