Authorizations
API key
Path Parameters
Body
A request to start a call with an existing agent.
Context for filling any mustache templates for the call.
The conversation history to start from for this call.
Optional metadata key-value pairs to associate with the call. All values must be strings. Keys may not start with "ultravox.", which is reserved for system-provided metadata.
The (overridden) medium used for this call. Details about a call's protocol. By default, calls occur over WebRTC using the Ultravox client SDK. Setting a different call medium will prepare the server for a call using a different protocol. At most one call medium may be set.
The (overridden) timeout for joining this call.
The (overridden) maximum duration of this call.
The (overridden) setting for whether the call should be recorded.
The (overridden) medium initially used by the agent. May be altered by the client later.
MESSAGE_MEDIUM_UNSPECIFIED
, MESSAGE_MEDIUM_VOICE
, MESSAGE_MEDIUM_TEXT
The (overridden) settings for the initial message to get a conversation started.
Defaults to agent: {}
which means the agent will start the conversation with an
(interruptible) greeting generated based on the system prompt and any initial messages.
(If first_speaker is set and this is not, first_speaker will be used instead.)
Settings for the initial message to get a conversation started.
Exactly one of user or agent should be set. The default is agent
(unless firstSpeaker is also set, in which case the default will
match that).
The (overridden) data connection configuration. Data connection enables an auxiliary websocket for streaming data messages.
Experimental settings for the call.
Response
The version of the client that joined this call.
The reason the call ended.
unjoined
- Client never joinedhangup
- Client hung upagent_hangup
- Agent hung uptimeout
- Call timed outconnection_error
- Connection errorsystem_error
- System error
unjoined
, hangup
, agent_hangup
, timeout
, connection_error
, system_error
Who was supposed to talk first when the call started. Typically set to FIRST_SPEAKER_USER for outgoing calls and left as the default (FIRST_SPEAKER_AGENT) otherwise.
FIRST_SPEAKER_AGENT
, FIRST_SPEAKER_USER
Settings for the initial message to get the call started. Settings for the initial message to get a conversation started. Exactly one of user or agent should be set. The default is agent (unless firstSpeaker is also set, in which case the default will match that).
The medium used initially by the agent. May later be changed by the client.
MESSAGE_MEDIUM_VOICE
, MESSAGE_MEDIUM_TEXT
The number of errors in this call.
A short summary of the call.
A summary of the call.
The agent used for this call.
The ID of the agent used for this call.
Experimental settings for the call.
Optional metadata key-value pairs to associate with the call. All values must be strings.
The initial state of the call which is readable/writable by tools.
Messages spoken by the agent when the user is inactive for the specified duration. Durations are cumulative, so a message m > 1 with duration 30s will be spoken 30 seconds after message m-1.
BCP47 language code that may be used to guide speech recognition.
16
Details about a call's protocol. By default, calls occur over WebRTC using the Ultravox client SDK. Setting a different call medium will prepare the server for a call using a different protocol. At most one call medium may be set.
0 <= x <= 1
A voice not known to Ultravox Realtime that can nonetheless be used for a call. Such voices are significantly less validated than normal voices and you'll be responsible for your own TTS-related errors. Exactly one field must be set.
Indicates whether a transcript is optional for the call.
VAD settings for the call. Call-level VAD settings.
Settings for exchanging data messages with an additional participant. Data connection enables an auxiliary websocket for streaming data messages.