Skip to main content

ملاحظة اللغة

عند عدم توفر ترجمة، يظهر المحتوى الإنجليزي أدناه كخيار بديل. حافظ على رموز الأخطاء ومسارات API والكتل البرمجية كما هي عند تنفيذ الخطوات.

Troubleshooting hub

The Reference group in the sidebar is a flat list of well past 70 pages, and most of them are runbooks. This page exists so you never have to scan that list: every troubleshooting page lives in one of the sections below, grouped by the surface it works on. The Reference index itself — error codes, webhook events, glossary, and FAQ — lives at the top of the sidebar group; this hub indexes only the runbook pages.
The queued-lane deep dive is split deliberately across two pages: message stuck in queued owns the queued cause table and the status decoder (it answers to the reference/troubleshooting route because it was the first runbook), and message parked before sending owns the other pre-send holds — scheduled, pending, and quiet-hours. Every other runbook lives under /troubleshooting/<slug>. Webhook failures split two ways as well: the Webhook delivery failures accordion below owns endpoint creation, signature verification, DLQ recovery, and dedup, while the Webhooks accordion keeps only the ordering and supersede semantics.
Diagnose an inbound digital conversation that holds in the pending lane, one that opens but never assigns an agent, or an auto-close sweep that closes before the window you configured.
  • Inbox assignment stuck pending and auto-close timing — the routing/queue/presence split on an inbound pending thread, the pending-replies supervisor queue, and the auto-close idle-window checks.
  • Ticket attachment storage unavailable — the 503 ATTACHMENT_STORAGE_UNAVAILABLE on an Inbox attachment upload: why it is a storage-backend fault and never a validation problem, the backoff-then-escalate path, and the request id + checksum bundle support needs.
  • Attachment and audio size caps — the deterministic ATTACHMENT_TOO_LARGE (422/413) and AUDIO_TOO_LARGE (400/413) rejections: per-surface byte ceilings, shrink-re-encode-split fixes, and the never-retry direction.
Decode a degraded provider tile on Settings → Presence — what each badge means, what caused it, and the exact fix.
  • Presence federation degraded states — Reconnect required (the OAuth grant died — reconnect the named integration; includes the Reconnect Microsoft 365 CTA), Retrying, Unrecognised value, and Waiting for first sync, with the graceful-fallback behaviour and the escalation paths.
Diagnose a message stuck in the pre-send queue, one accepted by the provider that never reports a delivery outcome, and the recovery pattern when the carrier receipt itself goes missing.
Buy numbers, get sender IDs approved, work warming caps, and handle India DLT or 10DLC gates.
  • Number purchase failure — inventory races and provisioning retries.
  • Connectivity SIM events — the seven connectivity_sim.* webhook family: usage-warning vs limit-exceeded quota gates, the ordered → activated ⇄ suspended → terminated lifecycle decoder, and the silent-stream checklist when the events stop arriving.
  • Bulk purchase rate-limited by the carrier — the CARRIER_RATE_LIMITED per-row marker on a partially-completed buy-bulk batch: the breaker skipped the remaining rows without a carrier call, so retry only the failed[] slice after a few seconds — never the whole batch.
  • Port-out rejected or carrier-refused — the 401 PORT_OUT_PIN_MISMATCH PIN gate, 502 CARRIER_PORT_OUT_FAILED on a carrier refusal, and 422 PORT_OUT_NOT_SUPPORTED when the number moves through support.
  • Number warming caps — DAILY_CAP_EXCEEDED, WARMING_QUOTA_EXCEEDED, and NUMBER_MPS_EXCEEDED.
  • Sender ID rejected before send — the pre-send SENDER_ID_NOT_REGISTERED/SENDER_ID_NOT_APPROVED gate.
  • Numeric sender owned by someone else — the 422 SENDER_NOT_OWNED cross-org ownership gate and its fail-closed 503 sibling.
  • Number masking and proxy-session failures — a masked proxy session that will not bind, forwards inbound-only, bridges the wrong call leg, or drifts on expiry.
  • Number lookup and messaging service failures — LOOKUP_FAILED on the number-lookup endpoints and the resolver codes MESSAGING_SERVICE_RESOLUTION_FAILED / MESSAGING_SERVICE_NOT_FOUND.
  • Lookup per-field verdicts — a 200 response where a fields= data package came back coming_soon, not_implemented, or error; decode the status bucket, map the field to its provider, and split retry from escalate.
  • Sender warm-up pacing — the advisory warm-up meter on alphanumeric sender IDs and international long codes: a stalled or slow sender with no 429, the reputation-kernel tiers, and the pace-vs-spread fix paths.
  • Sender-ID registration rejected or expired — resubmit or reactivate a declined sender.
  • India DLT gate — a 422 with a dlt_template_id/dlt_entity_id requirement.
  • 10DLC campaign rejected — resubmit a campaign the carrier declined.
  • 10DLC not registered — the pre-send TEN_DLC_NOT_REGISTERED gate on a US 10-digit long code sender with no approved TCR brand+campaign registration.
  • US toll-free sender blocked with TFV_REQUIRED — the 422 TFV_REQUIRED gate on a toll-free number before Toll-Free Verification is approved, and how to handle a pending or rejected review.
  • Sender and asset preflight gates — MMS_NANP_ONLY on a non-NANP MMS, NOT_SMS_CAPABLE on a sender that cannot carry SMS, TFV_LINT_BLOCKED on a toll-free filing the content lint refused, and LOA_NOT_SIGNED on a hosted-messaging order.
