← DriftWire home

Detect breaking changes in your OpenAPI spec before they reach production.

A breaking change is any API change that breaks an existing client. They're easy to introduce and easy to miss in review — and they're exactly what driftwire diff catches automatically.

What counts as a breaking change

OpenAPI doesn't flag breaking changes for you — a diff tool must. The changes that break real clients:

ChangeWhy it breaks clients
Removed endpoint or HTTP methodCalls start returning 404/405.
Removed field / parameter / enum valueRequest or response payloads change shape.
Added a required fieldExisting requests are rejected as invalid.
Changed a field's type or formatClient deserialization fails silently.
Removed or narrowed a response codeClient error handling paths break.

Why they slip through review

Spec diffs are dense and easy to misread by eye. A single renamed enum value or a required added deep in a nested schema is invisible in a normal PR. Teams that catch these manually usually catch them after a customer reports the outage.

Detect them automatically in CI

# compare two spec versions and fail on any breaking change
driftwire diff openapi@v1.yaml openapi@v2.yaml
# exit 1 when a breaking change is found — blocks the merge

It also runs as a GitHub Action (Haswell119/driftwire@main): drop it into on: [pull_request] and every spec change is gated automatically.

Try it right now

Paste two OpenAPI specs into the live demo and see every breaking change, severity-colored:

▶ Open the live demo View source (MIT)

Related: API drift detection — is your live API still matching its spec?