{"openapi":"3.1.0","info":{"title":"Source Claim Proof","version":"1.0.0","description":"Verify whether a supplied public source page currently supports one atomic factual claim. Returns supported, contradicted, or insufficient-evidence plus source snippets, or explicit blocked/unreachable/unsupported states. Not a general fact checker or web search."},"servers":[{"url":"https://source-claim-proof.mattskowronis.workers.dev"}],"paths":{"/health":{"get":{"summary":"Health","responses":{"200":{"description":"ok"}}}},"/openapi.json":{"get":{"summary":"OpenAPI","responses":{"200":{"description":"schema"}}}},"/.well-known/agent-card.json":{"get":{"summary":"A2A Agent Card","responses":{"200":{"description":"card"}}}},"/v1/verify":{"post":{"summary":"Verify one atomic claim against one public source","x-402":{"price":"$0.01","network":"eip155:8453"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["url","claim"],"properties":{"url":{"type":"string","maxLength":2048,"description":"Public HTTP or HTTPS source page URL to inspect."},"claim":{"type":"string","minLength":3,"maxLength":500,"description":"One atomic factual assertion to check against that source only."}}},"example":{"url":"https://example.com/event","claim":"The event begins at 7:00 PM."}}}},"responses":{"200":{"description":"Claim evaluation","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["verdict","claim","source_url","final_url","source_status","evidence","reasoning_summary","retrieval_method","retrieved_at","content_hash","service_version"],"properties":{"verdict":{"type":"string","enum":["supported","contradicted","insufficient_evidence"]},"claim":{"type":"string"},"source_url":{"type":"string"},"final_url":{"type":"string"},"source_status":{"type":"string","enum":["verified","blocked","unreachable","unsupported","insufficient_evidence"]},"evidence":{"type":"array","maxItems":3,"items":{"type":"object","additionalProperties":false,"required":["text","location","evidence_type","polarity"],"properties":{"text":{"type":"string","maxLength":240},"location":{"type":["string","null"]},"evidence_type":{"type":"string","enum":["visible_text","heading","json_ld","meta","status"]},"polarity":{"type":"string","enum":["supports","contradicts","neutral"]}}}},"reasoning_summary":{"type":"string","maxLength":400},"retrieval_method":{"type":"string","enum":["direct_http","browser_run","official_api","unsupported"]},"retrieved_at":{"type":"string"},"content_hash":{"type":"string"},"service_version":{"type":"string"}}},"example":{"verdict":"supported","claim":"The event begins at 7:00 PM.","source_url":"https://example.com/event","final_url":"https://example.com/event","source_status":"verified","evidence":[{"text":"Doors 6:30 PM. Program begins at 7:00 PM.","location":"Schedule","evidence_type":"visible_text","polarity":"supports"}],"reasoning_summary":"Visible schedule text states the program begins at 7:00 PM.","retrieval_method":"direct_http","retrieved_at":"2026-08-18T22:00:00.000Z","content_hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","service_version":"1.0.0"}}}},"400":{"description":"Invalid request"},"402":{"description":"Payment required"}}}}}}