{"openapi":"3.1.0","info":{"title":"Scrooge x402 Tool Mill","version":"0.1.0","description":"Pay-per-call web tools. Paid /v1 routes use x402 (USDC)."},"servers":[{"url":"https://scrooge-x402-tool-mill.vercel.app"}],"paths":{"/v1/page-meta":{"post":{"operationId":"post_page_meta","summary":"Extract public HTML page metadata for agents: title, description, canonical URL, Open Graph image, language, and a ~500-character plaintext excerpt. POST JSON {\"url\":\"https://example.com\"}. Public http(s) only. $0.002 USDC on Base (eip155:8453). No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.002","priceUsdc":0.002,"amount":"2000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}}},"get":{"operationId":"get_page_meta","summary":"x402 GET alias for page-meta. Same $0.002 USDC challenge on Base (eip155:8453). Unpaid probe returns 402. Paid ?url= returns title, description, canonical, ogImage, language, excerpt (no url field). Workhorse is POST. No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.002","priceUsdc":0.002,"amount":"2000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"}}]}},"/v1/readable-text":{"post":{"operationId":"post_readable_text","summary":"Extract the main readable plaintext of a public HTML page: final url, title, text (capped), wordCount, language, and fetchedAt. POST JSON {\"url\":\"https://example.com\",\"maxChars\":12000}. Optional maxChars is an integer 1–12000 (default 12000). Public http(s) only; private hosts blocked. $0.05 USDC on Base (eip155:8453). No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.05","priceUsdc":0.05,"amount":"50000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}}},"get":{"operationId":"get_readable_text","summary":"x402 GET alias for readable-text. Same $0.05 USDC challenge on Base (eip155:8453). Unpaid probe returns 402. Paid ?url=&maxChars= returns url, title, text, wordCount, language, fetchedAt. Optional maxChars 1–12000. Workhorse is POST. No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.05","priceUsdc":0.05,"amount":"50000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"}}]}},"/v1/link-graph":{"post":{"operationId":"post_link_graph","summary":"Extract the outbound link graph of a public HTML page: final url, title, unique links as {href, text?}, and count. POST JSON {\"url\":\"https://example.com\",\"maxLinks\":50}. Optional maxLinks is an integer 1–50 (default 50). Skips #, javascript, mailto, tel, and data links. Public http(s) only. $0.03 USDC on Base (eip155:8453). No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.03","priceUsdc":0.03,"amount":"30000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}}},"get":{"operationId":"get_link_graph","summary":"x402 GET alias for link-graph. Same $0.03 USDC challenge on Base (eip155:8453). Unpaid probe returns 402. Paid ?url=&maxLinks= returns url, title, links[{href,text?}], count. Optional maxLinks 1–50. Workhorse is POST. No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.03","priceUsdc":0.03,"amount":"30000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"}}]}},"/v1/change-fingerprint":{"post":{"operationId":"post_change_fingerprint","summary":"Fingerprint a public page so agents can detect changes: final url, etag, lastModified, sha256 contentHash of normalized visible text, raw byteLength, and fetchedAt. POST JSON {\"url\":\"https://example.com\"}. Public http(s) only; private hosts blocked. $0.04 USDC on Base (eip155:8453). No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.04","priceUsdc":0.04,"amount":"40000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}}},"get":{"operationId":"get_change_fingerprint","summary":"x402 GET alias for change-fingerprint. Same $0.04 USDC challenge on Base (eip155:8453). Unpaid probe returns 402. Paid ?url= returns url, etag, lastModified, contentHash, byteLength, fetchedAt. Workhorse is POST. No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.04","priceUsdc":0.04,"amount":"40000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"}}]}},"/v1/batch-meta":{"post":{"operationId":"post_batch_meta","summary":"Batch page-meta for 1–10 public URLs in one payment. POST JSON {\"urls\":[\"https://example.com\"]}. Returns {results:[{url,ok:true,meta}|{url,ok:false,error}]}. Each meta has title, description, canonical, ogImage, language, and a ~500-character excerpt. One URL failing does not fail the batch. $0.15 USDC on Base (eip155:8453). No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.15"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.15","priceUsdc":0.15,"amount":"150000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}}},"get":{"operationId":"get_batch_meta","summary":"x402 GET probe for batch-meta. Same $0.15 USDC challenge on Base (eip155:8453). Workhorse is POST JSON {\"urls\":[\"https://...\"]} (1–10). Success body is {results:[{url,ok,meta|error}]}. No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.15"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.15","priceUsdc":0.15,"amount":"150000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"}}]}},"/v1/structured-data":{"post":{"operationId":"post_structured_data","summary":"Extract schema.org structured data from a public HTML page: JSON-LD (@graph flattened), top-level microdata, and Open Graph / Twitter meta. Normalizes Product/Offer, Article, Organization, Event, FAQ, and breadcrumbs. POST JSON {\"url\":\"https://example.com\"}. No structured data is HTTP 200 with empty arrays, not an error. Public http(s) only. $0.01 USDC on Base (eip155:8453). No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.01","priceUsdc":0.01,"amount":"10000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}}},"get":{"operationId":"get_structured_data","summary":"x402 GET alias for structured-data. Same $0.01 USDC challenge on Base (eip155:8453). Unpaid probe returns 402. Paid ?url= returns url, finalUrl, types, entities, jsonLd, openGraph, counts, fetchedAt. Workhorse is POST. No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.01","priceUsdc":0.01,"amount":"10000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"}}]}},"/v1/company-card":{"post":{"operationId":"post_company_card","summary":"Public-record company profile for a domain: legal name, domain age, registrar, LEI, and social links. Merges homepage Organization JSON-LD, RDAP, GLEIF, and Wikidata. Each filled field names its source. POST JSON {\"domain\":\"coinbase.com\"} or {\"url\":\"https://www.coinbase.com\"}. Nothing found is HTTP 200 with nulls, not an error. $0.03 USDC on Base (eip155:8453). No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.03","priceUsdc":0.03,"amount":"30000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}}},"get":{"operationId":"get_company_card","summary":"x402 GET alias for company-card. Same $0.03 USDC challenge on Base (eip155:8453). Unpaid probe returns 402. Paid ?domain= returns domain, name, legalName, description, logo, sameAs, registrar, domainCreated, domainAgeDays, lei, country, wikidataId, sources, fetchedAt. Workhorse is POST. No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.03","priceUsdc":0.03,"amount":"30000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"}}]}},"/v1/watch":{"post":{"operationId":"post_watch","summary":"Watch one public page for 7 days. Checks hourly. When the content hash changes, POST {watch_id,url,old_fingerprint,new_fingerprint,changed_at} to your https callback (5s timeout, one retry). POST JSON {\"url\":\"https://example.com\",\"callback_url\":\"https://example.com/hook\"}. Returns {watch_id,url,expires,status_url}. Free status is GET /v1/watch/:id and does not show the callback. At 500 active watches, POST returns 503 before payment. $0.10 USDC on Base (eip155:8453). No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.10","priceUsdc":0.1,"amount":"100000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}}},"get":{"operationId":"get_watch","summary":"x402 GET probe for watch. Same $0.10 USDC challenge on Base (eip155:8453). Unpaid probe returns 402. Create a watch with POST JSON {\"url\":\"https://example.com\",\"callback_url\":\"https://example.com/hook\"}. Free status is GET /v1/watch/:id. No API key.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706"},"x-payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetName":"USDC","payTo":"0xfE2353C808F2409cCb81508005A62cef29457706","price":"$0.10","priceUsdc":0.1,"amount":"100000"},"responses":{"200":{"description":"Success (after x402 payment)","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}},"parameters":[{"name":"url","in":"query","required":false,"schema":{"type":"string"}}]}}}}