Attest tools · Text and JSON compare

Compare JSON objects

Find structural changes between two JSON configuration documents.

1 credit per successful call

Input JSON

{
  "a": "{\"stock\":3,\"active\":true}",
  "b": "{\"stock\":4,\"active\":true}",
  "mode": "json"
}

Captured output JSON

{
  "mode": "json",
  "unit": "values",
  "identical": false,
  "stats": {
    "added": 0,
    "removed": 0,
    "changed": 1,
    "unchanged": 1
  },
  "changes": [
    {
      "path": "/stock",
      "change": "changed",
      "before": 3,
      "after": 4
    }
  ],
  "truncated": false,
  "coarse": false,
  "options": {
    "ignore_whitespace": false,
    "ignore_case": false,
    "context_lines": 3
  },
  "checked_at": "2026-10-20T20:47:47.586Z"
}

API call

curl -s -X POST https://getattest.com.au/api/v1/diff \
  -H "authorization: Bearer $ATTEST_API_KEY" \
  -H "content-type: application/json" \
  --data-raw '{"a":"{\"stock\":3,\"active\":true}","b":"{\"stock\":4,\"active\":true}","mode":"json"}'

Run this call with your own bearer key. Issue an API key.

About this example

The input was validated and run locally through the registered service. The output above is a display preview of the captured service result. File bytes are described instead of printed, and strings longer than 400 characters are truncated; the HTTP API also adds call_id, credits_charged and credits_remaining. Timestamps and generated identifiers will vary.

Source: apps/api/svc/text_diff.mjs

Tool reference and limits · API key guide