Skip to main content
POST
Make an AI phone call
Use this endpoint for a one-time call attempt. Requests are not queued for later execution. For scheduled or bulk calling, use the Sequences API. Check both the HTTP status and the response body. A successful request does not mean the recipient answered; a setup failure can appear in the response body. If the endpoint returns HTTP 429 or 503 with an outbound_call_* error, no call was started for that request. The endpoint does not retry it automatically or provide a Retry-After header. Your application decides whether to try again later.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
phoneAgentId
string
required
contact
object
required
sessionCustomData
object

Custom attributes saved on the call session before the call starts, so workflows and webhooks that fire at call start already see them. Also surfaced to the AI agent as session context. Equivalent to the X-OPENCX-SESSION-CUSTOM-DATA header on inbound calls.

extraInstructions
string

Extra instructions for the AI agent, scoped to this call only. Appended to the agent instructions in a clearly-scoped block — they complement, never replace, the agent prompt.

Maximum string length: 10000

Response

Default Response

error
object

Error details if the call failed

result
any

Raw call result from the provider

sessionId
string

ID of the session created for this call, available at dial time. Use it to correlate call webhooks (phone_call.started / phone_call.ended carry the same session_id) and to fetch the session — including its custom data — after the call.

callId
string

Provider call ID