The API uses conventional HTTP status codes: 2xx success, 4xx for client errors (bad input, auth, not found), 5xx for server errors. Errors return a JSON body with a machine-readable code, a human message, the offending field where relevant, and a request_id to quote in support tickets.
Common codes: 400 invalid_request, 401 unauthorized, 403 forbidden (missing scope), 404 not_found, 409 conflict, 422 validation_error, 429 rate_limited.
# 422 Validation error
{
"error": {
"code": "validation_error",
"message": "sku is required.",
"field": "sku",
"request_id": "req_5f3a9c"
}
}