Skip to main content
The Voice API drives StateSet Voice for one tenant: place calls, supervise live sessions, read what happened on each call, and run the automations that follow up on it.
This reference is the tenant surface: the 65 operations a tenant API key can call, read from the document the server publishes. The server also exposes an admin surface (60 operations behind an admin key or console session) and the Twilio-signed webhook receivers; those are operated by StateSet, not called by integrators, and are not listed here. Agent and phone-number management is documented under Voice API and the MCP server.

Where to start

Place a call

A real outbound PSTN call. DNC and quiet-hours policy apply; a blocked call returns 403.

Read the transcript

One call in full — status, duration, transcript, summary, outcome.

Watch latency

p50/p95 voice response latency. The first place to look when a call feels slow.

Supervise a live session

Monitor, whisper, barge, escalate or end a call in progress.

How the pieces fit

  1. Calls start a conversation — outbound (POST /make-call), inbound SIP, or a translation call that interprets between two languages live.
  2. Sessions are the live leg. Supervisor actions act on a session by its stream id.
  3. Voice outcomes are what the model concluded per session — read them by session, by stream, as stats, or as a time series.
  4. Call logs are the durable record: transcript, summary, outcome, and the latency statistics across a tenant’s calls.
  5. Automations run afterwards — an SMS or email follow-up, an escalation call, a callback task for a human.
POST /voice/calls (documented under Voice API) is the hardened form of POST /make-call: it takes an Idempotency-Key, so a retry within 24 hours replays the stored outcome instead of dialling again. Prefer it for anything automated.