Versioning
The API is versioned in the path (/v1). We add fields and endpoints without bumping the version;
these are backward-compatible and safe to receive. We treat the following as non-breaking, so your
integration should tolerate them:
- New fields on existing responses.
- New endpoints, new optional request parameters.
- New
objecttypes, new enum values, new webhook event types.
Deprecation policy
When we need to retire an endpoint or field, the API keeps serving it and warns you first via standard RFC 8594 headers, so nothing breaks silently:
Watch for these headers in your integration’s logs and migrate before the
Sunset date.
Recent changes
Async jobs, messaging extensions, best practices
- Async jobs —
POST /v1/contacts/bulk,POST /v1/contacts/import, andPOST /v1/analytics/exportnow return202with a job you poll atGET /v1/jobs/{id}. - Messaging extensions —
POST /v1/messagesaccepts a raw recipient viato.identifier(resolves or creates the contact) and new content types on WhatsApp:interactive,location,contacts, andreaction. - Idempotency — send an
Idempotency-Keyheader on writes to make retries safe. - Expand —
?expand=contact(andexpand=companyon deals) embeds related resources. - Observability — inspect usage at
GET /v1/usageand the write audit trail atGET /v1/audit-logs.
Public API v1
- Initial release: contacts, conversations, messages, channels, inboxes, campaigns, analytics, webhooks, and the CRM resources (deals, tasks, companies, tickets, notes, segments, macros).
