Versioning API Contract Versioning: How to Avoid Breaking Integrations
How to record a compatibility promise with SemVer, OpenAPI document versions, and URL or media-type signals, without pretending one of them is required by HTTP.
Technical notes
Schemas
What an API schema constrains in a JSON message, how OpenAPI 3.1 relates to JSON Schema, and which decisions the schema file does not make.
Open this note
Versioning How to record a compatibility promise with SemVer, OpenAPI document versions, and URL or media-type signals, without pretending one of them is required by HTTP.
API contracts How to tell a compatible API change from a breaking one, using JSON Schema keywords and Google's AIP-180 as a published guide rather than a universal law.
Webhooks How to shape a webhook payload using CloudEvents and the Standard Webhooks specification, including identity, signatures, duplicates, and retries.
Schemas How JSON Schema additionalProperties treats names a schema did not list, how that differs from unevaluatedProperties, and when closing an object breaks clients.
Schemas How an OpenAPI 3.1 Schema Object differs from a JSON Schema document, including dialect, added keywords, and the two definitions of integer.
Integration design How RFC 9457 structures an HTTP error body, which parts a program can rely on, and how to change an error contract without stranding clients.
Testing How Pact defines a contract test, how that differs from schema validation and from a joined integration run, and which bugs each one can and cannot show.
API contracts A three-phase sequence, expand then migrate then contract, for changing an API contract while old clients keep working, with rollback called out as its own case.
Schemas Where schema validation belongs in an integration, what JSON Schema Draft 2020-12 actually checks, and how schema drift shows up without a fake metric.