Triage SIP trunk health, call quality, supervisor coaching surfaces, blocked destinations, and TCPA dialing windows.
  • SIP trunk — registration, health, failover, and capacity.
  • Voice call quality — one-way audio, dead air, jitter, and PDD.
  • Voice-model credential rejected — the 422 VOICE_CREDENTIAL_PROVIDER_REJECTED on registering or rotating a BYO TTS/STT provider key.
  • Secure-payment capture failures — the five SECURE_PAYMENT_* codes on the agent-assisted in-call capture — a missing Jambonz bridge leg, an already-active session, and the four-digit card_last4 mask gate.
  • Payment-mandate confirmation failures — MANDATE_CHARGE_FAILED, MANDATE_SPEND_UNVERIFIABLE (503 fail-closed on the cumulative cap), and IDEMPOTENCY_CONFLICT (409 — a reference reused for a different cart) on the in-call AP2 agentic-payment confirmation.
  • Supervisor takeover, whisper, and barge failures — the SUPERVISOR_* 500s, the already-active-takeover 409, and the supervisor.takeover_failed webhook.
  • In-call AI handoff, deflection, and follow-up failures — HANDOFF_FAILED, DEFLECTION_FAILED, and FOLLOWUP_SEND_FAILED on the three in-call AI exit lanes.
  • Voice call park orbit — PARK_SLOTS_FULL, PARK_SLOT_OCCUPIED, and PARK_ALREADY_RETRIEVED.
  • MCID flag failures — MCID_INVALID_DIRECTION (outbound call), MCID_CALL_TOO_OLD (aged past the 7-day window), the 404 on an unknown call ID, and the owner/admin role gate on the malicious-call trace export.
  • Conference lifecycle failures — rooms stuck open, legs that drop, and missing end reasons.
  • Call flip and call pickup — FLIP_* handoff rejects and PICKUP_* claim-race rejects.
  • Dialer modes not advancing — preview, power, and predictive campaigns that stop pulling contacts.
  • TCPA blocked calls — the dialing window a blocked call fell outside.
  • State mini-TCPA blocked calls — TCPA_STATE_DIALING_WINDOW_BLOCKED on per-state dialing overlays.
  • FCC AI-voice consent gate — 422 FCC_AI_VOICE_WRITTEN_CONSENT_REQUIRED on AI, TTS, and cloned-voice calls — read the reason enum, work the audit queue, and attach the written-consent evidence.
  • Pre-send gate chain blocks an outbound campaign — read the pre-send screen verdict, separate hard fails from warns, and re-submit.
  • TCPA voice-guard sentinel breadcrumbs — trace a 422 TCPA_FEDERAL_DIALING_WINDOW_BLOCKED back to the dial gate that held it via the Sentry breadcrumb.
  • Suspect voice destination — destination and emergency blocks.
  • Ring-group chain cycles — the 422 INVALID_RING_GROUP_CYCLE a create/update fires when re-ordering members would loop a group back to itself; also covers pay-by-link reachability and the archival channel gate on one page (a cross-surface misconfiguration triage).
  • STIR/SHAKEN attestation stuck at C — spam-likely labels, delegate certificates, and branded-calling overrides.
  • STIR/SHAKEN never measured — the first check: read the policy defaults, confirm the inbound reporting fields, and measure your posture before diving into downgrade causes.
  • Queue capacity gates — 503 QUEUE_DEPTH_CAP_REACHED on queue entry and the 422 overflow-chain codes on queue config writes.
  • Disposition and wrap-up errors — the dispatch-blocking 422 DISPOSITION_REQUIRED gate, the catalog-scoped 404 DISPOSITION_CODE_NOT_FOUND (per queue) vs tenant-wide 404 DISPOSITION_TAG_NOT_FOUND split, and the 409 NOT_IN_WRAPUP presence mismatch — tell each apart and post exactly one valid re-try.
  • Queue SLA forecast callback gate — 503 + slaCallbackBlocked: true on queue entry: forecast breach vs head-of-line trip, suggest-vs-block posture, and callback-dispatcher wiring.
  • Public queue booking failed — 500 BOOKING_FAILED on the public queue self-booking POST: transient server-side failure vs a slot taken between the availability read and the booking, one-retry-then-poll, and the request-id escalation bundle.
  • Voice biometrics failures — the sidecar 503/500 codes on enroll and verify (VOICE_BIOMETRICS_TIMEOUT, VOICE_BIOMETRICS_UNAVAILABLE, VOICE_BIOMETRICS_AUTH_FAILED, VOICE_BIOMETRICS_ERROR), the operator-side CONFIGURATION_ERROR, and the fail-closed vs step-up decision for an outage.
  • Transcription, synthesis, and deepfake failures — STT_TRANSCRIPTION_FAILED / TTS_SYNTHESIS_FAILED on the uploads + agent pipeline, the transcript not-yet-produced 422s vs read-side 5xx split, DEEPFAKE_DETECTED (classifier, not consent), and the *_SUMMARY_LLM_MALFORMED 502s.
  • Agent outbound-call and voice-clone guard codes — the pre-origination agent toggle 409 (OUTBOUND_CALLING_DISABLED), the reserved GUARDRAIL_VIOLATION triage, and the VOICE_CLONE_CONSENT_REQUIRED 422 gate.
  • Failover and failback — a call that fails right after a regional move.
  • VOICE_GATEWAY_ERROR at call-send — the 502/503 gateway refusal across outbound dispatch, greeting synthesis, and mid-call actions — transient vs deterministic split, retry-safety, and the support bundle.
  • Hot-desking sign-in rejects — HOT_DESK_RACE, HOT_DESK_NO_ACTIVE_SESSION, and the session-ledger codes.
