API and webhooks
Build on the same model the console uses
The public API v1 covers contacts, conversations, messages, calls, leads, tickets, tasks, reports, exports and more: 47 operations, described in an OpenAPI 3.1 document.
Designed for integrations that keep working
Scoped tokens
Bearer tokens with only the scopes they need, made in the console by an admin who has passed MFA, and never accepted in a URL.
Idempotent writes
Send an Idempotency-Key and a retry gets the first answer, never a second write.
Stable pagination
Cursor pagination on a stable order: inserts while you page never repeat or skip a row.
Clear rate limits
A per-token limit with RateLimit headers on every answer and Retry-After on a 429.
Signed webhooks
33 event types, signed with HMAC-SHA-256, retried with back-off, dead-lettered and replayable.
CRM connectors
Contact sync with a field mapping, screen-pop lookups and structured write-back of outcomes.
First call in three steps
Create a token
In the console's Developer page, with the scopes your integration needs.
Call the API
Send it as
Authorization: Bearer cck_...to your console's address under/api/v1/.Subscribe to events
Add a webhook endpoint and verify each delivery's signature. The webhooks guide has the code.
Questions about the API
Is there an OpenAPI document?
Yes, OpenAPI 3.1, generated from the same route table that serves the API, so it cannot drift from it. Download it or browse the reference.
Can webhooks reach internal systems?
Webhook URLs must use https and resolve to public addresses, and redirects are not followed.
Can we create leads and calls from our CRM?
Yes. Leads go to speed-to-lead sources, and click-to-call starts with the agent and then dials the customer, through the same checks as the dialler.