{"openapi":"3.1.0","info":{"title":"FreshFact Evidence API","version":"1.0.0","description":"FreshFact creates audit-ready public web evidence receipts with exact normalized text, citation offsets, provenance and integrity data for $0.01 USDC on Base. Output is delivered after payment settlement."},"x-service-status":"active","servers":[{"url":"https://fresh-fact.onrender.com"}],"components":{"securitySchemes":{"x402Payment":{"type":"apiKey","in":"header","name":"PAYMENT-SIGNATURE","description":"x402 v2 payment payload; obtain requirements from an unpaid HTTP 402 response."}}},"paths":{"/api/evidence":{"get":{"summary":"Create an audit-ready evidence receipt for a public web page","description":"The complete deliverable is prepared and validated before x402 payment is requested. Invalid, unavailable, or unusable sources are rejected without payment.","security":[{"x402Payment":[]}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","format":"uri"},"description":"Public HTTP or HTTPS URL to retrieve."},{"name":"maxChars","in":"query","required":false,"schema":{"type":"integer","minimum":1000,"maximum":50000,"default":30000},"description":"Maximum extracted text characters."}],"responses":{"200":{"description":"Evidence receipt with exact normalized text, citation offsets, provenance and integrity hashes"},"400":{"description":"Invalid or unsafe URL"},"402":{"description":"Deliverable prepared successfully; payment required via x402"},"413":{"description":"Source content too large"},"415":{"description":"Unsupported source content type"},"422":{"description":"Source contained no usable deliverable; no payment requested"},"502":{"description":"Unable to retrieve source"},"503":{"description":"Product paused before payment"}}}},"/api/verify":{"post":{"summary":"Find passages related to a claim in supplied source URLs","description":"Lexical matches do not establish whether a claim is true or supported; inspect the cited passage.","security":[{"x402Payment":[]}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"network":"eip155:8453","asset":"USDC"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"claim":{"type":"string","minLength":8,"maxLength":300},"urls":{"type":"array","minItems":1,"maxItems":3,"items":{"type":"string","format":"uri"}}},"required":["claim","urls"]}}}},"responses":{"200":{"description":"Source evidence and related passages"},"400":{"description":"Invalid input; no payment requested"},"402":{"description":"Deliverable prepared successfully; payment required via x402"},"422":{"description":"No relevant passages; no payment requested"},"502":{"description":"Source unavailable; no payment requested"},"503":{"description":"Product paused or preflight busy before payment"}}}},"/api/research":{"post":{"summary":"Search English Wikipedia and retrieve up to three source pages","description":"Coverage is limited to English Wikipedia. Results are not a live-web search or a truth verdict.","security":[{"x402Payment":[]}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"network":"eip155:8453","asset":"USDC"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","minLength":3,"maxLength":300}},"required":["query"]}}}},"responses":{"200":{"description":"Wikipedia results with related passages"},"400":{"description":"Invalid input; no payment requested"},"402":{"description":"Deliverable prepared successfully; payment required via x402"},"422":{"description":"No usable matching research; no payment requested"},"502":{"description":"Search or source unavailable; no payment requested"},"503":{"description":"Product paused or preflight busy before payment"}}}}}}