API index
Every endpoint this service exposes, read live from the OpenAPI schema — so this page always matches what the server is actually routing.
Grouped by tag. A padlock marks routes that require an
Authorization: Bearer <access> header.
| Method | Path | Purpose | Auth |
|---|---|---|---|
| POST | /api/auth/login/ | Log in | Public |
| POST | /api/auth/login/verify/ | Verify a sign-in code | Public |
| POST | /api/auth/logout/ | Log out | Bearer |
| GET | /api/auth/me/ | Current user | Bearer |
| POST | /api/auth/password-reset/ | Request a password reset | Public |
| POST | /api/auth/password-reset/confirm/ | Confirm a password reset | Public |
| POST | /api/auth/password/change/ | Change your password | Bearer |
| POST | /api/auth/refresh/ | Refresh access token | Public |
| POST | /api/auth/verify/ | Verify token | Public |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/inventory/count-sheet/ | The count sheet for one date | Bearer |
| POST | /api/inventory/count-sheet/confirm/ | Confirm and lock a whole count sheet | Bearer |
| PUT | /api/inventory/count-sheet/lines/ | File or correct one draft count line | Bearer |
| POST | /api/inventory/count-sheet/lines/{uuid}/confirm/ | Confirm one count line | — |
| POST | /api/inventory/count-sheet/unlock/ | Reopen a locked count sheet | Bearer |
| POST | /api/inventory/count-sheet/verify-end/ | Sign the end of the day | Bearer |
| POST | /api/inventory/count-sheet/verify-start/ | Sign the start of the day | Bearer |
| GET | /api/inventory/medications/ | List medications | Bearer |
| POST | /api/inventory/medications/ | Add a medication | Bearer |
| GET | /api/inventory/medications/export/ | List medications | Bearer |
| GET | /api/inventory/medications/{uuid}/ | Get a medication by id | — |
| PUT | /api/inventory/medications/{uuid}/ | Replace a medication | — |
| PATCH | /api/inventory/medications/{uuid}/ | Update a medication | — |
| DELETE | /api/inventory/medications/{uuid}/ | Delete a medication (soft) | — |
| GET | /api/inventory/medications/{uuid}/tracks/ | List one medication's count history | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/leads/ | List leads | Bearer |
| GET | /api/leads/open-count/ | Count of open (new + draft) leads | Bearer |
| POST | /api/leads/register/ | Register a lead (public website form) | Public |
| GET | /api/leads/{uuid}/ | Get a lead | — |
| POST | /api/leads/{uuid}/reject/ | Reject a lead | — |
| POST | /api/leads/{uuid}/reopen/ | Reopen a rejected lead | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/patient-portal/profile/ | My record | Bearer |
| PATCH | /api/patient-portal/profile/ | My record | Bearer |
| GET | /api/patient-portal/profile/cards/ | My saved cards | Bearer |
| POST | /api/patient-portal/profile/cards/ | My saved cards | Bearer |
| PATCH | /api/patient-portal/profile/cards/{card_uuid}/ | Update or remove one of my cards | — |
| DELETE | /api/patient-portal/profile/cards/{card_uuid}/ | Update or remove one of my cards | — |
| GET | /api/patient-portal/profile/charts/ | Records I can view | Bearer |
| GET | /api/patient-portal/profile/insurances/ | My insurance policies | Bearer |
| POST | /api/patient-portal/profile/insurances/ | My insurance policies | Bearer |
| GET | /api/patient-portal/profile/insurances/{policy_uuid}/ | Edit one of my policies | — |
| PATCH | /api/patient-portal/profile/insurances/{policy_uuid}/ | Edit one of my policies | — |
| DELETE | /api/patient-portal/profile/insurances/{policy_uuid}/ | Edit one of my policies | — |
| GET | /api/patient-portal/profile/payers/ | Insurers I can choose from | Bearer |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/patients/ | List patients | Bearer |
| POST | /api/patients/ | Create a patient | Bearer |
| GET | /api/patients/{uuid}/ | Retrieve a patient | — |
| PATCH | /api/patients/{uuid}/ | Set a patient’s status | — |
| GET | /api/patients/{uuid}/alert-notes/ | List alert notes | — |
| POST | /api/patients/{uuid}/alert-notes/ | Add an alert note | — |
| GET | /api/patients/{uuid}/alert-notes/{note_uuid}/ | Get an alert note | — |
| PATCH | /api/patients/{uuid}/alert-notes/{note_uuid}/ | Update an alert note | — |
| DELETE | /api/patients/{uuid}/alert-notes/{note_uuid}/ | Delete an alert note | — |
| GET | /api/patients/{uuid}/documents/ | List documents | — |
| POST | /api/patients/{uuid}/documents/ | Upload a document | — |
| GET | /api/patients/{uuid}/documents/{document_uuid}/ | Get a document | — |
| DELETE | /api/patients/{uuid}/documents/{document_uuid}/ | Delete a document | — |
| GET | /api/patients/{uuid}/documents/{document_uuid}/content/ | Download a document | — |
| GET | /api/patients/{uuid}/flags/ | List the flags on a chart | — |
| POST | /api/patients/{uuid}/flags/ | Pin a flag to a chart | — |
| DELETE | /api/patients/{uuid}/flags/{assignment_uuid}/ | Take a flag off a chart | — |
| GET | /api/patients/{uuid}/notes/ | List notes | — |
| POST | /api/patients/{uuid}/notes/ | Add a note | — |
| GET | /api/patients/{uuid}/notes/{note_uuid}/ | Get a note | — |
| PATCH | /api/patients/{uuid}/notes/{note_uuid}/ | Update a note | — |
| DELETE | /api/patients/{uuid}/notes/{note_uuid}/ | Delete a note | — |
| GET | /api/patients/{uuid}/payment-cards/ | List payment cards | — |
| POST | /api/patients/{uuid}/payment-cards/ | Add a payment card | — |
| GET | /api/patients/{uuid}/payment-cards/{card_uuid}/ | Get a payment card | — |
| PATCH | /api/patients/{uuid}/payment-cards/{card_uuid}/ | Update a payment card | — |
| DELETE | /api/patients/{uuid}/payment-cards/{card_uuid}/ | Delete a payment card | — |
| GET | /api/patients/{uuid}/vitals/ | List vitals | — |
| POST | /api/patients/{uuid}/vitals/ | Record vitals | — |
| GET | /api/patients/{uuid}/vitals/{vital_uuid}/ | Get vitals | — |
| PATCH | /api/patients/{uuid}/vitals/{vital_uuid}/ | Update vitals | — |
| DELETE | /api/patients/{uuid}/vitals/{vital_uuid}/ | Delete vitals | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/availability/appointment-statuses/ | List appointment statuses | Bearer |
| POST | /api/settings/availability/appointment-statuses/ | Create an appointment status | Bearer |
| GET | /api/settings/availability/appointment-statuses/{uuid}/ | Get an appointment status | — |
| PUT | /api/settings/availability/appointment-statuses/{uuid}/ | Replace an appointment status | — |
| PATCH | /api/settings/availability/appointment-statuses/{uuid}/ | Update an appointment status | — |
| DELETE | /api/settings/availability/appointment-statuses/{uuid}/ | Archive an appointment status | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/availability/appointment-types/ | List appointment types | Bearer |
| POST | /api/settings/availability/appointment-types/ | Create an appointment type | Bearer |
| GET | /api/settings/availability/appointment-types/{uuid}/ | Get an appointment type | — |
| PUT | /api/settings/availability/appointment-types/{uuid}/ | Replace an appointment type | — |
| PATCH | /api/settings/availability/appointment-types/{uuid}/ | Update an appointment type | — |
| DELETE | /api/settings/availability/appointment-types/{uuid}/ | Archive an appointment type | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/availability/block-days/{uuid}/ | Get a block day | — |
| PUT | /api/settings/availability/block-days/{uuid}/ | Replace a block day | — |
| PATCH | /api/settings/availability/block-days/{uuid}/ | Update a block day | — |
| DELETE | /api/settings/availability/block-days/{uuid}/ | Remove a block day | — |
| GET | /api/settings/availability/providers/ | List providers with their availability summary | Bearer |
| GET | /api/settings/availability/providers/{uuid}/block-days/ | List a provider's block days | — |
| POST | /api/settings/availability/providers/{uuid}/block-days/ | Add a block day | — |
| GET | /api/settings/availability/providers/{uuid}/slots/ | Get a provider's day slots | — |
| PUT | /api/settings/availability/providers/{uuid}/slots/ | Replace a provider's day slots | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/billing/fee-schedules/ | List fee schedules | Bearer |
| POST | /api/settings/billing/fee-schedules/ | Create a fee schedule | Bearer |
| GET | /api/settings/billing/fee-schedules/{uuid}/ | Get a fee schedule by id | — |
| PUT | /api/settings/billing/fee-schedules/{uuid}/ | Replace a fee schedule | — |
| PATCH | /api/settings/billing/fee-schedules/{uuid}/ | Update a fee schedule | — |
| DELETE | /api/settings/billing/fee-schedules/{uuid}/ | Delete a fee schedule (soft) | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/availability/cancellation-policy/ | Get the cancellation policy | Bearer |
| PUT | /api/settings/availability/cancellation-policy/ | Replace the cancellation policy | Bearer |
| PATCH | /api/settings/availability/cancellation-policy/ | Update the cancellation policy | Bearer |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/availability/forms/ | List attachable forms | Bearer |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/master/clinicians/ | List clinicians | Bearer |
| POST | /api/settings/master/clinicians/ | Create a clinician | Bearer |
| GET | /api/settings/master/clinicians/{uuid}/ | Get a clinician by id | — |
| PUT | /api/settings/master/clinicians/{uuid}/ | Replace a clinician | — |
| PATCH | /api/settings/master/clinicians/{uuid}/ | Update a clinician | — |
| DELETE | /api/settings/master/clinicians/{uuid}/ | Delete a clinician (soft) | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/master/codes/ | List codes | Bearer |
| POST | /api/settings/master/codes/ | Create a code | Bearer |
| GET | /api/settings/master/codes/{uuid}/ | Get a code by id | — |
| PUT | /api/settings/master/codes/{uuid}/ | Replace a code | — |
| PATCH | /api/settings/master/codes/{uuid}/ | Update a code | — |
| DELETE | /api/settings/master/codes/{uuid}/ | Delete a code | — |
| PATCH | /api/settings/master/codes/{uuid}/status/ | Activate / deactivate a code | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/master/export/ | Export a master list as a CSV | Bearer |
| POST | /api/settings/master/import/ | Import master data from a CSV | Bearer |
| GET | /api/settings/master/imports/ | List import history | Bearer |
| GET | /api/settings/master/imports/{uuid}/ | Get one import batch by id | — |
| GET | /api/settings/master/imports/{uuid}/errors/ | Download the failed rows of an import as a CSV | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/master/instruments/ | List instruments | Bearer |
| POST | /api/settings/master/instruments/ | Create an instrument | Bearer |
| GET | /api/settings/master/instruments/{uuid}/ | Get an instrument by id | — |
| PUT | /api/settings/master/instruments/{uuid}/ | Replace an instrument | — |
| PATCH | /api/settings/master/instruments/{uuid}/ | Update an instrument | — |
| DELETE | /api/settings/master/instruments/{uuid}/ | Delete an instrument (soft) | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/master/payers/ | List payers | Bearer |
| POST | /api/settings/master/payers/ | Create a payer | Bearer |
| GET | /api/settings/master/payers/{uuid}/ | Get a payer by id | — |
| PUT | /api/settings/master/payers/{uuid}/ | Replace a payer | — |
| PATCH | /api/settings/master/payers/{uuid}/ | Update a payer | — |
| DELETE | /api/settings/master/payers/{uuid}/ | Delete a payer (soft) | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/master/pharmacies/ | List pharmacies | Bearer |
| POST | /api/settings/master/pharmacies/ | Create a pharmacy | Bearer |
| GET | /api/settings/master/pharmacies/{uuid}/ | Get a pharmacy by id | — |
| PUT | /api/settings/master/pharmacies/{uuid}/ | Replace a pharmacy | — |
| PATCH | /api/settings/master/pharmacies/{uuid}/ | Update a pharmacy | — |
| DELETE | /api/settings/master/pharmacies/{uuid}/ | Delete a pharmacy (soft) | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/master/recall-types/ | List recall types | Bearer |
| POST | /api/settings/master/recall-types/ | Create a recall type | Bearer |
| GET | /api/settings/master/recall-types/{uuid}/ | Get a recall type by id | — |
| PUT | /api/settings/master/recall-types/{uuid}/ | Replace a recall type | — |
| PATCH | /api/settings/master/recall-types/{uuid}/ | Update a recall type | — |
| DELETE | /api/settings/master/recall-types/{uuid}/ | Delete a recall type (soft) | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/practice/locations/ | List locations | Bearer |
| POST | /api/settings/practice/locations/ | Create a location | Bearer |
| GET | /api/settings/practice/locations/{uuid}/ | Get a location | — |
| PUT | /api/settings/practice/locations/{uuid}/ | Replace a location | — |
| PATCH | /api/settings/practice/locations/{uuid}/ | Update a location | — |
| DELETE | /api/settings/practice/locations/{uuid}/ | Archive a location | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/practice/print-configurations/ | List print configurations | Bearer |
| POST | /api/settings/practice/print-configurations/ | Create a print configuration | Bearer |
| GET | /api/settings/practice/print-configurations/{uuid}/ | Get a print configuration | — |
| PUT | /api/settings/practice/print-configurations/{uuid}/ | Replace a print configuration | — |
| PATCH | /api/settings/practice/print-configurations/{uuid}/ | Update a print configuration | — |
| DELETE | /api/settings/practice/print-configurations/{uuid}/ | Delete a print configuration | — |
| POST | /api/settings/practice/print-configurations/{uuid}/default/ | Make this the default print configuration | — |
| POST | /api/settings/practice/print-configurations/{uuid}/duplicate/ | Duplicate a print configuration | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/practice/profiles/ | List practice profiles | Bearer |
| GET | /api/settings/practice/profiles/{uuid}/ | Get a practice profile | — |
| PUT | /api/settings/practice/profiles/{uuid}/ | Replace a practice profile | — |
| PATCH | /api/settings/practice/profiles/{uuid}/ | Update a practice profile | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| POST | /api/settings/practice/providers/ | Onboard a provider | Bearer |
| GET | /api/settings/practice/providers/{uuid}/ | Get a provider | — |
| PUT | /api/settings/practice/providers/{uuid}/ | Replace a provider | — |
| PATCH | /api/settings/practice/providers/{uuid}/ | Update a provider | — |
| DELETE | /api/settings/practice/providers/{uuid}/ | Archive a provider | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/practice/permissions/ | List every permission | Bearer |
| GET | /api/settings/practice/roles/ | List roles | Bearer |
| POST | /api/settings/practice/roles/ | Create a role | Bearer |
| GET | /api/settings/practice/roles/{uuid}/ | Get a role | — |
| PUT | /api/settings/practice/roles/{uuid}/ | Replace a role | — |
| PATCH | /api/settings/practice/roles/{uuid}/ | Update a role | — |
| DELETE | /api/settings/practice/roles/{uuid}/ | Delete a role | — |
| PUT | /api/settings/practice/roles/{uuid}/permissions/ | Replace a role's permissions | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| POST | /api/settings/practice/staff/ | Onboard a staff member | Bearer |
| GET | /api/settings/practice/staff/{uuid}/ | Get a staff member | — |
| PUT | /api/settings/practice/staff/{uuid}/ | Replace a staff member | — |
| PATCH | /api/settings/practice/staff/{uuid}/ | Update a staff member | — |
| DELETE | /api/settings/practice/staff/{uuid}/ | Archive a staff member | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/practice/users/ | List practice users | Bearer |
| GET | /api/settings/practice/users/me/ | The signed-in user | Bearer |
| GET | /api/settings/practice/users/{uuid}/ | Get one practice user | — |
| PATCH | /api/settings/practice/users/{uuid}/ | Activate or deactivate a practice user | — |
| DELETE | /api/settings/practice/users/{uuid}/ | Archive a practice user | — |
| POST | /api/settings/practice/users/{uuid}/invite/ | Resend an invite | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/provider/patient-flags/ | List my patient flags | Bearer |
| POST | /api/settings/provider/patient-flags/ | Create a patient flag | Bearer |
| GET | /api/settings/provider/patient-flags/{uuid}/ | Get one of my patient flags | — |
| PUT | /api/settings/provider/patient-flags/{uuid}/ | Replace a patient flag | — |
| PATCH | /api/settings/provider/patient-flags/{uuid}/ | Update a patient flag | — |
| DELETE | /api/settings/provider/patient-flags/{uuid}/ | Delete a patient flag | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/settings/audit/logs/ | List audit log entries | Bearer |
| GET | /api/settings/audit/logs/export/ | Export the audit log as a CSV | Bearer |
| GET | /api/settings/audit/logs/{uuid}/ | Get one audit log entry | — |
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /api/timeclock/shifts/ | List shifts since a moment (plus the running one), or a range for the report | Bearer |
| POST | /api/timeclock/shifts/break/end/ | End the running break | Bearer |
| POST | /api/timeclock/shifts/break/start/ | Start a break | Bearer |
| POST | /api/timeclock/shifts/clock-in/ | Clock in | Bearer |
| POST | /api/timeclock/shifts/clock-out/ | Clock out | Bearer |
| POST | /api/timeclock/shifts/manual/ | Add time entries by hand (staff accounts only) | Bearer |
| PATCH | /api/timeclock/shifts/{uuid}/ | Adjust a shift | — |
Log in, then send the access token on every protected call.
# 1. exchange credentials for a token pair curl -X POST http://127.0.0.1:8000/api/auth/login/ \ -H 'Content-Type: application/json' \ -d '{"email":"you@example.com","password":"••••••••"}' # 2. call a protected route with the access token curl http://127.0.0.1:8000/api/auth/me/ \ -H 'Authorization: Bearer <access>'