{"openapi":"3.1.0","info":{"title":"Couples Therapy Collective developer resources","summary":"Machine-readable HTTP API for Couples Therapy Collective public practice information.","description":"Couples Therapy Collective is a UK psychodynamic couples therapy collective, not a SaaS product. These endpoints expose public pages, markdown, MCP discovery, and the human enquiry forms. Do not POST enquiry forms unless the people involved have explicitly asked you to send that message.","version":"1.0.0","contact":{"name":"Couples Therapy Collective","url":"https://www.couplestherapycollective.co.uk/developers"}},"servers":[{"url":"https://www.couplestherapycollective.co.uk"}],"tags":[{"name":"Agents","description":"Markdown, llms.txt, and MCP discovery"},{"name":"MCP","description":"Streamable HTTP JSON-RPC"},{"name":"Forms","description":"Human enquiry forms"}],"paths":{"/llms.txt":{"get":{"tags":["Agents"],"summary":"Couples Therapy Collective llms.txt","operationId":"getLlmsTxt","responses":{"200":{"description":"llms.txt markdown","content":{"text/markdown":{"schema":{"type":"string"}}}}}}},"/llms-full.txt":{"get":{"tags":["Agents"],"summary":"Combined public markdown","operationId":"getLlmsFullTxt","responses":{"200":{"description":"Concatenated page markdown","content":{"text/markdown":{"schema":{"type":"string"}}}}}}},"/openapi.json":{"get":{"tags":["Agents"],"summary":"This OpenAPI document","operationId":"getOpenApi","responses":{"200":{"description":"OpenAPI 3.1 document","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/.well-known/mcp":{"get":{"tags":["MCP"],"summary":"MCP well-known manifest","operationId":"getWellKnownMcp","responses":{"200":{"description":"MCP discovery manifest","content":{"application/json":{"schema":{"type":"object"}}}}}},"post":{"tags":["MCP"],"summary":"JSON-RPC initialize and tools on the well-known path","operationId":"postWellKnownMcp","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method"],"properties":{"jsonrpc":{"type":"string","const":"2.0"},"id":{},"method":{"type":"string"},"params":{"type":"object"}}}}}},"responses":{"200":{"description":"JSON-RPC response","content":{"application/json":{"schema":{"type":"object"}}}},"202":{"description":"Notification acknowledged"},"400":{"description":"Invalid JSON-RPC or unsupported protocol version"}}}},"/mcp":{"get":{"tags":["MCP"],"summary":"MCP server card","operationId":"getMcpServerCard","responses":{"200":{"description":"Server card","content":{"application/json":{"schema":{"type":"object"}}}}}},"post":{"tags":["MCP"],"summary":"Streamable HTTP MCP endpoint","description":"Accepts JSON-RPC 2.0 methods initialize, tools/list, tools/call, and ping. Public tools: list_therapists, get_therapist, get_page, list_pages, get_contact_guidance.","operationId":"postMcp","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method"],"properties":{"jsonrpc":{"type":"string","const":"2.0"},"id":{},"method":{"type":"string"},"params":{"type":"object"}}}}}},"responses":{"200":{"description":"JSON-RPC response","content":{"application/json":{"schema":{"type":"object"}}}},"202":{"description":"Notification acknowledged"},"400":{"description":"Invalid JSON-RPC or unsupported protocol version"}}}},"/server-card":{"get":{"tags":["MCP"],"summary":"MCP server card","operationId":"getServerCard","responses":{"200":{"description":"Server card","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/contact":{"post":{"tags":["Forms"],"summary":"Therapy enquiry form (human use)","description":"Sends a couple enquiry to one therapist. Requires a matching Origin, honeypot, and form-start timestamp. Do not call this unless both partners asked you to send the message.","operationId":"postTherapyEnquiry","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","email","partnerName","partnerEmail","message","therapistSlug"],"properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"partnerName":{"type":"string"},"partnerEmail":{"type":"string","format":"email"},"message":{"type":"string"},"therapistSlug":{"type":"string"},"website":{"type":"string","description":"Honeypot; must be empty"},"_startedAt":{"type":"number"}}}}}},"responses":{"200":{"description":"Enquiry received"},"400":{"description":"Invalid input or origin"}}}},"/api/media-enquiry":{"post":{"tags":["Forms"],"summary":"Media and non-therapy enquiry form","operationId":"postMediaEnquiry","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","name","email","message"],"properties":{"type":{"type":"string","enum":["media","speaking","writing","other"]},"name":{"type":"string"},"email":{"type":"string","format":"email"},"organisation":{"type":"string"},"message":{"type":"string"},"website":{"type":"string"},"_startedAt":{"type":"number"}}}}}},"responses":{"200":{"description":"Enquiry received"},"400":{"description":"Invalid input or origin"}}}}}}