Skip to content

Start Agent Session Voice

POST
/agent/sessions/{session_id}/voice

Start speaking with the agent. THIS SPENDS CREDITS AS IT RUNS.

A live metered session: it begins charging when it connects and keeps charging until it is ended or hits max_credits. Quote it first.

max_credits is a HARD CEILING and is required - there is no default, because choosing one would mean this contract picking a spending limit on the customer’s behalf. rate_version must be the one the quote returned.

End it with DELETE /agent/sessions/{session_id}/voice/{voice_id}. A session left open keeps costing money.

Authorizations

Parameters

Path Parameters

session_id
required

Session id (UUID).

string

Session id (UUID).

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

Mirror of VoiceSessionRequest, including its extra="forbid".

object
max_credits
required

HARD CEILING on what this session may spend. Required, with no default: an uncapped voice session is an open-ended charge, and a contract that defaults it would be choosing a spending limit on the customer’s behalf.

integer
>= 1 <= 9223372036854776000
rate_version
required

The rate version the quote was issued against, from POST /agent/sessions/{session_id}/voice/quote. The server refuses a stale one rather than charging today’s price for yesterday’s quote.

string
>= 1 characters <= 128 characters
voice_id
required

Which voice to speak with.

string format: uuid

Responses

200

Successful Response

object
data
required

An open envelope for a hydration or voice answer.

Open because session hydration returns the agent’s STEPS as well as its messages, and a step’s detail is whatever the tool that produced it reported. That set grows with every tool the platform gains, and a pinned mirror would drop the detail of exactly the newest ones - which on a transcript surface reads as the agent having done less than it did.

object
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
notes
Any of:
Array<string>
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer
total_available
Any of:
integer
total_is_lower_bound
Any of:
boolean

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string