Overview
Errors
HTTP status codes and error responses.
The API uses standard HTTP status codes and returns errors in a consistent JSON envelope.
Response format
Every error returns an error object:
{
"error": {
"type": "invalid_request_error",
"code": "parameter_invalid",
"message": "sort must be one of: created_at, name, price",
"param": "sort"
}
}type- broad category (see the table below)code- specific, machine-readable codemessage- human-readable descriptionparam- the offending parameter, when applicable
HTTP status codes
| Code | Type | Description |
|---|---|---|
200 | - | Success |
400 | invalid_request_error | Invalid or missing parameter |
401 | authentication_error | Missing or invalid API key |
403 | authorization_error | Not permitted |
404 | not_found_error | Resource doesn't exist |
409 | conflict_error | Conflict with the current state |
410 | gone_error | Resource is no longer available |
429 | rate_limit_error | Too many requests |
500 | api_error | Server error |
Rate limiting is not currently enforced on the public API. See Rate Limits.
Authentication errors (401)
Returned when the Authorization header is missing or malformed, the key isn't found, or the store is inactive.
{
"error": {
"type": "authentication_error",
"code": "authentication_required",
"message": "Invalid API key"
}
}Validation errors (400)
Returned when a query parameter is invalid. The param field names it.
{
"error": {
"type": "invalid_request_error",
"code": "parameter_invalid",
"message": "limit must be a positive integer",
"param": "limit"
}
}