{"x402Version":2,"name":"Data Toolkit","description":"Query, diff, patch, merge and flatten JSON — JMESPath queries, RFC 6902 JSON Patch diff/apply, deep merge and flatten/unflatten —","version":"0.1.0","openapi":"https://data.openverbs.com/openapi.json","resources":[{"url":"https://data.openverbs.com/v1/query","method":"POST","description":"Evaluate a JMESPath expression against a JSON value and return the selected/projected result. A malformed expression is rejected before payment.","tags":["query json with jmespath","jmespath api","select json fields","json query expression","extract data from json","filter json data"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.004","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://data.openverbs.com/v1/diff","method":"POST","description":"Compute the RFC 6902 JSON Patch that transforms `source` into `target`. The patch is a minimal array of add/remove/replace operations.","tags":["json patch diff","diff json documents","compare json objects","generate rfc6902 patch","json document changes","json diff api"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.004","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://data.openverbs.com/v1/patch","method":"POST","description":"Apply an RFC 6902 JSON Patch to a JSON document and return the result. An invalid or unresolvable patch (e.g. a failed `test`, or a path that does not exist) is rejected before payment.","tags":["apply json patch","rfc6902 patch api","update json document","json pointer patch","validate json patch","patch json data"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.004","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://data.openverbs.com/v1/merge","method":"POST","description":"Deep-merge an ordered list of JSON documents, left to right. Objects are merged key-by-key; arrays, scalars and null in a later document replace the earlier value (last-wins, no array concatenation).","tags":["deep merge json","merge config objects","combine json documents","last wins merge","json deepmerge api","merge nested data"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.004","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://data.openverbs.com/v1/flatten","method":"POST","description":"Flatten a nested object/array into a single-level object whose keys are the delimited paths to each leaf (default delimiter `.`). Requires an object or array.","tags":["flatten nested json","object path flatten","json to flat object","flatten array object","delimited keys json","flatten data api"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.004","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]},{"url":"https://data.openverbs.com/v1/unflatten","method":"POST","description":"Rebuild a nested object from a single-level object whose keys are delimited paths (default delimiter `.`) — the inverse of flatten. Requires a flat object.","tags":["unflatten json object","flat keys to nested json","expand delimited object","rebuild nested object","inverse json flatten","unflatten data api"],"accepts":[{"scheme":"exact","network":"eip155:8453","price":"$0.004","payTo":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","asset":"USDC"}]}]}