Changelog & versioning
The API is versioned by date. Your integration is pinned to a single date-stamped version. We won't change anything about that version's behaviour without you opting in.
How versioning works
The version pinned to your integration is visible at Settings → API version and on every response as the X-API-Version header. It's also embedded in every webhook event:
{
"id": "evt_…",
"object": "event",
"type": "listing.published",
"api_version": "2026-05-07",
…
}Newly-created integrations always pin to the latest dated version at creation time. To roll an existing integration forward (to opt into breaking changes from a newer version), email support@watchtraderhub.com. We don't auto-roll because we don't want to break your production integration on our schedule.
X-API-Version is response-only
X-API-Version on outbound requests; we do not read it. Version pinning happens at integration creation time and is enforced server-side. The header on every response and on every webhook envelope's api_version field is the canonical value, set entirely by us. Send the header defensively if you like (some integrators do for forward-compat breadcrumbs), but it has no effect.What counts as a breaking change
Breaking changes (mint a new dated version):
- Removing an endpoint, field, or event type.
- Renaming an endpoint, field, or event type.
- Tightening a validation rule (a payload that used to be accepted is now rejected).
- Changing the meaning of a field, e.g. a status enum value being repurposed.
- Changing the algorithm of webhook signing or any header format.
- Changing the cursor format or pagination semantics.
Non-breaking changes (ship continuously, pinned versions automatically benefit):
- Adding a new endpoint.
- Adding a new optional field to a request body.
- Adding a new field to a response body.
- Adding a new event type. Existing subscriptions still apply; the wildcard
*picks it up. - Adding a new error code (existing codes keep their meaning).
- Improving error
messagewording.
Match codes, not messages
error.code values part of the contract. error.message wording can change at any time in the name of better diagnostics. Branch on code.Versions
2026-05-07
CurrentInitial public release of the Custom Integration API. Includes the full REST surface (listings, customers, orders, integration metadata, test utilities) and the outbound webhook surface (10 event types, HMAC-SHA256 signing, retry + replay + dead-letter).