October 2026
- Campaign trigger webhooks (the URL on a campaign’s “Webhook received” step): the success response now returns the lead’s public id as
lead_idand no longer returnsworkflow_id. Send thatlead_idback on later calls to target the same lead; lead ids from earlier responses still work. - Error messages are now complete sentences that never include internal ids. Match on the HTTP status code, not on the message text.
- Bringing numbers from your own carrier account now uses
POST /api/v1/public/phone-numbers/import/search,/import/confirmand/import/outbound-profile. Request and response bodies are unchanged. The earlier paths keep working with the same behavior and now return aDeprecation: trueheader plus aLinkheader that points to the new path; move to the new paths when convenient.
September 2026
- Expanded the public contract to cover voice-agent operations, widgets, partner workflows, imports, and campaign workflow updates.
- Added route classification and live-contract drift checks to the documentation build.
- Added dedicated guidance for pagination, idempotency, async jobs, resource isolation, voice-agent operations, widgets, and partner APIs.