Diagnose room lifecycle failures, degraded video quality, recordings, and SIP dial-out. The VIDEO_* family (30+ codes across the error-codes reference) is indexed here.
DNC, consent receipts, destination blocks, and the strict-sender-id FQDN gate.
  • 401 REAUTH_REQUIRED on destructive operations — the re-auth challenge gate on workspace deletion, GDPR erasure, HIPAA disable, force-transfer, and the 2FA verbs: mint endpoint by verb, header shape, expiry, single-use, and the binding-key reject.
  • Messaging pre-send gates — route a rejected send to the hard gate that fired: CONTACT_BLOCKED, QUIET_HOURS_BLOCKED / TCPA_QUIET_HOURS, OUTSIDE_SESSION_WINDOW, MESSAGING_NUMBER_DEACTIVATED.
  • DNC pre-flight returns 403 — DNC_SYNC_NOT_ENABLED on a send gate.
  • CONSENT_RECEIPT_INVALID — a caller receipt the API cannot verify.
  • BYOK key unavailable / decryption failed — BYOK_KEY_UNAVAILABLE 409 and DECRYPTION_FAILED 502 on a customer-managed-key-enforced field-encryption call.
  • SMS destination blocks — the spending and destination gate for SMS.
  • Strict sender-ID FQDN gate — SENDER_INVALID_FOR_DESTINATION when strict mode rejects a custom sender.
  • Mexico NOM-184 consent gate 422s — MESSAGING_MX_NOM184_CONSENT_MISSING when promotional MX SMS lacks recorded NOM-184 consent.
  • Türkiye SMS with a URL arrives stripped or empty — the BTK URL-strip gate: the tr_url_strip_warning metadata advisory and the older MESSAGING_TR_URL_STRIP_VIOLATION 422.
  • Fraud Shield blocked — FRAUD_SHIELD_BLOCKED 403s from your tenant-configured fraud rules.
  • Fraud review triage — work one alert end to end: the list, acknowledge/dismiss, and the export loop.
  • Compliance endpoint permissions: the role matrix — one table of which workspace role (owner/admin/developer/viewer/billing) each high-traffic compliance endpoint’s reads and writes need, how to read a 403 INSUFFICIENT_PERMISSIONS, the agents:read/agents:write scope-versus-role split, and where your own failed call is recorded.
  • Emergency stop — the org-wide outbound halt an owner/admin activates to freeze every dispatch path.
  • RMD filing deficient or expired — FCC Robocall Mitigation Database lifecycle failures.
  • HIPAA blocked until the BAA is executed — the 403 on PUT /settings/hipaa while the BAA is pending.
  • PHI audience requires a BAA — HIPAA_BAA_REQUIRED 422 on a campaign launch.
  • Erasure request owns the contact — CONTACT_ERASURE_PENDING 422 on a send and ERASURE_COOLING_OFF_ACTIVE on a duplicate filing while a GDPR Article-17 request is pending.
  • Suppression scope mismatch — imported opt-outs still receive messages (or are over-blocked) because the per-row scope your CSV recorded differs from the one you intended.
  • Archival channel enablement — the freeze a contact enters on the archived lifecycle stage (blocks future sends until an explicit unarchive: true re-stage) plus the 409 ARCHIVAL_CHANNEL_NOT_ENABLED when a legal-hold / archival export targets a channel the archival policy does not include (or archival was never enabled); read the policy, enable the channel via PUT /compliance/archival, then re-dispatch.
  • Data-residency error family (RESIDENCY_*) — the four codes on the pin/lock/unlock surface: RESIDENCY_NOT_FOUND (unpin-then-unlock — bootstrap the config with PUT first), RESIDENCY_NOT_ENFORCED (lock without an enforced pin — set enforced: true first), RESIDENCY_REGION_UNAVAILABLE (enforcing a preview region — read the catalog’s availability, pin advisory-only or open a platform-provisioning ticket), and RESIDENCY_LOCKED (region-change on a frozen pin — deliberate unlock, then re-pin).
  • Crypto-envelope failures (ENCRYPTION_FAILED / DECRYPTION_FAILED) — the write-side ENCRYPTION_FAILED 5xx (transient — retry once) and the read-side 502 DECRYPTION_FAILED from a stale enc:v1 ciphertext during platform master-key rotation; self-recovering once the rotation settles, with the escalation bundle for a 502 that persists.
  • Opt-out list label conflicts — the 409 OPT_OUT_LIST_LABEL_CONFLICT on POST/PATCH of a messaging opt-out list: the label is unique among your tenant’s active lists, so resolve the collision (rename, or soft-delete the holder) and re-send once — the deterministic gate never clears on a blind retry.
  • Quiet-hours false positives — a send blocked during what the recipient reports as allowed hours: isolate which of the three false-block layers fired (campaign fallback window, org channel gate, TCPA voice rails), route to the owning tenant knob, and file the federal-rail misfire as a platform defect rather than weakening the one non-toggleable gate.
