Skip to main content
POST
Call with Prompt

Overview

Create and trigger an AI phone call from a natural language prompt in a single request. The system generates a workflow from your prompt, initiates the call, and optionally delivers results to a callback URL. This is ideal for agent-to-agent orchestration, where external agents can make calls without pre-creating workflows.

Callback

If you provide a callback_url, the API will POST call results to that URL when the call completes or fails (including not picked up, busy, voicemail). Callback delivery is best-effort (single attempt, 30-second timeout). For guaranteed delivery, poll the call status as a fallback.

Callback payload

If you provided a callback_secret, the callback request includes an Authorization: Bearer <your_secret> header.

Terminal statuses

Idempotency

To prevent duplicate calls from retries, pass an optional idempotency_key. If the same key is sent within a 5-minute window, the API returns the cached response without creating a new call.

Authorizations

Authorization
string
header
required

API key generated from Settings → API Keys. Format: ck_live_...

Body

application/json
prompt
string
required

Natural language description of the call task. The system generates an AI workflow from this prompt.

Example:

"Book a reservation at Friday 7pm for Josh for 2"

recipient_phone
string
required

Phone number of the call recipient in E.164 format

Example:

"+14155552671"

callback_url
string<uri>

HTTPS URL to receive call results when the call completes or fails. Must not point to private/reserved IP ranges.

Example:

"https://agent.example.com/results"

callback_secret
string

Optional bearer token included in the Authorization header of callback requests

Example:

"my-secret-token"

idempotency_key
string

Optional unique key to prevent duplicate calls on retries. Scoped to your organization with a 5-minute TTL.

Example:

"agent-task-12345"

Response

Call successfully created and triggered

success
boolean
Example:

true

workflow_id
string

ID of the generated workflow

Example:

"b8f40b44-3b7a-425b-a2ae-1327471b0410"

call_id
string | null

ID of the initiated call, if available

Example:

"c9e50c55-4c8b-536c-b3bf-2438582c1521"