Error shape
Example
{
"error": {
"code": "invalid_parameter",
"message": "limit must be between 1 and 100.",
"details": {
"parameter": "limit"
}
}
}
Status codes
| HTTP | Use |
|---|---|
| 401 · invalid_api_key | Bearer key is missing, malformed, unknown, or revoked. |
| 403 · subscription_inactive | Bearer key is valid, but its account has no current API entitlement. |
| 404 · not_found | Endpoint or stable resource ID was not found. |
| 405 · method_not_allowed | HTTP method is not supported for this route. |
| 422 · invalid_parameter | A documented query parameter has an invalid value. |
| 422 · unknown_parameter | A query parameter name is outside the documented contract. |
| 429 · rate_limit | Per-minute request allowance is exhausted. |
| 429 · monthly_quota | Billing-period request allowance is exhausted. |
| 503 · service_unavailable | A required service such as the normalized store is unavailable. |
Retry policy
- Do not retry 401, 403, 404, 405, or 422 without changing credentials, billing state, or the request.
- Retry 429 only after the applicable reset, with jitter.
- Retry 503 with bounded exponential backoff.
- Log the response request ID when present so support can trace a failure.