Supersede and ordering semantics for webhook deliveries: how to apply a later event without letting it overwrite an earlier one.
Use the pages below together when a delivery stops reaching your handler: an endpoint that never saves, a verifier that keeps returning 401, DLQ’d deliveries you need to recover, or a flood of duplicate deliveries while you iterate. Start with the page that matches your symptom, not with the signature runbook by default:
  • Webhook endpoint creation errors — shape and permission errors when registering an endpoint.
  • Endpoint cap and DNS pre-create gates — the deterministic 422 pair: tenant endpoint quota reached, and a hostname that does not resolve at create time.
  • Signature verification (fail open vs fail closed) — raw-body parsing, key-rotation headers, and clock skew: the difference between a router that silently accepts unsigned deliveries and one that returns 401 on every failed check.
  • DLQ and recovery — retries, DLQ, and replay for deliveries that exhausted the attempt budget.
  • Webhook ordering and dedup — consumer-side dedup of repeated deliveries, keyed on the stable event id.
  • Webhook lifecycle error codes — which lifecycle state each webhook error code fires in, and the fix for WEBHOOK_DELIVERY_FAILED, WEBHOOK_PROCESSING_FAILED, and WEBHOOK_SIGNATURE_INVALID.
  • Webhook signature invalid — the end-to-end WEBHOOK_SIGNATURE_INVALID runbook: reproduce the HMAC mismatch locally, isolate wrong-secret / raw-body / middleware causes, read the delivery log, and recover with the retry semantics.
  • Integration webhook receiver returns 503 — the HubSpot / Salesforce / Calendly / Intercom / DIDWW receivers that fail closed with WEBHOOK_DISABLED, WEBHOOK_NOT_PROVISIONED, or WEBHOOK_SECRET_NOT_CONFIGURED when the signing secret is unprovisioned, and the per-integration recovery for each.
