561 Group Market

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

  1. Send the request without payment. The server answers 402 Payment Required with a base64 JSON PAYMENT-REQUIRED header holding the amount, asset, network and payee.
  2. Have your wallet sign an EIP-3009 transferWithAuthorization for exactly those terms (an x402 client library does this for you).
  3. Repeat the identical request with the signed payload in the PAYMENT-SIGNATURE header.
  4. The server verifies, runs the operation, settles, and returns 200 with the result and a PAYMENT-RESPONSE header 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