JSON Change Set
Compare JSON snapshots and return only changed fields with hashes, exact counts and configurable ignored paths.
1 credit per call · $0.005 USDC with x402
Sample input
{
"before": {
"price": 20,
"checked_at": "a"
},
"after": {
"price": 25,
"checked_at": "b"
},
"ignore_paths": [
"/checked_at"
]
}Worked sample output
{
"ok": true,
"mode": "json_change_set",
"changed": true,
"change_count": 1,
"changes": [
{
"op": "replace",
"path": "/price",
"before": 20,
"after": 25
}
],
"truncated": false,
"before_sha256": "5adf9685dac0b888d682345e53c7a94c648cc0aff9ab907c49851470ca7d5fd9",
"after_sha256": "0a2ae3be02b8ed73daa3b00ac7c2084f11ad0c73ff90f893150a3aa7102049b1",
"ignored_paths": [
"/checked_at"
],
"limitations": [
"Arrays compare by index. Changes are a report, not an executable JSON Patch."
]
}Worked example using published sample data only. Own-data execution is paid.
Connect in curl
Set BOUNTY_API_KEY privately after your payment is verified. Change the retry key for each new logical request.
curl 'https://bounty-engineer-x402-prod.onrender.com/v1/prepaid/json-change-set' \
-H "Authorization: Bearer $BOUNTY_API_KEY" \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: workflow-request-001' \
-H 'X-Max-Credits: 1' \
--data '{"before":{"price":20,"checked_at":"a"},"after":{"price":25,"checked_at":"b"},"ignore_paths":["/checked_at"]}'Connect in n8n
Download the inactive n8n template. Import it, configure the private Header Auth credential, inspect the sample and run it manually. A new execution creates a new billable request; there is no automatic schedule.
Use an HTTP POST to https://bounty-engineer-x402-prod.onrender.com/v1/prepaid/json-change-set. Send JSON and these headers; store the Bearer token as a private credential.
{
"method": "POST",
"headers": {
"Authorization": "Bearer YOUR_PRIVATE_API_KEY",
"Content-Type": "application/json",
"Idempotency-Key": "UNIQUE_PER_LOGICAL_REQUEST",
"X-Max-Credits": "1"
},
"body": {
"before": {
"price": 20,
"checked_at": "a"
},
"after": {
"price": 25,
"checked_at": "b"
},
"ignore_paths": [
"/checked_at"
]
}
}Reuse a retry key only for the same input. Failed execution returns reserved credits. Full integration and recovery guide · Machine-readable recipe