Error envelope
Match on
statusCode and error, not on message. Message strings may be refined over time.Status codes
Common errors
Authentication (401)
Text to speech
Speech to text
The streaming WebSocket reports errors as
error events and close codes instead of HTTP statuses. See close codes.
Handling errors
401: re-check your key and header
401: re-check your key and header
Confirm the
chariotai-api-key header is present and the key is active. See Authentication.403: top up or upgrade
403: top up or upgrade
InsufficientCreditsException means you’re out of credits, check GET /v1/credits. A plan HTTPException means the product isn’t on your plan.422: fix the input
422: fix the input
Validate
voice_id is a real UUID, keep text within the model and endpoint limit, and select a supported voice, model, and speed combination.429: back off and retry
429: back off and retry
You’ve hit your plan’s concurrency limit. Retry with exponential backoff and jitter, and cap your in-flight requests. See Rate limits & concurrency.
500: safe to retry
500: safe to retry
An unexpected server error. Any credits charged for the failed request are refunded. Retry after a short delay; if it persists, contact support with the
Inference-Id.