Skip to content

Calls

API Key Required
The Ultravox API requires an API key. For more details see Authentication.

Calls are what drive all speech-to-speech interactions between your end users and AI. At their most basic level, calls consist of a set of instructions to instruct the LLM how to behave (i.e. the systemPrompt) and the selection of the voice the AI should use when speaking.

List Calls

GET /calls

Lists all calls that have been created. Account scoped.

Parameters

cursorPagination cursor.

Create Call

POST /calls

Creates a new call using the specified system prompt. Account scoped.

Optional parameters can be used to specify voice, temperature, language hint, and recordingEnabled.

An optional query parameter called priorCallId can be provided to continue a previous conversation. If used, all properties of the prior call (e.g. systemPrompt, voice, etc.) will be used for the new call. Can also be used in combination with overriding individual properties (e.g. inherit all properties but override the voice).

Parameters

priorCallIdstringThe UUID of an existing call. If provided, the new call will inherit all call properties (unless overridden in the current request body). The prior call’s message history will be used in place of initialMessages. Setting initialMessages in the body is not allowed.

Get Call

GET /calls/{call_id}

Gets details for the call with call_id specified in the path. Account scoped.

Parameters

callId
required
Unique identifier for the call to retrieve.

Delete Call

DELETE /calls/{call_id}

Deletes the specified call.

Parameters

callId
required
Unique identifier for the call to delete.

List Call Messages

GET /calls/{call_id}/messages

Lists all messages generated during the given call.

Parameters

callId
required
Unique identifier of the call for which messages are being retrieved.
cursorPagination cursor.

Get Call Recording

GET /calls/{call_id}/recording

Returns a link to the recording of the call (via a 302 redirect to the file location). The recording only becomes available after the call ends. If the recording is not yet available, a 425 (Too Early) HTTP status will be returned.

Parameters

callId
required
Unique identifier of the call for which the recording is being retrieved.

Examples

List All Calls

Terminal window
curl --request GET \
--url https://api.ultravox.ai/api/voices \
--header 'X-API-Key: aBCDef.123456'

Response

Terminal window
{
"next": null,
"previous": null,
"results": [
{
"name": "lily",
"description": "Default Female",
"previewUrl": "https://zfmrfvimiaqahezndsse.supabase.co/storage/v1/object/public/ultravox-voice-previews/lily_preview.wav"
},
{
"name": "terrence",
"description": "Default Male",
"previewUrl": "https://zfmrfvimiaqahezndsse.supabase.co/storage/v1/object/public/ultravox-voice-previews/terrence_preview.wav"
}
]
}