RFC 6902 JSON Patch Apply
Apply all six RFC 6902 operations to supplied JSON, using RFC 6901 string paths. Returns document presence and the new value; removing the root is distinct from null. No remote resource or database writes. Invalid/inapplicable patches are refused before payment. Ordinary finite JSON, valid Unicode; 64 KiB canonical request/result, depth 64, 8192 nodes, 4096 array elements.
- Price
- from $0.0012 USDC per request (starting price; the 402 response quotes the exact amount for your input)
- Network
- Base mainnet,
eip155:8453, settled in USDC through the Coinbase CDP facilitator - Method and URL
POST https://market.561.group/v1/data/json-patch-apply- Response type
application/json- Seller
- Causeway Services (561 Group)
Input contract
Input that fails this contract is refused with a 4xx status before any payment is requested.
{
"maxBytes": 1048576,
"bodySchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"value": {},
"patch": {
"type": "array",
"maxItems": 128,
"items": {
"type": "object",
"required": [
"op",
"path"
],
"properties": {
"op": {
"type": "string",
"enum": [
"add",
"remove",
"replace",
"move",
"copy",
"test"
]
},
"path": {
"type": "string",
"description": "RFC 6901 string pointer; empty string addresses the root. URI fragments are not patch paths."
},
"from": {
"type": "string",
"description": "Required by move and copy; RFC 6901 string pointer."
},
"value": {
"description": "Required by add, replace and test; any admitted JSON value."
}
},
"description": "RFC 6902 operation. Undefined operation members are ignored. Conditional value/from requirements are enforced by native admission."
}
}
},
"required": [
"value",
"patch"
]
}
}
Example request
{
"method": "POST",
"url": "https://market.561.group/v1/data/json-patch-apply",
"headers": {
"accept": "application/json",
"content-type": "application/json"
},
"body": {
"value": {
"count": 1,
"old": true
},
"patch": [
{
"op": "test",
"path": "/count",
"value": 1
},
{
"op": "replace",
"path": "/count",
"value": 2
},
{
"op": "remove",
"path": "/old"
}
]
}
}
Output
{
"schema": {
"type": "object",
"required": [
"present"
],
"additionalProperties": false,
"properties": {
"present": {
"type": "boolean",
"description": "false means the document was removed; true means value is present, including a JSON null."
},
"value": {
"description": "Present only when present is true; the complete resulting JSON value."
}
}
},
"example": {
"present": true,
"value": {
"count": 2
}
}
}
How to buy with x402
- Send the request without payment. The server answers
402 Payment Requiredwith a base64 JSONPAYMENT-REQUIREDheader holding the amount, asset, network and payee. - Have your wallet sign an EIP-3009
transferWithAuthorizationfor exactly those terms (an x402 client library does this for you). - Repeat the identical request with the signed payload in the
PAYMENT-SIGNATUREheader. - The server verifies, runs the operation, settles, and returns
200with the result and aPAYMENT-RESPONSEheader carrying the settlement receipt.
Read the price without paying
curl --include --request POST --header 'accept: application/json' --header 'content-type: application/json' --data-raw '{"value":{"count":1,"old":true},"patch":[{"op":"test","path":"/count","value":1},{"op":"replace","path":"/count","value":2},{"op":"remove","path":"/old"}]}' --url 'https://market.561.group/v1/data/json-patch-apply'
This request authorizes nothing; it returns the live payment terms. Read the full explanation of x402.
Machine-readable
- /.well-known/x402: x402 discovery document for every offer
- /v1/catalog: full catalog with contracts and examples
- /llms.txt: the market in llms.txt form
- services.561.group: Causeway Services