The two version axes
Mnemom versions the API at two independent levels:
Both axes are independent. A new
X-Mnemom-Version date never moves the URL; a new URL generation does not invalidate active date-pinned integrations.
This dual model mirrors Stripe-Version and GitHub’s X-GitHub-Api-Version. X-Mnemom-Version is the 7th Mnemom-namespaced header and is permanent contract.
How clients pin a version
Production integrations must pin by sending theX-Mnemom-Version header on every request:
Support window
After the window closes, calls to the retired version receive a 410 Gone with a
Sunset header and a link to the migration guide. There is no silent re-mapping past retirement — the surface is final.
What counts as a breaking change
A change is breaking (requires a new version date) if any of:- A response field is removed or renamed.
- A response field’s type changes.
- A previously optional request field becomes required.
- An enum loses a value, or an enum’s set of valid values is constrained.
- An endpoint is removed.
- A default behavior changes in a way client code could observe.
- A new endpoint is added.
- A new optional response field is added.
- A new optional request parameter is added.
- An enum gains a new value.
- A new response header is introduced.
protobuf / Stripe-Version-style ecosystems require. Tooling that fails closed on additive evolution is brittle.
Deprecation signals
When a version is deprecated, calls to that version surface:Sunset) and draft-ietf-httpapi-deprecation-header (Deprecation).
In parallel, we send email notifications to the org owner and to any integration contacts on file at:
- T+0 — deprecation announcement.
- T+12 months — half-window mark.
- T+16 months — 60-day warning.
- T+17 months — 30-day final warning.
What we will not do
- We will not break date-pinned production behavior within
/v1/without bumping the date. - We will not retire a version before the published
Sunsetdate. - We will not silently change
X-Mnemom-Versionresolution behavior. The fallback rule (closest valid predecessor) is part of the contract. - We will not introduce a
/v2/URL generation for individual breaking changes. URL increments are reserved for resource-model overhauls.
Related
- API Versioning guide — integration how-to, SDK pinning, working examples.
- API Reference overview — base URL, auth, the version table.