List Calls
Returns calls for the authenticated workspace using the supplied filters, newest records first (a duration sort orders by duration instead, and an export of one batch follows the lead file order), as a root JSON array without pagination metadata. Paginated results leave out retry attempts; send export=true or call_id to include them.
Request
- Base URL: https://api.dialnexa.com
- URL: https://api.dialnexa.com/v1/calls
- Auth: HTTP bearer
Query parameters
Filter by agent ID: one ID or a comma-separated list (e.g., agent_abc,agent_def). Ignored when agent_version_id is sent, and replaced by agent_version_name when that name matches a version.
Filter by call ID - single or comma-separated list (e.g., call_abc,call_def)
Filter by batch call ID - single or comma-separated list (e.g., batch_abc,batch_def). With export=true, every matching call of those batches is returned in one JSON array.
Filter by the workspace phone number on the call (the number dialled from, or for an inbound call the number that was called), as a partial match on its digits.
Filter by recipient phone number, as a partial match on the batch lead's number as stored. The value is not reduced to digits, and Indian lead numbers are stored as 91XXXXXXXXXX without +, so send digits only. Only batch calls carry a lead, so single calls and retry attempts never match this filter.
Filter by call type: one value or a comma-separated list of phone, web.
Filter by call direction: one value or a comma-separated list of inbound, outbound.
Filter batch calls by agent version, written as <agent_id>-<version_number> (for example agent_2g7Xy3tY53gRlp-3); one value or a comma-separated list. Only calls placed by a batch match. A value in any other format is ignored, and when no value is valid the whole filter is dropped. When this parameter is sent, agent_id is not applied.
Search by agent version name (partial match, case-insensitive)
Filter by user sentiment: one value or a comma-separated list of positive, neutral, negative, unknown.
Return calls created on or after the start of this day in UTC (ISO 8601). The value is converted to UTC first, then widened to 00:00:00 UTC of that day, so a time with an offset can move the day. Send a plain date (YYYY-MM-DD).
Return calls created on or before the end of this day in UTC (ISO 8601). The value is converted to UTC first, then widened to 23:59:59.999 UTC of that day, so a time with an offset can move the day. Send a plain date (YYYY-MM-DD).
Return calls longer than this many seconds.
Return calls shorter than this many seconds.
Lower bound of a duration range in seconds, inclusive. Applied only together with duration_max; sent alone it is ignored.
Upper bound of a duration range in seconds, inclusive. Applied only together with duration_min; sent alone it is ignored.
Page number (default: 1)
Results per page (default: 20)
Sort by creation date
Sort by call duration
Filter by call status: one value or a comma-separated list, for example completed,failed. Values: initiated, received, sent, did_not_pick, busy, failed, no_answer, completed, created, cancelled, retry_expired. An unknown value returns 400.
Set to true to return every matching call in one JSON array without pagination, up to the export row limit, including retry attempts. Omit it or send false to receive pages. For a batch export, the row limit counts the original calls only; retry attempts are added on top, so the array can be longer.
Filter by why the call ended: one value or a comma-separated list of agent_disconnected, user_disconnected, user_busy, user_did_not_pick_up, invalid_phone_number, unallocated_phone_number, unknown, network_failure, voicemail_detected, user_unreachable, destination_forbidden, system_failure, system_at_capacity, insufficient_balance, agent_not_found, sip_auth_failed, sip_trunk_unreachable, spend_cap_reached, dnd_blocked. Unknown values are ignored; if no value is known, no calls match.
Export only: comma-separated list of column keys being exported (e.g. "duration,status,end_reason"). Lets the server skip fetching heavy columns nobody asked for, which raises the export row limit. Omit to fetch everything, as before.
True for IVR calls including handoffs, false for other calls; omit for all.
Comma-separated workflow lead tags copied to calls when placed.
Whether calls must match any or all supplied tags.
Filter by agent type. ivr is equivalent to is_ivr=true and includes IVR handoffs. Other types require an agent ID retained on the call; calls without one do not match those types.
Response
Calls returned successfully.
Example response
[
{
"id": "call_abc123",
"agent_id": "agent_2g7Xy3tY53gRlp",
"to_number": "+919876543210",
"phone_number_id": "phn_abc123",
"duration": "42",
"llm_name": "gpt-4o"
}
]Changes
No recorded changes to this operation across all 1 revision of this API.