POST
/
api
/
calls
curl --request POST \
  --url https://api.ultravox.ai/api/calls \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '{
  "systemPrompt": "<string>",
  "temperature": 123,
  "model": "<string>",
  "voice": "<string>",
  "externalVoice": {
    "elevenLabs": {
      "voiceId": "<string>",
      "model": "<string>",
      "speed": 123,
      "useSpeakerBoost": true,
      "style": 123,
      "similarityBoost": 123,
      "stability": 123,
      "pronunciationDictionaries": [
        {
          "dictionaryId": "<string>",
          "versionId": "<string>"
        }
      ],
      "optimizeStreamingLatency": 123,
      "maxSampleRate": 123
    },
    "cartesia": {
      "voiceId": "<string>",
      "model": "<string>",
      "speed": 123,
      "emotion": "<string>",
      "emotions": [
        "<string>"
      ]
    },
    "playHt": {
      "userId": "<string>",
      "voiceId": "<string>",
      "model": "<string>",
      "speed": 123,
      "quality": "<string>",
      "temperature": 123,
      "emotion": 123,
      "voiceGuidance": 123,
      "styleGuidance": 123,
      "textGuidance": 123,
      "voiceConditioningSeconds": 123
    },
    "lmnt": {
      "voiceId": "<string>",
      "model": "<string>",
      "speed": 123,
      "conversational": true
    },
    "generic": {
      "url": "<string>",
      "headers": {},
      "body": {},
      "responseSampleRate": 123,
      "responseWordsPerMinute": 123,
      "responseMimeType": "<string>"
    }
  },
  "languageHint": "<string>",
  "initialMessages": [
    {
      "role": "MESSAGE_ROLE_UNSPECIFIED",
      "text": "<string>",
      "invocationId": "<string>",
      "toolName": "<string>",
      "errorDetails": "<string>",
      "medium": "MESSAGE_MEDIUM_UNSPECIFIED",
      "callStageMessageIndex": 123,
      "callStageId": "<string>",
      "callState": {},
      "timespan": {
        "start": "<string>",
        "end": "<string>"
      }
    }
  ],
  "joinTimeout": "<string>",
  "maxDuration": "<string>",
  "timeExceededMessage": "<string>",
  "inactivityMessages": [
    {
      "duration": "<string>",
      "message": "<string>",
      "endBehavior": "END_BEHAVIOR_UNSPECIFIED"
    }
  ],
  "selectedTools": [
    {
      "toolId": "<string>",
      "toolName": "<string>",
      "temporaryTool": {
        "modelToolName": "<string>",
        "description": "<string>",
        "dynamicParameters": [
          {
            "name": "<string>",
            "location": "PARAMETER_LOCATION_UNSPECIFIED",
            "schema": {},
            "required": true
          }
        ],
        "staticParameters": [
          {
            "name": "<string>",
            "location": "PARAMETER_LOCATION_UNSPECIFIED",
            "value": "<any>"
          }
        ],
        "automaticParameters": [
          {
            "name": "<string>",
            "location": "PARAMETER_LOCATION_UNSPECIFIED",
            "knownValue": "KNOWN_PARAM_UNSPECIFIED"
          }
        ],
        "requirements": {
          "httpSecurityOptions": {
            "options": [
              {
                "requirements": {},
                "ultravoxCallTokenRequirement": {
                  "scopes": [
                    "<string>"
                  ]
                }
              }
            ]
          },
          "requiredParameterOverrides": [
            "<string>"
          ]
        },
        "timeout": "<string>",
        "precomputable": true,
        "http": {
          "baseUrlPattern": "<string>",
          "httpMethod": "<string>"
        },
        "client": {},
        "dataConnection": {},
        "defaultReaction": "AGENT_REACTION_UNSPECIFIED",
        "staticResponse": {
          "responseText": "<string>"
        }
      },
      "nameOverride": "<string>",
      "descriptionOverride": "<string>",
      "authTokens": {},
      "parameterOverrides": {},
      "transitionId": "<string>"
    }
  ],
  "medium": {
    "webRtc": {},
    "twilio": {},
    "serverWebSocket": {
      "inputSampleRate": 123,
      "outputSampleRate": 123,
      "clientBufferSizeMs": 123
    },
    "telnyx": {},
    "plivo": {},
    "exotel": {},
    "sip": {
      "incoming": {},
      "outgoing": {
        "to": "<string>",
        "from": "<string>",
        "username": "<string>",
        "password": "<string>"
      }
    }
  },
  "recordingEnabled": true,
  "firstSpeaker": "FIRST_SPEAKER_UNSPECIFIED",
  "transcriptOptional": true,
  "initialOutputMedium": "MESSAGE_MEDIUM_UNSPECIFIED",
  "vadSettings": {
    "turnEndpointDelay": "<string>",
    "minimumTurnDuration": "<string>",
    "minimumInterruptionDuration": "<string>",
    "frameActivationThreshold": 123
  },
  "firstSpeakerSettings": {
    "user": {
      "fallback": {
        "delay": "<string>",
        "text": "<string>",
        "prompt": "<string>"
      }
    },
    "agent": {
      "uninterruptible": true,
      "text": "<string>",
      "prompt": "<string>",
      "delay": "<string>"
    }
  },
  "experimentalSettings": {},
  "metadata": {},
  "initialState": {},
  "dataConnection": {
    "websocketUrl": "<string>",
    "audioConfig": {
      "sampleRate": 123,
      "channelMode": "CHANNEL_MODE_UNSPECIFIED"
    }
  }
}'
{
  "callId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "clientVersion": "<string>",
  "created": "2023-11-07T05:31:56Z",
  "joined": "2023-11-07T05:31:56Z",
  "ended": "2023-11-07T05:31:56Z",
  "endReason": "unjoined",
  "firstSpeaker": "FIRST_SPEAKER_AGENT",
  "firstSpeakerSettings": {
    "user": {
      "fallback": {
        "delay": "<string>",
        "text": "<string>",
        "prompt": "<string>"
      }
    },
    "agent": {
      "uninterruptible": true,
      "text": "<string>",
      "prompt": "<string>",
      "delay": "<string>"
    }
  },
  "inactivityMessages": [
    {
      "duration": "<string>",
      "message": "<string>",
      "endBehavior": "END_BEHAVIOR_UNSPECIFIED"
    }
  ],
  "initialOutputMedium": "MESSAGE_MEDIUM_VOICE",
  "joinTimeout": "30s",
  "joinUrl": "<string>",
  "languageHint": "<string>",
  "maxDuration": "3600s",
  "medium": {
    "webRtc": {},
    "twilio": {},
    "serverWebSocket": {
      "inputSampleRate": 123,
      "outputSampleRate": 123,
      "clientBufferSizeMs": 123
    },
    "telnyx": {},
    "plivo": {},
    "exotel": {},
    "sip": {
      "incoming": {},
      "outgoing": {
        "to": "<string>",
        "from": "<string>",
        "username": "<string>",
        "password": "<string>"
      }
    }
  },
  "model": "fixie-ai/ultravox",
  "recordingEnabled": false,
  "systemPrompt": "<string>",
  "temperature": 0,
  "timeExceededMessage": "<string>",
  "voice": "<string>",
  "externalVoice": {
    "elevenLabs": {
      "voiceId": "<string>",
      "model": "<string>",
      "speed": 123,
      "useSpeakerBoost": true,
      "style": 123,
      "similarityBoost": 123,
      "stability": 123,
      "pronunciationDictionaries": [
        {
          "dictionaryId": "<string>",
          "versionId": "<string>"
        }
      ],
      "optimizeStreamingLatency": 123,
      "maxSampleRate": 123
    },
    "cartesia": {
      "voiceId": "<string>",
      "model": "<string>",
      "speed": 123,
      "emotion": "<string>",
      "emotions": [
        "<string>"
      ]
    },
    "playHt": {
      "userId": "<string>",
      "voiceId": "<string>",
      "model": "<string>",
      "speed": 123,
      "quality": "<string>",
      "temperature": 123,
      "emotion": 123,
      "voiceGuidance": 123,
      "styleGuidance": 123,
      "textGuidance": 123,
      "voiceConditioningSeconds": 123
    },
    "lmnt": {
      "voiceId": "<string>",
      "model": "<string>",
      "speed": 123,
      "conversational": true
    },
    "generic": {
      "url": "<string>",
      "headers": {},
      "body": {},
      "responseSampleRate": 123,
      "responseWordsPerMinute": 123,
      "responseMimeType": "<string>"
    }
  },
  "transcriptOptional": true,
  "errorCount": 0,
  "vadSettings": {
    "turnEndpointDelay": "<string>",
    "minimumTurnDuration": "<string>",
    "minimumInterruptionDuration": "<string>",
    "frameActivationThreshold": 123
  },
  "shortSummary": "<string>",
  "summary": "<string>",
  "experimentalSettings": "<any>",
  "metadata": {},
  "initialState": {},
  "requestContext": "<any>",
  "dataConnectionConfig": {
    "websocketUrl": "<string>",
    "audioConfig": {
      "sampleRate": 123,
      "channelMode": "CHANNEL_MODE_UNSPECIFIED"
    }
  }
}

Authorizations

X-API-Key
string
header
required

API key

Query Parameters

enableGreetingPrompt
boolean
default:true

Adds a prompt for a greeting if there's not an initial message that the model would naturally respond to (a user message or tool result).

priorCallId
string

The UUID of a prior call. When specified, the new call will use the same properites as the prior call unless overriden in this request's body. The new call will also use the prior call's message history as its own initial_messages. (It's illegal to also set initial_messages in the body.)

Body

application/json

A request to start a call.

Response

201 - application/json

The response is of type object.