{"openapi":"3.1.0","info":{"title":"FHI x402 Revenue API","version":"1.0.0","description":"Pay-per-request utility APIs for autonomous agents. Payments use x402 with USDC on Base mainnet."},"servers":[{"url":"https://polished-truth-c514.fhi-llc-1118.workers.dev"}],"paths":{"/api/v1/package-install-preflight":{"post":{"operationId":"packageInstallPreflight","summary":"Block missing or lookalike npm and PyPI packages before installation","description":"Registry existence, expected-name similarity, and OSV vulnerability preflight for coding agents.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["ecosystem","name"],"properties":{"ecosystem":{"type":"string","enum":["npm","PyPI"]},"name":{"type":"string","minLength":1},"version":{"type":"string"},"expectedName":{"type":"string","minLength":1,"description":"The intended package name; enables lookalike and slopsquat detection."}}},"examples":{"typosquat":{"value":{"ecosystem":"npm","name":"lodahs","expectedName":"lodash"}}}}}},"responses":{"200":{"description":"Package preflight result"},"400":{"description":"Invalid input"},"402":{"description":"x402 payment required"},"503":{"description":"Upstream service unavailable"}}}},"/api/v1/cve-priority-report":{"post":{"operationId":"cvePriorityReport","summary":"Prioritize CVEs using public vulnerability intelligence","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["cves"],"properties":{"cves":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"string","pattern":"^CVE-[0-9]{4}-[0-9]{4,}$"}},"assetExposure":{"type":"string","enum":["internet","internal","unknown"]},"patchSlaHours":{"type":"integer","minimum":1}}},"examples":{"basic":{"value":{"cves":["CVE-2021-44228"],"assetExposure":"internet"}}}}}},"responses":{"200":{"description":"CVE priority report"},"400":{"description":"Invalid input"},"402":{"description":"x402 payment required"}}}},"/api/v1/sec-material-event-delta":{"post":{"operationId":"secMaterialEventDelta","summary":"Find recent SEC 8-K, 6-K, and late filings by ticker or CIK","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"cik":{"type":"string","pattern":"^[0-9]{1,10}$"},"ticker":{"type":"string","pattern":"^[A-Za-z0-9.-]{1,12}$"},"since":{"type":"string","format":"date"}},"required":["since"],"anyOf":[{"required":["cik"]},{"required":["ticker"]}]},"examples":{"basic":{"value":{"ticker":"AAPL","since":"2026-09-01"}}}}}},"responses":{"200":{"description":"SEC filing delta"},"400":{"description":"Invalid input"},"402":{"description":"x402 payment required"}}}},"/api/v1/public-contract-award-delta":{"post":{"operationId":"publicContractAwardDelta","summary":"Search recent US public contract awards","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["since"],"properties":{"since":{"type":"string","format":"date"},"naicsCodes":{"type":"array","maxItems":20,"items":{"type":"string","pattern":"^[0-9]{2,6}$"}},"awardingAgency":{"type":"string","maxLength":120}}},"examples":{"basic":{"value":{"since":"2026-09-01","naicsCodes":["541330"]}}}}}},"responses":{"200":{"description":"Public contract award delta"},"400":{"description":"Invalid input"},"402":{"description":"x402 payment required"}}}},"/api/v1/domain-change-evidence":{"post":{"operationId":"domainChangeEvidence","summary":"Monitor DNS, CAA, and certificate-transparency changes for a domain","description":"The first paid call records a baseline and returns current evidence. Later calls compare against that baseline and return changed records plus certificate-expiry signals.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","examples":["example.com"]}}}}}},"responses":{"200":{"description":"Domain-change evidence"},"400":{"description":"Invalid input"},"402":{"description":"x402 payment required"}}}},"/api/v1/mcp-vendor-due-diligence":{"post":{"operationId":"mcpVendorDueDiligence","summary":"Create an MCP vendor due-diligence dossier before adoption or payment","description":"Combines non-executing live MCP metadata and tool preflight, domain evidence, and optional SEC filing evidence. It does not certify safety, legal compliance, or vendor performance.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["mcpUrl"],"properties":{"mcpUrl":{"type":"string","format":"uri","examples":["https://example.com/mcp"]},"ticker":{"type":"string","examples":["AAPL"]},"cik":{"type":"string","examples":["0000320193"]},"since":{"type":"string","format":"date","examples":["2026-09-01"]}}}}}},"responses":{"200":{"description":"MCP vendor due-diligence dossier"},"400":{"description":"Invalid input"},"402":{"description":"x402 payment required"},"503":{"description":"Upstream evidence source unavailable"}}}},"/api/v1/agent-execute":{"post":{"operationId":"agentExecute","summary":"Autonomous AI Research Agent with Security, SEC, Domain and Contract Tools","description":"Plans and executes a bounded research task. The response includes the completed result and any verified live-tool trace.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["task"],"properties":{"task":{"type":"string","minLength":1,"maxLength":20000},"context":{"type":"string","maxLength":50000},"maxSteps":{"type":"integer","minimum":1,"maximum":4,"default":3}}},"examples":{"cve":{"value":{"task":"Assess whether CVE-2021-44228 needs an urgent patch for an internet-facing service."}}}}}},"responses":{"200":{"description":"Autonomous research result and verified tool trace"},"400":{"description":"Invalid input"},"402":{"description":"x402 payment required"},"503":{"description":"An upstream research source is unavailable"}}}},"/v1/chat/completions":{"post":{"operationId":"chatCompletions","summary":"OpenAI-compatible chat completions","description":"A non-streaming OpenAI-compatible chat-completions endpoint powered by GLM-4.7-Flash.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["messages"],"properties":{"model":{"type":"string","default":"glm-4.7-flash"},"messages":{"type":"array","minItems":1,"items":{"type":"object"}},"temperature":{"type":"number","minimum":0,"maximum":2},"max_tokens":{"type":"integer","minimum":16,"maximum":512},"max_completion_tokens":{"type":"integer","minimum":16,"maximum":512},"tools":{"type":"array","items":{}},"tool_choice":{}}},"examples":{"basic":{"value":{"model":"glm-4.7-flash","messages":[{"role":"user","content":"Summarize the main risk in this report."}]}}}}}},"responses":{"200":{"description":"OpenAI-compatible chat completion"},"400":{"description":"Invalid input or unsupported streaming request"},"402":{"description":"x402 payment required"}}}}}}