Skip to main content
Errors use standard HTTP status codes and always return this body:
  • code is stable. Branch on it in your code.
  • message is a readable sentence for logs and operators. It may change wording.
  • request_id is also in the X-Request-Id response header. Quote it when you contact support.
  • details is present when there is more to say: every field error, the existing call_id, the current status.

Codes

Retrying safely

Retry 429, 500 and 503, with exponential backoff (1 s, 2 s, 4 s… up to a minute). Other 4xx errors will fail again until the request changes. POST /v1/calls is safe to retry when it carries an Idempotency-Key: if the first attempt did create the call, the retry returns it instead of calling again.