Skip to main content

Errors

Every error response uses the same envelope:

{
"error": {
"code": "validation_error",
"message": "Validation failed",
"details": { "brand": ["can't be blank"] }
}
}

details is only present for validation errors, and is null otherwise.

Error codes

HTTP statuscodeMeaning
401unauthorizedMissing, malformed, revoked, or expired token
403forbiddenToken is missing a required scope
404not_foundThe resource doesn't exist, isn't yours, or was deleted
422validation_errorRequest body failed validation — see details
422max_codes_reachedYou've hit the maximum number of discount codes
429rate_limitedToo many requests — see Rate limits

A 404 is returned both when a resource truly doesn't exist and when it belongs to another user — the API never reveals whether a given ID belongs to someone else.