Your First Call
The simplest call needs a destination number and atask:
from_number must be one of your own numbers; leave it out to call from the default number. Every call needs task (a short brief) or instructions (full control), at least 10 characters.
Complete Example: Appointment Reminder
Optional Parameters
Voice and Mode
Live (the default) runs one voice model that listens and speaks. Legacy chains speech recognition, a language model and a voice you pick. A call withoutmode runs Legacy if it sets voice, model or a Legacy-only field such as stt_provider. See the Voice Library for voices and GET /v1/models for models.
Opening and Length
Withoutfirst_sentence, no scripted opening plays. Legacy speaks it word for word; Live may reword it slightly. max_duration caps the call in minutes (default 5). Office ambience plays underneath unless background_audio is none.
Lead Context
Placeholders such as{{name}} fill from lead_context in first_sentence only. In task or instructions they stay as written, so put per-lead facts in the lead’s name and notes, which the model reads. lead_id loads a stored lead, and keys you also send in lead_context override it. campaign_id adds that campaign’s knowledge base and nothing else.
Webhooks and Summaries
webhook_url gets one payload when the call ends, limited to the call_status values in webhook_call_status_filter if you set it. For account-wide delivery, use webhook subscriptions. Each finished call carries a written summary; summary_prompt changes what it covers.
More Options
Also available:analysis_schema for structured extraction, scheduled_at to call later, and an Idempotency-Key header for safe retries. temperature, bot_protection_enabled and the speech and voice tuning fields apply to Legacy only. The API reference lists every field.
Response
scheduled plus scheduled_at. pending means it’s still being admitted. Sending the same phone_number again within 5 seconds returns the first call instead of placing another.
Call Status
How Calls End
The agent hangs up when the caller wraps up, asks to stop, or asks not to be contacted again. It won’t end the call over a pause, and it says a short goodbye first. Shape this in your instructions, for example: “Confirm the next step before you say goodbye.” Silence works the same in Live and Legacy. After about 7 seconds with nothing from the caller, the agent checks in. If 7 more seconds pass in silence, the call hangs up with no goodbye.Calling in Another Language
stt_language must be a code GET /v1/models lists, or a regional form of one. Anything else gets a 400.
Error Handling
Invalid Phone Number
Insufficient Quota
Your credit wallet can’t cover the call’smax_duration. Calls in progress hold theirs until they end, so add credit or wait for one to finish.
Every Concurrent-Call Slot in Use
With every concurrent-call slot busy, a new call gets a429 and nothing is created. The per-minute rate limit also answers 429, but with code: RATE_LIMITED and a Retry-After header. A scheduled call is never refused for concurrency; it waits for a free slot.
Other Refusals
None of these places a call or holds credit.
Next Steps
Function Calling
Let the agent act in your systems during a call.
Webhooks
Receive real-time notifications when calls complete.
Credit and Billing
What calls cost, and how a call reserves credit while it runs.