Download OpenAPI specification:
Voice recordings, transcription processing and document management
Get clinical documentation instructions. This endpoint provides instruction sets for various clinical documentation tasks.
Args: instruction_type: Type of instruction (clinical_notes, safety_plan, etc.) user_id: Optional user ID for personalized instructions
Returns: Instructions for the specified documentation task
| instruction_type required | string (Instruction Type) |
User Id (string) or User Id (null) (User Id) |
nullAccepts an audio file together with session metadata, uploads it to Azure Blob Storage under a structured path of the form
| therapist_userid required | string Unique identifier of the therapist user (maps to Users FK). |
| therapist_clientid required | string Identifier of the client record linked to the therapist (maps to TherapistClient FK). |
| client_userid | string or null Optional user ID of the client. Forwarded to the async transcript task. |
| file required | string <uri> Audio file to upload (e.g. .wav, .mp3, .webm). |
| session_id required | string Unique identifier for the recording session. |
| is_last_blob required | string String boolean ('True' / 'False') indicating whether this chunk is the final audio segment for the session. |
| therapist_session_id | string or null Optional foreign key reference to an existing TherapistSession record. |
{- "message": "File uploaded successfully as therapist1/client2/2026-02-23/session_audio.wav!"
}[- {
- "id": 0,
- "filename": "string",
- "userid": 0,
- "is_processed": true,
- "therapist_client_id": 0,
- "create_timestamp": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "session_id": "string",
- "is_last_blob": true,
- "therapist_session_id": 0
}
]| id required | string |
{- "id": 0,
- "filename": "string",
- "userid": 0,
- "is_processed": true,
- "therapist_client_id": 0,
- "create_timestamp": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "session_id": "string",
- "is_last_blob": true,
- "therapist_session_id": 0
}| id required | string |
| filename | string or null <= 512 characters |
| userid | integer or null |
| is_processed | boolean or null |
| therapist_client_id | integer or null |
| create_timestamp | string or null <date-time> |
| update_timestamp | string or null <date-time> |
| session_id | string or null <= 255 characters |
| is_last_blob | boolean or null |
| therapist_session_id | integer or null |
{- "filename": "string",
- "userid": 0,
- "is_processed": true,
- "therapist_client_id": 0,
- "create_timestamp": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "session_id": "string",
- "is_last_blob": true,
- "therapist_session_id": 0
}{- "id": 0,
- "filename": "string",
- "userid": 0,
- "is_processed": true,
- "therapist_client_id": 0,
- "create_timestamp": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "session_id": "string",
- "is_last_blob": true,
- "therapist_session_id": 0
}[- {
- "id": 0,
- "transcript_summary": "string",
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "date": "2019-08-24T14:15:22Z",
- "therapist_session_id": 0
}
]| id required | string |
{- "id": 0,
- "transcript_summary": "string",
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "date": "2019-08-24T14:15:22Z",
- "therapist_session_id": 0
}| id required | string |
| transcript_summary required | string |
| client_user_id | integer or null |
| therapist_user_id | integer or null |
| therapist_client_id | integer or null |
| date required | string <date-time> |
| therapist_session_id | integer or null |
{- "transcript_summary": "string",
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "date": "2019-08-24T14:15:22Z",
- "therapist_session_id": 0
}{- "id": 0,
- "transcript_summary": "string",
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "date": "2019-08-24T14:15:22Z",
- "therapist_session_id": 0
}| id required | string |
{- "id": 0,
- "transcript": "string",
- "transcript_summary": "string",
- "date": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "therapist_session_id": 0
}| id required | string |
| transcript required | string |
| transcript_summary required | string |
| date required | string <date-time> |
| update_timestamp | string or null <date-time> |
| therapist_session_id | integer or null |
{- "transcript": "string",
- "transcript_summary": "string",
- "date": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "therapist_session_id": 0
}{- "id": 0,
- "transcript": "string",
- "transcript_summary": "string",
- "date": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "therapist_session_id": 0
}Looks up a blob by its storage path (file_url) and streams it back to the caller as a chunked HTTP response with the original content type preserved. The Content-Disposition header is set to 'inline' so browsers render the file in-place rather than downloading it. Content-Length is also returned so clients can display accurate progress. Intended for use when rendering previously uploaded documents (e.g. intake forms, clinical notes) inside the application.
| file_name required | string Original filename of the document (e.g. 'intake_form.pdf'). Required. |
| file_url required | string Full blob storage path returned by the upload endpoint (e.g. 'intake-forms/Therapist/42/2026-02-23/intake_form.pdf'). |
{- "file_name": "string",
- "file_url": "string"
}"string"Accepts one or more document files alongside user metadata, uploads each file to Azure Blob Storage under the path
| userid required | string User ID of the uploader. Used as the third-level folder prefix in blob storage. |
| role required | string Enum: "User" "Therapist" Role of the uploader. Must be 'User' or 'Therapist'. Used as the second-level folder prefix.
|
| feature required | string Feature or module name. Used as the top-level folder prefix in blob storage (e.g. 'intake-forms'). |
| files required | Array of strings <uri> [ items <uri > ] One or more files to upload and analyse. Supported types: .pdf (layout analysis) and .png, .jpg, .jpeg, .tiff, .bmp (OCR). |
[- [
- {
- "content": "Patient name: Jane Doe\nDate of birth: 01/01/1990\n...",
- "file_name": "intake_form.pdf",
- "file_url": "intake-forms/Therapist/42/2026-02-23/intake_form.pdf"
}
]
]Returns all non-deleted TherapistSessionTranscriptHistory records for the given client user ID and therapist-client relationship ID, ordered by most recent session first (descending create_timestamp). Each record contains an AES-encrypted, Base64-encoded transcript summary along with identifying metadata such as client/therapist user IDs and the associated session reference. Returns 204 when no history records exist.
| userid required | string Client's user ID (maps to TherapistSessionTranscriptHistory.client_user_id). |
| therapist_clientid required | string Therapist-client relationship ID (maps to TherapistSessionTranscriptHistory.therapist_client_id). |
{- "userid": "string",
- "therapist_clientid": "string"
}[- {
- "id": 0,
- "transcript_summary": "string",
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "date": "2019-08-24T14:15:22Z",
- "therapist_session_id": 0
}
]Lists all audio blobs stored under the path
| userid required | string Therapist user ID — used as the top-level folder prefix in blob storage. |
| therapist_clientid required | string Therapist-client relationship ID — second-level folder prefix in blob storage. |
| date required | string <date> Session date in YYYY-MM-DD format. Determines which daily blob folder is transcribed. |
{- "userid": "string",
- "therapist_clientid": "string",
- "date": "2019-08-24"
}{- "transcripts": [
- "Speaker 1: Good morning. Speaker 2: How are you feeling today?"
]
}Returns all non-deleted TherapistSessionTranscript records that match the given client user ID and therapist-client relationship ID. Each record includes the full transcript and AI-generated summary, both AES-encrypted and Base64-encoded in the response. Returns 204 when no transcripts exist for the specified pair.
| userid required | string Client's user ID (maps to TherapistSessionTranscript.client_user_id). |
| therapist_clientid required | string Therapist-client relationship ID (maps to TherapistSessionTranscript.therapist_client_id). |
{- "userid": "string",
- "therapist_clientid": "string"
}[- {
- "id": 0,
- "transcript": "string",
- "transcript_summary": "string",
- "date": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "therapist_session_id": 0
}
]