ErrorEnvelopeOut
The top-level error response body: {"error": {...}}.
error objectrequired
The error object every failure returns.
Error family derived from the HTTP status. Always present.
Possible values: [api_error, authentication_error, invalid_request_error, permission_error, rate_limit_error]
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
Human-readable English summary for display or logging; never branch on it. Always present.
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).
Dotted path of the offending request field, e.g. attachments[0].file_id.
What was wrong with that field.
Correlates the response with server logs; also sent as the X-Request-Id header. Always present.
{
"error": {
"type": "api_error",
"code": "string",
"message": "string",
"param": "string",
"details": [
{
"param": "string",
"message": "string"
}
],
"request_id": "string"
}
}