§ Errors
Errors
Every error response has the same JSON shape and an HTTP status that matches its severity. Code yourself against the error.code field, not the message.
Shape
jsonjson
{
"error": {
"code": "invalid_request",
"message": "Date must be in YYYY-MM-DD format.",
"docsUrl": "/developers/docs/authentication"
}
}Codes
| HTTP | Code | Meaning |
|---|---|---|
| 400 | invalid_request | Parameters were malformed or missing. |
| 401 | missing_api_key | No key in Authorization, X-API-Key, or ?api_key= |
| 401 | invalid_api_key | Key is not recognized. |
| 401 | revoked_api_key | Key was revoked by its owner. |
| 404 | not_found | No resource with that slug or date. |
| 429 | rate_limited | Per-minute limit exceeded. |
| 429 | monthly_quota_exceeded | Monthly quota exhausted for this tier. |
| 500 | server_error | Something went wrong on our side. |
For 429 responses, a Retry-After header gives the number of seconds until the relevant window resets.