- Breaking changes (removed fields, changed types, changed error codes) ship under a new dated version. Your existing version keeps working.
- Backwards-compatible changes (new endpoints, new optional fields, new enum values) land on the current version and appear in the Changelog. Parse responses leniently: ignore fields and enum values you don’t know.
Version lifecycle
When a new version ships, the previous one moves through two stages:- Deprecated: still routable and fully supported for at least 12 months after its successor ships. Responses carry deprecation and sunset date headers so you can plan the move.
- Retired: the version returns
410 Gone.
404 listing the supported versions.