API v1StableLast updated Oct 2026Changelog →
Reference

Versioning & deprecation

What we promise not to break.

The API is versioned in the path: /api/v1/…. Inside v1 we only make additive changes:

  • New endpoints, new optional request fields, new response fields and new error codes may appear at any time. Clients should ignore fields they don't recognise.
  • Existing fields, types, status codes, error codes and headers are never removed or renamed within v1.
  • Accuracy fixes that change an output to match a published standard (for example E.164 phone format) are announced in the changelog first.

Breaking changes

Breaking changes only ship in a new path version (/api/v2). When that happens v1 keeps working for at least 6 months, deprecated endpoints return a Deprecation and Sunset header, and every change is listed in the changelog and its RSS / JSON feed.

SDKs

The JavaScript and Python SDKs follow semantic versioning. Old import names (Zapinner, zapinner) remain as aliases.

Uptime

Our target is 99.9% monthly availability for the API, measured on the status page. This is a target, not a contractual SLA.