API Reference
Webhooks
Configure outbound webhooks and receive inbound events from WhatsApp and Twilio.
Event Types
Subscribe a webhook to any of these event types (pass them in the events array on create/update):
Conversations & messages — conversation.started, conversation.ended, message.received, message.sent
Voice sessions — voice_session.started, voice_session.ended, voice_session.failed
Billing & account — budget.alert, budget.exceeded, credits.low, api_key.expired, invoice.created, payment.succeeded, payment.failed
All outbound webhook payloads are signed with HMAC-SHA256 using the webhook secret (verify the X-CallMissed-Signature header). Deliveries are retried with backoff; inspect attempts via the delivery-log endpoints.
/api/v1/webhooks AuthList configured outbound webhook endpoints
/api/v1/webhooks AuthCreate outbound webhook — auto-generates HMAC secret
Request Body
urlstring (required)eventsarray of event types/api/v1/webhooks/:id AuthUpdate webhook url, events, or is_active
Request Body
urlstringeventsarrayis_activeboolean/api/v1/webhooks/:id AuthDelete a webhook
/api/v1/webhooks/:id/test AuthSend a test payload (HMAC-SHA256 signed)
/api/v1/webhooks/:id/deliveries AuthList recent delivery attempts with status and response
/api/v1/webhooks/whatsappMeta webhook verification (hub.challenge)
/api/v1/webhooks/whatsappReceive WhatsApp messages from Meta
/api/v1/webhooks/twilio/voiceTwilio inbound call — returns TwiML
/api/v1/webhooks/twilio/statusTwilio call status updates
/ws/call/:call_id?api_key=cm_xxx AuthWebSocket for real-time voice audio streaming (requires API key query param)