type for broad SDK-level handling and code for specific programmatic logic.
Error response format
| Field | Type | Description |
|---|---|---|
type | string | Error category — for broad handling |
code | string | Specific machine-readable error code |
message | string | Human-readable explanation |
Error types
type | Meaning |
|---|---|
invalid_request_error | Problem with the request itself (bad input, not found, conflict) |
authentication_error | Missing or invalid access token |
rate_limit_error | Too many requests |
api_error | Unexpected server-side error |
Error codes
code | HTTP status | type | Description |
|---|---|---|---|
parameter_missing | 400 | invalid_request_error | A single required field is missing |
parameter_invalid | 400 | invalid_request_error | A single field failed validation |
validation_failed | 400 | invalid_request_error | Multiple fields failed validation |
bad_request | 400 | invalid_request_error | Malformed JSON or other request-level error |
authentication_failed | 401 | authentication_error | Missing or expired access token |
resource_not_found | 404 | invalid_request_error | Requested resource does not exist |
resource_already_exists | 409 | invalid_request_error | Duplicate — e.g. customer with this externalId already exists |
request_too_large | 413 | invalid_request_error | Payload exceeds the 256 KB limit |
rate_limit_exceeded | 429 | rate_limit_error | Rate limit exceeded — see Rate Limits |
internal_error | 500 | api_error | Unexpected server error — contact support if this persists |
Validation errors
Validation errors come in two shapes depending on how many fields failed.Single field
code is parameter_missing if the field is absent, or parameter_invalid if it’s present but invalid.
Multiple fields
| Field | Type | Description |
|---|---|---|
param | string | Present on single-field errors — the parameter that failed |
errors | array | Present on multi-field errors — each item has param and message |