How the API changes
- The public API is
/api/v1. Operations in the public document don’t change incompatibly withinv1. New fields, new events and new optional parameters can appear at any time, so ignore what you don’t recognise. - An incompatible change means a new version. The old one keeps working for at least six months after the new one is announced here.
- Endpoints outside the public document are the panel’s own interface and can change without notice.
2026-09-20: capacity refusals, and a call’s currency
503 node_busyonPOST /callsandPOST /calls/ai, withRetry-After: 30: the call was not placed because the node has no room right now — it is at its channel limit, the machine is loaded, or every AI session it allows is in use. Nothing rang and nothing was billed; send the same request again. This is deliberately not422, which still means the request itself is wrong.- Call records gain
currency: the ISO 4217 code thatsell_amount,cost_amountandmarginare in. It is absent on calls recorded before this date — the field existed and was never filled. - With
margin:read, call records also gaincost_currency,cost_amount_original,fx_rateandcost_unconverted: what the carrier charged in its own currency, the exchange rate applied, and whether a rate was missing. Whencost_unconvertedistrue,marginis not a margin — it is one currency subtracted from another — and must not be shown as money.
2026-09-15: the public API
- Integration keys:
- owned by the organisation, with presets;
- a compulsory IP allowlist;
- per-key rate limits;
Idempotency-Key.
- Calls:
- click-to-call by
from(extension, agent or login email); POST /calls/aifor an AI agent to call someone;referenceand signedcallback_urlon every call;?dry_run=true;GET /calls/{uuid}and/call-requests/{id}.
- click-to-call by
- Campaigns:
- contacts loaded with your references and variables;
- start, pause, resume and stop;
- per-contact results to
result_callback_url, withGET /campaigns/{id}/results.
- Contacts and data:
GET /contacts/lookup;PUT /contacts/by-reference/{ref};GET /cdrs/export.
- Webhooks:
- durable delivery, retried for about 15 hours and switched off after three days of failures;
- redelivery;
- new events:
call.missed,voicemail.received,recording.ready,conversation.completed,callback.requested,ticket.created,ticket.updated,contact.created,campaign.contact.completed,campaign.completed,csat.submitted.
- The Developer section in the panel: console, callback inbox, request log and test numbers.