{"openapi":"3.1.0","info":{"title":"Nova Company Intelligence & Agent Reliability API","version":"0.4.0","summary":"Paid x402 utilities for company research and AI-output recovery.","description":"Paid x402 v2 API for compact company snapshots, source-linked company research, cited public-source memos, and deterministic recovery of malformed AI-agent output. Configured network: eip155:8453. Agent output recovery is $0.01. Company snapshots are $0.03. Company intelligence reports are $0.25. Cited research memos are $0.99. Prices are fixed exact USDC payments. Call without a payment header first and follow the HTTP 402 PAYMENT-REQUIRED challenge. MCP Streamable HTTP is at https://nova-agent-output-recovery.onrender.com/mcp. The free nova_catalog tool lists prices. Paid MCP tools return an x402 payment-required tool result until payment is verified and settled.","contact":{"name":"Jessica Espinal","email":"jessicaespinal777@gmail.com","url":"https://nova-agent-output-recovery.onrender.com"},"x-guidance":"NOVA is a paid x402 v2 API. There is no API key. Use POST /api/agent-output-recovery ($0.01) when LLM or tool-call output is malformed or fails a JSON Schema. Use POST /api/company-snapshot ($0.03) when you have a public company website and need a fast compact profile with 3 to 5 source URLs. Use POST /api/company-intelligence-report ($0.25) when you have a public company website and need a source-linked report. Use POST /v1/research-brief ($0.99) when you need a cited public-source decision memo with a claim/evidence matrix. MCP agents can POST https://nova-agent-output-recovery.onrender.com/mcp (Streamable HTTP). nova_catalog is free. Paid tools are recover_agent_output ($0.01), company_snapshot ($0.03), company_intelligence_report ($0.25), and cited_research_brief ($0.99). An unpaid tools/call returns a payment-required tool result, not an HTTP 402. POST the JSON body with no payment header. On HTTP 402, base64-decode PAYMENT-REQUIRED, pay accepts[0] (exact USDC on eip155:8453), and retry with PAYMENT-SIGNATURE. price.amount in this document is decimal USD. The 402 amount is atomic USDC (6 decimals): $0.01 is 10000, $0.03 is 30000, $0.25 is 250000, and $0.99 is 990000. The 402 challenge is authoritative. Read https://nova-agent-output-recovery.onrender.com/llms.txt before calling. Do not use a company snapshot or report as the sole basis for a legal, financial, credit, employment, insurance, or investment decision."},"externalDocs":{"description":"Agent usage guide (llms.txt)","url":"https://nova-agent-output-recovery.onrender.com/llms.txt"},"servers":[{"url":"https://nova-agent-output-recovery.onrender.com","description":"Public base URL for this deployment."}],"tags":[{"name":"AI agents","description":"Tools an agent can call directly."},{"name":"company intelligence","description":"Source-linked public-web company research."},{"name":"research","description":"Cited public-source decision memos."},{"name":"structured output","description":"JSON repair and schema validation."},{"name":"Discovery","description":"Free documents for agents and registries. No payment."}],"paths":{"/v1/research-brief":{"post":{"operationId":"createCitedResearchDecisionMemo","summary":"Build a cited research decision memo from public sources","description":"Create a cited research decision memo from public sources. Accepts a research question plus an optional company, domain, time window, and depth. Returns an executive answer, 5 to 8 cited public source URLs, a claim/evidence matrix, conflicting evidence, confidence levels, risks and unknowns, and three next research actions as JSON and Markdown. For business, technical, and general public research. Refuses private-person dossiers, fabricated citations, restricted scraping, trading signals, and automated medical, legal, financial, employment, or insurance decisions.\n\nUse this when an agent needs an executive answer, 5 to 8 cited public URLs, a claim/evidence matrix, conflicting evidence, confidence, risks, and three next research actions. Fixed x402 price: $0.99 (990000 atomic USDC units) via scheme \"exact\" on eip155:8453, paid to 0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f. Payment is settled only after a completed memo. A missing provider key, a guardrail refusal, or fewer than five public sources returns an error and is not charged.","tags":["research","decision memo","citations","company intelligence","AI agents"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.990000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"question":{"type":"string","minLength":8,"maxLength":2000,"description":"Public business, technical, or general research question the memo should answer with cited sources."},"company":{"type":"string","minLength":1,"maxLength":200,"description":"Optional company or organization name used to focus public-source retrieval."},"domain":{"type":"string","minLength":4,"maxLength":2048,"description":"Optional public company domain or website, such as https://example.com."},"time_window":{"type":"string","enum":["24h","day","7d","week","30d","month","90d","1y","year","all"],"description":"Optional evidence window. Defaults to year. 90d is applied as a query constraint."},"depth":{"type":"string","enum":["quick","standard","deep"],"description":"Optional retrieval depth. Defaults to standard."}},"required":["question"]},"example":{"question":"What public evidence describes Northwind's payments product and its Contoso partnership?","company":"Northwind","domain":"https://www.northwind.example","time_window":"year","depth":"standard"}}}},"responses":{"200":{"description":"Cited research decision memo with JSON fields and Markdown.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["complete"]},"generatedAt":{"type":"string"},"request":{"type":"object"},"executiveAnswer":{"type":"string"},"markdown":{"type":"string"},"sources":{"type":"array","minItems":5,"maxItems":8,"items":{"type":"object"}},"claimEvidenceMatrix":{"type":"array","items":{"type":"object"}},"conflictingEvidence":{"type":"array","items":{"type":"object"}},"confidence":{"type":"object"},"risksAndUnknowns":{"type":"array","items":{"type":"string"}},"nextResearchActions":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"string"}},"research":{"type":"object"}},"required":["status","generatedAt","request","executiveAnswer","markdown","sources","claimEvidenceMatrix","conflictingEvidence","confidence","risksAndUnknowns","nextResearchActions","research"]},"example":{"status":"complete","generatedAt":"2026-07-26T00:00:00.000Z","request":{"question":"What public evidence describes Northwind's payments product and its Contoso partnership?","company":"Northwind","domain":"northwind.example","timeWindow":"year","providerTimeRange":"year","depth":"standard"},"executiveAnswer":"Six public sources describe Northwind's payments product. The company site says it supports card checkout for merchants [s2], while independent reporting disagrees about a Contoso partnership [s1][s5]. Overall confidence is medium. This memo is research triage, not a financial decision.","markdown":"# Cited Research Decision Memo\n\n## Executive answer\nSix public sources describe Northwind's payments product.\n","sources":[{"id":"s1","sourceType":"external","title":"Northwind payments overview","url":"https://www.northwind.example/payments","snippet":"Northwind announced a partnership with Contoso that expanded its payments product in 2026.","score":0.91,"confidence":"high","publishedDate":"2026-06-01","domain":"northwind.example"},{"id":"s2","sourceType":"company-owned","title":"About Northwind","url":"https://www.northwind.example/about","snippet":"Northwind builds checkout software for retailers.","score":0.88,"confidence":"high","publishedDate":null,"domain":"northwind.example"},{"id":"s3","sourceType":"company-owned","title":"Product page","url":"https://www.northwind.example/product","snippet":"The payments product supports card checkout for merchants.","score":0.84,"confidence":"high","publishedDate":"2026-03-01","domain":"northwind.example"},{"id":"s4","sourceType":"external","title":"Industry journal","url":"https://journal.example.org/payments-2026","snippet":"Public filings describe Northwind payments as merchant checkout software.","score":0.81,"confidence":"high","publishedDate":"2026-05-12","domain":"journal.example.org"},{"id":"s5","sourceType":"external","title":"Trade press","url":"https://news.example.org/northwind-contoso","snippet":"Northwind denied a partnership with Contoso and said the payments product was not expanded.","score":0.77,"confidence":"high","publishedDate":"2026-06-04","domain":"news.example.org"}],"claimEvidenceMatrix":[{"claimId":"c1","claim":"Northwind announced a partnership with Contoso that expanded its payments product in 2026.","evidence":"Northwind announced a partnership with Contoso that expanded its payments product in 2026.","sourceIds":["s1"],"sourceUrls":["https://www.northwind.example/payments"],"confidence":"high"}],"conflictingEvidence":[{"topic":"partnership, contoso, payments","summary":"Retrieved public sources overlap but take opposing positions.","sourceUrls":["https://www.northwind.example/payments","https://news.example.org/northwind-contoso"],"statements":[{"sourceUrl":"https://www.northwind.example/payments","evidence":"Northwind announced a partnership with Contoso that expanded its payments product in 2026."},{"sourceUrl":"https://news.example.org/northwind-contoso","evidence":"Northwind denied a partnership with Contoso and said the payments product was not expanded."}]}],"confidence":{"level":"medium","rationale":"Public sources span more than one domain, with at least one unresolved disagreement."},"risksAndUnknowns":["Public web sources can be incomplete, biased, or outdated.","Retrieved sources disagree about the Contoso partnership."],"nextResearchActions":["Open https://www.northwind.example/payments and verify the lead claim against the full page.","Compare https://www.northwind.example/payments with https://news.example.org/northwind-contoso before relying on either partnership claim.","Check the lowest-confidence source against a primary filing and record what remains unknown."],"research":{"provider":"Tavily","searches":2,"creditsUsed":2,"responseTimeMs":1600,"cacheHit":false,"requestIds":["broad-1","focused-1"],"retrievedSourceCount":5,"citedSourceCount":5}}}}},"400":{"description":"Invalid request, or a private-person, high-stakes, fabrication, or restricted-access refusal.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"Private-person dossiers and personal-data enrichment are not available.","code":"PRIVATE_PERSON_DOSSIER"}}}},"402":{"description":"Payment Required. The response body is {}. Decode the PAYMENT-REQUIRED header as base64 JSON (x402 v2) and pay accepts[0]: scheme \"exact\", network eip155:8453, amount 990000 atomic USDC units ($0.99), payTo 0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f. Retry the same request with a PAYMENT-SIGNATURE header. OpenAPI price.amount is decimal USD; the header amount is atomic units. The live header is authoritative if it differs from this example, and it also includes extensions.bazaar.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired JSON. This header is the canonical 402 challenge.","required":true,"schema":{"type":"string","contentEncoding":"base64","contentMediaType":"application/json"},"example":"eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IFJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjoiaHR0cHM6Ly9ub3ZhLWFnZW50LW91dHB1dC1yZWNvdmVyeS5vbnJlbmRlci5jb20vdjEvcmVzZWFyY2gtYnJpZWYiLCJkZXNjcmlwdGlvbiI6IkNyZWF0ZSBhIGNpdGVkIHJlc2VhcmNoIGRlY2lzaW9uIG1lbW8gZnJvbSBwdWJsaWMgc291cmNlcy4gQWNjZXB0cyBhIHJlc2VhcmNoIHF1ZXN0aW9uIHBsdXMgYW4gb3B0aW9uYWwgY29tcGFueSwgZG9tYWluLCB0aW1lIHdpbmRvdywgYW5kIGRlcHRoLiBSZXR1cm5zIGFuIGV4ZWN1dGl2ZSBhbnN3ZXIsIDUgdG8gOCBjaXRlZCBwdWJsaWMgc291cmNlIFVSTHMsIGEgY2xhaW0vZXZpZGVuY2UgbWF0cml4LCBjb25mbGljdGluZyBldmlkZW5jZSwgY29uZmlkZW5jZSBsZXZlbHMsIHJpc2tzIGFuZCB1bmtub3ducywgYW5kIHRocmVlIG5leHQgcmVzZWFyY2ggYWN0aW9ucyBhcyBKU09OIGFuZCBNYXJrZG93bi4gRm9yIGJ1c2luZXNzLCB0ZWNobmljYWwsIGFuZCBnZW5lcmFsIHB1YmxpYyByZXNlYXJjaC4gUmVmdXNlcyBwcml2YXRlLXBlcnNvbiBkb3NzaWVycywgZmFicmljYXRlZCBjaXRhdGlvbnMsIHJlc3RyaWN0ZWQgc2NyYXBpbmcsIHRyYWRpbmcgc2lnbmFscywgYW5kIGF1dG9tYXRlZCBtZWRpY2FsLCBsZWdhbCwgZmluYW5jaWFsLCBlbXBsb3ltZW50LCBvciBpbnN1cmFuY2UgZGVjaXNpb25zLiIsIm1pbWVUeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LCJhY2NlcHRzIjpbeyJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJlaXAxNTU6ODQ1MyIsImFtb3VudCI6Ijk5MDAwMCIsInBheVRvIjoiMHg3Y0JlMTc3RjE0ZjllQTM0RjgwMDMzYTc5ZjA2NEI0OUMxNUVFZTZmIiwibWF4VGltZW91dFNlY29uZHMiOjMwMCwiYXNzZXQiOiIweDgzMzU4OWZDRDZlRGI2RTA4ZjRjN0MzMkQ0ZjcxYjU0YmRBMDI5MTMiLCJleHRyYSI6eyJuYW1lIjoiVVNEIENvaW4iLCJ2ZXJzaW9uIjoiMiJ9fV0sImV4dGVuc2lvbnMiOnsiYmF6YWFyIjp7ImluZm8iOnsiaW5wdXQiOnsidHlwZSI6Imh0dHAiLCJtZXRob2QiOiJQT1NUIiwiYm9keVR5cGUiOiJqc29uIiwiYm9keSI6eyJxdWVzdGlvbiI6IldoYXQgcHVibGljIGV2aWRlbmNlIGRlc2NyaWJlcyBOb3J0aHdpbmQncyBwYXltZW50cyBwcm9kdWN0IGFuZCBpdHMgQ29udG9zbyBwYXJ0bmVyc2hpcD8iLCJjb21wYW55IjoiTm9ydGh3aW5kIiwiZG9tYWluIjoiaHR0cHM6Ly93d3cubm9ydGh3aW5kLmV4YW1wbGUiLCJ0aW1lX3dpbmRvdyI6InllYXIiLCJkZXB0aCI6InN0YW5kYXJkIn19LCJvdXRwdXQiOnsidHlwZSI6Impzb24iLCJleGFtcGxlIjp7InN0YXR1cyI6ImNvbXBsZXRlIiwiZ2VuZXJhdGVkQXQiOiIyMDI2LTA3LTI2VDAwOjAwOjAwLjAwMFoiLCJyZXF1ZXN0Ijp7InF1ZXN0aW9uIjoiV2hhdCBwdWJsaWMgZXZpZGVuY2UgZGVzY3JpYmVzIE5vcnRod2luZCdzIHBheW1lbnRzIHByb2R1Y3QgYW5kIGl0cyBDb250b3NvIHBhcnRuZXJzaGlwPyIsImNvbXBhbnkiOiJOb3J0aHdpbmQiLCJkb21haW4iOiJub3J0aHdpbmQuZXhhbXBsZSIsInRpbWVXaW5kb3ciOiJ5ZWFyIiwicHJvdmlkZXJUaW1lUmFuZ2UiOiJ5ZWFyIiwiZGVwdGgiOiJzdGFuZGFyZCJ9LCJleGVjdXRpdmVBbnN3ZXIiOiJTaXggcHVibGljIHNvdXJjZXMgZGVzY3JpYmUgTm9ydGh3aW5kJ3MgcGF5bWVudHMgcHJvZHVjdC4gVGhlIGNvbXBhbnkgc2l0ZSBzYXlzIGl0IHN1cHBvcnRzIGNhcmQgY2hlY2tvdXQgZm9yIG1lcmNoYW50cyBbczJdLCB3aGlsZSBpbmRlcGVuZGVudCByZXBvcnRpbmcgZGlzYWdyZWVzIGFib3V0IGEgQ29udG9zbyBwYXJ0bmVyc2hpcCBbczFdW3M1XS4gT3ZlcmFsbCBjb25maWRlbmNlIGlzIG1lZGl1bS4gVGhpcyBtZW1vIGlzIHJlc2VhcmNoIHRyaWFnZSwgbm90IGEgZmluYW5jaWFsIGRlY2lzaW9uLiIsIm1hcmtkb3duIjoiIyBDaXRlZCBSZXNlYXJjaCBEZWNpc2lvbiBNZW1vXG5cbiMjIEV4ZWN1dGl2ZSBhbnN3ZXJcblNpeCBwdWJsaWMgc291cmNlcyBkZXNjcmliZSBOb3J0aHdpbmQncyBwYXltZW50cyBwcm9kdWN0LlxuIiwic291cmNlcyI6W3siaWQiOiJzMSIsInNvdXJjZVR5cGUiOiJleHRlcm5hbCIsInRpdGxlIjoiTm9ydGh3aW5kIHBheW1lbnRzIG92ZXJ2aWV3IiwidXJsIjoiaHR0cHM6Ly93d3cubm9ydGh3aW5kLmV4YW1wbGUvcGF5bWVudHMiLCJzbmlwcGV0IjoiTm9ydGh3aW5kIGFubm91bmNlZCBhIHBhcnRuZXJzaGlwIHdpdGggQ29udG9zbyB0aGF0IGV4cGFuZGVkIGl0cyBwYXltZW50cyBwcm9kdWN0IGluIDIwMjYuIiwic2NvcmUiOjAuOTEsImNvbmZpZGVuY2UiOiJoaWdoIiwicHVibGlzaGVkRGF0ZSI6IjIwMjYtMDYtMDEiLCJkb21haW4iOiJub3J0aHdpbmQuZXhhbXBsZSJ9LHsiaWQiOiJzMiIsInNvdXJjZVR5cGUiOiJjb21wYW55LW93bmVkIiwidGl0bGUiOiJBYm91dCBOb3J0aHdpbmQiLCJ1cmwiOiJodHRwczovL3d3dy5ub3J0aHdpbmQuZXhhbXBsZS9hYm91dCIsInNuaXBwZXQiOiJOb3J0aHdpbmQgYnVpbGRzIGNoZWNrb3V0IHNvZnR3YXJlIGZvciByZXRhaWxlcnMuIiwic2NvcmUiOjAuODgsImNvbmZpZGVuY2UiOiJoaWdoIiwicHVibGlzaGVkRGF0ZSI6bnVsbCwiZG9tYWluIjoibm9ydGh3aW5kLmV4YW1wbGUifSx7ImlkIjoiczMiLCJzb3VyY2VUeXBlIjoiY29tcGFueS1vd25lZCIsInRpdGxlIjoiUHJvZHVjdCBwYWdlIiwidXJsIjoiaHR0cHM6Ly93d3cubm9ydGh3aW5kLmV4YW1wbGUvcHJvZHVjdCIsInNuaXBwZXQiOiJUaGUgcGF5bWVudHMgcHJvZHVjdCBzdXBwb3J0cyBjYXJkIGNoZWNrb3V0IGZvciBtZXJjaGFudHMuIiwic2NvcmUiOjAuODQsImNvbmZpZGVuY2UiOiJoaWdoIiwicHVibGlzaGVkRGF0ZSI6IjIwMjYtMDMtMDEiLCJkb21haW4iOiJub3J0aHdpbmQuZXhhbXBsZSJ9LHsiaWQiOiJzNCIsInNvdXJjZVR5cGUiOiJleHRlcm5hbCIsInRpdGxlIjoiSW5kdXN0cnkgam91cm5hbCIsInVybCI6Imh0dHBzOi8vam91cm5hbC5leGFtcGxlLm9yZy9wYXltZW50cy0yMDI2Iiwic25pcHBldCI6IlB1YmxpYyBmaWxpbmdzIGRlc2NyaWJlIE5vcnRod2luZCBwYXltZW50cyBhcyBtZXJjaGFudCBjaGVja291dCBzb2Z0d2FyZS4iLCJzY29yZSI6MC44MSwiY29uZmlkZW5jZSI6ImhpZ2giLCJwdWJsaXNoZWREYXRlIjoiMjAyNi0wNS0xMiIsImRvbWFpbiI6ImpvdXJuYWwuZXhhbXBsZS5vcmcifSx7ImlkIjoiczUiLCJzb3VyY2VUeXBlIjoiZXh0ZXJuYWwiLCJ0aXRsZSI6IlRyYWRlIHByZXNzIiwidXJsIjoiaHR0cHM6Ly9uZXdzLmV4YW1wbGUub3JnL25vcnRod2luZC1jb250b3NvIiwic25pcHBldCI6Ik5vcnRod2luZCBkZW5pZWQgYSBwYXJ0bmVyc2hpcCB3aXRoIENvbnRvc28gYW5kIHNhaWQgdGhlIHBheW1lbnRzIHByb2R1Y3Qgd2FzIG5vdCBleHBhbmRlZC4iLCJzY29yZSI6MC43NywiY29uZmlkZW5jZSI6ImhpZ2giLCJwdWJsaXNoZWREYXRlIjoiMjAyNi0wNi0wNCIsImRvbWFpbiI6Im5ld3MuZXhhbXBsZS5vcmcifV0sImNsYWltRXZpZGVuY2VNYXRyaXgiOlt7ImNsYWltSWQiOiJjMSIsImNsYWltIjoiTm9ydGh3aW5kIGFubm91bmNlZCBhIHBhcnRuZXJzaGlwIHdpdGggQ29udG9zbyB0aGF0IGV4cGFuZGVkIGl0cyBwYXltZW50cyBwcm9kdWN0IGluIDIwMjYuIiwiZXZpZGVuY2UiOiJOb3J0aHdpbmQgYW5ub3VuY2VkIGEgcGFydG5lcnNoaXAgd2l0aCBDb250b3NvIHRoYXQgZXhwYW5kZWQgaXRzIHBheW1lbnRzIHByb2R1Y3QgaW4gMjAyNi4iLCJzb3VyY2VJZHMiOlsiczEiXSwic291cmNlVXJscyI6WyJodHRwczovL3d3dy5ub3J0aHdpbmQuZXhhbXBsZS9wYXltZW50cyJdLCJjb25maWRlbmNlIjoiaGlnaCJ9XSwiY29uZmxpY3RpbmdFdmlkZW5jZSI6W3sidG9waWMiOiJwYXJ0bmVyc2hpcCwgY29udG9zbywgcGF5bWVudHMiLCJzdW1tYXJ5IjoiUmV0cmlldmVkIHB1YmxpYyBzb3VyY2VzIG92ZXJsYXAgYnV0IHRha2Ugb3Bwb3NpbmcgcG9zaXRpb25zLiIsInNvdXJjZVVybHMiOlsiaHR0cHM6Ly93d3cubm9ydGh3aW5kLmV4YW1wbGUvcGF5bWVudHMiLCJodHRwczovL25ld3MuZXhhbXBsZS5vcmcvbm9ydGh3aW5kLWNvbnRvc28iXSwic3RhdGVtZW50cyI6W3sic291cmNlVXJsIjoiaHR0cHM6Ly93d3cubm9ydGh3aW5kLmV4YW1wbGUvcGF5bWVudHMiLCJldmlkZW5jZSI6Ik5vcnRod2luZCBhbm5vdW5jZWQgYSBwYXJ0bmVyc2hpcCB3aXRoIENvbnRvc28gdGhhdCBleHBhbmRlZCBpdHMgcGF5bWVudHMgcHJvZHVjdCBpbiAyMDI2LiJ9LHsic291cmNlVXJsIjoiaHR0cHM6Ly9uZXdzLmV4YW1wbGUub3JnL25vcnRod2luZC1jb250b3NvIiwiZXZpZGVuY2UiOiJOb3J0aHdpbmQgZGVuaWVkIGEgcGFydG5lcnNoaXAgd2l0aCBDb250b3NvIGFuZCBzYWlkIHRoZSBwYXltZW50cyBwcm9kdWN0IHdhcyBub3QgZXhwYW5kZWQuIn1dfV0sImNvbmZpZGVuY2UiOnsibGV2ZWwiOiJtZWRpdW0iLCJyYXRpb25hbGUiOiJQdWJsaWMgc291cmNlcyBzcGFuIG1vcmUgdGhhbiBvbmUgZG9tYWluLCB3aXRoIGF0IGxlYXN0IG9uZSB1bnJlc29sdmVkIGRpc2FncmVlbWVudC4ifSwicmlza3NBbmRVbmtub3ducyI6WyJQdWJsaWMgd2ViIHNvdXJjZXMgY2FuIGJlIGluY29tcGxldGUsIGJpYXNlZCwgb3Igb3V0ZGF0ZWQuIiwiUmV0cmlldmVkIHNvdXJjZXMgZGlzYWdyZWUgYWJvdXQgdGhlIENvbnRvc28gcGFydG5lcnNoaXAuIl0sIm5leHRSZXNlYXJjaEFjdGlvbnMiOlsiT3BlbiBodHRwczovL3d3dy5ub3J0aHdpbmQuZXhhbXBsZS9wYXltZW50cyBhbmQgdmVyaWZ5IHRoZSBsZWFkIGNsYWltIGFnYWluc3QgdGhlIGZ1bGwgcGFnZS4iLCJDb21wYXJlIGh0dHBzOi8vd3d3Lm5vcnRod2luZC5leGFtcGxlL3BheW1lbnRzIHdpdGggaHR0cHM6Ly9uZXdzLmV4YW1wbGUub3JnL25vcnRod2luZC1jb250b3NvIGJlZm9yZSByZWx5aW5nIG9uIGVpdGhlciBwYXJ0bmVyc2hpcCBjbGFpbS4iLCJDaGVjayB0aGUgbG93ZXN0LWNvbmZpZGVuY2Ugc291cmNlIGFnYWluc3QgYSBwcmltYXJ5IGZpbGluZyBhbmQgcmVjb3JkIHdoYXQgcmVtYWlucyB1bmtub3duLiJdLCJyZXNlYXJjaCI6eyJwcm92aWRlciI6IlRhdmlseSIsInNlYXJjaGVzIjoyLCJjcmVkaXRzVXNlZCI6MiwicmVzcG9uc2VUaW1lTXMiOjE2MDAsImNhY2hlSGl0IjpmYWxzZSwicmVxdWVzdElkcyI6WyJicm9hZC0xIiwiZm9jdXNlZC0xIl0sInJldHJpZXZlZFNvdXJjZUNvdW50Ijo1LCJjaXRlZFNvdXJjZUNvdW50Ijo1fX19fX19fQ=="}},"content":{"application/json":{"schema":{"type":"object","description":"Empty object. Payment terms are carried in the PAYMENT-REQUIRED header.","additionalProperties":false},"example":{}}},"x-payment-required-example":{"x402Version":2,"error":"Payment Required","resource":{"url":"https://nova-agent-output-recovery.onrender.com/v1/research-brief","description":"Create a cited research decision memo from public sources. Accepts a research question plus an optional company, domain, time window, and depth. Returns an executive answer, 5 to 8 cited public source URLs, a claim/evidence matrix, conflicting evidence, confidence levels, risks and unknowns, and three next research actions as JSON and Markdown. For business, technical, and general public research. Refuses private-person dossiers, fabricated citations, restricted scraping, trading signals, and automated medical, legal, financial, employment, or insurance decisions.","mimeType":"application/json"},"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"990000","payTo":"0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"question":"What public evidence describes Northwind's payments product and its Contoso partnership?","company":"Northwind","domain":"https://www.northwind.example","time_window":"year","depth":"standard"}},"output":{"type":"json","example":{"status":"complete","generatedAt":"2026-07-26T00:00:00.000Z","request":{"question":"What public evidence describes Northwind's payments product and its Contoso partnership?","company":"Northwind","domain":"northwind.example","timeWindow":"year","providerTimeRange":"year","depth":"standard"},"executiveAnswer":"Six public sources describe Northwind's payments product. The company site says it supports card checkout for merchants [s2], while independent reporting disagrees about a Contoso partnership [s1][s5]. Overall confidence is medium. This memo is research triage, not a financial decision.","markdown":"# Cited Research Decision Memo\n\n## Executive answer\nSix public sources describe Northwind's payments product.\n","sources":[{"id":"s1","sourceType":"external","title":"Northwind payments overview","url":"https://www.northwind.example/payments","snippet":"Northwind announced a partnership with Contoso that expanded its payments product in 2026.","score":0.91,"confidence":"high","publishedDate":"2026-06-01","domain":"northwind.example"},{"id":"s2","sourceType":"company-owned","title":"About Northwind","url":"https://www.northwind.example/about","snippet":"Northwind builds checkout software for retailers.","score":0.88,"confidence":"high","publishedDate":null,"domain":"northwind.example"},{"id":"s3","sourceType":"company-owned","title":"Product page","url":"https://www.northwind.example/product","snippet":"The payments product supports card checkout for merchants.","score":0.84,"confidence":"high","publishedDate":"2026-03-01","domain":"northwind.example"},{"id":"s4","sourceType":"external","title":"Industry journal","url":"https://journal.example.org/payments-2026","snippet":"Public filings describe Northwind payments as merchant checkout software.","score":0.81,"confidence":"high","publishedDate":"2026-05-12","domain":"journal.example.org"},{"id":"s5","sourceType":"external","title":"Trade press","url":"https://news.example.org/northwind-contoso","snippet":"Northwind denied a partnership with Contoso and said the payments product was not expanded.","score":0.77,"confidence":"high","publishedDate":"2026-06-04","domain":"news.example.org"}],"claimEvidenceMatrix":[{"claimId":"c1","claim":"Northwind announced a partnership with Contoso that expanded its payments product in 2026.","evidence":"Northwind announced a partnership with Contoso that expanded its payments product in 2026.","sourceIds":["s1"],"sourceUrls":["https://www.northwind.example/payments"],"confidence":"high"}],"conflictingEvidence":[{"topic":"partnership, contoso, payments","summary":"Retrieved public sources overlap but take opposing positions.","sourceUrls":["https://www.northwind.example/payments","https://news.example.org/northwind-contoso"],"statements":[{"sourceUrl":"https://www.northwind.example/payments","evidence":"Northwind announced a partnership with Contoso that expanded its payments product in 2026."},{"sourceUrl":"https://news.example.org/northwind-contoso","evidence":"Northwind denied a partnership with Contoso and said the payments product was not expanded."}]}],"confidence":{"level":"medium","rationale":"Public sources span more than one domain, with at least one unresolved disagreement."},"risksAndUnknowns":["Public web sources can be incomplete, biased, or outdated.","Retrieved sources disagree about the Contoso partnership."],"nextResearchActions":["Open https://www.northwind.example/payments and verify the lead claim against the full page.","Compare https://www.northwind.example/payments with https://news.example.org/northwind-contoso before relying on either partnership claim.","Check the lowest-confidence source against a primary filing and record what remains unknown."],"research":{"provider":"Tavily","searches":2,"creditsUsed":2,"responseTimeMs":1600,"cacheHit":false,"requestIds":["broad-1","focused-1"],"retrievedSourceCount":5,"citedSourceCount":5}}}}}}}},"422":{"description":"Not enough public sources were retrieved to produce a cited memo. Payment is not settled.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"A cited memo needs 5 to 8 public sources.","code":"INSUFFICIENT_PUBLIC_SOURCES"}}}},"502":{"description":"Research provider returned an error before a memo could be produced.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"The public-research provider returned an error.","code":"UPSTREAM_RESEARCH_ERROR"}}}},"503":{"description":"Research provider is not configured or temporarily unavailable. Payment is not settled.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"Cited research is temporarily unavailable because TAVILY_API_KEY is not configured.","code":"RESEARCH_NOT_CONFIGURED"}}}},"504":{"description":"Research provider timed out before a memo could be produced.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"The public-research provider timed out before a memo could be produced.","code":"UPSTREAM_TIMEOUT"}}}}}}},"/api/company-intelligence-report":{"post":{"operationId":"createCompanyIntelligenceReport","summary":"Research a company website and return a source-linked report","description":"Create a source-linked company intelligence report from a public company website. Researches company-owned pages and recent external sources, returning an official profile, offerings, market signals, recent developments, risks, citations, confidence, and diagnostics. For agent workflows, vendor review, sales research, and partnership screening; not for high-stakes automated decisions.\n\nUse this when an agent has a public company website and needs an official profile, external signals, citations, confidence, and limitations. Fixed x402 price: $0.25 (250000 atomic USDC units) via scheme \"exact\" on eip155:8453, paid to 0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f.","tags":["company research","company intelligence","sales research","vendor review","AI agents"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.250000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"website":{"type":"string","minLength":4,"maxLength":2048,"description":"Public company website or domain, such as https://example.com."},"focus":{"type":"array","maxItems":8,"items":{"type":"string","minLength":1,"maxLength":100},"description":"Optional research priorities such as products, leadership, partnerships, locations, or risks."}},"required":["website"]},"example":{"website":"https://www.example.com","focus":["products","recent partnerships","growth signals"]}}}},"responses":{"200":{"description":"Source-linked company intelligence report.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["complete"]},"generatedAt":{"type":"string"},"company":{"type":"object"},"requestedFocus":{"type":"array","items":{"type":"string"}},"report":{"type":"object","properties":{"officialProfile":{"type":"string"},"externalSignals":{"type":"string"},"confidence":{"type":"string"},"limitations":{"type":"string"}}},"sources":{"type":"array","items":{"type":"object"}},"research":{"type":"object"}},"required":["status","generatedAt","company","report","sources","research"]},"example":{"status":"complete","generatedAt":"2026-07-26T00:00:00.000Z","company":{"website":"https://www.example.com","domain":"example.com"},"requestedFocus":["products","recent partnerships","growth signals"],"report":{"officialProfile":"Company-owned source summary.","externalSignals":"External public-source summary.","confidence":"medium","limitations":"Public-web research may be incomplete or outdated."},"sources":[{"sourceType":"company-owned","title":"Example Company","url":"https://www.example.com/about","snippet":"Example source excerpt.","score":0.82,"publishedDate":null,"favicon":null}],"research":{"provider":"Tavily","searches":2,"creditsUsed":2,"responseTimeMs":1800,"officialSourceCount":4,"externalSourceCount":3,"requestIds":[]}}}}},"400":{"description":"Invalid company website or request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"website must be a non-empty URL.","code":"INVALID_WEBSITE"}}}},"402":{"description":"Payment Required. The response body is {}. Decode the PAYMENT-REQUIRED header as base64 JSON (x402 v2) and pay accepts[0]: scheme \"exact\", network eip155:8453, amount 250000 atomic USDC units ($0.25), payTo 0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f. Retry the same request with a PAYMENT-SIGNATURE header. OpenAPI price.amount is decimal USD; the header amount is atomic units. The live header is authoritative if it differs from this example, and it also includes extensions.bazaar.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired JSON. This header is the canonical 402 challenge.","required":true,"schema":{"type":"string","contentEncoding":"base64","contentMediaType":"application/json"},"example":"eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IFJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjoiaHR0cHM6Ly9ub3ZhLWFnZW50LW91dHB1dC1yZWNvdmVyeS5vbnJlbmRlci5jb20vYXBpL2NvbXBhbnktaW50ZWxsaWdlbmNlLXJlcG9ydCIsImRlc2NyaXB0aW9uIjoiQ3JlYXRlIGEgc291cmNlLWxpbmtlZCBjb21wYW55IGludGVsbGlnZW5jZSByZXBvcnQgZnJvbSBhIHB1YmxpYyBjb21wYW55IHdlYnNpdGUuIFJlc2VhcmNoZXMgY29tcGFueS1vd25lZCBwYWdlcyBhbmQgcmVjZW50IGV4dGVybmFsIHNvdXJjZXMsIHJldHVybmluZyBhbiBvZmZpY2lhbCBwcm9maWxlLCBvZmZlcmluZ3MsIG1hcmtldCBzaWduYWxzLCByZWNlbnQgZGV2ZWxvcG1lbnRzLCByaXNrcywgY2l0YXRpb25zLCBjb25maWRlbmNlLCBhbmQgZGlhZ25vc3RpY3MuIEZvciBhZ2VudCB3b3JrZmxvd3MsIHZlbmRvciByZXZpZXcsIHNhbGVzIHJlc2VhcmNoLCBhbmQgcGFydG5lcnNoaXAgc2NyZWVuaW5nOyBub3QgZm9yIGhpZ2gtc3Rha2VzIGF1dG9tYXRlZCBkZWNpc2lvbnMuIiwibWltZVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sImFjY2VwdHMiOlt7InNjaGVtZSI6ImV4YWN0IiwibmV0d29yayI6ImVpcDE1NTo4NDUzIiwiYW1vdW50IjoiMjUwMDAwIiwicGF5VG8iOiIweDdjQmUxNzdGMTRmOWVBMzRGODAwMzNhNzlmMDY0QjQ5QzE1RUVlNmYiLCJtYXhUaW1lb3V0U2Vjb25kcyI6MzAwLCJhc3NldCI6IjB4ODMzNTg5ZkNENmVEYjZFMDhmNGM3QzMyRDRmNzFiNTRiZEEwMjkxMyIsImV4dHJhIjp7Im5hbWUiOiJVU0QgQ29pbiIsInZlcnNpb24iOiIyIn19XSwiZXh0ZW5zaW9ucyI6eyJiYXphYXIiOnsiaW5mbyI6eyJpbnB1dCI6eyJ0eXBlIjoiaHR0cCIsIm1ldGhvZCI6IlBPU1QiLCJib2R5VHlwZSI6Impzb24iLCJib2R5Ijp7IndlYnNpdGUiOiJodHRwczovL3d3dy5leGFtcGxlLmNvbSIsImZvY3VzIjpbInByb2R1Y3RzIiwicmVjZW50IHBhcnRuZXJzaGlwcyIsImdyb3d0aCBzaWduYWxzIl19fSwib3V0cHV0Ijp7InR5cGUiOiJqc29uIiwiZXhhbXBsZSI6eyJzdGF0dXMiOiJjb21wbGV0ZSIsImdlbmVyYXRlZEF0IjoiMjAyNi0wNy0yNlQwMDowMDowMC4wMDBaIiwiY29tcGFueSI6eyJ3ZWJzaXRlIjoiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20iLCJkb21haW4iOiJleGFtcGxlLmNvbSJ9LCJyZXF1ZXN0ZWRGb2N1cyI6WyJwcm9kdWN0cyIsInJlY2VudCBwYXJ0bmVyc2hpcHMiLCJncm93dGggc2lnbmFscyJdLCJyZXBvcnQiOnsib2ZmaWNpYWxQcm9maWxlIjoiQ29tcGFueS1vd25lZCBzb3VyY2Ugc3VtbWFyeS4iLCJleHRlcm5hbFNpZ25hbHMiOiJFeHRlcm5hbCBwdWJsaWMtc291cmNlIHN1bW1hcnkuIiwiY29uZmlkZW5jZSI6Im1lZGl1bSIsImxpbWl0YXRpb25zIjoiUHVibGljLXdlYiByZXNlYXJjaCBtYXkgYmUgaW5jb21wbGV0ZSBvciBvdXRkYXRlZC4ifSwic291cmNlcyI6W3sic291cmNlVHlwZSI6ImNvbXBhbnktb3duZWQiLCJ0aXRsZSI6IkV4YW1wbGUgQ29tcGFueSIsInVybCI6Imh0dHBzOi8vd3d3LmV4YW1wbGUuY29tL2Fib3V0Iiwic25pcHBldCI6IkV4YW1wbGUgc291cmNlIGV4Y2VycHQuIiwic2NvcmUiOjAuODIsInB1Ymxpc2hlZERhdGUiOm51bGwsImZhdmljb24iOm51bGx9XSwicmVzZWFyY2giOnsicHJvdmlkZXIiOiJUYXZpbHkiLCJzZWFyY2hlcyI6MiwiY3JlZGl0c1VzZWQiOjIsInJlc3BvbnNlVGltZU1zIjoxODAwLCJvZmZpY2lhbFNvdXJjZUNvdW50Ijo0LCJleHRlcm5hbFNvdXJjZUNvdW50IjozLCJyZXF1ZXN0SWRzIjpbXX19fX19fX0="}},"content":{"application/json":{"schema":{"type":"object","description":"Empty object. Payment terms are carried in the PAYMENT-REQUIRED header.","additionalProperties":false},"example":{}}},"x-payment-required-example":{"x402Version":2,"error":"Payment Required","resource":{"url":"https://nova-agent-output-recovery.onrender.com/api/company-intelligence-report","description":"Create a source-linked company intelligence report from a public company website. Researches company-owned pages and recent external sources, returning an official profile, offerings, market signals, recent developments, risks, citations, confidence, and diagnostics. For agent workflows, vendor review, sales research, and partnership screening; not for high-stakes automated decisions.","mimeType":"application/json"},"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"250000","payTo":"0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"website":"https://www.example.com","focus":["products","recent partnerships","growth signals"]}},"output":{"type":"json","example":{"status":"complete","generatedAt":"2026-07-26T00:00:00.000Z","company":{"website":"https://www.example.com","domain":"example.com"},"requestedFocus":["products","recent partnerships","growth signals"],"report":{"officialProfile":"Company-owned source summary.","externalSignals":"External public-source summary.","confidence":"medium","limitations":"Public-web research may be incomplete or outdated."},"sources":[{"sourceType":"company-owned","title":"Example Company","url":"https://www.example.com/about","snippet":"Example source excerpt.","score":0.82,"publishedDate":null,"favicon":null}],"research":{"provider":"Tavily","searches":2,"creditsUsed":2,"responseTimeMs":1800,"officialSourceCount":4,"externalSourceCount":3,"requestIds":[]}}}}}}}},"503":{"description":"Research provider is not configured or temporarily unavailable.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"Company research is temporarily unavailable.","code":"RESEARCH_UNAVAILABLE"}}}},"504":{"description":"Research provider timed out.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"Company research timed out.","code":"RESEARCH_TIMEOUT"}}}}}}},"/api/company-snapshot":{"post":{"operationId":"createCompanySnapshot","summary":"Build a compact source-linked snapshot of a public company website","description":"Create a fast, compact, source-linked company snapshot from a public company website. One search of the company's own pages returns the name, what the company does, offerings, headquarters and size only when a retrieved page states them, 3 to 5 source URLs, and confidence. For cheap agent lookups and first-pass screening. Public pages only. Refuses private-person dossiers and does not invent citations. Not a substitute for the full company intelligence report and not for high-stakes automated decisions.\n\nUse this when an agent has a public company website and needs a cheap, fast profile: name, what the company does, offerings, headquarters and size only when a retrieved company page states them, 3 to 5 source URLs, and confidence. Fixed x402 price: $0.03 (30000 atomic USDC units) via scheme \"exact\" on eip155:8453, paid to 0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f. Payment is settled only after a completed snapshot. A missing provider key, an out-of-scope request, or fewer than three public company-page sources returns an error and is not charged.","tags":["company snapshot","company intelligence","AI agents"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.030000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"website":{"type":"string","minLength":4,"maxLength":2048,"description":"Public company website or domain, such as https://example.com."}},"required":["website"]},"example":{"website":"https://www.example.com"}}}},"responses":{"200":{"description":"Compact source-linked company snapshot. Every factual sourceUrl is one of sources.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["complete"]},"generatedAt":{"type":"string"},"company":{"type":"object"},"snapshot":{"type":"object","properties":{"name":{"type":["object","null"],"description":"Company name copied from a retrieved page."},"whatTheyDo":{"type":["object","null"]},"offerings":{"type":"array","maxItems":5,"items":{"type":"object","additionalProperties":false,"properties":{"value":{"type":"string"},"sourceUrl":{"type":"string"}},"required":["value","sourceUrl"]}},"headquarters":{"type":["object","null"],"description":"Null unless a retrieved company page states a headquarters or base location."},"size":{"type":["object","null"],"description":"Null unless a retrieved company page states an employee count or team size."},"confidence":{"type":"string","enum":["high","medium","low"]},"limitations":{"type":"string"}},"required":["name","whatTheyDo","offerings","headquarters","size","confidence","limitations"]},"sources":{"type":"array","minItems":3,"maxItems":5,"items":{"type":"object"}},"research":{"type":"object"}},"required":["status","generatedAt","company","snapshot","sources","research"]},"example":{"status":"complete","generatedAt":"2026-07-26T00:00:00.000Z","company":{"website":"https://www.example.com","domain":"example.com"},"snapshot":{"name":{"value":"Example","sourceUrl":"https://www.example.com/about"},"whatTheyDo":{"value":"Example builds checkout software for retailers.","sourceUrl":"https://www.example.com/about"},"offerings":[{"value":"card checkout","sourceUrl":"https://www.example.com/product"}],"headquarters":{"value":"Seattle, Washington","sourceUrl":"https://www.example.com/about"},"size":{"value":"120 employees","sourceUrl":"https://www.example.com/about"},"confidence":"medium","limitations":"Headquarters and size appear only when a retrieved company page states them. This is not a full company-intelligence report."},"sources":[{"sourceType":"company-owned","title":"Example | About","url":"https://www.example.com/about","snippet":"Example builds checkout software for retailers. The company is headquartered in Seattle, Washington and has 120 employees.","score":0.9,"publishedDate":null},{"sourceType":"company-owned","title":"Products | Example","url":"https://www.example.com/product","snippet":"Products include card checkout, invoicing, and payouts.","score":0.82,"publishedDate":null},{"sourceType":"company-owned","title":"Customers | Example","url":"https://www.example.com/customers","snippet":"Example helps retail merchants run online checkout across stores.","score":0.74,"publishedDate":null}],"research":{"provider":"Tavily","searches":1,"creditsUsed":1,"responseTimeMs":700,"cacheHit":false,"sourceCount":3,"requestIds":[]}}}}},"400":{"description":"Invalid company website, or a private-person, fabricated-citation, or restricted-access refusal.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"website must be a non-empty URL.","code":"INVALID_WEBSITE"}}}},"402":{"description":"Payment Required. The response body is {}. Decode the PAYMENT-REQUIRED header as base64 JSON (x402 v2) and pay accepts[0]: scheme \"exact\", network eip155:8453, amount 30000 atomic USDC units ($0.03), payTo 0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f. Retry the same request with a PAYMENT-SIGNATURE header. OpenAPI price.amount is decimal USD; the header amount is atomic units. The live header is authoritative if it differs from this example, and it also includes extensions.bazaar.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired JSON. This header is the canonical 402 challenge.","required":true,"schema":{"type":"string","contentEncoding":"base64","contentMediaType":"application/json"},"example":"eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IFJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjoiaHR0cHM6Ly9ub3ZhLWFnZW50LW91dHB1dC1yZWNvdmVyeS5vbnJlbmRlci5jb20vYXBpL2NvbXBhbnktc25hcHNob3QiLCJkZXNjcmlwdGlvbiI6IkNyZWF0ZSBhIGZhc3QsIGNvbXBhY3QsIHNvdXJjZS1saW5rZWQgY29tcGFueSBzbmFwc2hvdCBmcm9tIGEgcHVibGljIGNvbXBhbnkgd2Vic2l0ZS4gT25lIHNlYXJjaCBvZiB0aGUgY29tcGFueSdzIG93biBwYWdlcyByZXR1cm5zIHRoZSBuYW1lLCB3aGF0IHRoZSBjb21wYW55IGRvZXMsIG9mZmVyaW5ncywgaGVhZHF1YXJ0ZXJzIGFuZCBzaXplIG9ubHkgd2hlbiBhIHJldHJpZXZlZCBwYWdlIHN0YXRlcyB0aGVtLCAzIHRvIDUgc291cmNlIFVSTHMsIGFuZCBjb25maWRlbmNlLiBGb3IgY2hlYXAgYWdlbnQgbG9va3VwcyBhbmQgZmlyc3QtcGFzcyBzY3JlZW5pbmcuIFB1YmxpYyBwYWdlcyBvbmx5LiBSZWZ1c2VzIHByaXZhdGUtcGVyc29uIGRvc3NpZXJzIGFuZCBkb2VzIG5vdCBpbnZlbnQgY2l0YXRpb25zLiBOb3QgYSBzdWJzdGl0dXRlIGZvciB0aGUgZnVsbCBjb21wYW55IGludGVsbGlnZW5jZSByZXBvcnQgYW5kIG5vdCBmb3IgaGlnaC1zdGFrZXMgYXV0b21hdGVkIGRlY2lzaW9ucy4iLCJtaW1lVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSwiYWNjZXB0cyI6W3sic2NoZW1lIjoiZXhhY3QiLCJuZXR3b3JrIjoiZWlwMTU1Ojg0NTMiLCJhbW91bnQiOiIzMDAwMCIsInBheVRvIjoiMHg3Y0JlMTc3RjE0ZjllQTM0RjgwMDMzYTc5ZjA2NEI0OUMxNUVFZTZmIiwibWF4VGltZW91dFNlY29uZHMiOjMwMCwiYXNzZXQiOiIweDgzMzU4OWZDRDZlRGI2RTA4ZjRjN0MzMkQ0ZjcxYjU0YmRBMDI5MTMiLCJleHRyYSI6eyJuYW1lIjoiVVNEIENvaW4iLCJ2ZXJzaW9uIjoiMiJ9fV0sImV4dGVuc2lvbnMiOnsiYmF6YWFyIjp7ImluZm8iOnsiaW5wdXQiOnsidHlwZSI6Imh0dHAiLCJtZXRob2QiOiJQT1NUIiwiYm9keVR5cGUiOiJqc29uIiwiYm9keSI6eyJ3ZWJzaXRlIjoiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20ifX0sIm91dHB1dCI6eyJ0eXBlIjoianNvbiIsImV4YW1wbGUiOnsic3RhdHVzIjoiY29tcGxldGUiLCJnZW5lcmF0ZWRBdCI6IjIwMjYtMDctMjZUMDA6MDA6MDAuMDAwWiIsImNvbXBhbnkiOnsid2Vic2l0ZSI6Imh0dHBzOi8vd3d3LmV4YW1wbGUuY29tIiwiZG9tYWluIjoiZXhhbXBsZS5jb20ifSwic25hcHNob3QiOnsibmFtZSI6eyJ2YWx1ZSI6IkV4YW1wbGUiLCJzb3VyY2VVcmwiOiJodHRwczovL3d3dy5leGFtcGxlLmNvbS9hYm91dCJ9LCJ3aGF0VGhleURvIjp7InZhbHVlIjoiRXhhbXBsZSBidWlsZHMgY2hlY2tvdXQgc29mdHdhcmUgZm9yIHJldGFpbGVycy4iLCJzb3VyY2VVcmwiOiJodHRwczovL3d3dy5leGFtcGxlLmNvbS9hYm91dCJ9LCJvZmZlcmluZ3MiOlt7InZhbHVlIjoiY2FyZCBjaGVja291dCIsInNvdXJjZVVybCI6Imh0dHBzOi8vd3d3LmV4YW1wbGUuY29tL3Byb2R1Y3QifV0sImhlYWRxdWFydGVycyI6eyJ2YWx1ZSI6IlNlYXR0bGUsIFdhc2hpbmd0b24iLCJzb3VyY2VVcmwiOiJodHRwczovL3d3dy5leGFtcGxlLmNvbS9hYm91dCJ9LCJzaXplIjp7InZhbHVlIjoiMTIwIGVtcGxveWVlcyIsInNvdXJjZVVybCI6Imh0dHBzOi8vd3d3LmV4YW1wbGUuY29tL2Fib3V0In0sImNvbmZpZGVuY2UiOiJtZWRpdW0iLCJsaW1pdGF0aW9ucyI6IkhlYWRxdWFydGVycyBhbmQgc2l6ZSBhcHBlYXIgb25seSB3aGVuIGEgcmV0cmlldmVkIGNvbXBhbnkgcGFnZSBzdGF0ZXMgdGhlbS4gVGhpcyBpcyBub3QgYSBmdWxsIGNvbXBhbnktaW50ZWxsaWdlbmNlIHJlcG9ydC4ifSwic291cmNlcyI6W3sic291cmNlVHlwZSI6ImNvbXBhbnktb3duZWQiLCJ0aXRsZSI6IkV4YW1wbGUgfCBBYm91dCIsInVybCI6Imh0dHBzOi8vd3d3LmV4YW1wbGUuY29tL2Fib3V0Iiwic25pcHBldCI6IkV4YW1wbGUgYnVpbGRzIGNoZWNrb3V0IHNvZnR3YXJlIGZvciByZXRhaWxlcnMuIFRoZSBjb21wYW55IGlzIGhlYWRxdWFydGVyZWQgaW4gU2VhdHRsZSwgV2FzaGluZ3RvbiBhbmQgaGFzIDEyMCBlbXBsb3llZXMuIiwic2NvcmUiOjAuOSwicHVibGlzaGVkRGF0ZSI6bnVsbH0seyJzb3VyY2VUeXBlIjoiY29tcGFueS1vd25lZCIsInRpdGxlIjoiUHJvZHVjdHMgfCBFeGFtcGxlIiwidXJsIjoiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vcHJvZHVjdCIsInNuaXBwZXQiOiJQcm9kdWN0cyBpbmNsdWRlIGNhcmQgY2hlY2tvdXQsIGludm9pY2luZywgYW5kIHBheW91dHMuIiwic2NvcmUiOjAuODIsInB1Ymxpc2hlZERhdGUiOm51bGx9LHsic291cmNlVHlwZSI6ImNvbXBhbnktb3duZWQiLCJ0aXRsZSI6IkN1c3RvbWVycyB8IEV4YW1wbGUiLCJ1cmwiOiJodHRwczovL3d3dy5leGFtcGxlLmNvbS9jdXN0b21lcnMiLCJzbmlwcGV0IjoiRXhhbXBsZSBoZWxwcyByZXRhaWwgbWVyY2hhbnRzIHJ1biBvbmxpbmUgY2hlY2tvdXQgYWNyb3NzIHN0b3Jlcy4iLCJzY29yZSI6MC43NCwicHVibGlzaGVkRGF0ZSI6bnVsbH1dLCJyZXNlYXJjaCI6eyJwcm92aWRlciI6IlRhdmlseSIsInNlYXJjaGVzIjoxLCJjcmVkaXRzVXNlZCI6MSwicmVzcG9uc2VUaW1lTXMiOjcwMCwiY2FjaGVIaXQiOmZhbHNlLCJzb3VyY2VDb3VudCI6MywicmVxdWVzdElkcyI6W119fX19fX19"}},"content":{"application/json":{"schema":{"type":"object","description":"Empty object. Payment terms are carried in the PAYMENT-REQUIRED header.","additionalProperties":false},"example":{}}},"x-payment-required-example":{"x402Version":2,"error":"Payment Required","resource":{"url":"https://nova-agent-output-recovery.onrender.com/api/company-snapshot","description":"Create a fast, compact, source-linked company snapshot from a public company website. One search of the company's own pages returns the name, what the company does, offerings, headquarters and size only when a retrieved page states them, 3 to 5 source URLs, and confidence. For cheap agent lookups and first-pass screening. Public pages only. Refuses private-person dossiers and does not invent citations. Not a substitute for the full company intelligence report and not for high-stakes automated decisions.","mimeType":"application/json"},"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"30000","payTo":"0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"website":"https://www.example.com"}},"output":{"type":"json","example":{"status":"complete","generatedAt":"2026-07-26T00:00:00.000Z","company":{"website":"https://www.example.com","domain":"example.com"},"snapshot":{"name":{"value":"Example","sourceUrl":"https://www.example.com/about"},"whatTheyDo":{"value":"Example builds checkout software for retailers.","sourceUrl":"https://www.example.com/about"},"offerings":[{"value":"card checkout","sourceUrl":"https://www.example.com/product"}],"headquarters":{"value":"Seattle, Washington","sourceUrl":"https://www.example.com/about"},"size":{"value":"120 employees","sourceUrl":"https://www.example.com/about"},"confidence":"medium","limitations":"Headquarters and size appear only when a retrieved company page states them. This is not a full company-intelligence report."},"sources":[{"sourceType":"company-owned","title":"Example | About","url":"https://www.example.com/about","snippet":"Example builds checkout software for retailers. The company is headquartered in Seattle, Washington and has 120 employees.","score":0.9,"publishedDate":null},{"sourceType":"company-owned","title":"Products | Example","url":"https://www.example.com/product","snippet":"Products include card checkout, invoicing, and payouts.","score":0.82,"publishedDate":null},{"sourceType":"company-owned","title":"Customers | Example","url":"https://www.example.com/customers","snippet":"Example helps retail merchants run online checkout across stores.","score":0.74,"publishedDate":null}],"research":{"provider":"Tavily","searches":1,"creditsUsed":1,"responseTimeMs":700,"cacheHit":false,"sourceCount":3,"requestIds":[]}}}}}}}},"422":{"description":"Not enough public company pages were retrieved to produce a snapshot. Payment is not settled.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"A company snapshot needs 3 to 5 public company-page sources.","code":"INSUFFICIENT_PUBLIC_SOURCES"}}}},"503":{"description":"Research provider is not configured or temporarily unavailable. Payment is not settled.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"Company snapshot is temporarily unavailable because TAVILY_API_KEY is not configured.","code":"RESEARCH_NOT_CONFIGURED"}}}},"504":{"description":"Research provider timed out before a snapshot could be produced.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"The company-snapshot provider timed out.","code":"UPSTREAM_TIMEOUT"}}}}}}},"/api/agent-output-recovery":{"post":{"operationId":"recoverAgentOutput","summary":"Recover and validate malformed LLM or AI-agent output","description":"Recover and validate broken structured output from LLMs and AI agents. Extract JSON hidden in prose or Markdown, repair malformed JSON, enforce a supplied JSON Schema, safely coerce optional types/defaults, report exact validation errors, and return a deterministic retry prompt when output still fails. Useful for tool calls, agent workflows, automation pipelines, and API integrations.\n\nUse this when an LLM or tool call returns prose, Markdown, or broken JSON and the next step needs one JSON value. Fixed x402 price: $0.01 (10000 atomic USDC units) via scheme \"exact\" on eip155:8453, paid to 0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f.","tags":["AI agents","structured output","JSON repair","schema validation","tool calls"],"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"rawOutput":{"type":"string","minLength":1,"maxLength":200000,"description":"Raw LLM or AI-agent output. It may contain prose, Markdown fences, malformed JSON, tool-call arguments, or a partial structured response."},"schema":{"type":"object","description":"Optional JSON Schema Draft 2020-12 used to validate and normalize the recovered value."},"options":{"type":"object","additionalProperties":false,"properties":{"coerceTypes":{"type":"boolean","default":false,"description":"Safely coerce primitive values where the validator permits it."},"applyDefaults":{"type":"boolean","default":false,"description":"Apply default values declared in the supplied schema."},"removeAdditional":{"type":"boolean","default":false,"description":"Remove fields excluded by schemas that set additionalProperties to false."}}}},"required":["rawOutput"]},"example":{"rawOutput":"The result is:\n```json\n{name: 'Alice', active: True, tags: ['ai',],}\n```","schema":{"type":"object","properties":{"name":{"type":"string"},"active":{"type":"boolean"},"tags":{"type":"array","items":{"type":"string"}}},"required":["name","active"],"additionalProperties":false},"options":{"coerceTypes":true,"applyDefaults":false,"removeAdditional":false}}}}},"responses":{"200":{"description":"Recovered output, validation result, and retry guidance.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["already-valid","recovered","recovered-and-valid","recovered-needs-retry","unrecoverable"]},"data":{},"repairedJson":{"type":["string","null"]},"repairApplied":{"type":"boolean"},"extractedFrom":{"type":["string","null"]},"schemaProvided":{"type":"boolean"},"schemaValid":{"type":["boolean","null"]},"validationErrors":{"type":"array","items":{"type":"object"}},"retryPrompt":{"type":["string","null"]},"diagnostics":{"type":"object"}},"required":["status","data","repairedJson","repairApplied","schemaProvided","schemaValid","validationErrors","retryPrompt","diagnostics"]},"example":{"status":"recovered-and-valid","data":{"name":"Alice","active":true,"tags":["ai"]},"repairedJson":"{\"name\":\"Alice\",\"active\":true,\"tags\":[\"ai\"]}","repairApplied":true,"extractedFrom":"embedded-json-candidate","schemaProvided":true,"schemaValid":true,"validationErrors":[],"retryPrompt":null,"diagnostics":{"candidateCount":2,"selectedCandidate":1,"failedAttemptsBeforeSuccess":1,"processingMs":2}}}}},"400":{"description":"Invalid request or JSON Schema.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"rawOutput must be a non-empty string."}}}},"402":{"description":"Payment Required. The response body is {}. Decode the PAYMENT-REQUIRED header as base64 JSON (x402 v2) and pay accepts[0]: scheme \"exact\", network eip155:8453, amount 10000 atomic USDC units ($0.01), payTo 0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f. Retry the same request with a PAYMENT-SIGNATURE header. OpenAPI price.amount is decimal USD; the header amount is atomic units. The live header is authoritative if it differs from this example, and it also includes extensions.bazaar.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired JSON. This header is the canonical 402 challenge.","required":true,"schema":{"type":"string","contentEncoding":"base64","contentMediaType":"application/json"},"example":"eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IFJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjoiaHR0cHM6Ly9ub3ZhLWFnZW50LW91dHB1dC1yZWNvdmVyeS5vbnJlbmRlci5jb20vYXBpL2FnZW50LW91dHB1dC1yZWNvdmVyeSIsImRlc2NyaXB0aW9uIjoiUmVjb3ZlciBhbmQgdmFsaWRhdGUgYnJva2VuIHN0cnVjdHVyZWQgb3V0cHV0IGZyb20gTExNcyBhbmQgQUkgYWdlbnRzLiBFeHRyYWN0IEpTT04gaGlkZGVuIGluIHByb3NlIG9yIE1hcmtkb3duLCByZXBhaXIgbWFsZm9ybWVkIEpTT04sIGVuZm9yY2UgYSBzdXBwbGllZCBKU09OIFNjaGVtYSwgc2FmZWx5IGNvZXJjZSBvcHRpb25hbCB0eXBlcy9kZWZhdWx0cywgcmVwb3J0IGV4YWN0IHZhbGlkYXRpb24gZXJyb3JzLCBhbmQgcmV0dXJuIGEgZGV0ZXJtaW5pc3RpYyByZXRyeSBwcm9tcHQgd2hlbiBvdXRwdXQgc3RpbGwgZmFpbHMuIFVzZWZ1bCBmb3IgdG9vbCBjYWxscywgYWdlbnQgd29ya2Zsb3dzLCBhdXRvbWF0aW9uIHBpcGVsaW5lcywgYW5kIEFQSSBpbnRlZ3JhdGlvbnMuIiwibWltZVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sImFjY2VwdHMiOlt7InNjaGVtZSI6ImV4YWN0IiwibmV0d29yayI6ImVpcDE1NTo4NDUzIiwiYW1vdW50IjoiMTAwMDAiLCJwYXlUbyI6IjB4N2NCZTE3N0YxNGY5ZUEzNEY4MDAzM2E3OWYwNjRCNDlDMTVFRWU2ZiIsIm1heFRpbWVvdXRTZWNvbmRzIjozMDAsImFzc2V0IjoiMHg4MzM1ODlmQ0Q2ZURiNkUwOGY0YzdDMzJENGY3MWI1NGJkQTAyOTEzIiwiZXh0cmEiOnsibmFtZSI6IlVTRCBDb2luIiwidmVyc2lvbiI6IjIifX1dLCJleHRlbnNpb25zIjp7ImJhemFhciI6eyJpbmZvIjp7ImlucHV0Ijp7InR5cGUiOiJodHRwIiwibWV0aG9kIjoiUE9TVCIsImJvZHlUeXBlIjoianNvbiIsImJvZHkiOnsicmF3T3V0cHV0IjoiVGhlIHJlc3VsdCBpczpcbmBgYGpzb25cbntuYW1lOiAnQWxpY2UnLCBhY3RpdmU6IFRydWUsIHRhZ3M6IFsnYWknLF0sfVxuYGBgIiwic2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyJ9LCJhY3RpdmUiOnsidHlwZSI6ImJvb2xlYW4ifSwidGFncyI6eyJ0eXBlIjoiYXJyYXkiLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn19fSwicmVxdWlyZWQiOlsibmFtZSIsImFjdGl2ZSJdLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6ZmFsc2V9LCJvcHRpb25zIjp7ImNvZXJjZVR5cGVzIjp0cnVlLCJhcHBseURlZmF1bHRzIjpmYWxzZSwicmVtb3ZlQWRkaXRpb25hbCI6ZmFsc2V9fX0sIm91dHB1dCI6eyJ0eXBlIjoianNvbiIsImV4YW1wbGUiOnsic3RhdHVzIjoicmVjb3ZlcmVkLWFuZC12YWxpZCIsImRhdGEiOnsibmFtZSI6IkFsaWNlIiwiYWN0aXZlIjp0cnVlLCJ0YWdzIjpbImFpIl19LCJyZXBhaXJlZEpzb24iOiJ7XCJuYW1lXCI6XCJBbGljZVwiLFwiYWN0aXZlXCI6dHJ1ZSxcInRhZ3NcIjpbXCJhaVwiXX0iLCJyZXBhaXJBcHBsaWVkIjp0cnVlLCJleHRyYWN0ZWRGcm9tIjoiZW1iZWRkZWQtanNvbi1jYW5kaWRhdGUiLCJzY2hlbWFQcm92aWRlZCI6dHJ1ZSwic2NoZW1hVmFsaWQiOnRydWUsInZhbGlkYXRpb25FcnJvcnMiOltdLCJyZXRyeVByb21wdCI6bnVsbCwiZGlhZ25vc3RpY3MiOnsiY2FuZGlkYXRlQ291bnQiOjIsInNlbGVjdGVkQ2FuZGlkYXRlIjoxLCJmYWlsZWRBdHRlbXB0c0JlZm9yZVN1Y2Nlc3MiOjEsInByb2Nlc3NpbmdNcyI6Mn19fX19fX0="}},"content":{"application/json":{"schema":{"type":"object","description":"Empty object. Payment terms are carried in the PAYMENT-REQUIRED header.","additionalProperties":false},"example":{}}},"x-payment-required-example":{"x402Version":2,"error":"Payment Required","resource":{"url":"https://nova-agent-output-recovery.onrender.com/api/agent-output-recovery","description":"Recover and validate broken structured output from LLMs and AI agents. Extract JSON hidden in prose or Markdown, repair malformed JSON, enforce a supplied JSON Schema, safely coerce optional types/defaults, report exact validation errors, and return a deterministic retry prompt when output still fails. Useful for tool calls, agent workflows, automation pipelines, and API integrations.","mimeType":"application/json"},"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"10000","payTo":"0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f","maxTimeoutSeconds":300,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"POST","bodyType":"json","body":{"rawOutput":"The result is:\n```json\n{name: 'Alice', active: True, tags: ['ai',],}\n```","schema":{"type":"object","properties":{"name":{"type":"string"},"active":{"type":"boolean"},"tags":{"type":"array","items":{"type":"string"}}},"required":["name","active"],"additionalProperties":false},"options":{"coerceTypes":true,"applyDefaults":false,"removeAdditional":false}}},"output":{"type":"json","example":{"status":"recovered-and-valid","data":{"name":"Alice","active":true,"tags":["ai"]},"repairedJson":"{\"name\":\"Alice\",\"active\":true,\"tags\":[\"ai\"]}","repairApplied":true,"extractedFrom":"embedded-json-candidate","schemaProvided":true,"schemaValid":true,"validationErrors":[],"retryPrompt":null,"diagnostics":{"candidateCount":2,"selectedCandidate":1,"failedAttemptsBeforeSuccess":1,"processingMs":2}}}}}}}},"413":{"description":"Input or schema exceeds configured limits.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]},"example":{"error":"rawOutput exceeds the configured character limit."}}}},"422":{"description":"Output could not be recovered. The body is the recovery result with status unrecoverable.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["already-valid","recovered","recovered-and-valid","recovered-needs-retry","unrecoverable"]},"data":{},"repairedJson":{"type":["string","null"]},"repairApplied":{"type":"boolean"},"extractedFrom":{"type":["string","null"]},"schemaProvided":{"type":"boolean"},"schemaValid":{"type":["boolean","null"]},"validationErrors":{"type":"array","items":{"type":"object"}},"retryPrompt":{"type":["string","null"]},"diagnostics":{"type":"object"}},"required":["status","data","repairedJson","repairApplied","schemaProvided","schemaValid","validationErrors","retryPrompt","diagnostics"]},"example":{"status":"unrecoverable","data":null,"repairedJson":"{\"name\":\"Alice\",\"active\":true,\"tags\":[\"ai\"]}","repairApplied":true,"extractedFrom":"embedded-json-candidate","schemaProvided":true,"schemaValid":false,"validationErrors":[],"retryPrompt":null,"diagnostics":{"candidateCount":2,"selectedCandidate":1,"failedAttemptsBeforeSuccess":1,"processingMs":2}}}}}}}},"/":{"get":{"operationId":"getServiceIndex","summary":"Service index","description":"Free JSON index of the service, prices, and discovery documents. Browsers that prefer HTML receive a short landing page with the same links. Other clients, including Accept */*, receive JSON.","tags":["Discovery"],"security":[],"responses":{"200":{"description":"Service index","content":{"application/json":{"schema":{"type":"object"},"example":{"service":"Nova Company Intelligence & Agent Reliability API","version":"0.4.0","status":"online","network":"eip155:8453","payTo":"0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f","paidEndpoints":[{"method":"POST","url":"https://nova-agent-output-recovery.onrender.com/v1/research-brief","price":"$0.99"},{"method":"POST","url":"https://nova-agent-output-recovery.onrender.com/api/company-intelligence-report","price":"$0.25"},{"method":"POST","url":"https://nova-agent-output-recovery.onrender.com/api/company-snapshot","price":"$0.03"},{"method":"POST","url":"https://nova-agent-output-recovery.onrender.com/api/agent-output-recovery","price":"$0.01"}]}},"text/html":{"schema":{"type":"string"},"example":"<!DOCTYPE html>"}}}}}},"/health":{"get":{"operationId":"healthCheck","summary":"Service health check","description":"Free health check. Not a paid x402 route.","tags":["Discovery"],"security":[],"responses":{"200":{"description":"Service health check","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"service":{"type":"string"},"version":{"type":"string"},"companyResearchConfigured":{"type":"boolean"}},"required":["ok","version"]},"example":{"ok":true,"service":"nova-company-intelligence","version":"0.4.0","companyResearchConfigured":true}}}}}}},"/openapi.json":{"get":{"operationId":"getOpenApi","summary":"OpenAPI discovery document","description":"Free OpenAPI 3.1 document used by x402scan and other agent registries.","tags":["Discovery"],"security":[],"responses":{"200":{"description":"OpenAPI discovery document","content":{"application/json":{"schema":{"type":"object"},"example":{"openapi":"3.1.0","info":{"title":"Nova Company Intelligence & Agent Reliability API","version":"0.4.0"}}}}}}}},"/llms.txt":{"get":{"operationId":"getLlmsTxt","summary":"Agent usage guide","description":"Free plain-text guide that tells an agent which endpoint to call and how to handle HTTP 402.","tags":["Discovery"],"security":[],"responses":{"200":{"description":"Agent usage guide","content":{"text/plain":{"schema":{"type":"string"},"example":"# Nova Company Intelligence & Agent Reliability API"}}}}}},"/SKILL.md":{"get":{"operationId":"getSkillMarkdown","summary":"Agent skill guide","description":"Free Markdown skill with request examples and payment steps.","tags":["Discovery"],"security":[],"responses":{"200":{"description":"Agent skill guide","content":{"text/markdown":{"schema":{"type":"string"},"example":"# Nova Company Intelligence & Agent Reliability API"}}}}}},"/mcp":{"post":{"operationId":"mcpStreamableHttp","summary":"MCP Streamable HTTP endpoint","description":"Free MCP endpoint. JSON-RPC methods initialize, ping, tools/list, and tools/call are served here. nova_catalog is free and lists tool prices and example inputs. Paid tools recover_agent_output, company_snapshot, company_intelligence_report, and cited_research_brief do not use HTTP 402. An unpaid tools/call returns a tool result with isError true and structuredContent set to the x402 PaymentRequired object (resource url mcp://tool/<name>). Retry with params._meta[\"x402/payment\"]. The service verifies and settles that payment before it runs the tool. GET and DELETE return 405 because the server is stateless.","tags":["Discovery","MCP","AI agents"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string","const":"2.0"},"id":{},"method":{"type":"string"},"params":{"type":"object"}},"required":["jsonrpc","id","method"]},"example":{"jsonrpc":"2.0","id":1,"method":"tools/list"}}}},"responses":{"200":{"description":"JSON-RPC response. Paid tool challenges are inside result, not this HTTP status.","content":{"application/json":{"schema":{"type":"object","properties":{"jsonrpc":{"type":"string"},"id":{},"result":{"type":"object"}},"required":["jsonrpc","id","result"]},"example":{"jsonrpc":"2.0","id":1,"result":{"tools":[{"name":"nova_catalog"}]}}}}},"202":{"description":"Accepted JSON-RPC notification with an empty body.","content":{"application/json":{"schema":{"type":"object"},"example":{}}}}}},"get":{"operationId":"mcpStreamableHttpGet","summary":"MCP session stream is not offered","description":"Stateless MCP server. GET returns HTTP 405. Use POST /mcp.","tags":["Discovery","MCP"],"security":[],"responses":{"405":{"description":"Stateless server. POST JSON-RPC to this path.","content":{"application/json":{"schema":{"type":"object"},"example":{"jsonrpc":"2.0","id":null,"error":{"code":-32000,"message":"NOVA MCP is stateless. Send JSON-RPC with POST /mcp."}}}}}}}},"/.well-known/x402":{"get":{"operationId":"getX402Manifest","summary":"x402 compatibility manifest","description":"Free compatibility discovery document. OpenAPI at /openapi.json is the canonical contract.","tags":["Discovery"],"security":[],"responses":{"200":{"description":"x402 compatibility manifest","content":{"application/json":{"schema":{"type":"object"},"example":{"x402Version":2,"payTo":"0x7cBe177F14f9eA34F80033a79f064B49C15EEe6f","resources":[]}}}}}}},"/favicon.ico":{"get":{"operationId":"getFavicon","summary":"Favicon","description":"Free site icon for registries that scrape /favicon.ico.","tags":["Discovery"],"security":[],"responses":{"200":{"description":"Favicon","content":{"image/x-icon":{"schema":{"type":"string","contentMediaType":"image/x-icon"},"example":""}}}}}},"/favicon.svg":{"get":{"operationId":"getFaviconSvg","summary":"SVG favicon","description":"Free SVG icon. The HTML landing page links this as rel=icon.","tags":["Discovery"],"security":[],"responses":{"200":{"description":"SVG favicon","content":{"image/svg+xml":{"schema":{"type":"string","contentMediaType":"image/svg+xml"},"example":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"></svg>"}}}}}}},"components":{"schemas":{"PaymentRequired":{"type":"object","description":"Decoded x402 v2 PaymentRequired object. On the wire this JSON is base64-encoded in the PAYMENT-REQUIRED response header. The HTTP body is an empty JSON object.","properties":{"x402Version":{"type":"integer","const":2},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"}},"required":["url"]},"accepts":{"type":"array","minItems":1,"description":"Accepted payment options. Pay one of these, then retry with PAYMENT-SIGNATURE.","items":{"type":"object","properties":{"scheme":{"type":"string","description":"x402 scheme. NOVA accepts exact."},"network":{"type":"string","description":"CAIP-2 network. Production is eip155:8453 (Base)."},"amount":{"type":"string","description":"Price in atomic token units. USDC uses 6 decimals, so $0.01 is \"10000\", $0.03 is \"30000\", $0.25 is \"250000\", and $0.99 is \"990000\"."},"asset":{"type":"string","description":"ERC-20 asset. Base mainnet USDC is 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Base Sepolia USDC is 0x036CbD53842c5426634e7929541eC2318f3dCF7e."},"payTo":{"type":"string","description":"Recipient address for this challenge."},"maxTimeoutSeconds":{"type":"integer"},"extra":{"type":"object"}},"required":["scheme","network","amount","asset","payTo","maxTimeoutSeconds"]}},"extensions":{"type":"object","description":"Live challenges include extensions.bazaar with input and output discovery metadata."}},"required":["x402Version","resource","accepts"]},"Error":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]}}}}