{"openapi":"3.0.3","info":{"title":"402 Clinic","version":"1.0.0","description":"Free diagnostic for failed x402 (HTTP 402) payment payloads. No payment required."},"servers":[{"url":"https://api.mekongtradeintel.com/clinic"}],"paths":{"/diagnose":{"post":{"summary":"Diagnose a failed x402 payment payload","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"payload":{"description":"Payment-Signature payload: JSON object, JSON string, or base64 of the JSON"},"endpoint":{"type":"string","description":"Optional endpoint slug or URL the payment was for (enables amount checks)"}},"required":["payload"]}}}},"responses":{"200":{"description":"Diagnosis: { ok, class, explanation, fix_steps, corrected_template, checked_against }"}}}},"/codegen":{"get":{"summary":"Generate ready-to-paste x402 client code for a fleet endpoint","parameters":[{"name":"endpoint","in":"query","required":true,"schema":{"type":"string"}},{"name":"lang","in":"query","schema":{"type":"string","enum":["js","python","curl"]}},{"name":"guard","in":"query","schema":{"type":"string","enum":["1"]},"description":"Append the spend-cap guard wrapper"}],"responses":{"200":{"description":"{ ok, endpoint, lang, price_usd, code }"}}}},"/guard":{"get":{"summary":"Download the spend-cap guard library (js|python)","parameters":[{"name":"lang","in":"query","schema":{"type":"string","enum":["js","python"]}}],"responses":{"200":{"description":"text/plain library source"}}}},"/rate":{"post":{"summary":"Submit a buyer rating — verified against the on-chain settlement tx","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"endpoint":{"type":"string"},"tx_hash":{"type":"string"},"stars":{"type":"integer","minimum":1,"maximum":5},"comment":{"type":"string"}},"required":["endpoint","tx_hash","stars"]}}}},"responses":{"200":{"description":"Rating stored"},"422":{"description":"Payment not verified on-chain"}}}},"/ratings":{"get":{"summary":"Read tx-verified ratings (per-endpoint or all summaries)","parameters":[{"name":"endpoint","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"{ count, avg, ratings[] }"}}}},"/probe":{"get":{"summary":"Probe an endpoint's payability (402 + payment-requirement checks, no spending)","parameters":[{"name":"endpoint","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"{ pass, checks[], evidence }"}}}},"/creditpack/buy":{"post":{"summary":"Buy a $1.00 prepaid credit pack (x402 payment) — returns a pk_ key once","responses":{"200":{"description":"{ pack_key, balance_usd, tx }"},"402":{"description":"Payment required ($1.00 USDC on Base)"}}}},"/creditpack/balance":{"get":{"summary":"Check a credit pack balance","parameters":[{"name":"key","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"{ balance_usd, balance_atomic }"}}}}}}