Dedup never means reprocessing a signature-failed message. Verification runs first — a delivery with a failing signature rejects with 401 and is never dedup-keyed, retried, or replayed into your handler. Fix the verifier fail-closed; do not ack and queue the payload for later.
OTP sends and checks, the TOTP/push/passkey/backup-code factor suite, and the push-notification token ladder.
  • Verify OTP — a send or a check that fails.
  • Verify factor suite — TOTP, push, passkey, and backup codes.
  • Verify binding gates — the BINDING_REQUIRED / BINDING_MISMATCH 422s on send or check.
  • Push token expiry — APNs 410, FCM UNREGISTERED, and Web Push endpoint retirements; capability-flag preflight; user_ids registration drift; and VAPID rotation.
  • Push broadcast pre-send gates — BROADCAST_TOO_LARGE (422 audience cap) and CHANNEL_RATE_LIMITED (429 per-channel velocity) on the wildcard (user_ids: ["*"]) surface; fix the gate, re-send once.
  • KBA caller-verification session errors — the seven KBA codes (KBA_SESSION_NOT_FOUND, KBA_SESSION_NOT_ACTIVE, KBA_CONTACT_NOT_FOUND, KBA_NO_CONTACT_LINKED, KBA_INSUFFICIENT_PROFILE_DATA, KBA_LOCKED, KBA_VERIFICATION_REQUIRED): the pending → verified/failed state machine, restart-vs-lookup fixes, and which sensitive endpoints gate on the verified session.
Warmup, bounces and complaints, DNS verification drift, and inbound routing.
  • Email bounces and complaints — reputation and suppression follow-ups.
  • Email DNS drift — verification drift and recovery.
  • Email test-recipient not verified — the 422 EMAIL_TEST_RECIPIENT_NOT_VERIFIED on a shared-sender send with no verified domain of your own: the recipient allowlist (saved contact, verified org member, legacy verified address), and the verify-your-domain exit that removes the gate for that sender entirely.
  • Inbound email never routes — parse domain match rules and trigger issues.
Spend caps, insufficient balance, and billing-pause blocks on outbound.
  • Spend-cap refusals — daily caps per channel.
  • INSUFFICIENT_BALANCE — the 402 that blocks a send when credits cannot cover it.
  • Billing recovery codes — the generic 402 ladder behind INSUFFICIENT_BALANCE: PAYMENT_REQUIRED, INSUFFICIENT_FUNDS, and the auto-top-up pair AUTO_TOPUP_PAYMENT_FAILED / AUTO_TOPUP_MONTHLY_CAP_REACHED.
  • Billing-gate outbound blocks — recovery from the pause block.
  • Pricing-gate errors — the PRICING_* family: decode the gate, split tenant-owned override fixes (PRICING_RATE_BELOW_WHOLESALE_COST, PRICING_OVERRIDE_SLOT_CONFLICT) from operator-owned FX and rate-card failures, and resolve with one named fix.
  • Send-price and country gates — the two pre-send 422s that look alike on the wire: MAX_PRICE_EXCEEDED (the per-send max_price ceiling on the messaging payload) and COUNTRY_NOT_ALLOWED (the org-wide country allowlist). Decode the envelope, then fix at claim time: raise or drop max_price, open allow-all or add the ISO code to the allowlist.
  • Pay-by-link reachability — the 422 NO_REACHABLE_CHANNEL when the recipient has no SMS-capable or email-capable (or voice) path for the hosted-checkout link; add a reachable channel to the contact before minting. Cross-surface page (ring-group cycles and the archival channel gate are the other two sections).
