generated: '2026-10-08' method: searched source: https://developers.telnyx.com/data/api-errors.json (product-scoped entries other than General API), fetched 2026-10-08 format: custom note: Product error/response-code tables (messaging delivery errors, Email API send errors, SIP response codes, WebRTC SDK errors, 10DLC, AI Gateway ...) as the provider's unified catalog publishes them; fields are preserved only when the source page authored them. products: - product: 10DLC count: 20 codes: - code: Cannot associate campaign with brand in pending or failed status cause: Brand not verified action: Complete OTP verification first category: sole-proprietor-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/sole-proprietor - status: DELIVERED_HANDSET detail: SMS delivered to the mobile device category: sole-proprietor-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/sole-proprietor - status: DELIVERY_FAILED detail: SMS delivery failed category: sole-proprietor-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/sole-proprietor - status: EXPIRED detail: OTP PIN expired (24-hour window) category: sole-proprietor-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/sole-proprietor - code: OTP PIN expired cause: 24-hour verification window exceeded action: Trigger a new OTP with POST /10dlc/brand/{id}/smsOtp category: sole-proprietor-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/sole-proprietor - status: PENDING detail: OTP request submitted, awaiting delivery category: sole-proprietor-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/sole-proprietor - code: Sole Proprietor brands can only have one active campaign cause: Attempting to create a second campaign action: Delete or deactivate existing campaign first category: sole-proprietor-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/sole-proprietor - code: Sole Proprietor campaigns can only have one phone number assigned cause: Attempting to assign multiple numbers action: Use only one number per SP campaign category: sole-proprietor-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/sole-proprietor - status: VERIFIED detail: OTP PIN successfully verified category: sole-proprietor-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/sole-proprietor - code: '40300' detail: Number not registered for 10DLC action: Assign the sending number to an approved campaign category: registration-and-campaign-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/troubleshooting - code: '40301' detail: Campaign suspended action: Check campaign status; contact support if unexpected category: registration-and-campaign-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/troubleshooting - code: '40302' detail: Brand suspended action: Review brand status and resolve compliance issues category: registration-and-campaign-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/troubleshooting - code: '40310' detail: Rate limit exceeded action: Reduce sending rate; see 10DLC Rate Limits category: registration-and-campaign-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/troubleshooting - code: '40311' detail: Daily message limit reached action: Wait for daily reset or request higher throughput via vetting category: registration-and-campaign-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/troubleshooting - code: '40320' detail: Content flagged by carrier action: Review message content for SHAFT violations category: registration-and-campaign-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/troubleshooting - code: '40321' detail: URL blocked by carrier action: Remove or replace flagged URLs; use branded short links category: registration-and-campaign-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/troubleshooting - status: SELF_DECLARED detail: Sole proprietor — limited verification category: registration-and-campaign-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/troubleshooting - status: UNVERIFIED detail: Verification failed — action required category: registration-and-campaign-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/troubleshooting - status: VERIFIED detail: Brand identity confirmed category: registration-and-campaign-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/troubleshooting - status: VETTED_VERIFIED detail: External vetting completed successfully category: registration-and-campaign-errors source_url: https://developers.telnyx.com/docs/messaging/10dlc/troubleshooting - product: AI Assistants count: 14 codes: - code: conversation_ended detail: The conversation has ended. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - code: conversation_start_failed detail: Telnyx could not start a conversation with the requested assistant. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - code: frame_too_large detail: A frame exceeded the 1 MiB limit. Send smaller audio chunks. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - code: ingress_budget_exceeded detail: Audio arrived faster than the session's ingress budget allows. Stream at a real-time pace. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - code: invalid_audio detail: The audio field was not valid base64. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - code: invalid_item detail: A conversation.item.create item had an unsupported shape. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - code: invalid_json detail: The frame was not valid JSON. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - code: invalid_session_update detail: A session.update frame carried a dynamic_variables value that was not an object. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - code: session_idle_timeout detail: The session was closed after a period of inactivity. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - code: session_max_duration_exceeded detail: The session reached its maximum duration. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - code: session_not_ready detail: A frame arrived before the session was ready. Wait for session.created. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - code: session_update_after_start detail: A session.update frame arrived after the conversation had already started. Send it as your first frame. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - code: unsupported_event detail: The type field is not a supported client frame. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - code: unsupported_voice_output_format detail: The assistant's voice streams a compressed format (for example mp3 or opus), which this WebSocket does not support. category: websocket-errors source_url: https://developers.telnyx.com/docs/inference/ai-assistants/realtime-conversations - product: AI Gateway count: 36 codes: - status: '400' detail: A guardrail policy blocked the prompt or response; invalid body, unsupported option or model-specific option, unknown field, request over the size limits, token key limit out of range, invalid date or page parameter. action: Correct the request. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - status: '401' detail: Missing or wrong credential for this plane. action: Use a Telnyx API key on the management plane and an ltg_sk_ token key on the inference plane. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - status: '403' detail: Blocked, revoked or expired key; blocked resource; model not allowed; budget or end-user policy denied. action: Read the code. Do not treat 403 as retryable. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - status: '404' detail: Resource does not exist or belongs to another account. action: Check the ID. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - status: '405' detail: Method not allowed, for example PATCH on a provider key. action: Provider keys cannot be edited; create a new one instead. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - status: '409' detail: Idempotency conflict, membership conflict or pagination snapshot conflict. action: Read the code. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - status: '412' detail: Stale If-Match. action: Read the resource and retry with the current ETag. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - status: '428' detail: 'Missing If-Match (or If-None-Match: * on end-user create).' action: Add the precondition header. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - status: '429' detail: Rate limit exceeded. action: Wait for Retry-After. Remember that inference retries are not idempotent. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - status: '502' detail: The model provider failed. action: Fail closed. The request may or may not have consumed provider work. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - status: '503' detail: Enforcement, catalog, policy propagation or a required dependency is unavailable; a BYOK model lacks an attached provider key; or a spend report exceeds its capacity limit. action: Fail closed. For an oversized spend report, narrow the dates or resource filters before retrying. Do not switch credentials or bypass the gateway. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: budget_exceeded detail: A key, user or group budget lacks headroom for the request's reservation. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: concurrency_limit_exceeded category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: conflict detail: Membership or pagination snapshot conflict. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: context_length_exceeded category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: cursor_expired category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: end_user_budget_exceeded detail: The asserted end user's budget lacks headroom. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: enforcement_unavailable detail: Policy, catalog or a required dependency is unavailable; a BYOK model lacks an attached provider key; or a spend report exceeds the report limits. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: idempotency_conflict detail: The Idempotency-Key was reused with a different body, or the original request is still in progress. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: invalid_metadata category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: invalid_request detail: Malformed or unsupported request, including a request over the size limits and a request to /v1/messages with a model that is not an Anthropic BYOK model (use /v1/chat/completions for those). category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: invalid_token_key detail: The inference credential is missing, malformed or unknown. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: limit_out_of_range detail: A token key max_budget, rpm_limit or tpm_limit is 0 or above its maximum. See Token key limits. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: model_not_in_catalog detail: The model is not in the key's or group's allowlist. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: not_found detail: No such resource in this account. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: precondition_failed detail: If-Match does not match the current version. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: precondition_required detail: A required precondition header is missing. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: prompt_blocked detail: The group guardrail policy blocked the prompt before provider dispatch or budget reservation. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: rate_limit_exceeded detail: An RPM or TPM limit was hit. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: request_too_large category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: resource_blocked detail: The key's user, group or asserted end user is blocked. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: response_blocked detail: The group guardrail policy withheld the generated response. Provider usage still applies. See Guardrails. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: token_key_blocked detail: The key is blocked, revoked or expired. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: unauthorized detail: The credential is not valid for this plane or resource. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: upstream_error detail: The model provider returned an error. category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - code: upstream_timeout category: api-errors source_url: https://developers.telnyx.com/docs/inference/ai-gateway/errors - product: Call Control count: 13 codes: - code: detection_timeout detail: No detection result received within the configured timeout. category: deepfake-detection-errors source_url: https://developers.telnyx.com/docs/voice/programmable-voice/deepfake-detection - code: dfd_connection_error detail: Could not connect to the detection service. category: deepfake-detection-errors source_url: https://developers.telnyx.com/docs/voice/programmable-voice/deepfake-detection - code: dfd_stream_error detail: Audio stream to the detection service failed. category: deepfake-detection-errors source_url: https://developers.telnyx.com/docs/voice/programmable-voice/deepfake-detection - code: rtp_timeout detail: No RTP audio received within the configured rtp_timeout. category: deepfake-detection-errors source_url: https://developers.telnyx.com/docs/voice/programmable-voice/deepfake-detection - code: '100002' title: unknown_error detail: An unknown error occurred on the stream category: media-streaming-errors source_url: https://developers.telnyx.com/docs/voice/programmable-voice/media-streaming - code: '100003' title: malformed_frame detail: Received frame was not formed correctly category: media-streaming-errors source_url: https://developers.telnyx.com/docs/voice/programmable-voice/media-streaming - code: '100004' title: invalid_media detail: Media provided was not base64 encoded category: media-streaming-errors source_url: https://developers.telnyx.com/docs/voice/programmable-voice/media-streaming - code: '100005' title: rate_limit_reached detail: Too many requests category: media-streaming-errors source_url: https://developers.telnyx.com/docs/voice/programmable-voice/media-streaming - code: 2xx detail: Success category: webhook-errors source_url: https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-webhooks - code: 3xx detail: Redirect category: webhook-errors source_url: https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-webhooks - code: 408, 429 detail: Timeout / Rate limited category: webhook-errors source_url: https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-webhooks - code: 5xx detail: Server error category: webhook-errors source_url: https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-webhooks - code: Other 4xx detail: Client error category: webhook-errors source_url: https://developers.telnyx.com/docs/voice/programmable-voice/voice-api-webhooks - product: Decision Models count: 6 codes: - status: '401' action: Check the Telnyx API key. category: api-errors source_url: https://developers.telnyx.com/docs/inference/decision-models - status: '413' action: Reduce or fix the request body. category: api-errors source_url: https://developers.telnyx.com/docs/inference/decision-models - status: '422' action: Correct the schema or split context that exceeds token limits. category: api-errors source_url: https://developers.telnyx.com/docs/inference/decision-models - status: 429, 529 action: Reduce concurrency and retry with bounded exponential backoff and jitter. category: api-errors source_url: https://developers.telnyx.com/docs/inference/decision-models - status: 502, 503 action: Retry transient service failures with bounded backoff. category: api-errors source_url: https://developers.telnyx.com/docs/inference/decision-models - status: '504' action: Reduce request size or concurrency before retrying. category: api-errors source_url: https://developers.telnyx.com/docs/inference/decision-models - product: Edge Compute Stateful Actors count: 5 codes: - code: ActorFetchTimeoutError detail: The actor's fetch(req) handler exceeded its wall-clock budget (30s) category: runtime-errors source_url: https://developers.telnyx.com/docs/edge-compute/stateful-actors/api-reference/errors - code: ActorMethodTimeoutError detail: An RPC method exceeded its wall-clock budget (30s by default). The invocation fails; the instance is not torn down category: runtime-errors source_url: https://developers.telnyx.com/docs/edge-compute/stateful-actors/api-reference/errors - code: ActorOutputGateError detail: A storage write initiated during a method rejected after the method returned; surfaces in place of the successful return value, with the underlying failure appended to the error message. Also raised when a transaction callback throws category: runtime-errors source_url: https://developers.telnyx.com/docs/edge-compute/stateful-actors/api-reference/errors - code: BlockConcurrencyTimeoutError detail: ctx.blockConcurrencyWhile's callback exceeded the 30s budget category: runtime-errors source_url: https://developers.telnyx.com/docs/edge-compute/stateful-actors/api-reference/errors - code: CodecError detail: A method argument, return value, or storage value could not be serialized (e.g. a function, a circular structure) category: runtime-errors source_url: https://developers.telnyx.com/docs/edge-compute/stateful-actors/api-reference/errors - product: Email API count: 122 codes: - code: '10007' detail: Forbidden category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: '10008' detail: Forbidden (shared domain) category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: '10015' detail: Validation failed / bad request category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: '10027' detail: Idempotency conflict category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: '10036' detail: Still processing category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: '30001' title: Hard bounce detail: The remote MX permanently rejected the recipient (5xx), or bounced without a usable code category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: '30002' title: Deferred detail: A transient rejection (4xx). Telnyx is still retrying category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: '30003' title: Injection failure detail: The outbound MTA refused the injection category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: '30004' title: Suppressed recipient detail: The recipient was on a suppression list category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: '30005' title: Queue expiry detail: Retries were exhausted and the MTA gave up category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: '30006' title: Gateway rejection detail: The message was refused before entering the queue category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: '30099' title: Internal error detail: The send failed before anything reached the MTA category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: domain_graduation_limit_exceeded detail: Sender-domain ramp limit exceeded category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: reputation_suspended detail: Sending suspended category: deliverability-errors source_url: https://developers.telnyx.com/docs/messaging/email/deliverability-best-practices - code: '*original body*' title: Original already completed detail: 'The first request finished. The gateway replays its stored response verbatim — including the original status and body — and adds an idempotent-replayed: true response header.' action: Nothing. The message was sent exactly once. Check for the idempotent-replayed header if you need to distinguish a replay from a fresh send. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10000' title: Internal Server Error cause: Returned by specific internal-failure paths, including a failed GDPR email-data deletion and email trace retrieval. Same handling as 10019. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10001' title: Not Found cause: Email message, template, or domain not found. Check the ID and your account scope. Both explicit application 404s and framework-level routing 404s return 10001 — there is no string "404" fallback code. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10006' title: Not authorized cause: The Authorization header is missing or the API key is invalid, expired, or revoked. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: 10007 / 20012 (forbidden / inactive) action: Fix domain verification, sender authorization, scope, or account balance first. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10007' title: Forbidden cause: Domain is not verified, suspended, degraded, or missing DKIM — or the from address is not authorized on the sending domain. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10007' title: Forbidden cause: The request requires the email:override scope (used to send to a suppressed recipient) and your API key does not have it. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10008' title: Forbidden cause: Attempted to PATCH, DELETE, or POST …/verify on a shared domain you don't own. Shared domains are read-only for non-owners. Owned by the email-domains service — see the caveat under Codes owned by other services. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: 10011 (daily send limit) action: The limit resets at midnight UTC. Queue the work locally and resume after the reset — backing off in seconds will not help. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10011' title: Too Many Requests cause: The account's daily send limit was exceeded. The detail names the limit and states that it resets at midnight UTC. The send is rejected before message creation — no message record, no billing, no MTA injection. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: 10015 (validation / size) action: The request is malformed or too large. Retrying it unchanged always fails. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10015' cause: Malformed key (empty, duplicate header, overlong) action: Generate a valid UUID v4 and pass it as a single Idempotency-Key header. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10015' title: Bad Request / Validation Failed cause: Missing or invalid fields in the request body (e.g. email is required, subject must be a non-empty string). category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10015' title: Invalid Idempotency-Key cause: The Idempotency-Key header is empty, duplicated, malformed, or exceeds the length limit. Generate a UUID v4 and pass it as a single header, not a body field. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10015' title: Validation Failed cause: Changeset validation error (e.g. subject can't be blank, invalid webhook_url, bad address format). category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10015' title: Bad Request cause: Message size limit exceeded — 1 MB decoded body or 25 MB total message. See Request and message size limits. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: 10016 (service unavailable) action: Retry the same request with the same Idempotency-Key, with exponential backoff. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10016' title: Service Unavailable cause: An upstream dependency (e.g. the email domain service) or Edge idempotency protection is temporarily unavailable. Retry with the same Idempotency-Key. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10016' cause: Idempotency protection unavailable (fail-closed) action: Retry the same request with the same key. The gateway fails closed rather than risking a duplicate send. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: 10019 / 10000 / 500 action: Retry with the same Idempotency-Key. Contact support if persistent. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10019' title: Internal Server Error cause: Unexpected server-side error (e.g. Failed to create batch validation). Retry with the same Idempotency-Key. If persistent, contact support. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: 10027 (idempotency fingerprint) action: The body differs from the original. Fix the body or use a new key. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10027' title: Same key, different body detail: The key was already used with a different request fingerprint. The new request was rejected without sending. action: Generate a new key. Reuse a key only for byte-identical retries of the same logical request. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10027' title: Idempotency Conflict cause: The Idempotency-Key was already used for a different request body. Use a new key for a new request; reuse keys only for exact retries. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: 10036 (idempotency in flight) action: Retry with the same key and body. A new key would send a duplicate. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10036' title: Original still in flight detail: The first request with this key is still being processed. No second send occurred. action: Wait and retry with the same key and the same body. Do not generate a new key — that would send twice. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '10036' title: Resource is being processed cause: A request with the same Idempotency-Key is still being processed. Retry later with the same key and the same request body. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '20012' title: Account inactive cause: The account has been deactivated — commonly out of funds. This is a billing state, not a domain or permission problem. Resolve the account balance before retrying. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '200' detail: OK category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '201' detail: Created category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '202' detail: Accepted category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '207' detail: Multi-Status category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '400' detail: Bad Request category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '401' detail: Unauthorized category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '403' detail: Forbidden category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '404' detail: Not Found category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '40901' title: Conflict cause: Deleting an unsubscribe group that has active suppressions (without ?force=true). Remove the suppressions first or pass force=true. Owned by the email-blocks service — see Codes owned by other services. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '409' detail: Conflict category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '413' detail: Payload Too Large category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '422' detail: Unprocessable Entity category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '429' detail: Too Many Requests category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '500' title: Internal Server Error cause: Framework fallback error response. Same handling as 10019. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '500' detail: Internal Server Error category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - status: '503' detail: Service Unavailable category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: bad_request cause: Malformed message entry, missing required fields, a template render error, or a field validation failure for that message. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: domain_graduation_limit_exceeded (sender-domain ramp) action: Wait the Retry-After interval (seconds to the domain's midnight UTC reset) and stay within the ramp's remaining per-day volume. The counter is daily, so backoff over seconds alone will not clear it. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: domain_graduation_limit_exceeded title: Too Many Requests cause: The sender domain's warm-up ramp daily recipient limit was exceeded — a per-domain volume cap on verified custom domains during warm-up, separate from the account quota. The send is rejected before message creation — no message record, no billing, no MTA injection. This is the only Email API 429 whose response carries the Retry-After header (seconds to the midnight UTC reset). category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: forbidden cause: Domain not verified or from-address not allowed. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: not_found cause: Template ID or domain not found (for template sends). category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: recipient_suppressed cause: All recipients of that message are suppressed. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: recipient_suppressed action: Every recipient is suppressed. Remove them or send to different addresses. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: recipient_suppressed title: Recipient Suppressed cause: All recipients are suppressed — the email was not sent. The response includes a top-level suppressed array alongside errors, each entry carrying to, reason, scope, and override_allowed. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: reputation_suspended title: Sending Suspended cause: The sending domain's reputation band is poor — every send on the domain is rejected before message creation. The band is recomputed once daily from a rolling 30-day window, so the suspension lifts automatically once the band leaves poor. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: reputation_suspended cause: Sending suspended for the domain's reputation band. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: reputation_suspended action: 'Retrying never succeeds — the send is rejected before message creation (and creates no reputation signal: no message, recipient, or event exists). Stop sending on that domain, fix the underlying bounce/complaint rates, and wait for the daily band recompute to lift the suspension as the 30-day window recovers.' category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: service_unavailable cause: Upstream dependency unavailable for that message. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: unprocessable_entity cause: 'That message exceeded a size limit — either the 1 MB decoded body or the 25 MB total message ceiling. Note this is a per-message failure: the rest of the batch still processes. See Request and message size limits.' category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: validation_error cause: Field validation failed for that message. category: api-and-delivery-errors source_url: https://developers.telnyx.com/docs/messaging/email/error-codes - code: '30001' title: Hard bounce detail: bounced with a 5xx code, or a bounce with no usable code category: delivery-events source_url: https://developers.telnyx.com/docs/messaging/email/event-lifecycle - code: '30002' title: Deferred detail: deferred, or bounced carrying a 4xx code category: delivery-events source_url: https://developers.telnyx.com/docs/messaging/email/event-lifecycle - code: '30003' title: Injection failure detail: failed with an SMTP status — the MTA refused the injection category: delivery-events source_url: https://developers.telnyx.com/docs/messaging/email/event-lifecycle - code: '30004' title: Suppressed recipient detail: suppressed — the address was on the suppression list category: delivery-events source_url: https://developers.telnyx.com/docs/messaging/email/event-lifecycle - code: '30005' title: Queue expiry detail: expired — the retry window elapsed category: delivery-events source_url: https://developers.telnyx.com/docs/messaging/email/event-lifecycle - code: '30006' title: Gateway rejection detail: gw_reject — refused at the HTTP injection boundary category: delivery-events source_url: https://developers.telnyx.com/docs/messaging/email/event-lifecycle - code: '30099' title: Internal error detail: failed without an SMTP status — nothing reached the MTA category: delivery-events source_url: https://developers.telnyx.com/docs/messaging/email/event-lifecycle - code: '*(no email-specific code)*' detail: Edge-level request rate limiting. action: Back off exponentially with jitter and retry. category: rate-limit-errors source_url: https://developers.telnyx.com/docs/messaging/email/rate-limits - code: '10011' detail: The account's daily send limit was exceeded. The detail names the limit and states that it resets at midnight UTC. action: Queue the work and resume after the daily reset. Exponential backoff over seconds or minutes will not help — the counter is daily. category: rate-limit-errors source_url: https://developers.telnyx.com/docs/messaging/email/rate-limits - code: domain_graduation_limit_exceeded detail: The sender domain's warm-up ramp daily recipient limit was exceeded — a per-domain volume cap, separate from the account quota. The only Email API 429 that sets the Retry-After header. action: Wait the Retry-After interval (seconds to the midnight UTC reset) or resume after the reset, staying within the ramp's per-day volume. See Deliverability. category: rate-limit-errors source_url: https://developers.telnyx.com/docs/messaging/email/rate-limits - code: reputation_suspended detail: The sending domain's reputation band dropped to poor. action: Stop and remediate. Retrying never succeeds (rejected requests create no message, recipient, or event, so they cannot further affect the reputation signal). Reduce bounce and complaint rates; the suspension lifts automatically at the daily band recompute once the rolling 30-day window recovers. See Deliverability. category: rate-limit-errors source_url: https://developers.telnyx.com/docs/messaging/email/rate-limits - code: '10001' detail: Not found — the message, domain, or resource doesn't exist. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: '10006' detail: Authentication failed — check your API key. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: '10007' detail: Forbidden — the Email API's general sending-policy error. Covers an unverified, degraded, or suspended sending domain, a domain with no active DKIM key, a sender that doesn't match the domain's sending profile, and trial-account recipient restrictions. Inspect detail for the specific reason. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: '10011' detail: The account's daily send limit was exceeded — rejected before message creation, resets at midnight UTC. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: '10015' detail: Validation failed — missing or invalid fields. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: '10015' detail: Invalid Idempotency-Key header — empty, duplicate, malformed, or overlong. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: '10015' detail: Request body exceeds 8,000,000 bytes. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: '10015' detail: Validation error (changeset). category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: '10016' detail: Service unavailable — an upstream dependency or Edge idempotency protection is unavailable. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: '10027' detail: The idempotency key was already used for a different request. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: '10036' detail: A request with the same idempotency key is still being processed. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: '200' detail: Rescheduled. The response matches the single-message GET representation. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: '401' detail: Authentication failed. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: '404' detail: The email message does not exist in your account. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: '409' detail: The message is no longer scheduled, or its scheduled-send worker has already started processing it. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: '422' detail: scheduled_at is missing, invalid ISO 8601, or not in the future. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: bounced detail: Permanently rejected by the receiving server (5xx or out-of-band bounce). category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: cancelled detail: A scheduled message was cancelled before sending. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: cancelled detail: Cancelled before delivery. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: completed detail: Every recipient has reached a terminal state (not necessarily success). category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: deferred detail: Temporary failure (4xx); will be retried. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: delivered detail: The receiving mail server accepted the message. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: domain_graduation_limit_exceeded detail: The sender domain's warm-up ramp daily recipient limit was exceeded — rejected before message creation. The only Email API 429 that carries the Retry-After header. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: expired detail: Retries were abandoned after the maximum queue age. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: failed detail: The message failed before delivery injection, such as when a scheduled send exceeds the daily limit at fire time. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: failed detail: Terminal system or operator-caused non-delivery. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: gw_reject detail: The delivery gateway refused the recipient before queueing. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: injection_timeout detail: The injection attempt timed out with an ambiguous result. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: queued detail: Accepted and waiting to be processed. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: queued detail: Accepted, not yet injected. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: recipient_suppressed detail: All recipients suppressed. Returns a top-level suppressed array. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: reputation_suspended detail: Sending suspended — the sending domain's reputation band is poor. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: sandbox detail: Created in sandbox mode; never actually delivered. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: scheduled detail: Held for a future scheduled_at time. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: sending detail: Being injected into the delivery pipeline. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: sending detail: Injection in progress. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - status: sent detail: Accepted by the delivery gateway. category: send-errors source_url: https://developers.telnyx.com/docs/messaging/email/send-email - code: '10001' detail: The template id doesn't exist or belongs to another account. category: template-errors source_url: https://developers.telnyx.com/docs/messaging/email/templates - code: '10015' detail: Liquid parsing or rendering failed (malformed Liquid syntax or a filter error), or — on a strict_variables template — a required variable is missing. The standard detail field carries the engine's error detail or names the missing variable. category: template-errors source_url: https://developers.telnyx.com/docs/messaging/email/templates - product: Meeting count: 6 codes: - code: invalid_request title: Request rejected detail: A field in the request is invalid or not allowed, for example a disabled webhook_url. A request that exceeds a documented size limit returns the same code with 413. action: Correct the field named in message and retry. category: api-errors source_url: https://developers.telnyx.com/docs/meeting/errors - code: invalid_state title: Operation not valid for the session status detail: The operation requires a different lifecycle status, for example only scheduled sessions can be updated and actions require an active session. action: Read the session status first and retry when the session reaches the required state. category: api-errors source_url: https://developers.telnyx.com/docs/meeting/errors - code: not_configured title: Feature not configured detail: A required integration is not configured for the account. action: Complete the feature's setup for your account before retrying. category: api-errors source_url: https://developers.telnyx.com/docs/meeting/errors - code: not_found title: Meeting session not found detail: No session with the supplied id belongs to the authenticated account. action: Verify the session id and that it was created by the same account. category: api-errors source_url: https://developers.telnyx.com/docs/meeting/errors - code: unauthorized title: Invalid or missing credentials detail: Service-level authentication failure. In practice the gateway rejects a missing or invalid key first with the general 10009 error, so this code is rarely seen. action: Send your Telnyx API key as a bearer token in the Authorization header (exact Bearer capitalization). category: api-errors source_url: https://developers.telnyx.com/docs/meeting/errors - code: unsupported_capability title: Capability not supported on this platform detail: The requested capability, such as avatar video, is not available on the detected meeting platform. action: Check the platform's capabilities before enabling the feature, or omit it. category: api-errors source_url: https://developers.telnyx.com/docs/meeting/errors - product: Messaging API count: 104 codes: - code: AlphaSenderNotConfigured cause: No alphanumeric sender on profile action: Configure sender ID on your messaging profile category: alphanumeric-sender-errors source_url: https://developers.telnyx.com/docs/messaging/messages/alphanumeric-sender-id - code: InvalidFromAddress cause: Invalid sender format action: Use 1–11 characters with at least one letter category: alphanumeric-sender-errors source_url: https://developers.telnyx.com/docs/messaging/messages/alphanumeric-sender-id - code: UnsupportedDestination cause: Sending to US/CA/PR action: Use a long code or configure a fallback number category: alphanumeric-sender-errors source_url: https://developers.telnyx.com/docs/messaging/messages/alphanumeric-sender-id - code: '40001' title: Not routable cause: Destination is a landline or non-routable number action: Verify the recipient can receive SMS/MMS category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40002' title: Blocked as spam (temporary) cause: Carrier spam filter triggered action: Reduce sending rate; review message content for spam patterns category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40003' title: Blocked as spam (permanent) cause: Sending number permanently blocked by carrier action: Use a different sending number; contact support for appeal category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40004' title: Rejected by destination cause: Recipient carrier rejecting for unknown reason action: Retry after delay; contact support if persistent category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40005' title: Message expired cause: Message TTL expired before delivery action: Increase validity period or check carrier delays category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40006' title: Recipient unavailable cause: Recipient's carrier server is down action: Retry with exponential backoff category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40008' title: Undeliverable cause: Carrier did not accept the message action: Check number validity; try alternate route category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40009' title: Invalid message body cause: Message content rejected action: Check for invalid characters or encoding issues; see Message Encoding category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40010' title: Not 10DLC registered cause: Sending number lacks 10DLC campaign registration action: Register for 10DLC category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40011' title: Rate limit exceeded (upstream) cause: Exceeded carrier throughput limit action: Reduce sending rate; see Rate Limiting category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40012' title: Invalid destination number cause: Carrier rejected the destination number action: Verify E.164 format and number validity category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40013' title: Invalid source number cause: Carrier rejected the sending number action: Check that your number is active and messaging-enabled category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40014' title: Expired in queue cause: Message sat in queue past validity period action: Check for throughput bottlenecks; increase sending capacity category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40015' title: Internal spam filter cause: Telnyx internal spam filter triggered action: Review message content; contact support if false positive category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40016' title: T-Mobile sending limit cause: Exceeded T-Mobile throughput for this campaign action: Reduce rate or improve brand vetting score for higher limits category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40017' title: AT&T spam rejection cause: AT&T flagged message as spam action: Review content; avoid URL shorteners and spam-like patterns category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40018' title: AT&T sending limit cause: Exceeded AT&T throughput for this campaign action: Reduce rate or improve brand vetting score category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40019' title: AT&T invalid tag data cause: Incorrect 10DLC tagging information action: Verify campaign and number assignment; troubleshoot 10DLC category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40020' title: Artificial traffic inflation cause: 2FA traffic blocked for 24 hours action: Wait 24 hours; review for fraud patterns on your numbers category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40100' title: Not messaging enabled cause: Number not configured for messaging action: Enable messaging in Mission Control category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40150' title: Not in voice registry cause: Toll-free number missing from registry action: Contact support category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40151' title: Enablement pending elsewhere cause: Another provider is enabling messaging action: Wait for transfer to complete category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40155' title: LOA required cause: Letter of Authorization needed action: Submit LOA through support category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40300' title: Blocked (STOP) cause: Recipient sent STOP — opt-out in effect action: Do not retry; wait for recipient to opt back in category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40301' title: Unsupported message type cause: Cannot send between these number types action: Check source and destination number capabilities category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40302' title: Message too large cause: SMS exceeds maximum segment count action: Shorten message or send as MMS category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40304' title: Invalid content combination cause: Mixed SMS/MMS content parameters action: Use text for SMS; media_urls (with optional text) for MMS category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40305' title: Invalid 'from' address cause: Sending number not associated with messaging profile action: Assign the number to your messaging profile category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40306' title: Alpha sender not configured cause: Alphanumeric sender ID not set on profile action: Configure alpha sender on your messaging profile category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40307' title: Alpha sender mismatch cause: From address doesn't match configured alpha sender action: Use the exact alpha sender configured on the profile category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40308' title: Invalid 'from' for MMS cause: MMS requires US long code or short code action: Use an MMS-capable number category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40309' title: Invalid destination region cause: Destination country not in profile whitelist action: Add the destination region to your messaging profile category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40310' title: Invalid 'to' address cause: Destination number is invalid action: 'Verify E.164 format: +[country code][number]' category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40311' title: Invalid profile secret cause: X-Profile-Secret header is wrong action: Check your messaging profile secret category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40312' title: Profile disabled cause: Messaging profile is disabled action: Re-enable in Mission Control category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40313' title: Missing profile secret cause: X-Profile-Secret header required but not sent action: Include the header in your request category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40314' title: Messaging disabled cause: Messaging disabled on your account action: Contact Telnyx support category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40315' title: Unhealthy sender cause: Sending number has poor health metrics action: Check number success/spam rates; consider replacing category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40316' title: No content cause: Message has no text or media action: Include text and/or media_urls category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40317' title: Invalid MMS content cause: Too many media items or total size > 1 MB action: Reduce to ≤10 URLs and ≤1 MB total category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40318' title: Queue full cause: Internal message queue at capacity action: Back off and retry after a delay category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40319' title: Incompatible message type cause: Source and destination types incompatible action: Check number type compatibility category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40320' title: Temporarily unusable sender cause: Sending number in pending/transitional state action: Wait for number provisioning to complete category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40321' title: No usable numbers in pool cause: Number pool empty or all numbers unhealthy action: Add numbers to pool or check number health category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40322' title: Blocked content cause: Message contains prohibited content action: Remove flagged content category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40323' title: Activation failed cause: Could not enable messaging on number action: Contact support category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40325' title: Invalid alpha sender ID cause: Alphanumeric sender ID format is invalid action: Use 1–11 alphanumeric characters category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40328' title: SMS too large (warning) cause: Message splits into too many parts action: Consider sending as MMS instead category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40329' title: Toll-free not verified cause: Number hasn't passed toll-free verification action: Complete toll-free verification category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40330' title: Toll-free not provisioned cause: Number not fully provisioned for messaging action: Wait for provisioning to complete; contact support category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40331' title: Missing whitelist cause: No whitelisted destinations on profile action: Add destination regions to your messaging profile category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40333' title: Spend limit reached cause: Messaging profile cost limit hit action: Increase spend limit or wait for reset category: delivery-errors source_url: https://developers.telnyx.com/docs/messaging/messages/error-codes - code: '40300' detail: Invalid destination action: Verify the phone number format category: message-detail-record-errors source_url: https://developers.telnyx.com/docs/messaging/messages/message-detail-records - code: '40301' detail: Destination blocked action: Recipient has opted out—remove from list category: message-detail-record-errors source_url: https://developers.telnyx.com/docs/messaging/messages/message-detail-records - code: '40310' detail: Carrier rejected action: Message content may have triggered spam filters category: message-detail-record-errors source_url: https://developers.telnyx.com/docs/messaging/messages/message-detail-records - code: '40311' detail: Undeliverable action: Number is unreachable (landline, disconnected) category: message-detail-record-errors source_url: https://developers.telnyx.com/docs/messaging/messages/message-detail-records - code: '40400' detail: Sender not registered action: Register for 10DLC or toll-free verification category: message-detail-record-errors source_url: https://developers.telnyx.com/docs/messaging/messages/message-detail-records - code: '40500' detail: Rate limit exceeded action: Slow down sending or request higher limits category: message-detail-record-errors source_url: https://developers.telnyx.com/docs/messaging/messages/message-detail-records - code: '40001' detail: Destination number invalid category: webhook-errors source_url: https://developers.telnyx.com/docs/messaging/messages/receiving-webhooks - code: '40002' detail: Destination number not in service category: webhook-errors source_url: https://developers.telnyx.com/docs/messaging/messages/receiving-webhooks - code: '40008' detail: Message filtered by carrier category: webhook-errors source_url: https://developers.telnyx.com/docs/messaging/messages/receiving-webhooks - code: '40010' detail: Message blocked (spam/content filter) category: webhook-errors source_url: https://developers.telnyx.com/docs/messaging/messages/receiving-webhooks - code: '40300' detail: Destination unreachable category: webhook-errors source_url: https://developers.telnyx.com/docs/messaging/messages/receiving-webhooks - code: '47000' detail: 10DLC campaign required category: webhook-errors source_url: https://developers.telnyx.com/docs/messaging/messages/receiving-webhooks - status: delivered detail: Carrier has confirmed delivery to the recipient category: webhook-errors source_url: https://developers.telnyx.com/docs/messaging/messages/receiving-webhooks - status: delivery_failed detail: The carrier failed to deliver the message to the recipient category: webhook-errors source_url: https://developers.telnyx.com/docs/messaging/messages/receiving-webhooks - status: delivery_unconfirmed detail: No delivery confirmation was received from the carrier category: webhook-errors source_url: https://developers.telnyx.com/docs/messaging/messages/receiving-webhooks - status: queued detail: Message is queued on Telnyx's side category: webhook-errors source_url: https://developers.telnyx.com/docs/messaging/messages/receiving-webhooks - status: sending_failed detail: Telnyx failed to send the message to the carrier category: webhook-errors source_url: https://developers.telnyx.com/docs/messaging/messages/receiving-webhooks - status: sending detail: Message is being sent to an upstream carrier category: webhook-errors source_url: https://developers.telnyx.com/docs/messaging/messages/receiving-webhooks - status: sent detail: Message has been sent to the upstream carrier category: webhook-errors source_url: https://developers.telnyx.com/docs/messaging/messages/receiving-webhooks - code: '30003' detail: Unreachable destination action: Verify the number is active and can receive SMS category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '30004' detail: Message blocked by carrier action: Check content compliance and sender registration category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '30005' detail: Unknown destination action: Number may be disconnected or invalid category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '30006' detail: Landline or unreachable action: Number cannot receive SMS (landline, VoIP) category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '30007' detail: Carrier violation action: Message rejected due to content filtering category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '30008' detail: Destination capacity exceeded action: Retry after a delay category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '40001' detail: Phone number not in E.164 format action: Format as +[country code][number] with no spaces or punctuation category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '40002' detail: Missing required field action: 'Include all required fields: from, to, and text (or media_urls)' category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - status: '400' detail: Bad Request action: Fix the request body — malformed JSON or missing required fields category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - status: '401' detail: Unauthorized action: Check your API key is correct and active category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - status: '402' detail: Payment Required action: Add funds to your account balance category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '40300' detail: Number not assigned to messaging profile action: Go to My Numbers and assign a messaging profile category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '40301' detail: Sender registration required action: Register for 10DLC, toll-free verification, or another sender type category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '40302' detail: Messaging profile disabled action: Re-enable the profile in the portal category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - status: '403' detail: Forbidden action: Number not assigned to a messaging profile, or sender registration required category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - status: '404' detail: Not Found action: The resource (message ID, profile ID) does not exist category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '42200' detail: Invalid from number action: Verify the number belongs to your account and supports messaging category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '42201' detail: Invalid to number action: Verify the destination is a valid, active phone number category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '42202' detail: Message body too long action: 'SMS max: 1,600 characters (concatenated). Reduce content or split into multiple messages' category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '42203' detail: Invalid media URL action: Ensure media_urls are publicly accessible HTTPS URLs category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '42204' detail: Too many media attachments action: MMS supports up to 10 media URLs per message category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - code: '42205' detail: Media file too large action: Individual media files must be under 1 MB; total under 2 MB category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - status: '422' detail: Unprocessable Entity action: Validation failed — see error detail for the specific field category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - status: '429' detail: Too Many Requests action: Rate limited — wait for the retry-after header value, then retry category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - status: '500' detail: Internal Server Error action: Telnyx server error — retry with exponential backoff category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - status: '503' detail: Service Unavailable action: Temporary outage — retry with exponential backoff category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - status: delivered detail: Carrier confirmed delivery to the handset category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - status: delivery_failed detail: Carrier could not deliver the message category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - status: delivery_unconfirmed detail: No delivery confirmation received from the carrier category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - status: sent detail: Message accepted and sent to the carrier category: send-errors source_url: https://developers.telnyx.com/docs/messaging/messages/send-message - product: SIP Trunking count: 61 codes: - code: 403 D35 cause: Invalid caller ID format action: Use E.164 format or match localization requirements category: caller-id-policy-errors source_url: https://developers.telnyx.com/docs/voice/sip-trunking/configuration/caller-id-policy - code: '404' cause: Invalid destination action: Verify the called number is in E.164 format category: caller-id-policy-errors source_url: https://developers.telnyx.com/docs/voice/sip-trunking/configuration/caller-id-policy - code: '503' cause: International spoofing action: Use a valid origination number for the destination country category: caller-id-policy-errors source_url: https://developers.telnyx.com/docs/voice/sip-trunking/configuration/caller-id-policy - code: '180' detail: Ringing category: failover-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/routing/failover-and-retries - code: '200' detail: OK (answered) category: failover-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/routing/failover-and-retries - code: '404' detail: Not Found category: failover-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/routing/failover-and-retries - code: '408' detail: Request Timeout category: failover-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/routing/failover-and-retries - code: '480' detail: Temporarily Unavailable category: failover-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/routing/failover-and-retries - code: '486' detail: Busy Here category: failover-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/routing/failover-and-retries - code: '503' detail: Service Unavailable category: failover-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/routing/failover-and-retries - code: '504' detail: Server Timeout category: failover-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/routing/failover-and-retries - code: '603' detail: Decline category: failover-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/routing/failover-and-retries - code: Transport error detail: Network/TCP failure category: failover-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/routing/failover-and-retries - code: B3 title: '488' detail: SRTP mismatch - encrypted media expected action: Enable SRTP in SIP client or disable in connection category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D10-D17 title: '403' detail: Connection, profile, or account disabled/forbidden action: Verify SIP connection and outbound voice profile are active category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D18 title: '404' detail: SIP connection inactive action: Enable the SIP connection category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D19 title: '404' detail: Account blocked (billing) action: Review account balance and payment method category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D1 title: '403' detail: Concurrent outbound calls exceed global limit action: Reduce active calls or increase limit in outbound voice profile category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D21 title: '480' detail: No destination/forwarding number associated action: Verify destination number is valid and active category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D22 title: '403' detail: Channel limit exceeded (DID, connection, or profile) action: Check channel allocations category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D24 title: '403' detail: Rate per minute exceeds profile maximum action: Adjust rate limits in outbound voice profile category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D25-D29 title: '403' detail: Authentication or connection validation failed action: Verify SIP credentials and connection settings category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D2 title: '403' detail: Outbound profile concurrent call limit exceeded action: Reduce active calls or increase profile limit category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D30-D31 title: '403' detail: Invalid SIP URI or subdomain action: Verify SIP URI format and subdomain settings category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D35 title: '403' detail: Invalid caller ID format action: Use E.164 format (e.g., +12125551234) category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D36 title: '403' detail: Using another account's DID as caller ID action: Use only assigned phone numbers category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D38 title: '403' detail: No outbound voice profile assigned to connection action: Assign an outbound voice profile category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D3 title: '403' detail: Connection concurrent call limit exceeded action: Reduce active calls or increase connection limit category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D40 title: '404' detail: Destination exists but no route available action: Verify destination and routing configuration category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D41 title: '403' detail: Dialed prefix forbidden (fraud prevention) action: Contact support to enable destination category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D42 title: '405' detail: SIP REFER not allowed action: Enable call transfer in connection settings category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D49 title: '403' detail: NANPA origination number lacks valid LRN action: Ensure phone number has LRN data category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D51 title: '403' detail: Non-Telnyx number not verified action: Use Verified Numbers API category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D52-D54 title: '403' detail: Restricted origination number action: Verify number ownership and status category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D56 title: '486' detail: Global channel billing limit exceeded action: Contact support category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D57 title: '403' detail: HD voice disabled for phone number action: Enable HD voice in phone number settings category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D59 title: '404' detail: Special/short number unsupported by region action: Use supported number type category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D5 title: '486' detail: Legacy channel billing limit exceeded action: Review channel billing settings category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D60-D61 title: '403' detail: Account tier requires verified numbers action: Upgrade account tier or verify numbers category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D63 title: '403' detail: Number port pending action: Wait for port completion category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D64-D65 title: '403' detail: Regulatory requirement pending action: Complete regulatory documentation category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D7 title: '403' detail: No outbound voice profile assigned action: Assign an outbound voice profile category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D8 title: '404' detail: Missing E911 caller ID action: Configure E911 caller ID category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: D9 title: '403' detail: International destination rate limit reached action: Review rate limits or contact support category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: P01 title: '403' detail: Invalid Request-URI (proxy anycast IP) action: Use correct contact header category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: P02 title: '403' detail: CANCEL without matching INVITE action: Only send CANCEL for active INVITE transactions category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: P04 title: '403' detail: REGISTER with To tag (RFC non-compliant) action: Remove To tag from REGISTER requests category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: P05-P06 title: '403' detail: CPS limit or message size exceeded action: Reduce call rate or message size category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: P14-P16 title: '403' detail: Contact header length violation action: Shorten contact header to under 512 bytes category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: P18 title: '403' detail: Empty destination in Request-URI or To action: Include valid destination in SIP headers category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: P29 title: '500' detail: REGISTER processing failure action: Retry registration or contact support category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: P51 title: '403' detail: Contact header exceeds 512 bytes action: Reduce contact header length category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: P81-P83 title: '403' detail: Username validation issues action: Verify SIP username format category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: P93 title: '403' detail: Hop count exceeded action: Check for routing loops category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: PE1-PE6 title: '503' detail: No routes found action: Verify destination is reachable category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: R14 title: '403' detail: Empty authentication username action: Provide valid SIP username category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: R16-R18 title: '403' detail: Invalid/short/mismatched username action: Use alphanumeric username matching credentials category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: R47 title: '403' detail: Multiple Contact addresses in REGISTER action: Register one contact address per request category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: RG1 title: '480' detail: User not registered (credential connection) action: Register SIP client before making calls category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: TM1 title: '403' detail: No rates for destination prefix action: Contact support about coverage category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - code: TV1 title: '503' detail: Downstream carrier termination issue action: Retry call or use alternative routing category: sip-response-codes source_url: https://developers.telnyx.com/docs/voice/sip-trunking/troubleshooting/response-codes - product: Speech-to-Text count: 7 codes: - code: '40001' detail: Invalid input_format value category: websocket-errors source_url: https://developers.telnyx.com/docs/voice/stt/websocket-streaming/errors - code: '40002' detail: Format not supported by the chosen engine category: websocket-errors source_url: https://developers.telnyx.com/docs/voice/stt/websocket-streaming/errors - code: '40003' detail: sample_rate required but missing (raw encoding or Google with non-WAV/FLAC) category: websocket-errors source_url: https://developers.telnyx.com/docs/voice/stt/websocket-streaming/errors - code: '40004' detail: sample_rate is not a valid positive integer category: websocket-errors source_url: https://developers.telnyx.com/docs/voice/stt/websocket-streaming/errors - code: '40005' detail: Invalid sample rate for the codec (e.g., amr_nb only supports 8000) category: websocket-errors source_url: https://developers.telnyx.com/docs/voice/stt/websocket-streaming/errors - code: '40006' detail: Format not supported by Flux model category: websocket-errors source_url: https://developers.telnyx.com/docs/voice/stt/websocket-streaming/errors - code: '40007' detail: Invalid transcription_engine value category: websocket-errors source_url: https://developers.telnyx.com/docs/voice/stt/websocket-streaming/errors - product: Text-to-Speech count: 6 codes: - code: '"Error in audio response"' cause: The TTS provider returned an error during synthesis category: websocket-errors source_url: https://developers.telnyx.com/docs/voice/tts/websocket-streaming/errors - code: '"Error in remaining audio response"' cause: Provider error while synthesizing buffered text during connection close category: websocket-errors source_url: https://developers.telnyx.com/docs/voice/tts/websocket-streaming/errors - code: '400' cause: Invalid parameters — unsupported provider, missing required fields, or invalid voice format category: websocket-errors source_url: https://developers.telnyx.com/docs/voice/tts/websocket-streaming/errors - code: '401' cause: Missing or invalid API key category: websocket-errors source_url: https://developers.telnyx.com/docs/voice/tts/websocket-streaming/errors - code: '403' cause: Ultra model restricted on public WebSocket endpoint. Use REST API for Ultra. category: websocket-errors source_url: https://developers.telnyx.com/docs/voice/tts/websocket-streaming/errors - code: '403' cause: Cloned voice restricted — organization requires identity verification for cloned voices (Qwen3TTS, Minimax clones) category: websocket-errors source_url: https://developers.telnyx.com/docs/voice/tts/websocket-streaming/errors - product: Toll-Free Verification count: 4 codes: - status: draft detail: Created but not yet submitted action: Complete required fields and submit category: verification-statuses source_url: https://developers.telnyx.com/docs/messaging/toll-free-verification/troubleshooting - status: pending detail: Under carrier review action: Wait (1–2 weeks typical) category: verification-statuses source_url: https://developers.telnyx.com/docs/messaging/toll-free-verification/troubleshooting - status: rejected detail: Carrier rejected ❌ action: Fix issues and resubmit category: verification-statuses source_url: https://developers.telnyx.com/docs/messaging/toll-free-verification/troubleshooting - status: verified detail: Approved ✅ action: None — full throughput unlocked category: verification-statuses source_url: https://developers.telnyx.com/docs/messaging/toll-free-verification/troubleshooting - product: Voice Design Lab count: 21 codes: - code: '10005' detail: Clone not found or invalid UUID category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10005' detail: Clone not found category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10005' detail: Clone or sample not found category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10005' detail: Voice design not found / no version category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10005' detail: Clone not found category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10011' detail: Provider rate limit exceeded category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10012' detail: Duplicate provider_voice_id category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10015' detail: 'Failed to process audio file: (FFmpeg failure)' category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10027' detail: Changeset validation errors category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10027' detail: Changeset validation (see below) category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10027' detail: audio_file is required category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10027' detail: File too large. Maximum allowed size is 5MB (20MB for Minimax) category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10027' detail: Invalid provider+model_id combination category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10027' detail: Pattern-matched messages (voice not found, audio too short/long, bad quality, unsupported format, unsupported language, invalid params, text length invalid) category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10037' detail: Voice clone service configuration error category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10037' detail: Voice clone service unavailable category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10038' detail: Audio is too short (min 10s) category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10038' detail: Audio is too long category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10038' detail: Audio quality too low category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10038' detail: Audio contains too much noise category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - code: '10038' detail: 'Voice cloning provider error: ' category: voice-clone-errors source_url: https://developers.telnyx.com/docs/voice/voice-design-lab/clone-voice/errors - product: WebRTC JavaScript SDK count: 85 codes: - code: '1000' detail: Normal closure category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '1001' detail: Going away category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '1006' detail: Abnormal closure category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '1011' detail: Internal error category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '31001' title: HIGH_RTT action: Show quality indicator; no immediate action needed category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '31002' title: HIGH_JITTER action: Show quality indicator; no immediate action needed category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '31003' title: HIGH_PACKET_LOSS action: Show quality indicator; no immediate action needed category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '31004' title: LOW_MOS action: Show quality indicator; consider advising user category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '31005' title: LOW_LOCAL_AUDIO action: Show microphone-level indicator; ask the user to check mute/input gain or selected microphone category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '31006' title: LOW_INBOUND_AUDIO action: Verify the remote party is not muted/sending silence; check the media bridge for comfort-noise injection; inspect PCAP RTP payload if needed category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '32001' title: LOW_BYTES_RECEIVED action: Check remote party; show degraded audio indicator category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '32002' title: LOW_BYTES_SENT action: Check local microphone; show degraded audio indicator category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33001' title: ICE_CONNECTIVITY_LOST action: Show reconnecting indicator; wait for recovery or PEER_CONNECTION_FAILED category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33002' title: ICE_GATHERING_TIMEOUT action: Check firewall/STUN/TURN config; show warning category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33003' title: ICE_GATHERING_EMPTY action: Check network/firewall settings; STUN/TURN may be blocked category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33004' title: PEER_CONNECTION_FAILED action: Show reconnecting/degraded UI; wait for SDK recovery; only clean up after call termination category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33004' title: PEER_CONNECTION_FAILED detail: RTCPeerConnection failed; SDK may ICE-restart action: Show reconnecting/degraded UI; wait for SDK recovery; clean up only after call termination category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33005' title: ONLY_HOST_ICE_CANDIDATES action: Check STUN/TURN config; call may work on local network only category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33005' title: ONLY_HOST_ICE_CANDIDATES detail: Only local-network candidates gathered; call will fail off-LAN action: Verify STUN/TURN URLs/credentials and that UDP to STUN/TURN is not blocked category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33006' title: ANSWER_WHILE_PEER_ACTIVE action: Ensure answer() is called only once per call; disable the answer button after the first click; check that answer() is not invoked from multiple event handlers category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33006' title: ANSWER_WHILE_PEER_ACTIVE detail: answer() called twice on the same call action: Call answer() once per call; disable the answer button after first click category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33007' title: DUPLICATE_INBOUND_ANSWER action: Since SDK v2.27.4, blocking is scoped per callID. The same callID answered twice emits this warning without hangup or media reset. A different callID proceeds normally (multi-call support). Keep a single TelnyxRTC instance; disconnect() before replacing; answer only one inbound call per callID category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33007' title: DUPLICATE_INBOUND_ANSWER detail: Same callID answered twice in the same runtime → warning only (no hangup/media reset) action: Since SDK v2.27.4, blocking is scoped per callID — a different callID proceeds normally (multi-call support). For the same callID, keep a single TelnyxRTC instance; disconnect() before replacing; answer only one inbound call per callID category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33008' title: ICE_CANDIDATE_PAIR_CHANGED action: Log candidate path changes and monitor quality; frequent changes indicate unstable network, VPN, NAT rebinding, or relay fallback category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33009' title: AUDIO_INPUT_DEVICE_CHANGE_SKIPPED action: Retry after the call is active and local media is attached; verify the call was started with audio enabled category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33010' title: MULTIPLE_ACTIVE_CALLS_DETECTED action: Verify this is expected (call waiting/transfer); otherwise hang up the previous call before creating a new one; use call.hold() if needed. For independent media elements per call, see Manage Multiple Calls category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33010' title: MULTIPLE_ACTIVE_CALLS_DETECTED detail: A new call started while another is active in the same session action: Verify this is intentional (call waiting/transfer); otherwise hang up the previous call first category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33011' title: SHARED_REMOTE_ELEMENT_OVERWRITE action: A shared remoteElement was overwritten by a different MediaStream (e.g., concurrent calls using the same element). Assign a distinct remoteElement per call via newCall({ remoteElement }) or call.answer({ remoteElement }). See Manage Multiple Calls category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '33011' title: SHARED_REMOTE_ELEMENT_OVERWRITE detail: A shared remoteElement was overwritten by a different MediaStream (concurrent calls) action: Assign a distinct remoteElement per call via newCall({ remoteElement }) or call.answer({ remoteElement }). See Manage Multiple Calls category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '34001' title: TOKEN_EXPIRING_SOON action: Refresh the token before it expires; you have ~120 seconds category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '35002' title: UNKNOWN_REATTACHED_SESSION action: Inspect the Attach callId in the warning payload; if a call should be active, start a new call manually category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '35002' title: UNKNOWN_REATTACHED_SESSION detail: Server tried to reattach a call the SDK no longer knows about action: Inspect the Attach callId in the payload; start a new call if one should be active. This can happen in real scenarios — if an agent received a call they did not expect, share the call with Telnyx support for investigation. category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '36003' title: SIGNALING_RECOVERY_REQUIRED action: 'Show short interruption state; wait for call reattach or call termination. source indicates the trigger: probe, request, peer_failure, or no_rtp' category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '36003' title: SIGNALING_RECOVERY_REQUIRED detail: Signaling is unhealthy; SDK will force-close and reconnect action: Show a short interruption state; wait for telnyx.ready and call reattach category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '36004' title: MEDIA_RECOVERY_REQUIRED action: Show media reconnecting indicator; keep call UI active until recovery or call termination category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '36004' title: MEDIA_RECOVERY_REQUIRED detail: Media is unhealthy while signaling is healthy; SDK will ICE-restart action: Show a media reconnecting indicator; keep call UI until recovery or call termination category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '36005' title: RECONNECTION_FAILED_WITH_NO_AUTO_RECONNECT action: 'This warning is not expected unless you explicitly set autoReconnect: false. Review your application and call client.connect() to re-establish the session. We recommend keeping autoReconnect enabled (the default).' category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '36005' title: RECONNECTION_FAILED_WITH_NO_AUTO_RECONNECT detail: Socket closed and auto-reconnect is disabled — the SDK will not reconnect action: 'This warning is not expected unless you explicitly set autoReconnect: false. Review your application and call client.connect() to re-establish the session. We recommend keeping autoReconnect enabled (the default).' category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '40001' title: SDP_CREATE_OFFER_FAILED detail: RTCPeerConnection.createOffer() rejected by the browser; no offer SDP was generated, so the outbound call never starts. action: Show the error; retry the outbound call with client.newCall(). Uncommon — if this recurs a few times, share the call with Telnyx support for investigation. category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '40001' title: SDP_CREATE_OFFER_FAILED detail: Call is not established action: Show error to user; retry with client.newCall() category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '40002' title: SDP_CREATE_ANSWER_FAILED detail: RTCPeerConnection.createAnswer() rejected by the browser; no answer SDP was generated, so the inbound call cannot be answered. action: Show the error; the inbound call cannot be answered. Wait for a new inbound call or place an outbound call. Uncommon — if this recurs a few times, share the call with support for investigation. category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '40002' title: SDP_CREATE_ANSWER_FAILED detail: Call is rejected action: Show error to user; the inbound call cannot be answered category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '40003' title: SDP_SET_LOCAL_DESCRIPTION_FAILED detail: RTCPeerConnection.setLocalDescription() rejected the generated SDP — the local call configuration could not be applied. action: Show the error; retry the call. Uncommon — if this recurs a few times, share the call with support for investigation. category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '40003' title: SDP_SET_LOCAL_DESCRIPTION_FAILED detail: Call setup fails action: Show error to user; retry the call category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '40004' title: SDP_SET_REMOTE_DESCRIPTION_FAILED detail: RTCPeerConnection.setRemoteDescription() rejected the remote SDP — the remote offer/answer may be malformed or contain unsupported codecs. action: Show the error; retry the call. Check codec configuration if it recurs. Uncommon — if this recurs a few times, share the call with support for investigation. category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '40004' title: SDP_SET_REMOTE_DESCRIPTION_FAILED detail: Call setup fails action: Show error to user; retry the call category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '40005' title: SDP_SEND_FAILED detail: The Invite or Answer JSON-RPC message could not be sent — the WebSocket connection was likely lost before the message was delivered. action: Show the error; check connectivity and retry the call. category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '40005' title: SDP_SEND_FAILED detail: Signaling could not be sent action: Show error to user; retry the call category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '42001' title: MEDIA_MICROPHONE_PERMISSION_DENIED detail: getUserMedia() rejected with NotAllowedError — the user or OS denied microphone permission. action: Prompt the user to grant microphone permission in browser/OS settings. With mediaPermissionsRecovery.enabled (inbound calls only), a recoverable event is emitted instead — use resume()/reject(). category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '42001' title: MEDIA_MICROPHONE_PERMISSION_DENIED detail: No microphone access; call cannot have media action: Prompt for mic permission; use mediaPermissionsRecovery for in-call recovery category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '42001' title: MEDIA_MICROPHONE_PERMISSION_DENIED detail: Call fails; if mediaPermissionsRecovery.enabled, a recoverable error is emitted instead action: Prompt user to grant microphone permission in browser/OS settings category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '42002' title: MEDIA_DEVICE_NOT_FOUND detail: getUserMedia() rejected with NotFoundError/OverconstrainedError — no microphone matched the requested constraints or deviceId. action: Check that a microphone is connected and the deviceId is valid. With recovery enabled (inbound calls only), handle via resume()/reject(). category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '42002' title: MEDIA_DEVICE_NOT_FOUND detail: No microphone / invalid deviceId action: Check device connectivity and deviceId category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '42002' title: MEDIA_DEVICE_NOT_FOUND detail: Call fails action: Check that a microphone is connected and the deviceId is valid category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '42003' title: MEDIA_GET_USER_MEDIA_FAILED detail: getUserMedia() rejected for an unexpected reason — the device may be in use by another app or the browser hit an internal error. action: Close other applications using the microphone and retry. With recovery enabled (inbound calls only), handle via resume()/reject(). category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '42003' title: MEDIA_GET_USER_MEDIA_FAILED detail: getUserMedia() failed unexpectedly action: Close other apps using the mic and retry category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '42003' title: MEDIA_GET_USER_MEDIA_FAILED detail: Call fails action: Check browser permissions and device availability; retry category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '44001' title: HOLD_FAILED detail: Hold is not applied action: Retry hold operation category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '44002' title: INVALID_CALL_PARAMETERS detail: The SDK validated the call options before sending anything to the server and found required parameters missing or invalid (e.g. no destinationNumber). action: Fix the call parameters (e.g. provide a valid destinationNumber) before retrying. category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '44002' title: INVALID_CALL_PARAMETERS detail: Call is not established action: Fix call parameters before retrying category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '44003' title: BYE_SEND_FAILED detail: Local hangup completes but BYE signal may not reach the server action: Call is still hung up locally; no action needed category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '44004' title: SUBSCRIBE_FAILED detail: Cannot subscribe to call events action: Check connection state; may need to reconnect category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '44005' title: PEER_CLOSED_DURING_INIT detail: The RTCPeerConnection was closed (e.g. by hangup()) while Peer.init() was still running — an async operation (setRemoteDescription, getUserMedia, or media-recovery) yielded control and close() ran during that gap. action: Expected if the user intentionally hung up during setup — no action needed. If it recurs without user action, check for automatic hangup triggers firing too early. category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '44005' title: PEER_CLOSED_DURING_INIT detail: Peer connection closed before call setup completed action: Retry the call category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '45001' title: WEBSOCKET_CONNECTION_FAILED detail: Session is not established action: Call client.connect() to retry (no socket exists for auto-reconnect) category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '45001' title: WEBSOCKET_CONNECTION_FAILED detail: new WebSocket(...) threw synchronously — the server is unreachable, the URL is wrong, or a firewall blocks the connection. No socket object exists, so auto-reconnect cannot run. action: Call client.connect() to retry. Uncommon — if this recurs a few times, share the call with support for investigation. category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '45002' title: WEBSOCKET_ERROR detail: WebSocket error occurred; SDK schedules connect() via exponential backoff when autoReconnect is not disabled action: 'Show reconnecting UI; SDK auto-reconnects by default. If autoReconnect: false, call client.connect() manually. Wait for telnyx.ready' category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '45003' title: RECONNECTION_EXHAUSTED detail: 'Automatic reconnect stopped after maxReconnectAttempts attempts (default 10); set maxReconnectAttempts: 0 for unlimited attempts' action: All automatic reconnect attempts exhausted. Call client.disconnect() then client.connect(), or recreate the client category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '45003' title: RECONNECTION_EXHAUSTED detail: The SDK exhausted all automatic reconnect attempts (default 10). Active calls are torn down locally before this fires. action: 'Call client.disconnect() then client.connect() to start fresh, or recreate the client instance. Set maxReconnectAttempts: 0 for unlimited attempts. We recommend keeping autoReconnect enabled (the default) — disabling it is only for advanced use cases.' category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '45003' title: RECONNECTION_EXHAUSTED detail: Auto-reconnect gave up; the session is dead action: client.disconnect() → client.connect(), or recreate the client category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '45004' title: GATEWAY_FAILED detail: Gateway reported FAILED / FAIL_WAIT / TIMEOUT; SDK retries until RECONNECTION_EXHAUSTED when autoReconnect is not disabled action: 'Show reconnecting UI; SDK auto-reconnects by default. If autoReconnect: false, call client.connect() manually. Wait for telnyx.ready' category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '46001' title: LOGIN_FAILED detail: Registration never reached ready state action: Re-authenticate using client.login() without recreating the instance category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '46001' title: LOGIN_FAILED detail: The server rejected the login request (credentials invalid, expired, or account suspended). Registration never reached the ready state. action: Re-authenticate using client.login() with fresh credentials; verify credentials and account status. Do not recreate the instance. category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '46001' title: LOGIN_FAILED detail: Authentication rejected; the session will not become ready action: Re-authenticate with client.login() and fresh credentials category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '46002' title: INVALID_CREDENTIALS detail: Login was rejected before request was sent action: Fix credential parameters; re-authenticate using client.login() category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '46002' title: INVALID_CREDENTIALS detail: The SDK rejected the login options client-side before sending any request — the credentials object has missing or empty fields, or an invalid combination of credential fields. No network request was made. action: Fix the credential parameters (ensure required fields like login_token are present and non-empty), then re-authenticate using client.login(). Check that the credential object matches one of the supported auth modes (credentials, token, or anonymous). category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '46002' title: INVALID_CREDENTIALS detail: Credentials invalid before any network request action: Fix credential params, then client.login() category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '46003' title: AUTHENTICATION_REQUIRED detail: Request was sent before auth completed or after auth was lost. SDK re-auths on reconnect when autoReconnect is enabled action: 'Re-authenticate using client.login({ creds: { login_token: newToken } }) without recreating the instance' category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '47001' title: ICE_RESTART_FAILED detail: Media recovery could not complete via ICE restart action: The call may recover via WebSocket reconnect + Attach; if not, hang up and retry category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '48001' title: NETWORK_OFFLINE detail: Browser offline event fired. Emitted for backward compatibility; recovery is driven by SDK-owned health signals action: Restore network connectivity; the SDK recovers via health signals, not the browser online event alone category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '48501' title: SESSION_NOT_REATTACHED detail: The WebSocket reconnected but the server did not reattach the call; subsequent call-control fails with CALL_DOES_NOT_EXIST action: Terminate the local call and notify the user; start a new call category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '48501' title: SESSION_NOT_REATTACHED detail: The WebSocket reconnected successfully, but the server did not reattach the active call session — the server lost the in-memory call state during the disconnection window. Subsequent call-control operations (hangup, hold, etc.) will fail with CALL_DOES_NOT_EXIST. action: Terminate the local call and notify the user; start a new call. The call is unrecoverable. category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '48501' title: SESSION_NOT_REATTACHED detail: The server lost the call after reconnect; the call is unrecoverable action: Terminate local call UI; let the user place a new call category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '49001' title: UNEXPECTED_ERROR detail: Unclassified failure during peer/call setup action: Check event.error.originalError for details; report if it persists category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - code: '49001' title: UNEXPECTED_ERROR detail: An error was thrown that does not match any known SDK error category — this is a catch-all for unclassified failures. action: Inspect event.error.originalError; report to Telnyx support if it persists. category: client-errors-and-warnings source_url: https://developers.telnyx.com/docs/development/webrtc/js-sdk/how-to/error-handling - product: WhatsApp count: 11 codes: - status: '400' detail: Invalid or missing fields, a reserved metadata key, an invalid from or to, or the assistant is not the one set on the from number's messaging profile. category: ai-assistant-conversation-errors source_url: https://developers.telnyx.com/docs/messaging/whatsapp/ai-assistant-conversations - status: '401' detail: The API key is missing or invalid. category: ai-assistant-conversation-errors source_url: https://developers.telnyx.com/docs/messaging/whatsapp/ai-assistant-conversations - status: '403' detail: The from number is not on your account, or the account is inactive, blocked, unverified or has messaging disabled. category: ai-assistant-conversation-errors source_url: https://developers.telnyx.com/docs/messaging/whatsapp/ai-assistant-conversations - status: '404' detail: The assistant does not exist. category: ai-assistant-conversation-errors source_url: https://developers.telnyx.com/docs/messaging/whatsapp/ai-assistant-conversations - status: '409' detail: The from number's messaging profile is disabled, or a request with the same Idempotency-Key is still being processed. category: ai-assistant-conversation-errors source_url: https://developers.telnyx.com/docs/messaging/whatsapp/ai-assistant-conversations - status: '413' detail: The request has an Idempotency-Key and its body is larger than 256 KB. category: ai-assistant-conversation-errors source_url: https://developers.telnyx.com/docs/messaging/whatsapp/ai-assistant-conversations - status: '422' detail: The assistant did not return a template, its privacy settings do not allow storing conversations, or an Idempotency-Key was reused with a different body. category: ai-assistant-conversation-errors source_url: https://developers.telnyx.com/docs/messaging/whatsapp/ai-assistant-conversations - status: '503' detail: The assistant could not be reached, or the conversation or template send failed. Retry the request. category: ai-assistant-conversation-errors source_url: https://developers.telnyx.com/docs/messaging/whatsapp/ai-assistant-conversations - code: '10004' detail: Missing required parameter action: Ensure all required fields are included category: template-errors source_url: https://developers.telnyx.com/docs/messaging/whatsapp/manage-templates - code: '10032' detail: Invalid enumerated value action: Check category and language codes category: template-errors source_url: https://developers.telnyx.com/docs/messaging/whatsapp/manage-templates - code: '40008' detail: Template operation failed (catch-all) action: Check template status and Meta error details category: template-errors source_url: https://developers.telnyx.com/docs/messaging/whatsapp/manage-templates - product: Wireless count: 9 codes: - code: '70000' title: Consumption reached data limit detail: The consumption reached the defined data limit. Please, update the SIM card group data limit. action: Increase the SIM card group's data limit before retrying the operation. category: api-errors source_url: https://developers.telnyx.com/docs/iot-sim/api-errors - code: '70001' title: There aren't enough available SIM cards detail: Insufficient inventory to satisfy order request. action: Reduce the requested quantity or retry when sufficient inventory is available. category: api-errors source_url: https://developers.telnyx.com/docs/iot-sim/api-errors - code: '70002' title: Invalid data format detail: The provided data attribute was invalid. action: Compare the rejected attribute with the endpoint's request schema, correct its format, and retry. category: api-errors source_url: https://developers.telnyx.com/docs/iot-sim/api-errors - code: '70003' title: Mobile operators' preferences priorities are out of sequence detail: The mobile operators' preferences priorities should be in an ascending order starting by 0. action: Renumber the priorities as a contiguous sequence beginning with 0, then retry. category: api-errors source_url: https://developers.telnyx.com/docs/iot-sim/api-errors - code: '70004' title: OTA update in progress detail: SIM card network preferences can't be defined when a previous OTA update is still in progress. action: Wait for the current OTA update to finish before changing network preferences. category: api-errors source_url: https://developers.telnyx.com/docs/iot-sim/api-errors - code: '70005' title: Could not delete SIM card group detail: The SIM card group associated with the provided ID can not be deleted because there are SIM cards associated with the SIM card group. action: Move the associated SIM cards to another group before deleting this group. category: api-errors source_url: https://developers.telnyx.com/docs/iot-sim/api-errors - code: '70006' title: Could not delete default SIM card group detail: The SIM card group associated with the provided ID can not be deleted because it is the default SIM card group on your account. action: Do not retry deletion of the default group; select a non-default group for deletion. category: api-errors source_url: https://developers.telnyx.com/docs/iot-sim/api-errors - code: '70007' title: SIM card doesn't have a SIM card group detail: A SIM card cannot be enabled unless it's associated with a SIM card group. action: Assign the SIM card to a SIM card group, then retry the enable request. category: api-errors source_url: https://developers.telnyx.com/docs/iot-sim/api-errors - code: '70008' title: Public IPs are unavailable at this time detail: There aren't any public IPs available at this time. Please contact Telnyx support for more information. action: Contact Telnyx support before retrying public IP allocation. category: api-errors source_url: https://developers.telnyx.com/docs/iot-sim/api-errors