{"openapi":"3.1.0","info":{"title":"Simple Care Agent API","version":"1.0.0","description":"Public read-only discovery API surface for Simple Care agents. Medical emergencies should be directed to 911. Agents must not diagnose, collect PHI, create accounts, or book appointments."},"servers":[{"url":"https://simplecare.ca"}],"paths":{"/api/services":{"get":{"summary":"List public service categories and subcategories","operationId":"getServices","responses":{"200":{"description":"Service catalog","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"}}}}}}},"/api/physicians":{"get":{"summary":"List active public physicians","operationId":"getPhysicians","responses":{"200":{"description":"Physician list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"}}}}}}},"/api/availability":{"get":{"summary":"Check public availability by category, service, physician, or date","operationId":"checkAvailability","parameters":[{"name":"category_id","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"subcategory_id","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"physician_id","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"date","in":"query","description":"YYYY-MM-DD. Requires physician_id and subcategory_id.","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Availability data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponse"}}}},"400":{"description":"Missing or invalid query parameters"}}}},"/api/v1/services/with-subcategories":{"get":{"summary":"Current production service catalog endpoint","operationId":"getServicesWithSubcategories","responses":{"200":{"description":"Service categories with subcategories"}}}},"/api/v1/patient/physicians/by-category/{categoryId}/with-slots":{"get":{"summary":"Current production physicians and timeslots endpoint by category","operationId":"getPhysiciansByCategoryWithSlots","parameters":[{"name":"categoryId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Physicians with available slots for the category"},"400":{"description":"Missing category"}}}},"/api/v1/patient/physicians/by-subcategory/{subcategoryId}/with-slots":{"get":{"summary":"Current production physicians and timeslots endpoint by service","operationId":"getPhysiciansBySubcategoryWithSlots","parameters":[{"name":"subcategoryId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Physicians with available slots for the service"},"400":{"description":"Missing subcategory"}}}}},"components":{"schemas":{"ApiResponse":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"oneOf":[{"type":"object","additionalProperties":true},{"type":"array","items":{"type":"object","additionalProperties":true}},{"type":"null"}]}}}}}}