9 endpoints in this category.
GET/dashboard-action-list
Get Dashboard
Get dashboard statistics, alert counts, and action items.
Authentication:Required — Authorization: Bearer <token>
Response Fields
| Name | Type | Required | Description |
|---|
stats | object | Yes | Visit stats (today, pending, completed) |
alerts | object | Yes | Alert counts by type |
Error Codes
| Status | Meaning |
|---|
401 | Unauthorized |
Code Examples
curl -X GET 'https://visitnote-api-production.up.railway.app/api/therapist/v1/dashboard-action-list' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN'
GET/my-profile
Get Profile
Get the full profile of the authenticated clinician.
Authentication:Required — Authorization: Bearer <token>
Response Fields
| Name | Type | Required | Description |
|---|
data | User | Yes | Full user profile object |
Error Codes
| Status | Meaning |
|---|
401 | Unauthorized |
Code Examples
curl -X GET 'https://visitnote-api-production.up.railway.app/api/therapist/v1/my-profile' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN'
PUT/update-basic-info
Update Profile
Update the clinician's basic profile information.
Authentication:Required — Authorization: Bearer <token>
Request Body
| Name | Type | Required | Description |
|---|
first_name | string | No | First name |
last_name | string | No | Last name |
email | string | No | Email address |
phone | string | No | Phone number |
address | string | No | Address |
Error Codes
| Status | Meaning |
|---|
422 | Validation error (duplicate email) |
Code Examples
curl -X PUT 'https://visitnote-api-production.up.railway.app/api/therapist/v1/update-basic-info' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"first_name": "your_first_name",
"last_name": "your_last_name",
"email": "your_email",
"phone": "your_phone",
"address": "your_address"
}'
POST/change-password
Change Password
Change the authenticated user's password.
Authentication:Required — Authorization: Bearer <token>
Request Body
| Name | Type | Required | Description |
|---|
current_password | string | Yes | Current password |
new_password | string | Yes | New password (min 8 chars) |
new_password_confirmation | string | Yes | Confirm new password |
Error Codes
| Status | Meaning |
|---|
401 | Current password is incorrect |
422 | New password too weak or mismatch |
Code Examples
curl -X POST 'https://visitnote-api-production.up.railway.app/api/therapist/v1/change-password' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"current_password": "your_current_password",
"new_password": "your_new_password",
"new_password_confirmation": "your_new_password_confirmation"
}'
GET/progress-stats
Get Progress Stats
Get detailed progress statistics for the clinician.
Authentication:Required — Authorization: Bearer <token>
Response Fields
| Name | Type | Required | Description |
|---|
data | object | Yes | Progress statistics |
Error Codes
| Status | Meaning |
|---|
401 | Unauthorized |
Code Examples
curl -X GET 'https://visitnote-api-production.up.railway.app/api/therapist/v1/progress-stats' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN'
GET/therapist-discipline
Get Discipline List
Get the list of available clinical disciplines.
Authentication:Required — Authorization: Bearer <token>
Response Fields
| Name | Type | Required | Description |
|---|
data | string[] | Yes | Array of discipline codes |
Error Codes
| Status | Meaning |
|---|
401 | Unauthorized |
Code Examples
curl -X GET 'https://visitnote-api-production.up.railway.app/api/therapist/v1/therapist-discipline' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN'
GET/therapist-earning
Get Earnings
Get earnings data for the authenticated clinician.
Authentication:Required — Authorization: Bearer <token>
Response Fields
| Name | Type | Required | Description |
|---|
data | object | Yes | Earnings breakdown |
Error Codes
| Status | Meaning |
|---|
401 | Unauthorized |
Code Examples
curl -X GET 'https://visitnote-api-production.up.railway.app/api/therapist/v1/therapist-earning' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN'
GET/reports/summary
Practice Report Summary
Totals plus per-visit detail over a date range — built for year-end tax prep (mileage + visit counts) and general record-keeping. Defaults to the current calendar year.
Authentication:Required — Authorization: Bearer <token>
travel_miles / onsite_miles sum only the visits that recorded the split, so they can total less than total_miles.
Query Parameters
| Name | Type | Required | Description |
|---|
from | string | No | Range start (ISO date). Default: Jan 1 of the current year |
to | string | No | Range end (ISO date). Default: Dec 31 of the current year |
Code Examples
curl -X GET 'https://visitnote-api-production.up.railway.app/api/therapist/v1/reports/summary' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN'
GET/reports/time-saved
Time Saved by AI Documentation
What AI-assisted documentation measurably saved — for the caller, or for the whole organization when the caller is an org admin (scope=organization). Figures come from measured time on real notes; when there is not enough data to support a claim the response says so instead of assuming.
Authentication:Required — Authorization: Bearer <token>
Query Parameters
| Name | Type | Required | Description |
|---|
from | string | No | Range start (ISO date). Default: 90 days ago |
to | string | No | Range end (ISO date). Default: today |
scope | string | No | 'me' (default) or 'organization' (org admins only) |
Error Codes
| Status | Meaning |
|---|
403 | scope=organization requires an organization admin seat |
Code Examples
curl -X GET 'https://visitnote-api-production.up.railway.app/api/therapist/v1/reports/time-saved' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN'