Errors

The API uses conventional HTTP status codes and returns one typed error shape.

Error shape

Every error body has type, code, and message, plus a nullable request_id. Branch on code; quote request_id to support.

application/json
{
  "type": "invalid_request_error",
  "code": "parameter_invalid",
  "message": "limit must be between 1 and 100.",
  "request_id": "req_9F2xa7Qh"
}

HTTP status codes

StatusMeaning
200 / 201Success.
400Malformed request.
401Missing or invalid key.
402Payment or entitlement required.
403Authenticated but missing a required scope or entitlement.
404Resource does not exist, or the feature is not enabled for your org.
409Conflict (for example, idempotency-key reuse with a different body).
422Validation failed.
429Rate limited — see Rate limits.
5xxServer error. Retry idempotent calls with backoff.

Request IDs

Every response carries a server-generated X-Request-Id. You may send your own X-Request-Id as a correlation hint, but the server always issues its own for the record.