Skip to main content

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 object types, 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 jobsPOST /v1/contacts/bulk, POST /v1/contacts/import, and POST /v1/analytics/export now return 202 with a job you poll at GET /v1/jobs/{id}.
  • Messaging extensionsPOST /v1/messages accepts a raw recipient via to.identifier (resolves or creates the contact) and new content types on WhatsApp: interactive, location, contacts, and reaction.
  • Idempotency — send an Idempotency-Key header on writes to make retries safe.
  • Expand?expand=contact (and expand=company on deals) embeds related resources.
  • Observability — inspect usage at GET /v1/usage and the write audit trail at GET /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).