Skip to content

Response Diffing

See what changed between two runs.

Save a run as a labelled baseline, then compare later runs — or another environment — against it. curl-runner reports every added, removed and changed field, in the terminal, as JSON or as Markdown.

product.yaml
# curl-runner product.yaml --diff-save --diff-label staging
# curl-runner product.yaml --diff --diff-compare staging
global:
  diff:
    dir: __baselines__
    outputFormat: markdown

requests:
  - name: Get product
    url: https://api.example.com/products/7
    diff: true

Benefits

  • Labelled baselines

    Save runs as staging, production or v1.4 and compare any run against any label.

  • Offline comparison

    curl-runner diff staging production compares two stored baselines without sending a request.

  • Reports for humans and tools

    Terminal output while you work, JSON for scripts, Markdown to paste into a pull request.

Good for

  1. Checking staging matches production
  2. Reviewing what a refactor changed in responses
  3. Catching unannounced upstream API changes
  4. Attaching a response diff to a pull request