> ## Documentation Index
> Fetch the complete documentation index at: https://dialnexa.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Batch Calls overview

> Upload contacts, monitor progress, and control v1 batch call jobs.

Batch Calls schedule many outbound calls from one lead file. Each accepted lead can produce a real, billable call, so validate the agent, file, destination coverage, schedule, and queue timing before starting a job. DialNexa runs one batch campaign per organization at a time, so a new job may enter `waiting` behind an existing `running` or `waiting` batch.

## Lifecycle

| Goal                               | Operation                                               |
| ---------------------------------- | ------------------------------------------------------- |
| Upload contacts and create the job | [Create Batch Call](/docs/api-reference/v1/batches/create)   |
| Monitor many jobs                  | [List Batch Calls](/docs/api-reference/v1/batches/list)      |
| Inspect one job and its calls      | [Get Batch Call](/docs/api-reference/v1/batches/get)         |
| Pause, resume, or cancel           | [Update Batch Status](/docs/api-reference/v1/batches/status) |

## Before upload

* Publish the agent version the batch should use.
* Use one row per destination and include all prompt variables as column headers.
* Validate E.164 phone numbers and remove duplicates in your source file.
* Start with a small test batch before a production audience.

## Recovery

Do not repeat a timed-out create request until you list recent batches and confirm the first job was not created. Status transitions can fail when the batch is already in an incompatible state; fetch the batch and choose the next valid action. `active` can appear in legacy data, but new queue behavior uses `scheduled`, `waiting`, and `running`.
