Prerequisite: an outbound agent
Before you can dispatch a call, you need an outbound agent with at least one attached number. See Agents for the full create flow. Minimal example:Dispatch a call
POST /v1/calls takes an agent id and a destination number. Everything else is optional.
Request fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
agent_id | uuid | Yes | n/a | The outbound agent to run for this call. |
to | string | Yes | n/a | Destination number, E.164 format (e.g. +15551234567). |
from_number | string | No | agent’s primary_number_id | Caller ID override. Must be another number attached to the same agent. |
instructions | string | No | agent’s default | Per-call instructions. Replaces the agent’s default instructions for this call. Not merged. |
context | object | No | {} | Background info the agent can reference mid-conversation. |
webhook_url | string | No | agent’s default | Per-call webhook override. Defaults to the agent’s webhook_url. |
metadata | object | No | {} | Arbitrary key/value data you can read back off the call record. |
persona, voice, language, returns, tools, and voicemail_action are not accepted on POST /v1/calls. They live on the agent. If you need to change them, update the agent or create a different one.Minimal example
Per-call overrides
instructions: replace the agent’s task
Use per-call instructions when you want the same agent personality but a different task on this one call. The per-call value wholly replaces the agent’s default. It does not merge.
context: per-call background info
Context is JSON the agent has access to mid-call. It doesn’t go into the instructions; the agent just knows it.
from_number: pick a caller ID
If you omit from_number, the call uses the agent’s primary_number_id. To use a different one, pass any other number attached to the same agent.
400.
webhook_url: per-call webhook
Override the agent’s default webhook for this call only. See Webhooks for the full delivery model.
Patterns
Appointment confirmation
Lead qualification
Payment collection
Agents
The agent primitive. Where persona, returns, and tools live.
Structured results
How the
returns schema (on the agent) becomes JSON.Webhooks
Polling vs webhooks for getting results.
Call object
Every field on the call response.