{"openapi":"3.1.0","info":{"title":"Umpire API","version":"1.0.0","description":"Signed verdicts on deliverables and payment verified reputation for AI agent commerce. Paid routes use x402 (HTTP 402 + X-PAYMENT retry).","contact":{"email":"contact@vimabrosta.com"}},"servers":[{"url":"https://umpire.vimabrosta.com"}],"paths":{"/v1/verdicts/{tier}":{"post":{"summary":"Purchase a signed verdict (tier: witness $0.25, basic $1, probe $2, sworn $5)","parameters":[{"name":"tier","in":"path","required":true,"schema":{"type":"string","enum":["witness","basic","probe","sworn"]}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["spec"],"properties":{"spec":{"type":"object","description":"{\"checks\":[...]} with 1..10 checks; see /llms-full.txt"},"deliverable":{"type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{}}},"webhook_url":{"type":"string","description":"sworn tier only"},"job_ref":{"type":"string","maxLength":200,"description":"echoed into the signed document (e.g. an ERC-8183 job id)"}}}}}},"responses":{"201":{"description":"basic/probe: signed verdict document, secret, receipt"},"202":{"description":"sworn: pass 1 results, poll link, secret, receipt"},"402":{"description":"x402 payment required; requirements in header and body"},"422":{"description":"invalid spec or URL policy violation; not charged"}}}},"/v1/reputation":{"get":{"summary":"Purchase a signed reputation report ($0.01)","parameters":[{"name":"merchant","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}}],"responses":{"200":{"description":"signed reputation document plus receipt"},"402":{"description":"x402 payment required"},"422":{"description":"invalid merchant address; not charged"}}}},"/v1/feedback":{"post":{"summary":"Submit payment verified feedback (free; payer wallet signature required)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["merchant","payer","tx_hash","outcome","signature"],"properties":{"merchant":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"payer":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"tx_hash":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$"},"outcome":{"type":"string","enum":["fulfilled","partial","failed"]},"would_repeat":{"type":"boolean"},"latency_ms":{"type":"integer","minimum":0},"signature":{"type":"string","description":"EIP-191 personal_sign of the canonical message; recipe in /llms-full.txt"}}}}}},"responses":{"201":{"description":"accepted"},"401":{"description":"signature does not recover to payer"},"409":{"description":"feedback for this transaction already exists"},"422":{"description":"payment not found, payer mismatch, too old, under the amount floor, or self feedback"}}}},"/v1/verdicts/{id}":{"get":{"summary":"Verdict status and signed document (free, Bearer secret)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"status, pass 1 preview or final signed document"},"404":{"description":"unknown id or wrong secret"}}}},"/v1/validate":{"post":{"summary":"Free pre-flight of a spec (no charge, no target fetch)","responses":{"200":{"description":"problems list, URL policy verdicts, spec_hash"}}}},"/v1/find":{"get":{"summary":"Recover sworn verdict ids by spec_hash + webhook","responses":{"200":{"description":"matching ids, never secrets"}}}},"/v1/quote":{"get":{"summary":"Machine readable pricing","responses":{"200":{"description":"pricing manifest"}}}},"/healthz":{"get":{"summary":"Service health","responses":{"200":{"description":"ok"},"503":{"description":"degraded"}}}}}}