Every agent and developer hits broken or confusing JSON
Every agent and developer hits broken or confusing JSON. This tool handles the common headaches in one place: check whether JSON is valid with the exact error location, repair near-JSON with typos, pretty-print or minify, pull values out with a path expression, diff two documents, convert to and from YAML or CSV, produce a byte-stable canonical form for hashing, validate against a schema, and report size and structure. Same input, same output, no side effects.
10000 (raw units)
price
3
calls / 30d
3
unique payers
2026-09-14
updated
Provider
json-suite.underscoredone.com · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "10000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "10000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"data": {
"order": {
"id": "A-1029",
"items": [
{
"qty": 2,
"sku": "BIL-CUE-07"
},
{
"qty": 5,
"sku": "BIL-CHALK-01"
}
]
}
},
"op": "query",
"options": {
"jsonpath": "$.order.items[*].sku"
}
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"api_version": "1.0.0",
"match_count": 2,
"matches": [
{
"path": "$.order.items[0].sku",
"value": "BIL-CUE-07"
},
{
"path": "$.order.items[1].sku",
"value": "BIL-CHALK-01"
}
],
"op": "query",
"valid": true
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"data": {
"description": "The JSON value you want to work with - can be an object, array, string, number, or anything valid. Required for all operations except validate and repair (which use data_raw instead).",
"type": "object"
},
"data_raw": {
"description": "The raw text you want to validate or repair. Use this instead of data only for the validate and repair operations, because those need to see the original broken text exactly as-is.",
"type": "string"
},
"op": {
"description": "What you want to do. Choose one of: validate, repair, format, canonicalize, convert, query, diff, patch, schema, stats.",
"type": "string"
},
"options": {
"description": "Extra settings for the chosen operation. For example: indent, sort_keys, jsonpath, pointer, to (for convert), schema, data_b (for diff/patch). All optional - the API uses sensible defaults.",
"type": "object"
}
},
"required": [
"op"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"api_version": {
"type": "string"
},
"match_count": {
"type": "integer"
},
"matches": {
"items": {
"type": "object"
},
"type": "array"
},
"op": {
"type": "string"
},
"valid": {
"type": "boolean"
}
},
"required": [
"api_version",
"op",
"valid",
"matches",
"match_count"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://json-suite.underscoredone.com/json" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://json-suite.underscoredone.com/json");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://json-suite.underscoredone.com/json")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/3632.json, and this resource appears in /discovery/resources and /discovery/search.