MEPX
Chapter 9 of 10All chapters

Chapter 9 of 10

Versioning and change

Evolving without breaking callers.

What breaks a client

Removing a field, renaming one, changing a type or making an optional input required. Adding a new optional field is safe, and that asymmetry shapes every decision.

  • Version in the path, such as /v1/, when a breaking change is unavoidable.
  • Deprecate with a date and a header before removing anything.

Documentation

An OpenAPI description generates docs, clients and tests from one source. Documentation kept separately from the code is documentation that will be wrong within a month.