AI Documentation
6 endpoints in this category.
POST
/ai/process-audioProcess Audio with AI
Upload a visit audio recording for AI-powered transcription and SOAP note generation. Returns a transcription UUID for status polling.
Authentication:Required —
Authorization: Bearer <token>Use multipart/form-data. Max audio file size: 100MB. Processing takes 30-120 seconds.
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
audio | File | Yes | Audio file (m4a, wav, mp3) |
schedule_uuid | string | Yes | Visit schedule UUID |
discipline | string | Yes | Clinical discipline (PT, OT, etc.) |
encounter_type | string | Yes | 'daily_note' |
Response Fields
| Name | Type | Required | Description |
|---|---|---|---|
transcription_uuid | string | Yes | UUID for polling AI pipeline status |
Error Codes
| Status | Meaning |
|---|---|
413 | Audio file too large |
422 | Invalid discipline or file type |
Code Examples
curl -X POST 'https://visitnote-api-production.up.railway.app/api/therapist/v1/ai/process-audio' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: multipart/form-data' \
-F 'audio=@/path/to/file' \
-F 'schedule_uuid=value' \
-F 'discipline=value' \
-F 'encounter_type=daily_note'GET
/ai/status/:serverUuidGet AI Pipeline Status
Poll the status of an AI audio processing pipeline. Returns transcription, generated SOAP note, and confidence scores when complete.
Authentication:Required —
Authorization: Bearer <token>Poll every 5 seconds until status is 'completed' or 'failed'.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
serverUuid | string | Yes | Transcription UUID from process-audio |
Response Fields
| Name | Type | Required | Description |
|---|---|---|---|
status | string | Yes | processing | completed | failed |
raw_transcript | string | No | Raw audio transcription |
generated_soap | object | No | Generated SOAP note sections |
verification_flags | string[] | No | Items needing clinician review |
confidence_summary | object | No | Confidence score per SOAP section |
source_map | object | No | Maps SOAP content to transcript locations |
not_mentioned | string[] | No | Expected items not found in audio |
error_message | string | No | Error details if failed |
Error Codes
| Status | Meaning |
|---|---|
404 | Transcription not found |
Code Examples
curl -X GET 'https://visitnote-api-production.up.railway.app/api/therapist/v1/ai/status/:serverUuid' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN'POST
/ai/retry/:serverUuidRetry AI Processing
Retry a failed AI processing pipeline.
Authentication:Required —
Authorization: Bearer <token>Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
serverUuid | string | Yes | Transcription UUID |
Error Codes
| Status | Meaning |
|---|---|
404 | Transcription not found |
409 | Pipeline is not in failed state |
Code Examples
curl -X POST 'https://visitnote-api-production.up.railway.app/api/therapist/v1/ai/retry/:serverUuid' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN'GET
/ai/checklist/:disciplineGet Clinical Checklist
Get the discipline-specific clinical documentation checklist used for AI verification.
Authentication:Required —
Authorization: Bearer <token>Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
discipline | string | Yes | Clinical discipline (PT, OT, SLP, etc.) |
Response Fields
| Name | Type | Required | Description |
|---|---|---|---|
data | ChecklistItem[] | Yes | Array of checklist items |
Error Codes
| Status | Meaning |
|---|---|
404 | Unknown discipline |
Code Examples
curl -X GET 'https://visitnote-api-production.up.railway.app/api/therapist/v1/ai/checklist/:discipline' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN'POST
/ai/match-checklistMatch Transcript to Checklist
Use AI to match a transcript against the clinical documentation checklist.
Authentication:Required —
Authorization: Bearer <token>Request Body
| Name | Type | Required | Description |
|---|---|---|---|
transcript | string | Yes | Raw transcript text |
discipline | string | Yes | Clinical discipline |
Response Fields
| Name | Type | Required | Description |
|---|---|---|---|
matched_items | object | Yes | Checklist items found in transcript |
Error Codes
| Status | Meaning |
|---|---|
422 | Missing transcript or discipline |
Code Examples
curl -X POST 'https://visitnote-api-production.up.railway.app/api/therapist/v1/ai/match-checklist' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"transcript": "your_transcript",
"discipline": "your_discipline"
}'POST
/ai/suggestionsGet AI Suggestions
Get AI-generated suggestions for documentation items not covered in the transcript.
Authentication:Required —
Authorization: Bearer <token>Request Body
| Name | Type | Required | Description |
|---|---|---|---|
transcript | string | Yes | Raw transcript text |
discipline | string | Yes | Clinical discipline |
checked_items | string[] | Yes | Already documented checklist item IDs |
Response Fields
| Name | Type | Required | Description |
|---|---|---|---|
suggestions | string[] | Yes | Suggested documentation additions |
Error Codes
| Status | Meaning |
|---|---|
422 | Missing required fields |
Code Examples
curl -X POST 'https://visitnote-api-production.up.railway.app/api/therapist/v1/ai/suggestions' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"transcript": "your_transcript",
"discipline": "your_discipline",
"checked_items": "your_checked_items"
}'Sign in to access API docs
Full API reference is available to VisitNote subscribers.
Don't have an account? Start free trial