| 400 | validation_failed | A parameter, header, or body field is invalid or missing. |
| 400 | malformed_request | The request body isn’t valid JSON. |
| 400 | unsupported_grant_type | grant_type on POST /oauth/token isn’t client_credentials. |
| 401 | unauthorized | The access token is missing, invalid, or expired. |
| 401 | token_superseded | A newer token replaced this one. Fetch a new token. |
| 401 | invalid_client | The client_id or client_secret is wrong. |
| 403 | scope_required | Your API key doesn’t have access to this endpoint. See Scopes. |
| 403 | resource_not_writable | This resource can’t be changed (for example, an employee). |
| 403 | forbidden | The request was blocked. |
| 404 | not_found | The resource or path doesn’t exist. |
| 405 | method_not_allowed | The HTTP method isn’t supported. The Allow header lists the supported ones. |
| 406 | not_acceptable | The Accept header doesn’t allow application/json. |
| 409 | idempotency_conflict | The Idempotency-Key was already used with a different body. |
| 413 | payload_too_large | The request body is too large. |
| 415 | unsupported_media_type | Send writes as application/json. |
| 4xx | request_rejected | The request was rejected. Check it, then retry. |
| 429 | rate_limited | Too many requests. See Rate limits. |
| 500, 502, 504 | internal_error | Something went wrong on our side. Retry with exponential backoff. |