Versioning

The details of how an API is being versioned with information about how change is being communicated with consumers across multiple channels. Having a formal approach to versioning published and communicated helps lay the ground work for change, but also keeps API consumers aligned with what has changed.

Also known as: API Versioning, SemVer, CalVer

Example

versioning.yaml
- type: Versioning
  url: https://developers.example.com/versioning

Standards

HTTP Headers

HeaderDirectionSpecDescription
Accept request RFC 9110 §12.5.1 Used with versioned media types (e.g. application/vnd.example.v2+json) for content negotiation.
Content-Type response RFC 9110 §8.3 Echoes the negotiated versioned media type.
API-Version request / response De facto Custom header used by some providers (e.g. Microsoft Graph, Stripe) to select an API version.

Media Types

OpenAPI Expression

Link Relations

Governance Rules

Risk & Compliance

Compliance:

Security: Ambiguous versioning lets clients pin to vulnerable behaviour or silently roll forward into untested code paths. Explicit, negotiated versions plus a published compatibility policy reduce regression-driven security incidents.

Tools

Suggested Metrics

Example Implementations

Related Properties

Tags


All Common Properties