Skip to content

API Versioning

API response shapes are versioned. Breaking changes require version bump. Additive optional fields are allowed in minor versions.

Versioning Policy

  • Breaking change requires version bump.
  • Additive fields allowed only if optional.
  • Discriminant changes require major bump.

Compatibility Guarantees

ChangeCompatibility
Removing a fieldBreaking
Renaming a fieldBreaking
Changing a discriminant valueBreaking
Adding a new optional fieldAllowed (minor)
Adding a new required fieldBreaking

Breaking-Change Rules

  1. Removed fields require a major version bump.
  2. Renamed fields require a major version bump.
  3. Discriminant changes (e.g. adding/removing union members, changing status or type values) require a major version bump.
  4. New required fields require a major version bump.
  5. Optional new fields are allowed in minor versions.

Contract Scope

The API contract defines wire contract only. It does not define server behavior.

  • Types and discriminated unions
  • JSON schemas
  • Versioning rules

Dependencies

  • majestic-api-contracts: Defines and exports API shapes. Server and clients consume; no ad-hoc types.

Contract version and hash embedded at build time.