Batch Calls

Get Batch Call Details

Returns the calls created for one batch as a root JSON array, paginated with page and limit unless export=true. An unknown batch ID, or one from another workspace, returns an empty array. Paginated results leave out retry attempts; export=true includes them.

get/v1/batch-calls/{id}

Request

  • Base URL: https://api.dialnexa.com
  • URL: https://api.dialnexa.com/v1/batch-calls/{id}
  • Auth: HTTP bearer

Path parameters

idstring required
Example:batch_abc123

Batch call ID

Query parameters

agent_idstring

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.

call_idstring

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

fromstring

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.

tostring

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.

typestring

Filter by call type: one value or a comma-separated list of phone, web.

call_directionstring

Filter by call direction: one value or a comma-separated list of inbound, outbound.

agent_version_idstring
Example:agent_2g7Xy3tY53gRlp-3

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.

agent_version_namestring

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

sentimentstring

Filter by user sentiment: one value or a comma-separated list of positive, neutral, negative, unknown.

start_datestring

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).

end_datestring

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).

duration_greater_thannumber

Return calls longer than this many seconds.

duration_less_thannumber

Return calls shorter than this many seconds.

duration_minnumber

Lower bound of a duration range in seconds, inclusive. Applied only together with duration_max; sent alone it is ignored.

duration_maxnumber

Upper bound of a duration range in seconds, inclusive. Applied only together with duration_min; sent alone it is ignored.

pageinteger
Example:1

Page number (starts from 1)

limitinteger
Example:20

Number of records per page. Minimum 1, maximum 200.

created_at'asc' | 'desc'

Sort by created_at (asc or desc)

duration'asc' | 'desc'

Sort by duration (asc or desc)

statusstring

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.

exportboolean

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.

end_reasonstring

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.

is_ivrboolean

Filter by whether the call was handled by an IVR agent (matched by the call's agent and/or the IVR billing flag, so both promoted/transferred and pure menu calls count). true = IVR calls only; false = non-IVR calls only; omit for all.

tagsstring
Example:priority,q3-campaign

Filter by lead tags: the tags attached to the workflow lead when its leads file was uploaded, snapshotted onto the call when it was placed. Comma-separated for multiple values. Matching is case-insensitive because tags are normalized to lowercase on upload. Use tags_match to choose ANY (default) or ALL.

tags_match'any' | 'all'

How multiple tags values combine: "any" returns calls carrying at least one of them (default), "all" returns only calls carrying every one of them.

columnsstring

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.

agent_type'single_prompt' | 'conversational_flow' | 'speech_to_speech' | 'ivr'

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 in the batch returned successfully.

idstring

Signed call ID.

agent_idstring nullable

Agent that handled the call.

batch_idstring nullable

Signed batch ID of the batch the call belongs to; null for single calls and for retry attempts.

to_numberstring nullable

Destination number as recorded on the call: the number as sent for a single call, and the lead's number as stored for a batch call, where an Indian number appears as 91XXXXXXXXXX without +.

phone_number_idstring nullable

ID of the workspace phone number the call was placed from.

called_timestring date-time nullable

When the call was placed.

durationstring nullable

Call duration in seconds, serialized as a string (the column is a 64-bit integer); null until a duration is recorded.

statusstring

Current call status.

initiated_timestring date-time nullable

When the call was initiated on the telephony side.

end_reasonstring nullable

Why the call ended; unknown until the call ends. One 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.

postcallanalysisobject nullable

Post-call analysis fields extracted for this call, keyed by field name. An empty object until analysis has run.

llm_namestring nullable

Display name of the language model used on the call.

voice_model_namestring nullable

Display name of the voice used on the call.

recording_sas_urlstring nullable

Time-limited link to the recording. Absent from the response unless export=true.

Example response

[
  {
    "id": "call_abc123",
    "agent_id": "agent_2g7Xy3tY53gRlp",
    "batch_id": "batch_abc123",
    "to_number": "919876543210",
    "phone_number_id": "phn_abc123",
    "duration": "42",
    "status": "completed",
    "end_reason": "user_disconnected",
    "llm_name": "gpt-4o"
  }
]

Changes

No recorded changes to this operation across all 1 revision of this API.