Skip to main content
For Cartesia-Version: 2026-03-01 and newer, Cartesia returns structured JSON error objects. For older API versions, errors may be plain text (for example Title: Message).

HTTP Error Object

HTTP error response
{
  "error_code": "concurrency_limited",
  "title": "Too many concurrent requests",
  "message": "You have exceeded your plan's concurrency limit.",
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}
FieldTypeRequiredNullableNotes
error_codestringYesYesMachine-readable code. Can be null if no specific code applies.
titlestringYesNoShort human-readable error summary.
messagestringYesNoDetailed human-readable error explanation.
request_idstring (UUID)YesNoRequest identifier for support/debugging.
doc_urlstringNoNoOptional docs link for the error. Omitted when not available.

WebSocket Error Event Object

WebSocket error event
{
  "type": "error",
  "done": true,
  "status_code": 429,
  "error_code": "concurrency_limited",
  "title": "Too many concurrent requests",
  "message": "You have exceeded your plan's concurrency limit.",
  "request_id": "550e8400-e29b-41d4-a716-446655440000:happy-monkeys-fly:8a0f5f3a-3b2f-4f28-b73e-8c5f27e2f8bb",
  "context_id": "happy-monkeys-fly"
}
FieldTypeRequiredNullableNotes
typestringYesNoAlways "error".
donebooleanYesNoCurrently always true for error events.
status_codeintegerYesNoHTTP-like status code for the error.
error_codestringYesYesMachine-readable code. Can be null.
titlestringYesNoShort human-readable error summary.
messagestringYesNoDetailed human-readable error explanation.
request_idstringYesNoRequest identifier for support/debugging. For WebSocket, this may be a UUID or a derived per-message ID string.
doc_urlstringNoNoOptional docs link for the error. Omitted when not available.
context_idstringNoNoTTS context identifier. Present when available.

SSE Error Event Object

SSE errors are sent with event: error and JSON in the data: line.
SSE error event
event: error
data: {"type":"error","done":true,"status_code":500,"error_code":null,"title":"Unexpected error","message":"An unexpected error occurred, please contact support@cartesia.ai if the problem persists.","request_id":"550e8400-e29b-41d4-a716-446655440000"}
FieldTypeRequiredNullableNotes
typestringYesNoAlways "error".
donebooleanYesNoCurrently always true for error events.
status_codeintegerYesNoHTTP-like status code for the error.
error_codestringYesYesMachine-readable code. Can be null.
titlestringYesNoShort human-readable error summary.
messagestringYesNoDetailed human-readable error explanation.
request_idstring (UUID)YesNoRequest identifier for support/debugging.
doc_urlstringNoNoOptional docs link for the error. Omitted when not available.

Current Error Codes

More error codes may be added in the future. Integrations should handle unknown error_code values gracefully.
error_codeMeaning
quota_exceededThe account has exceeded quota (for example credits or agents usage).
concurrency_limitedThe account has exceeded the plan’s concurrency limit.
voice_model_mismatchThe requested voice is incompatible with the requested model.
voice_not_foundThe requested voice does not exist.
model_not_foundThe requested model does not exist.
language_not_supportedThe requested language is not supported for the requested model or voice.
file_too_largeThe uploaded file is too large.
unsupported_audio_formatThe provided audio format is not supported.
plan_upgrade_requiredThe feature requires a higher plan tier.