{"openapi":"3.1.0","info":{"title":"Meridian connector Raw API","version":"0.1.0","description":"Catalogue-only API. It serves approved Meridian information, documentation, and an anonymous read-only MCP endpoint at /mcp. Sample paths are intentionally unavailable with 503 samples_unavailable; no database, bearer token, worker, provider, or stored user data is used."},"servers":[{"url":"/","description":"Current host; no public deployment URL is implied."}],"paths":{"/health":{"get":{"operationId":"getHealth","summary":"Check API health","description":"Unauthenticated process health. Catalogue mode does not require PostgreSQL.","responses":{"200":{"description":"Service is healthy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/openapi.json":{"get":{"operationId":"getOpenApi","summary":"Get this OpenAPI document","responses":{"200":{"description":"OpenAPI 3.1 document.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenApiDocument"}}}}}}},"/docs":{"get":{"operationId":"getDocs","summary":"Read the connector documentation","responses":{"200":{"description":"Self-contained HTML documentation.","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/v1/catalogue":{"get":{"operationId":"getCatalogue","summary":"Read approved Meridian catalogue information","description":"Returns approved catalogue entries. `question` is an exact approved FAQ question or FAQ ID lookup, with approved related context; it is not general search or a recommender. Pending entries and unknown commercial terms remain undisclosed.","parameters":[{"name":"service","in":"query","required":false,"description":"Exact approved service_id filter. Whitespace is trimmed; unsupported values return no approved match.","schema":{"type":"string"}},{"name":"question","in":"query","required":false,"description":"Exact approved FAQ question or faq_id. Whitespace is trimmed; other questions return unknown_or_unapproved.","schema":{"type":"string"}}],"responses":{"200":{"description":"Approved catalogue response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogueResponse"}}}},"500":{"description":"Catalogue could not be loaded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/mcp":{"post":{"operationId":"postMcp","summary":"Meridian catalogue MCP endpoint","description":"Anonymous Streamable HTTP MCP endpoint for the approved catalogue tool get_meridian_services. Catalogue mode only. No OAuth or API key. JSON-RPC over POST; GET and DELETE return 405. This is not sample generation.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"JSON-RPC MCP response."},"202":{"description":"JSON-RPC notification accepted."},"400":{"description":"Invalid JSON."},"403":{"description":"Host or Origin is not allowed."},"405":{"description":"Method not allowed."},"413":{"description":"Request body exceeds BODY_LIMIT_BYTES."},"415":{"description":"Unsupported Content-Type or Content-Encoding."}}},"get":{"operationId":"getMcp","summary":"MCP GET is not used","description":"Stateless JSON MCP does not open SSE streams. Returns 405 with Allow: POST.","responses":{"405":{"description":"Method not allowed."}}},"delete":{"operationId":"deleteMcp","summary":"MCP DELETE is not used","description":"There is no MCP session registry. Returns 405 with Allow: POST.","responses":{"405":{"description":"Method not allowed."}}}}},"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"opaque requester token","description":"HTTP Bearer token mapped to a requester by server configuration. This is not OAuth and is not an API-key header."}},"schemas":{"ErrorResponse":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}},"additionalProperties":false},"retry_after_seconds":{"type":"integer","minimum":0}},"additionalProperties":false},"HealthResponse":{"type":"object","required":["ok","service"],"properties":{"ok":{"type":"boolean"},"service":{"const":"meridian-connector"},"mode":{"enum":["catalogue","full"]}},"additionalProperties":false},"NextStep":{"type":"object","required":["label","url"],"properties":{"label":{"type":"string"},"url":{"type":"string","format":"uri","pattern":"^https://(www\\.)?seekmeridian\\.com/"}},"additionalProperties":false},"CatalogueEntry":{"type":"object","required":["service_id","title","summary","audience","inclusions","exclusions","price","currency","billing_interval","effective_from","approved_at","approval_status","source_url","source_provenance"],"properties":{"service_id":{"type":"string"},"title":{"type":"string"},"summary":{"type":"string"},"audience":{"type":"array","items":{"type":"string"}},"inclusions":{"type":"array","items":{"type":"string"}},"exclusions":{"type":"array","items":{"type":"string"}},"price":{"type":["number","null"],"minimum":0},"currency":{"type":["string","null"]},"billing_interval":{"type":["string","null"]},"effective_from":{"type":"string","format":"date"},"approved_at":{"type":["string","null"],"format":"date-time"},"approval_status":{"const":"approved"},"source_url":{"type":"string","format":"uri"},"source_provenance":{"type":"string"}},"additionalProperties":false},"CatalogueFaq":{"type":"object","required":["faq_id","question","answer","approval_status","approved_at","source_url","source_provenance"],"properties":{"faq_id":{"type":"string"},"question":{"type":"string"},"answer":{"type":"string"},"approval_status":{"const":"approved"},"approved_at":{"type":["string","null"],"format":"date-time"},"source_url":{"type":"string","format":"uri"},"source_provenance":{"type":"string"}},"additionalProperties":false},"CatalogueResponse":{"type":"object","required":["catalogue_version","matches","faqs","known","answer_status","next_step"],"properties":{"catalogue_version":{"type":"string"},"matches":{"type":"array","items":{"$ref":"#/components/schemas/CatalogueEntry"}},"faqs":{"type":"array","items":{"$ref":"#/components/schemas/CatalogueFaq"}},"related_context":{"type":["object","null"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/CatalogueEntry"}},"faqs":{"type":"array","items":{"$ref":"#/components/schemas/CatalogueFaq"}}},"additionalProperties":false},"known":{"type":"boolean"},"answer_status":{"enum":["approved_information","unknown_or_unapproved"]},"message":{"type":"string"},"next_step":{"$ref":"#/components/schemas/NextStep"}},"additionalProperties":false},"OpenApiDocument":{"type":"object","required":["openapi","info","servers","paths"],"properties":{"openapi":{"const":"3.1.0"},"info":{"type":"object"},"servers":{"type":"array"},"paths":{"type":"object"}},"additionalProperties":true}}}}