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.