Skip to main content
Every error response is JSON in this shape:
The code field is stable — write your error-handling logic against code, not message (messages may improve; codes are the contract). The request_id should be included in any support ticket — we can pull the full server log from it.

Quick remediation table

Auth (401 / 403)

Validation (400 / 422)

Not found (404)

Conflict (409)

Limits (429)

Pipeline (502 / 504)

Compliance (422 / 403)

Partner state (404 / 403)

Server (500 / 501)

Retry strategy

The MCP server retries automatically on:
  • Any 5xx
  • rate_limited (with Retry-After header honored, max once)
  • transcription_failed, analysis_failed, upstream_timeout, upstream_unavailable (max once)
It does not retry on auth, validation, conflict, not-found, or quota errors — those need code/config changes, not retries. Custom REST integrations should follow the same pattern.