Skip to main content
Private Beta. New organizations are enabled by default. An organization administrator must create a scoped API key in Brightalk Settings before requests can authenticate. This documentation and the OpenAPI contract define the available scope and limits.
A Batch groups up to 1,000 unique recipients under one eligible AI voice agent and exposes aggregate execution state.

Create a draft, then start

POST /batches creates status: draft. Creation alone never begins dialing. Provide exactly one recipient form: contact_ids or inline recipients. POST /batches/{batch_id}/start is the only transition that starts or schedules a draft. It returns 202 Accepted with the updated Batch.

Recipient identity and limits

A Batch requires 1–1,000 unique canonical contacts. Duplicate contact IDs are rejected. Inline recipients are first resolved through the contact adoption rules; two inline identities that resolve to the same canonical contact are also duplicates.

Schedule and calling window

An optional schedule.start_at sets the earliest RFC 3339 instant at which work is eligible. An optional schedule.calling_window defines one contiguous daily window with time_zone, unique weekdays, start_time, and a later end_time. Once started, work is eligible only after start_at and inside that window. The Batch contract does not add multiple daily windows or branching; use a dashboard-managed Automation when those behaviors are needed.

Aggregates and controls

The Batch resource reports total_recipients and pending, queued, in-progress, completed, failed, cancelled, answered, no-answer, and busy aggregate counts. Use GET /batches/{batch_id} to monitor them. Pause stops subsequent recipient dispatch but does not promise to stop a call already in progress. Resume requeues eligible remaining recipients. Cancel stops remaining work and requests best-effort cancellation of active descendant calls. See Status lifecycles for valid states.