Skip to main content
POST
/
agents
/
calls
/
batches
Create Call Batch
curl --request POST \
  --url https://api.cartesia.ai/agents/calls/batches \
  --header 'Authorization: Bearer <token>' \
  --header 'Cartesia-Version: <cartesia-version>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "agent_id": "<string>",
  "from_number_id": "<string>",
  "recipients": [
    {
      "to_number": "<string>",
      "metadata": {}
    }
  ],
  "target_concurrency_limit": 2,
  "ringing_timeout_seconds": 42,
  "max_call_duration_minutes": 240,
  "scheduled_at": "2023-11-07T05:31:56Z"
}
'
{
  "id": "<string>",
  "name": "<string>",
  "agent_id": "<string>",
  "from_number_id": "<string>",
  "target_concurrency_limit": 123,
  "status": "<string>",
  "total_calls_scheduled": 123,
  "total_calls_dispatched": 123,
  "total_calls_finished": 123,
  "created_at": "2023-11-07T05:31:56Z",
  "last_updated_at": "2023-11-07T05:31:56Z",
  "scheduled_at": "2023-11-07T05:31:56Z",
  "recipients": [
    {
      "id": "<string>",
      "to_number": "<string>",
      "status": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "agent_call_id": "<string>",
      "error_message": "<string>",
      "metadata": {}
    }
  ]
}

Authorizations

Authorization
string
header
required

Cartesia API key (sk_car_...). Get one at play.cartesia.ai/keys.

Headers

Cartesia-Version
enum<string>
required

API version header.

Available options:
2026-03-01
Example:

"2026-03-01"

Body

application/json

Request body for queueing a batch of outbound calls.

name
string
required

A label for the batch.

agent_id
string
required

The identifier of the agent that handles the batch's calls.

from_number_id
string
required

The identifier of the phone number to place calls from. The attached provider handles outbound calling for this number.

recipients
AgentOutboundCallItem · object[]
required

Per-call destination and metadata configuration. Up to 1,000 recipients per batch.

Required array length: 1 - 1000 elements
target_concurrency_limit
integer

Maximum number of calls from this batch to dial concurrently. Must not exceed the organization's concurrency limit. Omit to default to half of the organization's agent-call concurrency limit, leaving headroom for other calls.

Required range: x >= 1
ringing_timeout_seconds
integer

Seconds to wait for the callee to answer before giving up. Omit to use the default (60 seconds).

Required range: 5 <= x <= 80
max_call_duration_minutes
integer

Maximum call duration in minutes. Omit to use the default (480 minutes).

Required range: 1 <= x <= 480
scheduled_at
string<date-time>

When to start dispatching the batch, as an RFC3339 timestamp with a timezone offset (e.g. 2026-06-15T16:00:00Z). Must be in the future and within 30 days. Omit to dispatch immediately.

Response

The created batch, with all of its call requests queued.

id
string
required

The unique identifier for the batch.

name
string
required

The batch's label.

agent_id
string
required

The identifier of the agent that handles the batch's calls.

from_number_id
string
required

The identifier of the phone number the batch dials from.

region
enum<string>
required

The deployment region whose dispatcher drains the batch.

Available options:
US,
EU,
APAC
target_concurrency_limit
integer
required

Maximum number of calls from this batch dialed concurrently.

status
string
required

The batch's lifecycle status, derived at read time from dispatch progress.

StatusMeaning
pendingNo calls dispatched yet
in_progressSome calls dispatched, not all
completedEvery call dispatched, regardless of individual call outcomes
cancelledCancelled before every call was dispatched
failedReserved; not currently returned
total_calls_scheduled
integer
required

Total recipients queued in the batch.

total_calls_dispatched
integer
required

Recipients handed to the dialer so far, including those that failed before a call could be placed.

total_calls_finished
integer
required

Recipients whose latest call attempt reached a terminal state (completed or failed), including pre-dial failures.

created_at
string<date-time>
required

When the batch was created.

last_updated_at
string<date-time>
required

When the batch was last updated.

scheduled_at
string<date-time>

The scheduled dispatch time, in RFC3339 UTC (e.g. 2026-06-15T16:00:00Z). Omitted for batches that dispatch immediately.

recipients
AgentCallBatchRecipient · object[]

The batch's recipients. Returned only on GET /agents/calls/batches/{batch_id}.