# 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. \