Skip to main content
GET
List Calls
Read only Returns every call placed in your workspace, paginated and sorted by start time (newest first). Each entry includes the call’s id, current status, agent_id, destination phone number, duration, and creation timestamp. Use this endpoint for lightweight call browsing, status polling against a known set of recent calls, and quick filtering by agent, call id, batch call id, outcome, or time range. ID filters support comma-separated multi-value input. For the transcript, recording URL, sentiment, and structured post-call analysis of one result, use Get Call Details. The list endpoint is the lightweight view for browsing and filtering many calls.

When to use this

  • Operational dashboards: render a recent-calls table without paying the cost of full transcripts.
  • Live monitoring: quickly filter to initiated and in-progress calls to see active conversations.
  • Per-agent health checks: filter by agent_id to spot agents producing unusually high failure rates.
  • Batch exports: pass batch_call_id with export=true to download a combined CSV for one or more batches.

Query parameters

Exports that include transcript or summary are limited to 5,000 matching calls. Exports that request neither heavy column are limited to 10,000. A request over the applicable limit returns 400 Bad Request with the matched row count and guidance to narrow the date range or add filters.

Filter IVR Calls And Lead Tags

  • is_ivr=true selects IVR calls, including conversational handoffs. Use false for non-IVR calls or omit it for all calls.
  • tags=priority,september selects workflow lead tags copied to call records when calls were placed.
  • tags_match=any matches at least one tag and is the default. Use tags_match=all to require every selected tag. Tags are normalized to lowercase.
These read-only filters can be combined with a date range and retried safely.

Errors

  • 400 Bad Request is returned when one or more query parameters are invalid or an export exceeds the applicable row limit.
  • 401 Unauthorized is returned when the API key is missing or invalid.
  • 403 Forbidden is returned when the API key does not have access to this organization.
  • 500 Internal Server Error is returned on an unexpected server-side failure.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

agent_id
string

Filter by agent ID(s) - can be a single ID or comma-separated list (e.g., 1,2,3)

call_id
string

Filter by call ID - can be a single ID or comma-separated list (e.g., call_abc,call_def)

batch_call_id
string

Filter by batch call ID - can be a single ID or comma-separated list (e.g., batch_abc,batch_def)

from
string

Filter by sender phone number

to
string

Filter by recipient phone number

type
enum<string>

Filter by call type(s) - can be a single value or comma-separated list

Available options:
phone,
web
call_direction
enum<string>

Filter by call direction(s) - can be a single value or comma-separated list

Available options:
inbound,
outbound
latency_min
number

Filter by minimum latency (in milliseconds)

latency_max
number

Filter by maximum latency (in milliseconds)

agent_version_id
string

Filter by agent version ID(s) - can be a single ID or comma-separated list (e.g., 1,2,3)

agent_version_name
string

Search by agent version name (partial match, case-insensitive)

sentiment
enum<string>

Filter by sentiment(s) - can be a single value or comma-separated list

Available options:
positive,
neutral,
negative,
unknown
start_date
string

Filter by start date (ISO format)

end_date
string

Filter by end date (ISO format)

duration_greater_than
number

Filter by minimum call duration (in milliseconds)

duration_less_than
number

Filter by maximum call duration (in milliseconds)

duration_min
number

Filter by minimum duration range (in milliseconds)

duration_max
number

Filter by maximum duration range (in milliseconds)

page
string

Page number (starts from 1)

limit
string

Number of records per page (min: 1, default: 20, max: 200)

created_at
enum<string>

Sort by created_at (asc or desc)

Available options:
asc,
desc
duration
enum<string>

Sort by duration (asc or desc)

Available options:
asc,
desc
status
string

Filter by call status(es) - can be a single status or comma-separated list

export
boolean

Set to true to export all data without pagination

end_reason
string

Filter by end/hangup reason - exact match; comma-separate multiple values for OR filtering

columns
string

Export only: comma-separated column keys. Omitting both transcript and summary raises the single-export limit from 5000 to 10000 rows. Omit this parameter to include all columns.

Example:

"duration,status,agent_name"

is_ivr
boolean

True for IVR calls including handoffs, false for other calls; omit for all.

tags
string

Comma-separated workflow lead tags copied to calls when placed.

Example:

"priority,september"

tags_match
enum<string>
default:any

Whether calls must match any or all supplied tags.

Available options:
any,
all

Response

Calls returned successfully.

id
string
required

Signed call ID

Example:

"call_abc123"