apifae diff https://api.acme.dev
Ask the live API whether your mocks are still telling the truth. It reads the workspace that record fills, and patch consumes what it reports.
Comparing against https://api.acme.dev
GET /v1/customers
✓ No drift
GET /v1/invoices
✗ Drift detected:
~ status: 200 → 201
~ $.data[0].line_items[0].unit_amount: Number → String
+ $.data[0].line_items[0].tax_rate (Number)
Summary: 12 checked, 1 drifted, 11 unchanged
- no drift
This endpoint still answers exactly as the mock says it does. That line is the whole point of running this in the morning.
- drift detected
This one does not. The status changed, a field changed type underneath it, and a new field appeared. Named, not just counted.
- summary
Eleven of the twelve endpoints checked still match api.acme.dev. Drift exits non-zero, so this is a gate in CI rather than a report somebody has to remember to read. --json prints the same run for a machine.