Versioning

What can change, what never does, and what to branch on.

  • Additive changes only. New fields, routes and events may appear at any time; an existing field, route, error status or type, or event payload is never renamed or removed. Ignore what you do not know.
  • Loose validation. Unknown request fields are ignored, optional ones may be null, and scalars are coerced.
  • Branch on status and type. An error's status and type and an account's status are the contract. code, the other error fields and the gateway object on accounts and sends are finer detail, for logs, support and display.
  • WhatsApp objects carry their flags as the numbers 0 and 1.
  • No webhook management API. The webhook URL and its secret are set in the console, and events are signed (see Webhooks).
  • No hosted connection page. The hosted-link routes answer 422; connect with the accounts routes, and the live view covers CAPTCHAs.
  • The raw LinkedIn passthrough (POST /api/v1/linkedin) reads anything but writes only what is allowed.
  • Where LinkedIn's data is passed through loosely (search filters, some rows), the reference says so instead of promising a schema.