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.
This flow queues one immediate asynchronous AI call. POST /calls does not schedule a later start and does not wait for dialing to finish.

Prerequisites

  • A server-side bt_live_ key with the exact pair calls:write and calls:read.
  • An agent_id returned by GET /agents and an existing contact_id for the same organization.
  • A unique, nonsecret Idempotency-Key for this logical call.
Use an inline recipient instead of contact_id only when you want the contact adoption rules to resolve and persist a canonical contact. Save JavaScript samples as .mjs or run them in an ESM project. Their top-level await requires ESM, and Node 18 or later provides the built-in fetch they use.

Create the call

This mutation can place a real PSTN call. Verify the selected contact, destination, agent, and timing before sending it.

Expected response

The API returns 202 Accepted with a Call API resource. Save its id for polling.
An accepted Call can stay queued while capacity is unavailable. Acceptance is not evidence that the destination has been dialed or answered.

Poll the call

Replace the sample ID with the returned id. Poll with backoff while status is queued, dialing, or in_progress.
Stop at completed, failed, or cancelled. Then interpret answer_status separately and read any available outcome, outcome_reason, summary, and duration_seconds.

Common errors