{"openapi":"3.1.0","info":{"title":"Mental Health Croydon API","summary":"Read-only directory API for Mental Health Croydon","description":"Public JSON API for Mental Health Croydon. Search Croydon mental health services and condition pages. No authentication is required for reads. There is no write API, webhook, or user auth.","version":"1.0.0","contact":{"name":"Mental Health Croydon","email":"hello@talktoluke.com","url":"https://www.mentalhealthcroydon.co.uk/contact"},"license":{"name":"Listing data is factual public signposting","url":"https://www.mentalhealthcroydon.co.uk/privacy"}},"servers":[{"url":"https://www.mentalhealthcroydon.co.uk","description":"Mental Health Croydon production"}],"tags":[{"name":"Services","description":"Directory listings"},{"name":"Conditions","description":"Help-with landing pages"}],"paths":{"/api/v1/services":{"get":{"tags":["Services"],"summary":"List or search Mental Health Croydon services","operationId":"listServices","parameters":[{"name":"q","in":"query","description":"Search query (name, description, tags, location)","schema":{"type":"string"}},{"name":"approach","in":"query","schema":{"type":"string","enum":["crisis","reactive","proactive"]}},{"name":"category","in":"query","schema":{"type":"string","enum":["nhs","charity","wellbeing","therapy"]}},{"name":"tag","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Service list","content":{"application/json":{"schema":{"type":"object","required":["source","count","services"],"properties":{"source":{"type":"string","const":"Mental Health Croydon"},"count":{"type":"integer"},"services":{"type":"array","items":{"$ref":"#/components/schemas/PublicService"}}}}}}}}}},"/api/v1/services/{slug}":{"get":{"tags":["Services"],"summary":"Get one Mental Health Croydon service","operationId":"getService","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Service","content":{"application/json":{"schema":{"type":"object","required":["source","service"],"properties":{"source":{"type":"string"},"service":{"$ref":"#/components/schemas/PublicService"}}}}}},"404":{"description":"Unknown slug"}}}},"/api/v1/conditions":{"get":{"tags":["Conditions"],"summary":"List Mental Health Croydon help-with pages","operationId":"listConditions","responses":{"200":{"description":"Condition list","content":{"application/json":{"schema":{"type":"object","required":["source","count","conditions"],"properties":{"source":{"type":"string"},"count":{"type":"integer"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/PublicCondition"}}}}}}}}}},"/api/v1/conditions/{slug}":{"get":{"tags":["Conditions"],"summary":"Get one help-with page","operationId":"getCondition","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Condition","content":{"application/json":{"schema":{"type":"object","required":["source","condition"],"properties":{"source":{"type":"string"},"condition":{"$ref":"#/components/schemas/PublicCondition"}}}}}},"404":{"description":"Unknown slug"}}}}},"components":{"schemas":{"PublicService":{"type":"object","required":["name","slug","description","category","approach","location","cost","tags"],"properties":{"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"approach":{"type":"string"},"location":{"type":"string"},"address":{"type":"string"},"phone":{"type":"string"},"email":{"type":"string"},"website":{"type":"string"},"cost":{"type":"string"},"timing":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"wait_time_weeks":{"type":["integer","null"]},"last_verified_at":{"type":"string"},"average_rating":{"type":["number","null"]},"review_count":{"type":"integer"}}},"PublicCondition":{"type":"object","required":["slug","h1","path"],"properties":{"slug":{"type":"string"},"h1":{"type":"string"},"path":{"type":"string"},"metaTitle":{"type":"string"},"metaDescription":{"type":"string"},"relatedTags":{"type":"array","items":{"type":"string"}}}}}}}