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.