Developers
API & webhooks
Authenticate with an API key from Settings → API keys. Every request is scoped to your organization.
Authentication
Send your key as a bearer token on every request.
curl https://your-app.example/api/v1/calls \
-H "Authorization: Bearer clx_xxxxxxxxxxxx"
Outgoing webhook: call.completed
Configured in Settings → Webhooks, or as a workflow action.
{
"event": "call.completed",
"call_id": 123,
"agent_id": 7,
"contact": { "name": "John Doe", "phone": "+1234567890" },
"duration": 245,
"outcome": "appointment_booked",
"summary": "Customer booked an appointment."
}
Every delivery carries an X-Callix-Signature header — an HMAC-SHA256 of the body using your webhook's secret.
Events
| Event | Fires when |
|---|---|
| call.inbound | A call starts arriving on a connected number |
| call.completed | A call (inbound or outbound) ends |
| call.missed | A call goes unanswered, busy or fails |
| call.transferred | The AI agent hands off to a human |
| appointment.booked | The agent's booking tool is used successfully |
| lead.qualified | The agent tags a caller as a qualified lead |
Telephony & voice. Live inbound/outbound calling requires a connected Twilio account
(Integrations → Telephony). Once connected, Callix exchanges TwiML with Twilio to run the
speech-to-text → AI → text-to-speech loop on real calls — see Integrations for the exact
webhook URL to paste into your Twilio number's configuration.