Versioning
/v1 is the major contract.
/v1 fixes the major contract. We don't remove fields or change an existing field's type without /v2 — adding new fields is considered compatible.
An incompatible change will have a minimum migration period of six months, with both versions available.
Webhook endpoints (planned) keep the payload version in apiVersion, separate from the version of the route that registered them.