Where the version lives
The version is a fixed segment of the base URL — there is no version header or query parameter to send:v1 is the current version of the API, and every path in this reference is relative to that base URL. New capabilities ship into v1 continuously; the version itself only changes if we ever have to break the promises below.
What never changes in v1
We treat the documented API surface as frozen against breaking changes. Within v1 we will not:- Remove or rename a documented endpoint, response field, or request parameter.
- Change a documented field’s type, format, or the meaning of its values.
- Change the success status code or response envelope of a documented endpoint.
- Make an optional request parameter required, or reject requests that were previously valid.
- Remove a webhook event type or remove fields from its payload.
What may be added at any time
The API evolves additively, without prior notice. Expect us to:- Add new endpoints, and new optional parameters to existing endpoints.
- Add new fields to existing response objects and webhook payloads.
- Add new values to enumerated fields — for example, a new status or type value.
- Add new webhook event types.
Write a tolerant client
Additive evolution is only safe if your integration tolerates additions. Follow these rules and new capabilities will never break you:- Ignore fields you don’t recognize in responses and webhook payloads instead of treating them as errors.
- Handle unrecognized enumerated values with a sensible fallback instead of matching exhaustively.
- Rely on field names, never on the order of keys in a JSON object.
Deprecations
In the rare case we retire a capability, removal never comes first:- The capability is marked as deprecated in this reference, with a recommended replacement.
- Responses that use it include
DeprecationandSunsetheaders, so you can detect affected calls in your own logs. - Where we can identify the integrations using it, we contact the account owners directly.
Nothing in the API is currently deprecated.
Bug fixes
This documentation defines the API’s intended behavior. When the API behaves differently from what is documented, we treat that as a bug and may fix it, even where the fix changes responses. If integrations plausibly depend on the incorrect behavior, we handle the fix like a deprecation and give notice first.If a v2 ever ships
A change that cannot be made compatibly within v1 would ship under a new base URL segment (/api/v2) — most likely for a small set of endpoints rather than the whole API. v1 would keep working and follow the deprecation process above, with a migration window measured in months, not weeks.