Calls API
Queue outbound calls and retrieve call records with your sk_live_ API key. All routes require Authorization: Bearer sk_live_...
POST /v1/calls/outbound
Creates an outbound call, resolves the agent, checks minute quota, emits call.queued, and attempts telephony dispatch when configured.
Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
to | string | Yes | Destination phone (E.164 preferred; US 10-digit normalized to +1) |
from | string | No | Caller ID; required once live telephony is enabled |
agent_id | UUID | No | Outbound agent; defaults to org is_default agent |
client_name | string | No | Callee name for prompts and records |
context | object | No | Variables injected into agent system prompt |
metadata | object | No | Opaque data echoed in webhooks and stored on call |
schedule_at | datetime | No | UTC schedule time; defaults to now |
webhook_url | string | No | Per-call webhook override |
max_attempts | integer | No | Retry cap (1–10, default 3) |
Response
HTTP 201 Created with a CallOut object:
Errors
400— No default agent configured401— Invalid or missing API key402— Monthly minute limit reached404—agent_idnot found or inactive422— Validation failure (phone length, etc.)
GET /v1/calls
List calls for the authenticated organization, newest first.
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
status | string | — | Filter by status: queued, calling, completed, failed, etc. |
limit | integer | 25 | Page size (1–100) |
offset | integer | 0 | Pagination offset |
Response wrapper:
GET /v1/calls/{call_id}
Fetch a single call by UUID. Returns 404 if the call belongs to another organization.
Call status lifecycle
| Status | Meaning |
|---|---|
queued | Accepted by API; awaiting dialer |
calling | Media/SIP session active |
completed | Call finished successfully |
failed | Dial or agent error (error_message set) |