Voice
The voice surface is split into three pages, by what you are acting on:
| You want to… | Go to |
|---|---|
| Place a call — dial, message, agent, or survey | Place Calls |
| Control a call that is already in progress | Live Call Control |
| Configure agents, or read the voice catalog | Voice Agents |
Placing calls
Each kind of call has its own endpoint under /telephony/call/… — ring a number, speak a message, connect an AI agent, or run a keypad or spoken survey. Send an Idempotency-Key so a retry never dials twice.
Call control
Calls in progress are addressed by LiveKit room name, not by session id — the room is what exists while people are still talking. Hold, supervisor mode, hangup, lock, and participant removal all live there.
Agents and the voice catalog
Agent configurations decide how an agent behaves; the catalog lists which speech providers and voices this deployment can actually use. Availability follows the vendor keys configured for your environment, so read it at runtime rather than hard-coding a provider list.
Older voice endpoints
Earlier versions of this documentation described /voice/otp, /voice/broadcast, /voice/dial, /voice/sessions, and /voice/ivr_config. Those routes are not part of the current API and will return 404. If you built against them, the pages above are the current surface.
