List Calls

Returns calls for the authenticated organization. Filter results by call ID, assistant ID, phone number ID, or creation and update timestamps.

Authentication

AuthorizationBearer
Authenticate server-side requests with a private Vapi API key. Create or copy a key from the [Vapi Dashboard](https://dashboard.vapi.ai) and send it in the `Authorization` header as `Bearer <token>`. Keep private API keys out of client-side code and public repositories.

Query parameters

idstringOptional
This is the unique identifier for the call.
assistantIdstringOptional
This will return calls with the specified assistantId.
phoneNumberIdstringOptional

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.

limitdoubleOptional0-1000
This is the maximum number of items to return. Defaults to 100.
createdAtGtdatetimeOptional
This will return items where the createdAt is greater than the specified value.
createdAtLtdatetimeOptional
This will return items where the createdAt is less than the specified value.
createdAtGedatetimeOptional
This will return items where the createdAt is greater than or equal to the specified value.
createdAtLedatetimeOptional
This will return items where the createdAt is less than or equal to the specified value.
updatedAtGtdatetimeOptional
This will return items where the updatedAt is greater than the specified value.
updatedAtLtdatetimeOptional
This will return items where the updatedAt is less than the specified value.
updatedAtGedatetimeOptional
This will return items where the updatedAt is greater than or equal to the specified value.
updatedAtLedatetimeOptional
This will return items where the updatedAt is less than or equal to the specified value.

Response

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

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

updatedAtdatetime

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

typeenumOptional
This is the type of call.
costslist of objectsOptional
These are the costs of individual components of the call in USD.
messageslist of objectsOptional

Messages exchanged during the call, including user, assistant, system, tool-call, and tool-result messages.

phoneCallTransportenumOptional

This is the transport of the phone call.

Only relevant for outboundPhoneCall and inboundPhoneCall type.

statusenumOptional
This is the status of the call.
endedReasonenumOptional
This is the explanation for how the call ended.
endedMessagestringOptional
This is the message that adds more context to the ended reason. It can be used to provide potential error messages or warnings.
destinationobjectOptional
This is the destination where the call ended up being transferred to. If the call was not transferred, this will be empty.
assistantVersionstring or nullOptional

This is the assistant version to use for this call. Supported only with direct assistantId. Omit to follow the latest version.

transportobjectOptional
This is the transport of the call.
startedAtdatetimeOptional

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

endedAtdatetimeOptional

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

costdoubleOptional
This is the cost of the call in USD.
costBreakdownobjectOptional
This is the cost of the call in USD.
artifactPlanobjectOptional

This is a copy of assistant artifact plan. This isn’t actually stored on the call but rather just returned in POST /call/web to enable artifact creation client side.

analysisobjectOptional

This is the analysis of the call. Configure in assistant.analysisPlan.

monitorobjectOptional

This is to real-time monitor the call. Configure in assistant.monitorPlan.

artifactobjectOptional

These are the artifacts created from the call. Configure in assistant.artifactPlan.

complianceobjectOptional

This is the compliance of the call. Configure in assistant.compliancePlan.

campaignIdstringOptional
This is the campaign ID that the call belongs to.
assistantIdstringOptional

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

To start a call with:

  • Assistant, use assistantId or assistant
  • Squad, use squadId or squad
  • Workflow, use workflowId or workflow
assistantobjectOptional

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

To start a call with:

  • Assistant, use assistant
  • Squad, use squad
  • Workflow, use workflow
assistantOverridesobjectOptional

These are the overrides for the assistant or assistantId’s settings and template variables.

squadIdstringOptional

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

To start a call with:

  • Assistant, use assistant or assistantId
  • Squad, use squad or squadId
  • Workflow, use workflow or workflowId
squadobjectOptional

This is a squad that will be used for the call. To use an existing squad, use squadId instead.

To start a call with:

  • Assistant, use assistant or assistantId
  • Squad, use squad or squadId
  • Workflow, use workflow or workflowId
squadOverridesobjectOptional

These are the overrides for the squad or squadId’s member settings and template variables. This will apply to all members of the squad.

workflowIdstringOptional

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

To start a call with:

  • Assistant, use assistant or assistantId
  • Squad, use squad or squadId
  • Workflow, use workflow or workflowId
workflowobjectOptional

This is a workflow that will be used for the call. To use an existing workflow, use workflowId instead.

To start a call with:

  • Assistant, use assistant or assistantId
  • Squad, use squad or squadId
  • Workflow, use workflow or workflowId
workflowOverridesobjectOptional

These are the overrides for the workflow or workflowId’s settings and template variables.

phoneNumberIdstringOptional

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.

phoneNumberobjectOptional

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.

customerIdstringOptional

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

Only relevant for outboundPhoneCall and inboundPhoneCall type.

customerobjectOptional

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

Only relevant for outboundPhoneCall and inboundPhoneCall type.

namestringOptional<=40 characters
This is the name of the call. This is just for your own reference.
schedulePlanobjectOptional
This is the schedule plan of the call.
phoneCallProviderenumOptionalDeprecated

This is the provider of the call.

Only relevant for outboundPhoneCall and inboundPhoneCall type.

phoneCallProviderIdstringOptionalDeprecated

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

Only relevant for outboundPhoneCall and inboundPhoneCall type.