Skip to content

Error Handling

All errors share a consistent shape:

{
  "error": {
    "code": "invalid_request",
    "message": "Field 'value' must be a number.",
    "field": "value",
    "request_id": "req_01HZX3Y4Z5"
  }
}

Include the request_id when contacting support — it lets us look up the exact request server-side.

Error codes

Code HTTP status Retryable
invalid_request 400
unauthorized 401
forbidden 403
not_found 404
conflict 409
rate_limited 429
internal_error 500
service_unavailable 503

Validation errors

When multiple fields fail validation, error.details lists each one:

{
  "error": {
    "code": "invalid_request",
    "message": "Validation failed.",
    "details": [
      { "field": "name", "message": "must not be empty" },
      { "field": "value", "message": "must be a number" }
    ]
  }
}

Tip

Validate payloads against the API Reference before sending — most invalid_request errors are caught early this way.