‹ All projects
DesignRelease engineering

API contract drift check

Compares OpenAPI specs between environments and blocks the deploy on a breaking change.

The problem

A field quietly changes type between UAT and production, and nobody notices until a client crashes on it.

How it works

  1. 01Fetch specs
  2. 02Normalise
  3. 03Diff
  4. 04Breaking?
  5. 05Gate

What was hard

  • Telling a real breaking change apart from harmless spec noise.
  • Reporting who is affected, not just which JSON path changed.

The goal

Breaking changes are caught in the pipeline, before a client finds them.

This is a design I worked out on paper — the problem, the approach and the trade-offs. It is not a shipped product.

Built with

OpenAPICI/CDNode.js