DialNexa Batch Calls API
The Batch Calls API from DialNexa — 3 operation(s) for batch calls.
The Batch Calls API from DialNexa — 3 operation(s) for batch calls.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/dialnexa-batch-calls-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: DialNexa Batch Calls API
description: Public `/v1` REST API for the DialNexa voice AI platform.
version: 1.0.0
servers:
- url: https://api.dialnexa.com
description: DialNexa production API
security:
- bearer: []
tags:
- name: Batch Calls
paths:
/v1/batch-calls:
post:
description: Uploads a CSV or Excel leads file, creates a batch call, and enqueues outbound calls for all leads.
operationId: createBatchCall
parameters: []
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- file
- title
- agent_id
properties:
file:
type: string
format: binary
description: CSV or Excel file containing leads (max 10 MB)
title:
type: string
example: Q3 Follow-up Batch
maxLength: 35
description: Batch title shown in the dashboard. Must be 35 characters or fewer.
agent_id:
type: string
example: agent_abc123
agent_version_number:
type: number
example: 1
description: Published agent version to use. Omit to use the agent's latest published version.
starts_at:
type: string
example: '2024-01-15T09:00:00Z'
description: ISO 8601 datetime - leave empty to start immediately
ends_at:
type: string
example: '2024-01-15T18:00:00Z'
calling_hours_start:
type: string
example: 09:00
calling_hours_end:
type: string
example: '18:00'
examples:
request:
summary: Request example
value:
file: leads.csv
title: Q3 Follow-up Batch
agent_id: agent_abc123
agent_version_number: 1
responses:
'201':
description: Batch call created and calls enqueued.
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: batch_abc123
title:
type: string
total_records:
type: number
example: 250
status:
type: string
example: initiated
from_number:
type:
- string
- 'null'
warning:
type: object
description: Non-blocking scheduling warning returned when another running, waiting, or nearby scheduled batch may delay this batch.
properties:
message:
type: string
conflicts:
type: array
items:
type: object
properties:
kind:
type: string
enum:
- running
- waiting
- scheduled
batch_name:
type: string
processed_leads:
type: number
total_leads:
type: number
starts_at:
type: string
format: date-time
examples:
success:
summary: Successful response
value:
id: batch_abc123
title: Q3 Follow-up Batch
total_records: 250
status: initiated
from_number: '+14155552671'
warning:
message: This batch was created, but your organization already has 1 running batch ahead of it. Batches run one at a time per organization, so this batch may be delayed.
conflicts:
- kind: running
batch_name: July renewals
processed_leads: 42
total_leads: 250
'400':
description: Invalid file or missing required fields, the resolved agent version is unpublished, or no outbound phone number is attached to that version.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 400 Bad Request
value:
statusCode: 400
message: The uploaded file must include a phone_number column
error: Bad Request
titleTooLong:
summary: Title too long
value:
statusCode: 400
message: title must be 35 characters or fewer (received 42).
error: Bad Request
unpublishedVersion:
summary: Agent version is still a draft
value:
statusCode: 400
message: Version 2 of agent agent_abc123 is a draft. Publish it before starting a batch call.
error: Bad Request
'401':
description: Unauthorized - missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 401 Unauthorized
value:
statusCode: 401
message: API key is missing or invalid
error: Unauthorized
'403':
description: Forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 403 Forbidden
value:
statusCode: 403
message: Destination country or network prefix is not enabled for this workspace
error: Forbidden
'404':
description: Agent not found in the workspace, or the requested agent version does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
versionNotFound:
summary: Agent version not found
value:
statusCode: 404
message: 'Agent agent_abc123 has no version 9. Published versions: 1, 3.'
error: Not Found
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 500 Internal Server Error
value:
statusCode: 500
message: Internal server error
error: Internal Server Error
security:
- bearer: []
summary: Create Batch Call
tags:
- Batch Calls
get:
operationId: listBatchCalls
parameters:
- name: limit
required: false
in: query
schema:
example: 20
type: number
- name: page
required: false
in: query
schema:
example: 1
type: number
- name: status
required: false
in: query
description: Filter by batch status - can be a single status or comma-separated list. Supported values include draft, waiting, scheduled, running, paused, completed, cancelled, deleted, and legacy active.
schema:
type: string
responses:
'200':
description: Batch calls returned successfully.
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
id:
type: string
example: batch_abc123
title:
type: string
status:
type: string
total_records:
type: number
createdAt:
type: string
format: date-time
total_lead_count:
type: number
description: Total recipients loaded into the batch.
sent_lead_count:
type: number
description: Initial recipient calls that have been sent.
picked_up_lead_count:
type: number
description: Legacy connected-recipient counter retained for compatibility. Prefer picked_up_calls for the current Picked Up rollup.
picked_up_calls:
type: number
description: Completed call attempts across initial calls and retry children. In-progress and unanswered outcomes are excluded.
last_call_sent_at:
type:
- string
- 'null'
format: date-time
description: Latest dispatch time across initial calls and retry children.
number_of_retries:
type:
- number
- 'null'
description: Configured retry count.
first_retry_count:
type:
- number
- 'null'
description: Retry call logs scheduled for the first retry depth.
second_retry_count:
type:
- number
- 'null'
description: Retry call logs scheduled for the second retry depth.
third_retry_count:
type:
- number
- 'null'
description: Retry call logs scheduled for the third retry depth.
fourth_retry_count:
type:
- number
- 'null'
description: Retry call logs scheduled for the fourth retry depth.
attempt_stages:
type: array
description: Per-stage attempt progress. Depth 0 is the initial call, and depths 1 through 4 are retry stages. Present when retry enrichment is available.
items:
type: object
properties:
depth:
type: number
example: 0
attempted:
type: number
example: 240
total:
type: number
example: 250
total:
type: number
page:
type: number
limit:
type: number
examples:
success:
summary: Successful response
value:
items:
- id: batch_abc123
title: Q3 Follow-up Batch
status: waiting
total_records: 250
createdAt: '2026-07-03T10:30:00.000Z'
total_lead_count: 250
sent_lead_count: 240
picked_up_lead_count: 120
picked_up_calls: 116
last_call_sent_at: '2026-07-03T11:42:18.000Z'
number_of_retries: 2
first_retry_count: 80
second_retry_count: 25
third_retry_count: 0
fourth_retry_count: 0
attempt_stages:
- depth: 0
attempted: 240
total: 250
- depth: 1
attempted: 60
total: 80
- depth: 2
attempted: 10
total: 25
total: 1
page: 1
limit: 20
'400':
description: Invalid query parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 400 Bad Request
value:
statusCode: 400
message: Invalid query parameters
error: Bad Request
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 401 Unauthorized
value:
statusCode: 401
message: API key is missing or invalid
error: Unauthorized
'403':
description: Forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 403 Forbidden
value:
statusCode: 403
message: Destination country or network prefix is not enabled for this workspace
error: Forbidden
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 500 Internal Server Error
value:
statusCode: 500
message: Internal server error
error: Internal Server Error
security:
- bearer: []
summary: List Batch Calls
tags:
- Batch Calls
description: Returns batch call jobs for the authenticated workspace, including status and progress fields.
/v1/batch-calls/{id}:
get:
operationId: getBatchCall
parameters:
- name: id
required: true
in: path
description: Batch call ID
schema:
example: batch_abc123
type: string
- name: agent_id
required: false
in: query
description: Filter by agent ID(s) - can be a single ID or comma-separated list (e.g., 1,2,3)
schema:
type: string
- name: call_id
required: false
in: query
description: Filter by call ID - can be a single ID or comma-separated list (e.g., call_abc,call_def)
schema:
type: string
- name: batch_call_id
required: false
in: query
description: Filter by batch call ID - can be a single ID or comma-separated list (e.g., batch_abc,batch_def)
schema:
type: string
- name: from
required: false
in: query
description: Filter by sender phone number
schema:
type: string
- name: to
required: false
in: query
description: Filter by recipient phone number
schema:
type: string
- name: type
required: false
in: query
description: Filter by call type(s) - can be a single value or comma-separated list
schema:
type: string
enum:
- phone
- web
- name: call_direction
required: false
in: query
description: Filter by call direction(s) - can be a single value or comma-separated list
schema:
type: string
enum:
- inbound
- outbound
- name: latency_min
required: false
in: query
description: Filter by minimum latency (in milliseconds)
schema:
type: number
- name: latency_max
required: false
in: query
description: Filter by maximum latency (in milliseconds)
schema:
type: number
- name: agent_version_id
required: false
in: query
description: Filter by agent version ID(s) - can be a single ID or comma-separated list (e.g., 1,2,3)
schema:
type: string
- name: agent_version_name
required: false
in: query
description: Search by agent version name (partial match, case-insensitive)
schema:
type: string
- name: sentiment
required: false
in: query
description: Filter by sentiment(s) - can be a single value or comma-separated list
schema:
type: string
enum:
- positive
- neutral
- negative
- unknown
- name: start_date
required: false
in: query
description: Filter by start date (ISO format)
schema:
type: string
- name: end_date
required: false
in: query
description: Filter by end date (ISO format)
schema:
type: string
- name: duration_greater_than
required: false
in: query
description: Filter by minimum call duration (in milliseconds)
schema:
type: number
- name: duration_less_than
required: false
in: query
description: Filter by maximum call duration (in milliseconds)
schema:
type: number
- name: duration_min
required: false
in: query
description: Filter by minimum duration range (in milliseconds)
schema:
type: number
- name: duration_max
required: false
in: query
description: Filter by maximum duration range (in milliseconds)
schema:
type: number
- name: page
required: false
in: query
description: Page number (starts from 1)
schema:
example: 1
type: number
- name: limit
required: false
in: query
description: 'Number of records per page (min: 1, default: 20, max: 200)'
schema:
example: 20
type: number
- name: created_at
required: false
in: query
description: Sort by created_at (asc or desc)
schema:
type: string
enum:
- asc
- desc
- name: duration
required: false
in: query
description: Sort by duration (asc or desc)
schema:
type: string
enum:
- asc
- desc
- name: status
required: false
in: query
description: Filter by call status(es) - can be a single status or comma-separated list
schema:
type: string
- name: export
required: false
in: query
description: Set to true to export all data without pagination
schema:
type: boolean
- name: end_reason
required: false
in: query
description: Filter by end/hangup reason - exact match; comma-separate multiple values for OR filtering
schema:
type: string
- name: columns
required: false
in: query
description: '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.'
schema:
type: string
example: duration,status,agent_name
responses:
'200':
description: Calls in the batch returned successfully.
content:
application/json:
examples:
success:
summary: Successful response
value:
callLogs:
- id: call_abc123
agent_id: agent_2g7Xy3tY53gRlp
to_number: '+919876543210'
from_number: '+14155552671'
status: initiated
call_direction: outbound
createdAt: '2026-07-03T10:30:00.000Z'
batch_id: batch_abc123
total: 1
page: 1
limit: 20
totalPages: 1
schema:
type: object
properties:
callLogs:
type: array
items:
type: object
properties:
id:
type: string
example: call_abc123
status:
type: string
example: completed
from_number:
type: string
example: '+14155552671'
to_number:
type: string
example: '+919876543210'
duration:
type: number
example: 42
createdAt:
type: string
format: date-time
total:
type: number
page:
type: number
limit:
type: number
totalPages:
type: number
'401':
description: Unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 401 Unauthorized
value:
statusCode: 401
message: API key is missing or invalid
error: Unauthorized
'403':
description: Forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 403 Forbidden
value:
statusCode: 403
message: Destination country or network prefix is not enabled for this workspace
error: Forbidden
'404':
description: Batch call not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 404 Not Found
value:
statusCode: 404
message: Batch call not found
error: Not Found
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 500 Internal Server Error
value:
statusCode: 500
message: Internal server error
error: Internal Server Error
'400':
description: Invalid batch call ID format.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 400 Bad Request
value:
statusCode: 400
message: Invalid batch call ID format
error: Bad Request
security:
- bearer: []
summary: Get Batch Call Details
tags:
- Batch Calls
description: Returns one batch call job and its current processing details.
/v1/batch-calls/{id}/status:
patch:
operationId: updateBatchCallStatus
summary: Update Batch Call Status
description: Changes the execution status of a batch call. Use `pause` to halt new outbound calls, `resume` to continue a paused batch, or `cancel` to permanently stop the batch and remove queued calls.
parameters:
- name: id
required: true
in: path
description: Batch call ID
schema:
example: batch_abc123
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- action
properties:
action:
type: string
enum:
- pause
- resume
- cancel
example: pause
description: The status transition to apply.
examples:
pause:
summary: Pause a batch call
value:
action: pause
resume:
summary: Resume a batch call
value:
action: resume
cancel:
summary: Cancel a batch call
value:
action: cancel
responses:
'200':
description: Batch call status updated successfully.
content:
application/json:
examples:
success:
summary: Successful response
value:
success: true
message: Campaign paused successfully
campaign:
id: batch_abc123
status: paused
title: Q3 Follow-up Batch
affectedCalls:
initiated: 0
queued: 0
removedFromQueue: 12
cancelledCallLogs: 0
resumedCallLogs: 0
schema:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: Campaign paused successfully
campaign:
type: object
properties:
id:
type: string
example: batch_abc123
status:
type: string
enum:
- initiated
- draft
- waiting
- scheduled
- running
- paused
- completed
- cancelled
- deleted
example: paused
title:
type: string
example: Q3 Follow-up Batch
affectedCalls:
type: object
properties:
initiated:
type: number
example: 0
queued:
type: number
example: 0
removedFromQueue:
type: number
example: 12
cancelledCallLogs:
type: number
example: 0
resumedCallLogs:
type: number
example: 0
'400':
description: Invalid action, or action not allowed for the current batch call status.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 400 Bad Request
value:
statusCode: 400
message: 'Invalid action. Must be one of: pause, resume, cancel'
error: Bad Request
'401':
description: Unauthorized - missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 401 Unauthorized
value:
statusCode: 401
message: API key is missing or invalid
error: Unauthorized
'403':
description: Forbidden - batch call does not belong to your organization.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 403 Forbidden
value:
statusCode: 403
message: You do not have permission to access this resource
error: Forbidden
'404':
description: Batch call not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 404 Not Found
value:
statusCode: 404
message: Batch call not found
error: Not Found
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
error:
summary: 500 Internal Server Error
value:
statusCode: 500
message: Internal server error
error: Internal Server Error
security:
- bearer: []
tags:
- Batch Calls
components:
schemas:
ErrorResponse:
type: object
properties:
statusCode:
type: integer
example: 400
message:
oneOf:
- type: string
- type: array
items:
type: string
example: phone_number must be a valid E.164 phone number
error:
type: string
example: Bad Request
required:
- statusCode
- message
- error
securitySchemes:
bearer:
scheme: bearer
type: http