# Healthcare - **OpenAPI Version:** `3.1.1` - **API Version:** `2` The Zoom Integration Healthcare APIs allow developers to get, list, and update [clinical notes](https://support.zoom.com/hc/en/article?id=zm_kb\&sysparm_article=KB0080373) 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_id` and `meeting_id` - returns only the clinical notes from the specified meeting owned by the specified user. - Neither `note_owner_user_id` nor `meeting_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](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clinical_note:read:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `healthcare:read:list_clinical_notes:admin`,`healthcare:read:list_clinical_notes:master` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Responses ##### Status: 200 \*\*HTTP Status Code:\*\* \`200\`Successfully listed clinical notes of an account. ###### Content-Type: application/json - **`clinical_notes`** `array` — List of clinical note objects. **Items:** - **`ehr_context`** `object` — 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_id`** `string` — The unique identifier for the specific appointment during which the clinical note was created. - **`patient_id`** `string` — The unique identifier for the patient associated with the clinical note. - **`provider_id`** `string` — The unique identifier for the main healthcare provider responsible for the patient's care during the visit. - **`is_note_completed`** `boolean` — Whether or not the clinical note has been marked as completed. - **`meeting_id`** `string` — 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_number`** `integer`, format: `int64` — The meeting's unique identifier in long format, represented as an int64 data type in JSON. - **`note_completed_time`** `string` — The date and time when the clinical note was marked completed. - **`note_content`** `string` — The clinical note content in markdown format. - **`note_created_time`** `string` — The date and time when the clinical note was created. - **`note_end_time`** `string` — The clinical note's end date and time. - **`note_id`** `string` — The note's unique identifier. - **`note_last_modified_time`** `string` — The date and time when the clinical note was last modified. - **`note_last_modified_user_id`** `string` — The user ID of the user who last modified the clinical notes. - **`note_owner_user_id`** `string` — The user ID of the user that started the clinical notes session and owns the note document. - **`note_start_time`** `string` — The clinical note's start date and time. - **`note_title`** `string` — The clinical note title. - **`from`** `string` — 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_token`** `string` — 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_size`** `number` — The number of records returned within a single API call. - **`to`** `string` — 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:** ```json { "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\` \
Bad Request Bad Request \*\*Error Code:\*\* \`30008\` \
Query user does not exist. \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden Forbidden \*\*Error Code:\*\* \`30007\` \
Resource access denied. Please contact your admin. \
\*\*Error Code:\*\* \`30001\` \
Clinical note feature not enabled for this user. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
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](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clinical_note:read:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `healthcare:read:clinical_notes:admin`,`healthcare:read:clinical_notes:master` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Responses ##### Status: 200 The requested clinical note. ###### Content-Type: application/json - **`ehr_context`** `object` — 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_id`** `string` — The unique identifier of the appointment in which the clinical note was created. - **`patient_id`** `string` — The unique identifier of the patient associated with the clinical note. - **`provider_id`** `string` — The unique identifier of the main healthcare provider responsible for the patient's care during the visit. - **`is_note_completed`** `boolean` — Whether or not the clinical note has been marked as completed. - **`meeting_id`** `string` — 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_number`** `integer`, format: `int64` — The meeting's unique identifier in long format, represented as an int64 data type in JSON. - **`note_completed_time`** `string` — The date and time when the clinical note was marked completed. - **`note_content`** `string` — The clinical note content in markdown format. - **`note_created_time`** `string` — The date and time when the clinical note was created. - **`note_end_time`** `string` — The clinical note's end date and time. - **`note_id`** `string` — The note's unique identifier. - **`note_last_modified_time`** `string` — The date and time when the clinical note was last modified. - **`note_last_modified_user_id`** `string` — The user ID who last modified the clinical notes. - **`note_owner_user_id`** `string` — The user ID who started the clinical notes session and owns the note document. - **`note_start_time`** `string` — The clinical note's start date and time. - **`note_title`** `string` — The clinical note title. **Example:** ```json { "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\` \
Bad Request Bad Request \*\*Error Code:\*\* \`30001\` \
Clinical note feature not enabled for this user. \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden Forbidden \*\*Error Code:\*\* \`30007\` \
Resource access denied. Contact your administrator. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found Not Found \*\*Error Code:\*\* \`30009\` \
Clinical note does not exist. \
### Update a Clinical Note - **Method:** `PATCH` - **Path:** `/clinical_notes/notes/{noteId}` - **Tags:** clinicalnotes Updates a clinical note associated with the `noteId`. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `clinical_note:update:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `healthcare:update:clinical_notes:admin`,`healthcare:update:clinical_notes:master` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Request Body ##### Content-Type: application/json - **`is_note_completed` (required)** `boolean` — Indicates whether the clinical note is marked as completed. **Example:** ```json { "is_note_completed": true } ``` #### Responses ##### Status: 204 Status of the update request. ##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request Bad Request \*\*Error Code:\*\* \`30001\` \
Clinical note feature not enabled for this user. \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden Forbidden \*\*Error Code:\*\* \`30007\` \
Resource access denied. Contact your administrator. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found Not Found \*\*Error Code:\*\* \`30009\` \
Clinical note does not exist. \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error Internal Server Error \*\*Error Code:\*\* \`30011\` \
Failed to update note. Try again later. \