POST
/
call
/
phone

Authorizations

Authorization
string
headerrequired

Retrieve your key from Dashboard.

Body

application/json
maxDurationSeconds
number

This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.

Required range: 10 < x < 3600
type
enum<string>

This is the type of call. This is only relevant if you're using phoneCallProviderBypassEnabled. Defaults to outboundPhoneCall.

Available options:
outboundPhoneCall,
inboundPhoneCall
phoneCallProviderBypassEnabled
boolean

This prevents Vapi from initiating calls directly. Defaults to disabled. Suitable for external call handling, such as with Twilio Studio Flow, with integration details provided in phoneCallProviderDetails.

assistantId
string | null

This is the assistant that will be used for the call. To use a transient assistant, use assistant instead.

assistant
object

This is the assistant that will be used for the call. To use an existing assistant, use assistantId instead.

customerId
string

This is the customer that will be called. To call a transient customer , use customer instead.

Only relevant for outboundPhoneCall and inboundPhoneCall type.

customer
object

This is the customer that will be called. To call an existing customer, use customerId instead.

Only relevant for outboundPhoneCall and inboundPhoneCall type.

phoneNumberId
string

This is the phone number that will be used for the call. To use a transient number, use phoneNumber instead.

Only relevant for outboundPhoneCall and inboundPhoneCall type.

phoneNumber
object

This is the phone number that will be used for the call. To use an existing number, use phoneNumberId instead.

Only relevant for outboundPhoneCall and inboundPhoneCall type.

metadata
object

This is the metadata associated with the call.

Response

201 - application/json
id
string
required

This is the unique identifier for the call.

orgId
string
required

This is the unique identifier for the org that this call belongs to.

createdAt
string
required

This is the ISO 8601 date-time string of when the call was created.

updatedAt
string
required

This is the ISO 8601 date-time string of when the call was last updated.

type
enum<string>

This is the type of call.

Available options:
inboundPhoneCall,
outboundPhoneCall,
webCall
phoneCallProvider
enum<string>

This is the provider of the call.

Only relevant for outboundPhoneCall and inboundPhoneCall type.

Available options:
twilio,
vonage
phoneCallTransport
enum<string>

This is the transport of the phone call.

Only relevant for outboundPhoneCall and inboundPhoneCall type.

Available options:
sip,
pstn
status
enum<string>

This is the status of the call.

Available options:
queued,
ringing,
in-progress,
forwarding,
ended
endedReason
enum<string>

This is the explanation for how the call ended.

Available options:
assistant-error,
assistant-not-found,
db-error,
no-server-available,
pipeline-error-extra-function-failed,
pipeline-error-first-message-failed,
pipeline-error-function-filler-failed,
pipeline-error-function-failed,
pipeline-error-openai-llm-failed,
pipeline-error-azure-openai-llm-failed,
pipeline-error-together-ai-llm-failed,
pipeline-error-anyscale-llm-failed,
pipeline-error-openrouter-llm-failed,
pipeline-error-perplexity-ai-llm-failed,
pipeline-error-deepinfra-llm-failed,
pipeline-error-runpod-llm-failed,
pipeline-error-groq-llm-failed,
pipeline-error-anthropic-llm-failed,
pipeline-error-openai-voice-failed,
pipeline-error-deepgram-transcriber-failed,
pipeline-error-deepgram-voice-failed,
pipeline-error-eleven-labs-voice-failed,
pipeline-error-eleven-labs-voice-not-found,
pipeline-error-eleven-labs-quota-exceeded,
pipeline-error-playht-voice-failed,
pipeline-error-lmnt-voice-failed,
pipeline-error-azure-voice-failed,
pipeline-error-rime-ai-voice-failed,
pipeline-error-neets-voice-failed,
pipeline-no-available-llm-model,
server-shutdown,
twilio-failed-to-connect-call,
unknown-error,
vonage-disconnected,
vonage-failed-to-connect-call,
assistant-not-invalid,
assistant-not-provided,
assistant-request-returned-error,
assistant-request-returned-invalid-assistant,
assistant-request-returned-no-assistant,
assistant-request-returned-forwarding-phone-number,
assistant-ended-call,
assistant-said-end-call-phrase,
assistant-forwarded-call,
assistant-join-timed-out,
customer-busy,
customer-ended-call,
customer-did-not-answer,
customer-did-not-give-microphone-permission,
exceeded-max-duration,
manually-canceled,
phone-call-provider-closed-websocket,
pipeline-error-custom-llm-llm-failed,
silence-timed-out,
voicemail,
vonage-rejected
maxDurationSeconds
number

This is the maximum number of seconds that the call will last. When the call reaches this duration, it will be ended.

Required range: 10 < x < 3600
startedAt
string

This is the ISO 8601 date-time string of when the call was started.

endedAt
string

This is the ISO 8601 date-time string of when the call was ended.

cost
number

This is the cost of the call in USD.

costBreakdown
object

This is the cost of the call in USD.

transcript
string

This is the transcript of the call.

recordingUrl
string

This is the URL of the recording of the call.

stereoRecordingUrl
string

This is the URL of the recording of the call in two channels.

summary
string

This is the summary of the call.

messages
object[]

These are the messages that were spoken during the call.

phoneCallProviderId
string

The ID of the call as provided by the phone number service. callSid in Twilio. conversationUuid in Vonage.

Only relevant for outboundPhoneCall and inboundPhoneCall type.

phoneCallProviderBypassEnabled
boolean

If enabled, prevents Vapi from initiating calls directly. Defaults to disabled. Suitable for external call handling, such as with Twilio Studio Flow, with integration details provided in phoneCallProviderDetails.

Only relevant for outboundPhoneCall and inboundPhoneCall types.

phoneCallProviderDetails
object

This is the phone call provider details to bridge the assistant into the external call. Only filled if phoneCallProviderBypassEnabled is true.

Only relevant for outboundPhoneCall and inboundPhoneCall types.

webCallUrl
string

This is the URL of the call that the assistant will join.

Only relevant for webCall type.

webCallSipUri
string

This is the SIP URI of the call that the assistant will join.

Only relevant for webCall type.

forwardedPhoneNumber
string

This is the phone number that the call was forwarded to.

assistantId
string | null

This is the assistant that will be used for the call. To use a transient assistant, use assistant instead.

assistant
object

This is the assistant that will be used for the call. To use an existing assistant, use assistantId instead.

customerId
string

This is the customer that will be called. To call a transient customer , use customer instead.

Only relevant for outboundPhoneCall and inboundPhoneCall type.

customer
object

This is the customer that will be called. To call an existing customer, use customerId instead.

Only relevant for outboundPhoneCall and inboundPhoneCall type.

phoneNumberId
string

This is the phone number that will be used for the call. To use a transient number, use phoneNumber instead.

Only relevant for outboundPhoneCall and inboundPhoneCall type.

phoneNumber
object

This is the phone number that will be used for the call. To use an existing number, use phoneNumberId instead.

Only relevant for outboundPhoneCall and inboundPhoneCall type.

metadata
object

This is the metadata associated with the call.