{"openapi":"3.1.0","info":{"title":"MCI Scout free HTTP API","version":"0.5.0","description":"Implemented free Scout routes only. No account, wallet, MCP server, x402/402 payment flow or provider execution. Prices are public claims; no candidate with unknown I/O or workload total is accepted. Optional consented Encounter APIs are documented separately in /agent-guide.json. For actual declared constraint evaluation use POST /v2/scout/compare; v1 preview remains lexical review only. V2 covers eight route/mode offers, not the full MCI scope."},"servers":[{"url":"https://mci-encounter-lab.az01.chatgpt.site"}],"security":[],"paths":{"/v1/scout/examples/web-search":{"get":{"operationId":"webSearchCostExample","summary":"Read a conditional USD web-search cost example","description":"Stateless and no account required. Only the requests parameter is allowed, at most once. The URL is capped at 256 characters. No secrets or personal data belong in the URL. This is an ordinary HTTPS endpoint, not a protocol extension.","parameters":[{"name":"requests","in":"query","required":false,"description":"Decimal request count from 1 to 100000; no leading zeros, decimals or scientific notation.","schema":{"type":"string","pattern":"^(?:[1-9][0-9]{0,4}|100000)$","default":"20"}}],"responses":{"200":{"description":"Conditional, source-linked arithmetic; not a verified quote.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExampleResult"}}}},"400":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"414":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}}}}},"/v1/scout/preview":{"post":{"operationId":"scoutPreview","summary":"Review public metadata against a six-field request","description":"All six fields are required; unknown fields, non-JSON content, noninteger counts and bodies larger than 4096 bytes are rejected. The application does not store preview inputs or create feedback sessions. Browser cross-origin POST is blocked; same-origin and server-to-server use are supported.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComparisonRequest"},"example":{"capability":"web search","workload_units":20,"output_format":"json","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","max_amount_atomic":1000000}}}},"responses":{"200":{"description":"Review leads and explicit unknowns, never an unsupported purchase decision.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewResult"}}}},"400":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"403":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"413":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"415":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}}}}},"/v1/catalog/search":{"get":{"operationId":"searchCatalog","summary":"Search the bounded public metadata snapshot","description":"Only q and limit are accepted, each at most once. Search is literal keyword overlap, not a provider quality or compatibility test.","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":160},"description":"Nonblank public capability terms."},{"name":"limit","in":"query","required":false,"schema":{"type":"string","pattern":"^(?:[1-9]|10)$","default":"5"}}],"responses":{"200":{"description":"Bounded review-only matches.","content":{"application/json":{"schema":{"type":"object","required":["query","items","catalog","stored"],"properties":{"query":{"type":"string"},"items":{"type":"array","maxItems":10,"items":{"$ref":"#/components/schemas/ReviewLead"}},"catalog":{"$ref":"#/components/schemas/Catalog"},"stored":{"const":false}}}}}},"400":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}}}}},"/v1/catalog/stats":{"get":{"operationId":"catalogStats","summary":"Read public snapshot coverage and freshness","description":"No query parameters accepted. These are catalogue statistics, not customer or encounter counts.","responses":{"200":{"description":"Public source count, coverage and observation time.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalog"}}}},"400":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}}}}},"/v2/scout/compare":{"post":{"operationId":"compareDeclaredScoutConstraintsV2","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompareRequest"},"example":{"schema_version":"2","capability":"web_search","input_type":"text_query","workload":{"unit":"request","quantity":20},"output":{"format":"json","required_fields":["results[].url"]},"max_results_per_request":10,"ai_summary":false,"payment":{"rail":"provider_account"},"budget":{"scope":"incremental_list_price","currency":"USD","max_amount":"0.15"},"quality":{"require_observed_success":false}}}}},"responses":{"200":{"description":"Evaluated offers separated into eligible, review and rejected; every check has supported/mismatch/unknown state and a reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompareResult"}}}},"400":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"403":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"413":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"415":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}}}}},"/agent/ask":{"post":{"operationId":"askAboutSelectedOffer","summary":"Ask a bounded question about one exact search offer","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskRequest"}}}},"responses":{"200":{"description":"Bounded selected-offer answer, missing inputs or out-of-scope result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskResult"}}}},"400":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"403":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"413":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"415":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"499":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}},"503":{"description":"The error field contains a stable rejection code.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}}}}}},"components":{"schemas":{"ComparisonRequest":{"type":"object","additionalProperties":false,"required":["capability","workload_units","output_format","network","asset","max_amount_atomic"],"properties":{"capability":{"type":"string","minLength":1,"maxLength":120,"description":"Nonblank capability; JavaScript code-unit length is enforced."},"workload_units":{"type":"integer","minimum":1,"maximum":100000},"output_format":{"type":"string","enum":["json","text","csv"]},"network":{"type":"string","minLength":1,"maxLength":120},"asset":{"type":"string","minLength":1,"maxLength":160},"max_amount_atomic":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Strict JSON integer within the JavaScript safe range. No currency conversion is performed."}}},"ReviewLead":{"type":"object","required":["resource_id","name","compatibility","status","source_url","workload_total_amount_atomic"],"properties":{"resource_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"compatibility":{"const":"unknown"},"status":{"const":"review_only"},"source_url":{"type":["string","null"],"format":"uri"},"declared_price":{"type":["string","null"]},"workload_total_amount_atomic":{"type":"null"},"evidence":{"type":"array","items":{"type":"string"}},"unknowns":{"type":"array","items":{"type":"string"}}}},"Catalog":{"type":"object","required":["records","observed_at","snapshot_stale","coverage","request_storage"],"properties":{"records":{"type":"integer","minimum":0},"observed_at":{"type":"string","format":"date-time"},"snapshot_stale":{"type":"boolean"},"coverage":{"type":"string"},"request_storage":{"const":false},"live_provider_checks":{"const":false}}},"PreviewResult":{"type":"object","required":["status","candidates","review_candidates","coverage_notice","stored"],"properties":{"status":{"const":"no_supported_candidate"},"candidates":{"type":"array","maxItems":0},"review_candidates":{"type":"array","maxItems":5,"items":{"$ref":"#/components/schemas/ReviewLead"}},"coverage_notice":{"type":"string"},"workload_total_amount_atomic":{"type":"null"},"conditional_usd_scenario":{"type":["object","null"]},"stored":{"const":false},"no_payment":{"const":true},"no_provider_execution":{"const":true}}},"ExampleResult":{"type":"object","required":["kind","input","comparison","payment_rail_review","observed_at","stored","creates_encounter"],"properties":{"kind":{"const":"conditional_public_price_example"},"input":{"type":"object","properties":{"independent_requests":{"type":"integer","minimum":1,"maximum":100000},"max_results_per_request":{"const":10},"paid_extras":{"const":false}}},"comparison":{"type":"object","properties":{"currency":{"const":"USD"},"not_a_quote":{"const":true},"quality_equivalence_verified":{"const":false},"estimates":{"type":"array","items":{"type":"object","required":["provider","estimated_usd","basis","source_url"],"properties":{"provider":{"type":"string"},"estimated_usd":{"type":"number","minimum":0},"basis":{"type":"string"},"source_url":{"type":"string","format":"uri"}}}}}},"payment_rail_review":{"type":"object","properties":{"x402_verified":{"const":false},"amount_atomic":{"type":"null"},"budget_fit":{"const":"not_evaluated"}}},"observed_at":{"type":"string","format":"date-time"},"stored":{"const":false},"creates_encounter":{"const":false}}},"CompareRequest":{"type":"object","additionalProperties":false,"required":["schema_version","capability","input_type","workload","output","max_results_per_request","ai_summary","payment"],"properties":{"schema_version":{"const":"2"},"capability":{"type":"string","minLength":1,"maxLength":120,"description":"Exact semantic capability. This bounded snapshot supports web_search; other capabilities are mismatches."},"input_type":{"type":"string","minLength":1,"maxLength":40,"description":"Declared input contract, such as text_query; no private query is submitted."},"workload":{"type":"object","additionalProperties":false,"required":["unit","quantity"],"properties":{"unit":{"type":"string","minLength":1,"maxLength":40,"description":"request means independent API calls. Other units require unknown conversion."},"quantity":{"type":"integer","minimum":1,"maximum":100000}}},"output":{"type":"object","additionalProperties":false,"required":["format"],"properties":{"format":{"type":"string","minLength":1,"maxLength":30,"description":"Native response format; json is documented. No adapter is supplied."},"required_fields":{"type":"array","maxItems":8,"uniqueItems":true,"items":{"type":"string","maxLength":80,"pattern":"^[a-zA-Z][a-zA-Z0-9_]*(?:\\[\\])?(?:\\.[a-zA-Z][a-zA-Z0-9_]*(?:\\[\\])?)*$"}}}},"max_results_per_request":{"type":"integer","minimum":1,"maximum":1000,"description":"Requested maximum, not a guaranteed useful-result count."},"ai_summary":{"type":"boolean","description":"True remains review-only because complete summary billing quantity/contract is not modeled."},"payment":{"type":"object","additionalProperties":false,"required":["rail"],"properties":{"rail":{"type":"string","enum":["provider_account","x402"]},"network":{"type":"string","minLength":1,"maxLength":120},"asset":{"type":"string","minLength":1,"maxLength":160}},"oneOf":[{"properties":{"rail":{"const":"provider_account"}},"not":{"anyOf":[{"required":["network"]},{"required":["asset"]}]}},{"properties":{"rail":{"const":"x402"}},"required":["network","asset"]}]},"budget":{"type":["object","null"],"additionalProperties":false,"required":["scope","currency"],"oneOf":[{"type":"null"},{"type":"object","required":["max_amount"],"not":{"required":["max_amount_atomic"]}},{"type":"object","required":["max_amount_atomic"],"not":{"required":["max_amount"]}}],"description":"Explicit budget scope. Incremental list price excludes entry cash, taxes and account terms. Total cash outlay is not established and remains review-only.","properties":{"scope":{"type":"string","enum":["incremental_list_price","total_cash_outlay"]},"currency":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,11}$","description":"USD is the provider-account price currency. USDC is separately documented for native x402 offers; they are never equated."},"max_amount":{"type":"string","pattern":"^(?:0|[1-9][0-9]{0,8})(?:\\.[0-9]{1,6})?$","description":"Exact nonnegative decimal currency units; not blockchain atomic units."},"max_amount_atomic":{"type":"string","pattern":"^(?:0|[1-9][0-9]{0,23})$","description":"Native asset atomic units, comparable only when currency, network, asset and atomic price evidence match."}}},"quality":{"type":"object","additionalProperties":false,"required":["require_observed_success"],"properties":{"require_observed_success":{"type":"boolean","default":true,"description":"Defaults true, which keeps all untested offers in review. False explicitly removes observed-quality success from required eligibility checks; quality remains unassessed."}}}}},"CompareResult":{"type":"object","required":["schema_version","request","status","eligible","review","rejected","counts","stored","no_provider_execution","no_payment"],"properties":{"schema_version":{"const":"2"},"request":{"$ref":"#/components/schemas/CompareRequest"},"status":{"type":"string","enum":["declared_eligible_offers","needs_review","no_eligible_offer"]},"eligible":{"type":"array","items":{"$ref":"#/components/schemas/OfferEvaluation"}},"review":{"type":"array","items":{"$ref":"#/components/schemas/OfferEvaluation"}},"rejected":{"type":"array","items":{"$ref":"#/components/schemas/OfferEvaluation"}},"counts":{"type":"object"},"stored":{"const":false},"no_provider_execution":{"const":true},"no_payment":{"const":true}}},"OfferEvaluation":{"type":"object","required":["offer_id","group","reasons","checks","cost","declared_contract","quality_status"],"properties":{"offer_id":{"type":"string"},"group":{"type":"string","enum":["eligible","review","rejected"]},"reasons":{"type":"array","items":{"type":"object"}},"checks":{"type":"array","items":{"type":"object","required":["constraint","status","reason","required"],"properties":{"constraint":{"type":"string"},"status":{"type":"string","enum":["supported","mismatch","unknown"]},"reason":{"type":"string"},"required":{"type":"boolean"},"source_url":{"type":["string","null"]},"evidence_kind":{"type":"string"}}}},"cost":{"type":"object"},"declared_contract":{"type":"object"},"quality_status":{"const":"not_established"}}},"AskRequest":{"type":"object","additionalProperties":false,"properties":{"question":{"type":"string","maxLength":400,"description":"offer_facts, cost_and_fit or evidence_limits; unsupported questions return out_of_scope"},"resource":{"type":"string","maxLength":128,"description":"Exact offer ID from agent-guide.json; no arbitrary URLs"},"constraints":{"$ref":"#/components/schemas/CompareRequest"}}},"AskResult":{"type":"object","required":["schema_version","encounter_id","resource","status","answer","sources","missing_fields","missing_evidence","stored","no_provider_execution","no_payment"],"properties":{"schema_version":{"const":"agent-ask.v1"},"encounter_id":{"type":"string","description":"Per-response correlation only, not stored identity"},"resource":{"type":["string","null"]},"status":{"type":"string","enum":["answered","needs_input","needs_review","out_of_scope"]},"answer":{},"sources":{"type":"array"},"missing_fields":{"type":"array"},"missing_evidence":{"type":"array"},"stored":{"const":false},"no_provider_execution":{"const":true},"no_payment":{"const":true}}}}}}