Skip to main content
POST
Initiate an outbound call
Places an outbound call through the given channel connection. Returns immediately once the call has been accepted for submission — this does not wait for the call to ring or connect. Returns 201 on a genuinely new call. Repeating the exact same idempotencyKey and body returns 200 with the original call instead of placing a duplicate one.

Authorizations

x-api-key
string
header
required

Project-bound Platform API key (abl_...). The key must carry outbound_calls.initiate for write operations (initiate, terminate) or outbound_calls.read for read operations (lookup, list, summary, search, event stream).

Path Parameters

projectSlug
string
required

The project's slug.

Minimum string length: 1
env
string
required

Deployment environment segment the call runs under, e.g. production, staging, dev.

Minimum string length: 1

Body

application/json
channelConnectionId
string
required

The outbound-capable channel connection (telephony trunk/app) to place the call through.

Minimum string length: 1
to
object
required

Destination for the call — a phone number or a SIP URI.

idempotencyKey
string
required

Caller-supplied key. Repeating this exact request (same key + same body) returns the original call (200) instead of dialing again. The same key with a different body is rejected with 409 IDEMPOTENCY_CONFLICT.

Minimum string length: 1
clientReferenceId
string

Optional caller correlation id, echoed back on the call record and filterable via clientReferenceId.

Required string length: 1 - 256
amdMode
enum<string>

Answering-machine detection behavior. off=disabled, no AMD processing; continue=detect and report via amdResult, but let the call proceed regardless; disconnect=detect and automatically hang up on a machine.

Available options:
off,
continue,
disconnect
sessionMetadata
object

Optional arbitrary key/value metadata attached to the session created once the call connects.

Response

Idempotent replay — the original call for this idempotencyKey + body, returned unchanged.

success
boolean
required
data
object
required