voice_agent
Open Browser Call
Start a call with this agent from the browser, for in-dashboard testing. Use when a signed-in person wants to try the agent themselves, from the dashboard, with no phone number involved.
Admitted, recorded and counted exactly like a call from the phone network — on the outbound side, against the plan's concurrency, billed. Returns a LiveKit room, a participant token and when that token stops working; the agent is already on its way into the room by the time this responds.
A dashboard act, not an integration one. This is where the person
signed in clicked a button, or where staff is looking at a customer's own
dashboard on their behalf — never where a client's own system reached in
with an API key, which this refuses outright (service.ApiKeyRefused),
naming get_agent_test_link instead.
The embeddable browser widget voice-agent.md names as a later surface is
the one an integration would use for this; it does not exist yet.
path Parameters
agent_idOpen Browser Call › Responses
Successful Response
expires_atinteraction_idroomtokenurlEnd Browser Call
Give back a browser call this tab is leaving, joined or not. Use when the person hangs up, leaves the screen or closes the tab, so the slot this call holds frees up at once and their next test call is admitted.
voice-agent.md rule 73: "A browser that leaves its call releases the record, the slot and the per-person cap at once, whether it had joined or not." A call nobody joined is closed here as a call nobody talked on. A joined call gives back its slot and the per-person cap now, and the voice engine closes its record, with its usage and who hung up.
Only your own, and only while it is open. An id naming a call this
person did not open, one already closed, or one opened under a different
agent all answer 404 alike (service.NotFound): this route reads a row
somebody else could have written, and telling those apart would answer
questions about other people's calls to whoever guesses an id.
Not DELETE as erasure: the interaction record is a permanent one and
stays. What is deleted is the live call -- the reservation, which is the
resource this route's own path names.
path Parameters
agent_idinteraction_idEnd Browser Call › Responses
Successful Response
Get Agent Test Link
Get the link where the person can test this agent by voice; the call starts only when they click. Use when someone asks to talk to or try an agent by voice and you are not the person's own browser: hand them the link and the sentence beside it.
Opens nothing and costs nothing. The page asks them to sign in, shows what the call costs, and the call they start there is an ordinary test from the dashboard (connected-apps.md rule 16). An agent outside this organization answers 404.
path Parameters
agent_idGet Agent Test Link › Responses
Successful Response
howurlGet Bridge Ceiling
Read how long a bridged transfer of this organization's may last, from the moment its agent leaves the call, in minutes. Use before changing it, or to know when the platform ends a bridge. Owner or admin only. An organization that never set it is held at the default, 120 minutes. Changes nothing.
Get Bridge Ceiling › Responses
Successful Response
is_defaultminutesmax_minutesmin_minutesSet Bridge Ceiling
Set how long a bridged transfer of this organization's may last, from the moment its agent leaves the call, in whole minutes from 5 to 240. Use when the organization's people take longer, or shorter, calls with the callers an agent puts through to them. Owner or admin only. Applies to bridges begun after it; the platform ends a bridge at it with no phrase.
Set Bridge Ceiling › Request Body
minutesSet Bridge Ceiling › Responses
Successful Response
is_defaultminutesmax_minutesmin_minutes