Download OpenAPI specification:
Diagnosis, treatment plans, SOAP notes, risk scores, screening, pre-session briefs and session management
Retrieve all clinical notes for a client, filtered by note type. Use this to read back documentation that has been submitted to Kana — useful for syncing notes back into your EHR, building client care timelines, or auditing what clinical documentation exists for a given client.
Use this when:
Request fields:
record_type_id (required): The note type identifier.client_user_id (required): The client's Kana user ID.Returns: Array of clinical note objects (HTTP 200). HTTP 204 if none found.
| data required | string |
| therapistnotes_notetype_id | integer or null |
| created_user_id | integer or null |
| updated_user_id | integer or null |
| 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 |
{- "data": "string",
- "therapistnotes_notetype_id": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "date": "2019-08-24T14:15:22Z",
- "therapist_session_id": 0
}{- "id": 0,
- "data": "string",
- "therapistnotes_notetype_id": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "date": "2019-08-24T14:15:22Z",
- "attachment": "string",
- "therapist_session_id": 0
}Retrieve the 10 most recent clinical note history entries for a client by note type. Use this to build a longitudinal view of a client's documentation, track how notes have evolved, or sync historical records into your system.
Use this when:
Request fields:
record_type_id (required): The note type identifier.client_user_id (required): The client's Kana user ID.Returns: Array of up to 10 note history records (HTTP 200). HTTP 204 if no history found.
| data required | string |
| therapist_notes_id | integer or null |
| therapistnotes_notetype_id | integer or null |
| created_user_id | integer or null |
| updated_user_id | integer or null |
| client_user_id | integer or null |
| therapist_user_id | integer or null |
| therapist_client_id | integer or null |
| therapist_session_id | integer or null |
{- "data": "string",
- "therapist_notes_id": 0,
- "therapistnotes_notetype_id": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "therapist_session_id": 0
}{- "id": 0,
- "data": "string",
- "therapist_notes_id": 0,
- "therapistnotes_notetype_id": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "attachment": "string",
- "therapist_session_id": 0
}Submit clinical notes — including session summaries, psychotherapy notes, and other structured documentation — into Kana's clinical data platform. Notes can include file attachments (e.g. session recordings, documents) which Kana automatically processes to extract and incorporate text content. Once submitted, Kana triggers AI-powered de-identification and clinical documentation workflows in the background.
Use this when:
Typical workflow:
Request (multipart/form-data):
metadata (required): JSON string containing:id (optional): ID of an existing note to update; omit to create.data (required): Note content fields.record_type (required): Note type identifier.client_user_id (required): Client's Kana user ID.therapist_user_id (required): Therapist's Kana user ID.therapist_client_id (required): Therapist-client relationship ID.therapist_session_id (optional): Associated session ID.files (optional): File attachments (transcripts, documents, etc.).Returns: ID of the created or updated note record (HTTP 201).
| data required | string |
| therapistnotes_notetype_id | integer or null |
| created_user_id | integer or null |
| updated_user_id | integer or null |
| client_user_id | integer or null |
| therapist_user_id | integer or null |
| therapist_client_id | integer or null |
| create_timestamp | string or null <date-time> |
| update_timestamp | string or null <date-time> |
required | object (TherapistNotesHistory) |
| file_content_json | any or null |
| therapist_session_id | integer or null |
{- "id": 0,
- "data": "string",
- "therapistnotes_notetype_id": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "create_timestamp": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "history": {
- "id": 0,
- "data": "string",
- "therapist_notes_id": 0,
- "therapistnotes_notetype_id": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "create_timestamp": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "therapist_session_id": 0
}, - "file_content_json": null,
- "therapist_session_id": 0
}Soft-delete a therapist note. The record is retained for audit purposes but will no longer appear in active queries or be included in AI processing.
Path parameter:
id (required): Primary key of the note to delete.Returns: ID of the deleted note (HTTP 204), or HTTP 404 if not found.
| id required | string |
Retrieve all SOAP notes for a client, filtered by note type. Returns both AI-generated drafts and therapist-approved notes, allowing partner systems to read back structured clinical documentation from Kana and sync it into their own EHR or reporting systems.
Use this when:
Request fields:
record_type_id (required): The note type identifier.client_user_id (required): The client's Kana user ID.Returns: Array of SOAP note objects with note content, approval status, signature, and session ID (HTTP 200). HTTP 204 if no notes found.
| therapist_data required | string |
| is_override | boolean or null |
| therapist_notes_notetypeid | integer or null |
| created_user_id | integer or null |
| updated_user_id | integer or null |
| client_user_id | integer or null |
| therapist_user_id | integer or null |
| therapist_client_id | integer or null |
| is_approved | boolean or null |
| signature required | string or null |
| date required | string <date-time> |
| therapist_session_id | integer or null |
{- "therapist_data": "string",
- "is_override": true,
- "therapist_notes_notetypeid": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "is_approved": true,
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "therapist_session_id": 0
}{- "id": 0,
- "therapist_data": "string",
- "is_override": true,
- "therapist_notes_notetypeid": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "is_approved": true,
- "signature": "string",
- "date": "2019-08-24T14:15:22Z",
- "therapist_session_id": 0
}Retrieve the 10 most recent SOAP note history entries for a client by note type. Useful for tracking how a client's clinical documentation has evolved over time and for pre-session preparation.
Use this when:
Request fields:
record_type_id (required): The note type identifier.client_user_id (required): The client's Kana user ID.Returns: Array of up to 10 SOAP note history records (HTTP 200). HTTP 204 if no history found.
| data required | string |
| is_override | boolean or null |
| therapist_notes_notetypeid | integer or null |
| created_user_id | integer or null |
| updated_user_id | integer or null |
| client_user_id | integer or null |
| therapist_user_id | integer or null |
| therapist_client_id | integer or null |
| therapist_soapnotes_id | integer or null |
| therapist_session_id | integer or null |
| is_approved | boolean or null |
| signature required | string or null |
| date required | string <date-time> |
{- "data": "string",
- "is_override": true,
- "therapist_notes_notetypeid": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "therapist_soapnotes_id": 0,
- "therapist_session_id": 0,
- "is_approved": true,
- "signature": "string",
- "date": "2019-08-24T14:15:22Z"
}{- "id": 0,
- "data": "string",
- "is_override": true,
- "therapist_notes_notetypeid": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "therapist_soapnotes_id": 0,
- "therapist_session_id": 0,
- "session_start_time": "2019-08-24T14:15:22Z",
- "session_end_time": "2019-08-24T14:15:22Z",
- "is_approved": true,
- "signature": "string",
- "date": "2019-08-24T14:15:22Z"
}Returns a clinically relevant snapshot of SOAP note history: the latest draft plus all approved notes from the most recent 30 entries. This is more useful than full history when you want approved documentation without noise from unapproved revisions.
Use this when:
Request fields:
record_type_id (required): The note type identifier.client_user_id (required): The client's Kana user ID.Returns: Array of SOAP note history objects with note content, approval status, signature, and session timestamps (HTTP 200). HTTP 204 if none found.
| data required | string |
| is_override | boolean or null |
| therapist_notes_notetypeid | integer or null |
| created_user_id | integer or null |
| updated_user_id | integer or null |
| client_user_id | integer or null |
| therapist_user_id | integer or null |
| therapist_client_id | integer or null |
| therapist_soapnotes_id | integer or null |
| therapist_session_id | integer or null |
| is_approved | boolean or null |
| signature required | string or null |
| date required | string <date-time> |
{- "data": "string",
- "is_override": true,
- "therapist_notes_notetypeid": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "therapist_soapnotes_id": 0,
- "therapist_session_id": 0,
- "is_approved": true,
- "signature": "string",
- "date": "2019-08-24T14:15:22Z"
}{- "id": 0,
- "data": "string",
- "is_override": true,
- "therapist_notes_notetypeid": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "therapist_soapnotes_id": 0,
- "therapist_session_id": 0,
- "session_start_time": "2019-08-24T14:15:22Z",
- "session_end_time": "2019-08-24T14:15:22Z",
- "is_approved": true,
- "signature": "string",
- "date": "2019-08-24T14:15:22Z"
}Submit or update a structured SOAP (Subjective, Objective, Assessment, Plan) note for a therapy session. Partner systems — such as EHRs or telehealth platforms — can push session notes directly into Kana. When a therapist approves the note (is_approved=true), Kana automatically triggers AI-powered clinical documentation workflows including de-identification and audit trail updates.
Use this when:
Request fields:
id (optional): ID of an existing note to update; omit to create a new one.data (required): SOAP note content fields.sender_role (required): "ml" (system-generated) or "therapist" (clinician-reviewed).record_type (required): Note type identifier.client_user_id (required): Client's Kana user ID.therapist_user_id (required): Therapist's Kana user ID.therapist_client_id (required): Therapist-client relationship ID.is_approved (required): Set to true to trigger downstream clinical workflows.signature (optional): Therapist digital signature (Base64-encoded).therapist_session_id (optional): Associated session ID.Returns: ID of the created or updated SOAP note record (HTTP 201).
| ml_data required | string |
| therapist_data required | string |
| is_override | boolean or null |
| therapist_notes_notetypeid | integer or null |
| created_user_id | integer or null |
| updated_user_id | integer or null |
| client_user_id | integer or null |
| therapist_user_id | integer or null |
| therapist_client_id | integer or null |
| create_timestamp | string or null <date-time> |
| update_timestamp | string or null <date-time> |
required | object (TherapistSoapHistory) |
| is_approved | boolean or null |
| signature required | string or null |
| therapist_session_id | integer or null |
{- "ml_data": "string",
- "therapist_data": "string",
- "is_override": true,
- "therapist_notes_notetypeid": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "create_timestamp": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "history": {
- "ml_data": "string",
- "therapist_data": "string",
- "therapist_soapnotes_id": 0,
- "is_override": true,
- "therapist_notes_notetypeid": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "create_timestamp": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "is_approved": true,
- "therapist_session_id": 0
}, - "is_approved": true,
- "signature": "string",
- "therapist_session_id": 0
}{- "id": 0,
- "ml_data": "string",
- "therapist_data": "string",
- "is_override": true,
- "therapist_notes_notetypeid": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "create_timestamp": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "history": {
- "id": 0,
- "ml_data": "string",
- "therapist_data": "string",
- "therapist_soapnotes_id": 0,
- "is_override": true,
- "therapist_notes_notetypeid": 0,
- "created_user_id": 0,
- "updated_user_id": 0,
- "client_user_id": 0,
- "therapist_user_id": 0,
- "therapist_client_id": 0,
- "create_timestamp": "2019-08-24T14:15:22Z",
- "update_timestamp": "2019-08-24T14:15:22Z",
- "is_approved": true,
- "signature": "string",
- "therapist_session_id": 0
}, - "is_approved": true,
- "signature": "string",
- "therapist_session_id": 0
}Trigger Kana's AI to automatically generate a structured SOAP note for a therapy session. Kana synthesizes all available clinical context — session transcripts, prior notes, client history, and diagnosis — to produce a clinician-ready SOAP (Subjective, Objective, Assessment, Plan) note. The request returns immediately and generation runs asynchronously in the background.
Use this when:
Typical workflow:
Request fields:
client_user_id (required): Client's Kana user ID.therapist_user_id (required): Therapist's Kana user ID.therapist_client_id (required): Therapist-client relationship ID.record_type (required): Note type identifier.therapist_session_id (optional): Associated session ID.Returns: {"detail": "Processing"} immediately (HTTP 200). Generation continues in the background.