{"openapi":"3.1.0","info":{"title":"Braver API","version":"2026-07-03","description":"OpenAPI entry point for Braver resources, including patients, scheduling, clinical work, communications, operations, AI, and realtime events."},"servers":[{"url":"https://api.bebraver.com/v1","description":"Production API"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"patients"},{"name":"appointments"},{"name":"treatment"},{"name":"forms"},{"name":"communications"},{"name":"operations"},{"name":"ai"},{"name":"realtime"}],"paths":{"/patients":{"get":{"tags":["patients"],"summary":"List patients","operationId":"listPatients","parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PageSize"}],"responses":{"200":{"description":"Paginated patients","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/PaginatedResponse"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Patient"}}}}]}}}}}},"post":{"tags":["patients"],"summary":"Create a patient","operationId":"createPatient","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatientCreate"}}}},"responses":{"201":{"description":"Created patient","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Patient"}}}}}}},"/patients/search/advanced":{"get":{"tags":["patients"],"summary":"Search patients","operationId":"advancedPatientSearch","responses":{"200":{"$ref":"#/components/responses/Ok"}}}},"/appointments":{"get":{"tags":["appointments"],"summary":"List appointments","operationId":"listAppointments","responses":{"200":{"$ref":"#/components/responses/Ok"}}},"post":{"tags":["appointments"],"summary":"Create an appointment","operationId":"createAppointment","responses":{"201":{"$ref":"#/components/responses/Created"}}}},"/appointment-slots":{"get":{"tags":["appointments"],"summary":"List available appointment slots","operationId":"listAppointmentSlots","responses":{"200":{"$ref":"#/components/responses/Ok"}}}},"/treatment-notes":{"get":{"tags":["treatment"],"summary":"List treatment notes","operationId":"listTreatmentNotes","responses":{"200":{"$ref":"#/components/responses/Ok"}}},"post":{"tags":["treatment"],"summary":"Create a treatment note","operationId":"createTreatmentNote","responses":{"201":{"$ref":"#/components/responses/Created"}}}},"/forms":{"get":{"tags":["forms"],"summary":"List form instances","operationId":"listForms","responses":{"200":{"$ref":"#/components/responses/Ok"}}}},"/communications/conversations":{"get":{"tags":["communications"],"summary":"List conversations","operationId":"listConversations","responses":{"200":{"$ref":"#/components/responses/Ok"}}}},"/tasks":{"get":{"tags":["operations"],"summary":"List tasks","operationId":"listTasks","responses":{"200":{"$ref":"#/components/responses/Ok"}}}},"/data-export/jobs":{"post":{"tags":["operations"],"summary":"Create a data export job","operationId":"createDataExportJob","responses":{"201":{"$ref":"#/components/responses/Created"}}}},"/ai-processing/extract-text":{"post":{"tags":["ai"],"summary":"Extract text for AI workflows","operationId":"extractText","responses":{"200":{"$ref":"#/components/responses/Ok"}}}},"/local-events":{"get":{"tags":["realtime"],"summary":"List local integration events","operationId":"listLocalEvents","responses":{"200":{"$ref":"#/components/responses/Ok"}}}},"/realtime":{"get":{"tags":["realtime"],"summary":"Open realtime event stream","operationId":"connectRealtime","responses":{"101":{"description":"Websocket upgrade"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"Page":{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1}},"PageSize":{"name":"pageSize","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}}},"responses":{"Ok":{"description":"Successful response"},"Created":{"description":"Resource created"}},"schemas":{"PaginatedResponse":{"type":"object","required":["count","data","page","pageSize"],"properties":{"count":{"type":"integer"},"data":{"type":"array","items":{}},"page":{"type":"integer"},"pageSize":{"type":"integer"}}},"Patient":{"type":"object","required":["id","firstName","lastName","status"],"properties":{"id":{"type":"string","examples":["pat_01J00000000000000000000000"]},"firstName":{"type":"string"},"lastName":{"type":"string"},"status":{"type":"string","examples":["active"]},"nextAppointmentAt":{"type":["string","null"],"format":"date-time"}}},"PatientCreate":{"type":"object","required":["firstName","lastName"],"properties":{"firstName":{"type":"string"},"lastName":{"type":"string"},"dateOfBirth":{"type":"string","format":"date"}}}}}}