Programmatically dispatch calls, manage agents and contacts, read call results, and check your account balance. Base URL: https://outboundcalls.ai/api/v1
All endpoints require an API key. Generate one in Settings → API Keys. Pass it in the Authorization header:
Authorization: Bearer oc_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Keys are hashed at rest and shown only once at creation time. Revoke any compromised key from the same Settings page.
curl -s https://outboundcalls.ai/api/v1/me \ -H "Authorization: Bearer oc_live_..."
Returns your user info, credit balance, and active subscription.
Query: status, limit (max 200).
Query: contactListId, limit (max 500).
Body: { contactListId, phone, name?, email?, company?, tags?, customFields? }
curl -s https://outboundcalls.ai/api/v1/contacts \
-H "Authorization: Bearer oc_live_..." \
-H "Content-Type: application/json" \
-d '{
"contactListId": "clx...",
"phone": "+14155551212",
"name": "Jane Doe",
"tags": ["lead","website"]
}'
Query: status, agentId, campaignId, limit (max 200).
Returns full call detail: transcript, summary, recording URL, sentiment, extracted data, credits charged.
Trigger an outbound call via your deployed agent. Body:
{
"agentId": "clx...", // your agent id (must be deployed to ElevenLabs)
"toNumber": "+14155551212", // E.164 destination
"phoneNumberId": "clx...", // optional — defaults to first active number
"contactId": "clx..." // optional — link to a contact
}
curl -s https://outboundcalls.ai/api/v1/calls \
-H "Authorization: Bearer oc_live_..." \
-H "Content-Type: application/json" \
-d '{ "agentId":"clxXXX", "toNumber":"+14155551212" }'
Pricing: charged on call completion based on destination country (sell price = Twilio mobile + ElevenLabs $0.10 + 75% margin). Minimum balance to dispatch: 25 credits.
Returns campaign progress (calls completed/successful/failed, credits used, success rate).
| Status | Meaning |
|---|---|
| 400 | Bad request — missing/invalid fields |
| 401 | Missing, invalid, or revoked API key |
| 402 | Insufficient credits to dispatch a call |
| 404 | Resource not found (or not owned by your account) |
| 502 | Upstream telephony provider error |
Configure post-call webhooks per agent in the Agents page; OutboundCalls will POST a JSON payload with full call data once a call ends.
Need help? Open a ticket in Help & Support.