Now Available: Zoom AI Services Summarizer & Translator APIs.
APIsMCPBlogChangelogAgent Skills
Help
/
Healthcare
APIWebhooks
View as MarkdownPostmanDownload OpenAPI
APIsMCPBlogChangelogAgent SkillsHelp
Theme

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_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: 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_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:

{
  "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_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:

{
  "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
}

Responses

Status: 204 Status of the update request.
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>
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error Internal Server Error **Error Code:** `30011` <br> Failed to update note. Try again later. <br>