Healthcare API
- OpenAPI Version:
3.1.1 - API Version:
2
The Zoom Integration Healthcare APIs allow developers to get, list, and update clinical notes programmatically.
Servers
- URL:
https://api.zoom.us/v2
Operations
List clinical notes
- Method:
GET - Path:
/clinical_notes/notes - Tags: clinicalnotes
Retrieves a list of clinical notes. The data returned depends on the parameters you provide. If you provide:
- Only
note_owner_user_id- returns all clinical notes owned by that user. - Only
meeting_id- returns all clinical notes associated with that meeting. - Both
note_owner_user_idandmeeting_id- returns only the clinical notes from the specified meeting owned by the specified user. - Neither
note_owner_user_idnormeeting_id- returns all clinical notes available to the requesting user within the account.
Prerequisites:
- Host user type must have a Pro or higher plan.
- Enable the Clinical Notes feature in the host's account.
Scopes: clinical_note:read:admin
Granular Scopes: healthcare:read:list_clinical_notes:admin,healthcare:read:list_clinical_notes:master
Rate Limit Label: LIGHT
Parameters
page_size
- In:
query
The number of records returned within a single API call.
number, default: 30
next_page_token
- In:
query
Use the next page token to paginate through a large set of results. The API returns a next page token whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
string
from
- In:
query
The start date in yyyy-MM-dd'T'HH:mm:ss'Z' UTC format used to retrieve the creation date range of the meeting clinical notes.
string
to
- In:
query
The end date in yyyy-MM-dd'T'HH:mm:ss'Z' UTC format used to retrieve the creation date range of the meeting clinical notes.
string
meeting_id
- In:
query
The meeting's universally unique ID (UUID). When you provide a meeting UUID that begins with a / character or contains the // characters, you must double-encode the meeting UUID before making an API request. This optional parameter helps to list clinical notes generated for this meeting ID.
string
note_owner_user_id
- In:
query
The user ID of the user that started the clinical notes session in the meeting and owns the note document. This optional parameter helps to list notes that were owned by this user ID.
string
include_note_content
- In:
query
This optional parameter controls whether the note content is included in the response.
Set to true to include the full note content. Note that enabling this may increase response time, especially when a large number of records are returned. For optimal performance, we recommend setting this to false when expecting a high volume of results.
boolean, default: false
Responses
Status: 200 **HTTP Status Code:** `200`Successfully listed clinical notes of an account.
Content-Type: application/json
clinical_notesarray— List of clinical note objects.Items: ehr_contextobject— EHR Context contains identifiers and metadata that link the clinical note to its corresponding entities in the EHR system, like appointment, patient, or provider.appointment_idstring— The unique identifier for the specific appointment during which the clinical note was created.patient_idstring— The unique identifier for the patient associated with the clinical note.provider_idstring— The unique identifier for the main healthcare provider responsible for the patient's care during the visit.
is_note_completedboolean— Whether or not the clinical note has been marked as completed.meeting_idstring— The unique meeting ID. Each meeting instance generates its own meeting UUID. After a meeting ends, Zoom generats a new UUID for the next instance of the meeting. Use the List past meeting instances API to retrieve a list of UUIDs from past meeting instances. Double encode your UUID when using it for API calls if the UUID begins with a / or contains //.meeting_numberinteger, format:int64— The meeting's unique identifier in long format, represented as an int64 data type in JSON.note_completed_timestring— The date and time when the clinical note was marked completed.note_contentstring— The clinical note content in markdown format.note_created_timestring— The date and time when the clinical note was created.note_end_timestring— The clinical note's end date and time.note_idstring— The note's unique identifier.note_last_modified_timestring— The date and time when the clinical note was last modified.note_last_modified_user_idstring— The user ID of the user who last modified the clinical notes.note_owner_user_idstring— The user ID of the user that started the clinical notes session and owns the note document.note_start_timestring— The clinical note's start date and time.note_titlestring— The clinical note title.
fromstring— The start date in `yyyy-MM-dd'T'HH:mm:ss'Z'` UTC format used to retrieve the creation date range of the meeting clinical notes.next_page_tokenstring— Use the next page token to paginate through a large set of results. The API returns a next page token whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.page_sizenumber— The number of records returned within a single API call.tostring— The end date in yyyy-MM-dd'T'HH:mm:ss'Z' UTC format used to retrieve the creation date range of the meeting clinical notes.
Example:
{
"page_size": 30,
"next_page_token": "ff9d4fb9-8b64-4d6d-93ff-8bc86b18f5c4",
"from": "2025-01-01T00:00:00Z",
"to": "2025-01-01T23:59:59Z",
"clinical_notes": [
{
"meeting_id": "I3pHE/RnRbmm+ex2g07sxw==",
"meeting_number": 97763643885,
"note_id": "ArfRXokSTiGTCSYFVtxNa",
"note_owner_user_id": "dqV7XEpnS5G3rGsvqylmjQ",
"note_start_time": "2025-05-15T03:01:08.608Z",
"note_end_time": "2025-05-15T03:25:59.608Z",
"note_created_time": "2025-05-15T03:26:08.608Z",
"note_last_modified_time": "2025-05-15T03:26:08.608Z",
"note_last_modified_user_id": "dqV7XEpnS5G3rGsvqylmjQ",
"note_title": "lingbo test.cn's Zoom Meeting - Version A",
"note_content": "Chief Complaint\nThe patient presents with severe stomach pain near the lower abdomen since morning.\\nHistory of Present Illness\\n- The patient is an adult presenting with severe stomach pain.\\n- Pain is located near the lower abdomen, starting this morning.\\n- Attended a dinner party at a restaurant last night.\\n- Denies additional gastrointestinal symptoms.\\nReview of Systems\\n- Gastrointestinal: Reports severe lower abdominal pain. Denies any other gastrointestinal symptoms.\\nSocial History\\n- Recent dining at a restaurant with friends.\\nAssessment and Plan\\n1. Acute Abdominal Pain\\n- Suspected relation to recent meal at a restaurant.\\n- Medication prescribed for pain management.\\n- Advised to avoid eating from outside.\\nPatient Recommendations\\n- Take the prescribed medicines regularly.\\n- Avoid eating from outside.\\n- Return to the clinic if the pain worsens or new symptoms develop.",
"is_note_completed": true,
"note_completed_time": "2025-05-15T03:26:48.372Z",
"ehr_context": {
"appointment_id": "6600001",
"patient_id": "Patient/75909597",
"provider_id": "Practitioner/34373111"
}
}
]
}Status: 400 **HTTP Status Code:** `400` <br> Bad Request Bad Request **Error Code:** `30008` <br> Query user does not exist. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Forbidden **Error Code:** `30007` <br> Resource access denied. Please contact your admin. <br> **Error Code:** `30001` <br> Clinical note feature not enabled for this user. <br>
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Get a Clinical Note
- Method:
GET - Path:
/clinical_notes/notes/{noteId} - Tags: clinicalnotes
Gets a single clinical note identified by noteId.
Scopes: clinical_note:read:admin
Granular Scopes: healthcare:read:clinical_notes:admin,healthcare:read:clinical_notes:master
Rate Limit Label: LIGHT
Parameters
noteId required
- In:
path
The clinical note's unique identifier.
string
Responses
Status: 200 The requested clinical note.
Content-Type: application/json
ehr_contextobject— The electronic health records (EHR) context contains identifiers and metadata that link the clinical note to its corresponding entities in the EHR system, like appointment, patient, or provider.appointment_idstring— The unique identifier of the appointment in which the clinical note was created.patient_idstring— The unique identifier of the patient associated with the clinical note.provider_idstring— The unique identifier of the main healthcare provider responsible for the patient's care during the visit.
is_note_completedboolean— Whether or not the clinical note has been marked as completed.meeting_idstring— The meeting's universally unique identifier (UUID). Each meeting instance generates its own meeting UUID. After a meeting ends, Zoom generats a new UUID for the next instance of the meeting. Use the List past meeting instances API to retrieve a list of UUIDs from past meeting instances. [Double encode](/docs/api/using-zoom-apis/#double-encoding) the UUID if it contains any forward slashes (`/`).meeting_numberinteger, format:int64— The meeting's unique identifier in long format, represented as an int64 data type in JSON.note_completed_timestring— The date and time when the clinical note was marked completed.note_contentstring— The clinical note content in markdown format.note_created_timestring— The date and time when the clinical note was created.note_end_timestring— The clinical note's end date and time.note_idstring— The note's unique identifier.note_last_modified_timestring— The date and time when the clinical note was last modified.note_last_modified_user_idstring— The user ID who last modified the clinical notes.note_owner_user_idstring— The user ID who started the clinical notes session and owns the note document.note_start_timestring— The clinical note's start date and time.note_titlestring— The clinical note title.
Example:
{
"meeting_id": "I3pHE/RnRbmm+ex2g07sxw==",
"meeting_number": 97763643885,
"note_id": "ArfRXokSTiGTCSYFVtxNa",
"note_owner_user_id": "dqV7XEpnS5G3rGsvqylmjQ",
"note_start_time": "2025-05-15T03:01:08.608Z",
"note_end_time": "2025-05-15T03:25:59.608Z",
"note_created_time": "2025-05-15T03:26:08.608Z",
"note_last_modified_time": "2025-05-15T03:26:08.608Z",
"note_last_modified_user_id": "dqV7XEpnS5G3rGsvqylmjQ",
"note_title": "lingbo test.cn's Zoom Meeting - Version A",
"note_content": "Chief Complaint\nThe patient presents with severe stomach pain near the lower abdomen since morning.\\nHistory of Present Illness\\n- The patient is an adult presenting with severe stomach pain.\\n- Pain is located near the lower abdomen, starting this morning.\\n- Attended a dinner party at a restaurant last night.\\n- Denies additional gastrointestinal symptoms.\\nReview of Systems\\n- Gastrointestinal: Reports severe lower abdominal pain. Denies any other gastrointestinal symptoms.\\nSocial History\\n- Recent dining at a restaurant with friends.\\nAssessment and Plan\\n1. Acute Abdominal Pain\\n- Suspected relation to recent meal at a restaurant.\\n- Medication prescribed for pain management.\\n- Advised to avoid eating from outside.\\nPatient Recommendations\\n- Take the prescribed medicines regularly.\\n- Avoid eating from outside.\\n- Return to the clinic if the pain worsens or new symptoms develop.",
"is_note_completed": false,
"note_completed_time": "2025-05-15T03:26:48.372Z",
"ehr_context": {
"appointment_id": "6600001",
"patient_id": "Patient/75909597",
"provider_id": "Practitioner/34373111"
}
}Status: 400 **HTTP Status Code:** `400` <br> Bad Request Bad Request **Error Code:** `30001` <br> Clinical note feature not enabled for this user. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Forbidden **Error Code:** `30007` <br> Resource access denied. Contact your administrator. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found Not Found **Error Code:** `30009` <br> Clinical note does not exist. <br>
Update a Clinical Note
- Method:
PATCH - Path:
/clinical_notes/notes/{noteId} - Tags: clinicalnotes
Updates a clinical note associated with the noteId.
Scopes: clinical_note:update:admin
Granular Scopes: healthcare:update:clinical_notes:admin,healthcare:update:clinical_notes:master
Rate Limit Label: LIGHT
Parameters
noteId required
- In:
path
The clinical note's unique identifier.
string
Request Body
Content-Type: application/json
is_note_completed(required)boolean— Indicates whether the clinical note is marked as completed.
Example:
{
"is_note_completed": true
}