Skip to main content

ErrorEnvelopeOut

The top-level error response body: {"error": {...}}.

error objectrequired

The error object every failure returns.

typeTyperequired

Error family derived from the HTTP status. Always present.

Possible values: [api_error, authentication_error, invalid_request_error, permission_error, rate_limit_error]

codeCoderequired

Stable machine-readable code a client branches on. Always present.

A stable, machine-readable error code the client can branch on (distinct from the human message). New codes may be added over time, so treat an unknown code as its HTTP-status family. Codes by status:

  • 400: bad_request
  • 401: invalid_secret, invalid_token, project_disabled, token_expired, user_disabled
  • 403: permission_denied, project_disabled, user_disabled
  • 404: file_expired, file_not_found, generation_not_found, not_found, project_not_found, session_not_found, user_not_found
  • 405: method_not_allowed
  • 409: call_in_progress, conflict, idempotency_conflict, idempotency_in_progress, session_busy, session_ended, session_not_realtime, session_not_taskable
  • 413: file_too_large, payload_too_large
  • 422: unsupported_media_type, validation_failed
  • 429: insufficient_available_credits, insufficient_credits, rate_limited
  • 500: internal
  • 502: upstream_error
  • 503: service_unavailable
messageMessagerequired

Human-readable English summary for display or logging; never branch on it. Always present.

paramParamnullable

Name of the request field the failure is attributed to, when there is one: always on validation errors (422), and on other errors about a single field (for example a file not found, or a file too large).

details object[]nullable

One entry per offending request field. Present only on validation errors (422).

  • Array [
  • paramParamrequired

    Dotted path of the offending request field, e.g. attachments[0].file_id.

    messageMessagerequired

    What was wrong with that field.

  • ]
  • request_idRequest Idrequired

    Correlates the response with server logs; also sent as the X-Request-Id header. Always present.

    ErrorEnvelopeOut
    {
    "error": {
    "type": "api_error",
    "code": "string",
    "message": "string",
    "param": "string",
    "details": [
    {
    "param": "string",
    "message": "string"
    }
    ],
    "request_id": "string"
    }
    }