Squad daily and per-conversation LLM cost caps, agent runtime errors, and orchestration gates.
  • Squad and conversation cost caps — SQUAD_DAILY_CAP_REACHED / CONVERSATION_COST_CAP_REACHED 429s on the squad envelope: read the ceiling, raise or reset it, and deflect to a fallback queue.
  • Agent runtime errors — AGENT_ERROR, AGENT_NOT_CONFIGURED, AGENT_RESPONSE_INVALID, AGENT_EXECUTION_TIMEOUT, INVALID_MODEL, and LLM_PROVIDER_ERROR.
  • Promotion gate blocked a version — the fail-closed 422s on agent-version promotion: PROMOTION_GATE_FAILED (the pinned eval suite regressed) and RED_TEAM_GATE_FAILED (the safety floor or an adversarial-probe baseline broke); read the gate report, fix the failing golden sets or red-team categories, and re-promote.
Vertical-bundle activation duplicates, stuck go-live checklists, version-frozen activations, and dashboard sign-in locks.
  • Vertical-bundle activation duplicates — duplicate draft profiles, a checklist that will not clear, and an activation pinned to an old bundle version.
  • ACCOUNT_LOCKED at dashboard sign-in — the 403 login lock: brute-force lockout, owner/admin freeze, or suspicious-login hold, and the unlock paths for each.
  • Support access (view-as) token failures — SESSION_REVOKED, TOKEN_ALREADY_USED, MISSING_COOKIE, and INVALID_TOKEN on the time-boxed support link you grant from Settings → Security, plus the tenant-side revoke controls.
  • SAML SSO and SCIM setup failures — the setup-time misconfiguration family: certificate/ACS 401s, PEM whitespace/header-strip, SHA-1 vs SHA-256 mismatch, clock-skew vs NotBefore/NotOnOrAfter, non-owner 403 writes on /api/v1/settings/saml, and SCIM orgSlug/Bearer mismatches.
  • Tenant provisioning lifecycle — the four tenant-lifecycle codes — MISSING_TENANT (400), TENANT_NOT_FOUND (404), TENANT_PROVISIONING (503), and TENANT_SCHEMA_INCOMPLETE (503) — with the 503-vs-404 split and the route to each fix.
  • DOMAIN_NOT_FOUND on the branded console — the 404 the public host→workspace lookup returns when a host is not a registered, active branded domain: the pending → verifying → active lifecycle, and the only-three-cases checklist for a host that was once resolved.
Auth and IP allowlists, schema readiness, rate limits, and import/flow failures.
Inbound SMS/RCS/WhatsApp route misses, RCS undelivered, Telegram, and the APAC channels (LINE, KakaoTalk, WeChat, Zalo).
Caller-ID verification rejects and STIR/SHAKEN posture checks on the numbers you present.
  • Caller-ID verification rejects — VERIFICATION_REJECTED, CHALLENGE_INVALID, INVALID_CALLER_ID, and ALREADY_VERIFIED across the register → confirm flow.
AI auto-suggest failures on the Segments empty-state panel.
Runbooks for the signed-HMAC CDP ingest surface — the 401 signature gate past, and the event-level 422s your workspace’s own contracts fire.
  • Tracking-plan violations (TRACKING_PLAN_VIOLATION) — the 422 a tenant-owned tracking plan in enforcement=strict returns: decode details.violations to the fired rule (missing required, type/enum mismatch, extra property), decide between fixing the producer, amending the plan, or dropping to soft, and why no retry passes a tenant-owned policy gate.
Remaining runbooks for agent queues, conversations, co-browse, and quarantine.
Most API failures arrive as a structured envelope, not a runbook title — the code on the error body tells you which bucket it falls in and what to do next.
  1. Read error.code off the JSON envelope (and error.details for the field-level hint).
  2. If the code maps to one of the runbooks above, jump there — that is the fast path.
  3. If the code is not on this page, fall back to the class table below and follow the retry-safety guidance for its bucket.
The Error Code Reference is the fallthrough for any code without a dedicated runbook — do not treat it as the dead end.

Where error codes fit in

When the failure is a specific code on the API envelope, match that code against the Error Code Reference first; pick the runbook from the section above once you know the surface.

How to use a runbook

Every page follows the same shape — a cause table that maps symptoms to fixes, a full-error sample you can paste in a ticket, a decision checklist, the fixes you should NOT try, and when to escalate. Anything in this list matches that pattern; pick one, do not freestyle. This hub is grouped by the surface each runbook works on — voice, messaging, video, compliance, channels, and the rest. When a new runbook ships, file it under the accordion that matches its surface so the index stays complete. For a failure that does not map to one of the runbooks, open a ticket with the steps you tried, the code from the API envelope when present, and the output of the endpoint you hit.