Quality Management

  • OpenAPI Version: 3.1.1
  • API Version: 2

Zoom Quality Management is designed to help contact centers track and analyze customer interactions, measure agent performance, provide actionable insights, and proactively identify areas for improvement while maintaining organizational compliance.

Servers

  • URL: https://api.zoom.us/v2

Operations

List calibrations

  • Method: GET
  • Path: /qm/calibrations
  • Tags: Calibrations

List calibration tasks in Quality Management performance management.

[Scopes(/docs/integrations/oauth-scopes-overview/): qm_calibrations:read:admin,qm_calibrations:read

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): zoom_quality_management:read:calibrations,zoom_quality_management:read:calibrations:admin

Rate Limit Label: LIGHT

Responses

Status: 200 Successfully listed calibrations.
Content-Type: application/json
  • data

    array — Information about the calibrations.

    Items:

    • account_id

      string — The account ID.

    • agent_info

      object — The agent's information.

      • display_name

        string — The agent's display name.

      • user_id

        string — The agent's Zoom user ID.

    • calibration_id

      string — The calibration task ID.

    • calibration_score

      number — The average score across completed evaluator submissions for the calibration.

    • channel_type

      string, possible values: "VIDEO", "AUDIO", "MANUAL", "MESSAGE" — The interaction's channel type.

    • completion_date

      string — The date when the calibration was completed, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

    • create_time

      string — The date when the calibration was created, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

    • creator_info

      object — The calibration creator's information.

      • display_name

        string — The calibration creator's display name.

      • user_id

        string — The calibration creator's Zoom user ID.

    • due_date

      string — The calibration due date, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

    • evaluation_score

      number — The sibling manual evaluation score for the same interaction.

    • evaluators_info

      array — The evaluators' information.

      Items:

      • display_name

        string — The evaluator's display name.

      • user_id

        string — The evaluator's Zoom user ID.

    • interaction_deleted

      boolean — Whether the interaction was deleted.

    • interaction_id

      string — The interaction ID.

    • minimum_evaluators

      integer — The minimum number of evaluator submissions required to complete the calibration.

    • modify_time

      string — The date when the calibration was last modified, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

    • scorecard_id

      string — The calibration scorecard ID.

    • scorecard_name

      string — The calibration scorecard name.

    • scoring_format

      string, possible values: "points", "percentage" — The scorecard's scoring format.

    • status

      string, possible values: "Active", "Completed", "Expired", "Canceled" — The calibration's current status.

    • task_name

      string — The calibration task name.

    • total_score

      number — The total score on the scorecard.

  • next_page_token

    string — Use the next page token to paginate through large result sets. A next page token is returned whenever the set of available results exceeds the current page size.

  • page_size

    integer — The number of records returned within a single API call.

  • total

    integer — The total number of all the records available across pages.

Example:

{
  "total": 51,
  "page_size": 30,
  "next_page_token": "R4aF9Oj0fVM2hhezJTEmSKaBSkfesDwGy42",
  "data": [
    {
      "calibration_id": "0e73a69f8f104d24a589fa0c615abca8",
      "account_id": "SY-AEWW6Ruqgt89_T2zqBg",
      "channel_type": "VIDEO",
      "task_name": "calibration_q9DyYF8iSXa3PVAhb6nekQ",
      "interaction_id": "q9DyYF8iSXa3PVAhb6nekQ",
      "scorecard_id": "2uJ4u83yQ_qbyyFDmxsMcQ",
      "scorecard_name": "Customer Care",
      "minimum_evaluators": 100,
      "due_date": "2026-08-05T10:45:00Z",
      "create_time": "2026-07-20T09:52:22Z",
      "modify_time": "2026-07-28T09:52:22Z",
      "creator_info": {
        "user_id": "b0_yDuNGSq65EF8i1f0PcQ",
        "display_name": "Rick Arps"
      },
      "agent_info": {
        "user_id": "httgPnTgTxq0d65-alfYVw",
        "display_name": "Ashlee York"
      },
      "evaluators_info": [
        {
          "user_id": "b0_yDuNGSq65EF8i1f0PcQ",
          "display_name": "Rick Arps"
        }
      ],
      "scoring_format": "percentage",
      "total_score": 50,
      "evaluation_score": 42,
      "calibration_score": 40,
      "status": "Active",
      "interaction_deleted": false,
      "completion_date": "2026-03-16T10:45:00Z"
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request Bad request.
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Unauthorized.
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 calibration detail

  • Method: GET
  • Path: /qm/calibrations/{calibrationId}
  • Tags: Calibrations

Retrieve one calibration record, including participants, aggregate scoring, and per-evaluator submission status.

[Scopes(/docs/integrations/oauth-scopes-overview/): qm_calibrations:read,qm_calibrations:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): zoom_quality_management:read:calibrations,zoom_quality_management:read:calibrations:admin

Rate Limit Label: LIGHT

Responses

Status: 200 Successfully retrieved the calibration detail.
Content-Type: application/json
  • account_id

    string — The account ID.

  • agent_info

    object — The agent's information.

    • display_name

      string — The agent's display name.

    • user_id

      string — The agent's user ID.

  • calibration_complete_percentage

    number — The percentage of assigned evaluators who have submitted the calibration.

  • calibration_id

    string — The calibration task ID.

  • calibration_result

    array — Question-level comparison results for the calibration.

    Items:

    • max_score

      number — The maximum score for the section.

    • question_list

      array — The questions in this section.

      Items:

      • description

        string — The question description.

      • evaluators

        array — The evaluator-level responses for the question.

        Items:

        • answer

          string — The evaluator's answer for the question.

        • comment

          string — The evaluator's comment for the question.

        • name

          string — The evaluator's display name.

        • score

          number — The evaluator's score for the question.

      • max_score

        number — The maximum score for the question.

      • title

        string — The question title.

      • total_score

        number — The overall score for the question after aggregation.

    • section

      string — The scorecard section name.

  • calibration_score

    number — The average score across completed evaluator submissions for the calibration.

  • channel_type

    string, possible values: "VIDEO", "AUDIO", "MANUAL", "MESSAGE" — The interaction's channel type.

  • completion_date

    string — The date when the calibration was completed, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

  • create_time

    string — The date when the calibration was created, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

  • creator_info

    object — The calibration creator's information.

    • display_name

      string — The calibration creator's display name.

    • user_id

      string — The calibration creator's Zoom user ID.

  • division_id

    string — The division ID associated with the calibration task.

  • due_date

    string — The calibration due date, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

  • evaluation_score

    number — The sibling manual evaluation score for the same interaction.

  • evaluator_submissions

    array — The evaluator submission statuses for this calibration.

    Items:

    • evaluator

      object — The evaluator's information.

      • display_name

        string — The evaluator's display name.

      • user_id

        string — The evaluator's Zoom user ID.

    • score

      number | null — The evaluator's submitted calibration score.

    • status

      string, possible values: "pending", "in_progress", "completed" — The evaluator's submission status.

    • submitted_at

      string | null — The date when the evaluator submitted the calibration, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

  • evaluators_info

    array — The evaluators' information.

    Items:

    • display_name

      string — The evaluator's display name.

    • user_id

      string — The evaluator's user ID.

  • interaction_deleted

    boolean — Whether the interaction was deleted.

  • interaction_id

    string — The interaction ID.

  • minimum_evaluators

    integer — The minimum number of evaluator submissions required to complete the calibration.

  • modify_time

    string — The date when the calibration was last modified, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

  • scorecard_id

    string — The calibration scorecard ID.

  • scorecard_name

    string — The calibration scorecard name.

  • scoring_format

    string, possible values: "points", "percentage" — The scorecard's scoring format.

  • status

    string, possible values: "Active", "Completed", "Expired", "Canceled" — The calibration's current status.

  • task_name

    string — The calibration task name.

  • total_score

    number — The total score on the scorecard.

Example:

{
  "calibration_id": "0e73a69f8f104d24a589fa0c615abca8",
  "account_id": "SY-AEWW6Ruqgt89_T2zqBg",
  "task_name": "calibration_q9DyYF8iSXa3PVAhb6nekQ",
  "status": "Active",
  "channel_type": "VIDEO",
  "division_id": "div_123",
  "interaction_id": "q9DyYF8iSXa3PVAhb6nekQ",
  "scorecard_id": "2uJ4u83yQ_qbyyFDmxsMcQ",
  "scorecard_name": "Customer Care",
  "minimum_evaluators": 100,
  "due_date": "2026-08-05T10:45:00Z",
  "create_time": "2026-07-20T09:52:22Z",
  "modify_time": "2026-07-28T09:52:22Z",
  "creator_info": {
    "user_id": "b0_yDuNGSq65EF8i1f0PcQ",
    "display_name": "Rick Arps"
  },
  "agent_info": {
    "user_id": "httgPnTgTxq0d65-alfYVw",
    "display_name": "Ashlee York"
  },
  "evaluators_info": [
    {
      "user_id": "b0_yDuNGSq65EF8i1f0PcQ",
      "display_name": "Rick Arps"
    }
  ],
  "scoring_format": "percentage",
  "total_score": 50,
  "evaluation_score": 42,
  "calibration_score": 40,
  "calibration_complete_percentage": 0.66,
  "interaction_deleted": false,
  "completion_date": "2026-03-16T10:45:00Z",
  "evaluator_submissions": [
    {
      "evaluator": {
        "user_id": "b0_yDuNGSq65EF8i1f0PcQ",
        "display_name": "Rick Arps"
      },
      "status": "completed",
      "submitted_at": "2026-07-28T10:10:00Z",
      "score": 41
    }
  ],
  "calibration_result": [
    {
      "section": "Greeting",
      "max_score": 10,
      "question_list": [
        {
          "title": "Used proper opening",
          "description": "Started the interaction with the required opening statement.",
          "max_score": 5,
          "total_score": 5,
          "evaluators": [
            {
              "score": 5,
              "name": "Manager One",
              "comment": "Good opening and tone.",
              "answer": "Yes"
            }
          ]
        }
      ]
    }
  ]
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request Bad request.
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Unauthorized.
Status: 404 **HTTP Status Code:** `404` <br> Not Found Calibration not found.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

List cases

  • Method: GET
  • Path: /qm/cases
  • Tags: Cases

Returns cases visible to the authenticated caller.

[Scopes(/docs/integrations/oauth-scopes-overview/): qm_cases:read,qm_cases:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): zoom_quality_management:read:cases,zoom_quality_management:read:cases:admin

Rate Limit Label: LIGHT

Responses

Status: 200 Cases returned successfully.
Content-Type: application/json
  • data (required)

    array — The list of case records.

    Items:

    • qm_case_id (required)

      string — The quality management case ID.

    • account_id

      string — The account ID.

    • connection_id

      string — The connection ID.

    • create_time

      string, format: date-time — The time when the case was created.

    • derived_engagement_ids

      array — The derived engagement IDs.

      Items:

      string

    • division_id

      string — The division ID.

    • external_case_key

      string — The external case key.

    • indicators

      array — Case-level indicator summaries.

      Items:

      • indicator_id

        string — The case-level indicator identifier.

      • indicator_name

        string — The case-level indicator name.

      • matched_activity_count

        integer, format: int32 — The number of activities matched by the indicator.

    • last_idempotency_key

      string — The last idempotency key.

    • last_source_updated_at

      string, format: date-time — The timestamp when the source was last updated.

    • mapped_fields

      object — The mapped fields value.

    • modify_time

      string, format: date-time — The time when the case was last modified.

    • schema_version

      string — The schema version.

    • source_case_id

      string — The source case ID.

    • topics

      array — Case-level topic summaries.

      Items:

      • matched_activity_count

        integer, format: int32 — The number of activities matched to the topic.

      • matched_activity_ids

        array — The activity identifiers matched to the topic.

        Items:

        string — The matched activity identifier.

      • topic

        string — The case-level topic text.

      • topic_id

        string — The case-level topic identifier.

      • type

        string — The topic classification type.

  • page_size (required)

    integer — The number of records returned per page.

  • total (required)

    integer, format: int64 — The total number of records.

  • next_page_token

    string | null — The token used to retrieve the next page of results.

Example:

{
  "total": 1,
  "page_size": 1,
  "next_page_token": "example-value",
  "data": []
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request The request is invalid or malformed.
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized The request lacks valid authentication credentials.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden The caller is authenticated but does not have the required case-read scopes.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error An unexpected server-side failure occurred.

Get case details

  • Method: GET
  • Path: /qm/cases/{qmCaseId}
  • Tags: Cases

Returns the base case plus default AI summary, AI sentiment, and performance information. Activities, interactions, and activity level sentiment are opt-in includes.

[Scopes(/docs/integrations/oauth-scopes-overview/): qm_cases:read,qm_cases:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): zoom_quality_management:read:cases,zoom_quality_management:read:cases:admin

Rate Limit Label: LIGHT

Responses

Status: 200 One case.
Content-Type: application/json
  • qm_case_id (required)

    string — The QM case ID.

  • account_id

    string — The account ID.

  • activities

    object — Returned only when `activities` is included. Items are ordered newest first and are not paginated.

    • items (required)

      array — The items.

      Items:

      • activity

        object — The activity.

        • activity_type

          string — The activity type.

        • attachment_refs

          array — The attachment refs.

          Items:

          • content_type

            string — Attachment media type.

          • download_url

            string — Authorized attachment download URL.

          • file_name

            string — Attachment file name.

          • size_bytes

            integer, format: int64 — Attachment size in bytes.

          • source_attachment_id

            string — Source system attachment identifier.

          • user_info

            object — Attachment user information beyond the supported schema depth.

          • zfs_file_id

            string — Zoom file storage identifier.

        • author_email

          string, format: email — The author email.

        • author_name

          string — The author name.

        • body_text

          string — The body text.

        • email_info

          object — Email metadata attached to a case activity.

          • body_text

            string — Plain text email body.

          • cc

            array — Email carbon-copy recipient addresses.

            Items:

            string

          • direction

            string — Email direction.

          • from

            string — Email sender address.

          • received_at

            string — Source provided email received timestamp.

          • sent_at

            string — Source provided email sent timestamp.

          • subject

            string — Email subject.

          • to

            array — Email recipient addresses.

            Items:

            string

        • field_change_info

          object — Source field change metadata attached to a case activity.

          • document_key

            string — Source system document key.

          • field_name

            string — Changed source field name.

          • new_value

            string — New field.

          • new_value_email

            string — New field email address.

          • new_value_id

            string — New field identifier.

          • old_value

            string — Previous field.

          • old_value_email

            string — Previous field email address.

          • old_value_id

            string — Previous field identifier.

          • source_table

            string — Source system table name.

        • indicator_matches

          array — The indicator matches.

          Items:

          • indicator_id

            string — Indicator identifier.

          • indicator_name

            string — Indicator name.

          • matched_field

            string — Activity field containing the match.

          • matched_keyword

            string — Matched keyword.

          • span

            array — Start and end offsets of the matched text.

            Items:

            integer, format: int32

        • source_activity_id

          string — The source activity ID.

        • visibility

          string — The visibility.

      • created_at

        string, format: date-time — The created at value.

      • interaction

        object — The interaction.

        • channel_type

          string — The channel type.

        • created_at

          string, format: date-time — The created at value.

        • interaction_id

          string — The interaction ID.

      • item_kind

        string — The item kind.

      • item_type

        string — The item type.

  • ai_sentiment

    object — Returned by default when an authorized sentiment result exists. `activity_sentiments` is returned only when `ai_sentiment_activities` is included.

    • activity_sentiments

      array — Returned only when `ai_sentiment_activities` is included.

      Items:

      • activity_type

        string — The activity type.

      • created_at

        string, format: date-time — The created at value.

      • qm_case_activity_key

        string — The QM case activity key.

      • reason

        string — The reason.

      • score

        integer — The score.

      • sentiment_name

        string, possible values: "STRONGLY_NEGATIVE", "CLEARLY_NEGATIVE", "SLIGHTLY_NEGATIVE", "PURELY_NEUTRAL", "SLIGHTLY_POSITIVE", "CLEARLY_POSITIVE", "STRONGLY_POSITIVE", "EXTREMELY_POSITIVE" — The sentiment name.

      • source_activity_id

        string — The source activity ID.

    • average_sentiment_name

      string, possible values: "STRONGLY_NEGATIVE", "CLEARLY_NEGATIVE", "SLIGHTLY_NEGATIVE", "PURELY_NEUTRAL", "SLIGHTLY_POSITIVE", "CLEARLY_POSITIVE", "STRONGLY_POSITIVE", "EXTREMELY_POSITIVE" — The average sentiment name.

    • average_sentiment_score

      number — The average sentiment score.

    • error_code

      string, possible values: "NO_CONTENT", "INPUT_TOO_LARGE", "INVALID_RESPONSE", "MODEL_CONFIG_UNAVAILABLE", "PROVIDER_FAILURE", "PERSISTENCE_FAILURE" — The error code.

    • error_message

      string — The error message.

    • generated_at

      string, format: date-time — The generated at value.

    • last_attempt_at

      string, format: date-time — The last attempt at value.

    • qm_case_id

      string — The QM case ID.

    • sentiment_evidences

      array — The sentiment evidences.

      Items:

      string

    • sentiment_summary

      string — The sentiment summary.

    • status

      string, possible values: "PENDING", "GENERATING", "COMPLETED", "FAILED", "SKIPPED_NO_CONTENT", "INPUT_TOO_LARGE" — The status.

    • trigger_reason

      string, possible values: "NEW_CASE", "TERMINAL_TRANSITION" — The trigger reason.

  • ai_summary

    object — Returned by default when an authorized summary result exists.

    • error_code

      string, possible values: "NO_CONTENT", "INPUT_TOO_LARGE", "INVALID_RESPONSE", "MODEL_CONFIG_UNAVAILABLE", "PROVIDER_FAILURE", "PERSISTENCE_FAILURE" — The error code.

    • error_message

      string — The error message.

    • generated_at

      string, format: date-time — The generated at value.

    • last_attempt_at

      string, format: date-time — The last attempt at value.

    • qm_case_id

      string — The QM case ID.

    • status

      string, possible values: "PENDING", "GENERATING", "COMPLETED", "FAILED", "SKIPPED_NO_CONTENT", "INPUT_TOO_LARGE" — The status.

    • summary

      string — The summary.

    • trigger_reason

      string, possible values: "NEW_CASE", "TERMINAL_TRANSITION" — The trigger reason.

  • connection_id

    string — The connection ID.

  • create_time

    string, format: date-time — The create time.

  • derived_engagement_ids

    array — The derived engagement ID's.

    Items:

    string

  • division_id

    string — The division ID.

  • external_case_key

    string — The external case key.

  • indicators

    array — The indicators.

    Items:

    • indicator_id

      string — The indicator ID.

    • indicator_name

      string — The indicator name.

    • matched_activity_count

      integer, format: int32 — The matched activity count.

  • interactions

    array — Returned only when `interactions` is included. The complete authorized interaction set is returned without pagination.

    Items:

    • analysis

      object — Simplified public interaction analysis.

      • good_questions

        array — Interaction analysis good questions.

        Items:

        • good_question

          string — Effective question asked during the interaction.

      • indicators

        array — Interaction analysis indicators.

        Items:

        • indicator_name

          string — Indicator name.

      • next_steps

        array — Interaction analysis next steps.

        Items:

        • next_step

          string — Recommended next step.

      • topics

        array — Interaction analysis topics.

        Items:

        • topic_name

          string — Topic name.

        • type

          string — Topic type.

    • analysis_v2

      object — Version 2 interaction analysis. Nested analysis records are intentionally open beyond the supported schema depth.

      • aic_topic

        array — AI Companion topic records.

        Items:

        • item_id_span

          array — Transcript item span for the topic.

          Items:

          integer, format: int32

        • topic

          string — Topic text.

      • analysis_num

        integer, format: int32 — Analysis sequence number.

      • engagement

        array — Engagement analysis records.

        Items:

        • category

          string — Analysis category.

        • end_time

          string — Analysis end time.

        • id

          integer, format: int32 — Analysis item identifier.

        • id_end

          integer, format: int32 — End item identifier.

        • id_start

          integer, format: int32 — Start item identifier.

        • item_id_span

          array — Transcript item span.

          Items:

          integer, format: int32

        • label

          string — Analysis label.

        • score

          number — Analysis score.

        • span

          array — Text span offsets.

          Items:

          integer, format: int32

        • start_time

          string — Analysis start time.

        • text

          string — Analysis item text.

        • user_id

          string — User identifier.

        • username

          string — Speaker username.

        • utterance

          string — Source utterance.

        • wait_sec

          number — Wait duration in seconds.

        • zm_user_id

          string — Zoom user identifier.

      • engaging_questions

        array — Engaging question analysis records.

        Items:

        • section

          array — Analysis items beyond level 4.

          Items:

      • filler_words

        array — Filler word analysis records.

        Items:

        • category

          string — Analysis category.

        • end_time

          string — Analysis end time.

        • id

          integer, format: int32 — Analysis item identifier.

        • id_end

          integer, format: int32 — End item identifier.

        • id_start

          integer, format: int32 — Start item identifier.

        • item_id_span

          array — Transcript item span.

          Items:

          integer, format: int32

        • label

          string — Analysis label.

        • score

          number — Analysis score.

        • span

          array — Text span offsets.

          Items:

          integer, format: int32

        • start_time

          string — Analysis start time.

        • text

          string — Analysis item text.

        • user_id

          string — User identifier.

        • username

          string — Speaker username.

        • utterance

          string — Source utterance.

        • wait_sec

          number — Wait duration in seconds.

        • zm_user_id

          string — Zoom user identifier.

      • format_version

        string — Analysis format version.

      • indicators

        array — Indicator analysis records.

        Items:

        • section

          array — Indicator analysis items beyond level 4.

          Items:

      • linear_paths

        object — Interaction linear path analysis.

        • brief_template_id

          string — Brief template identifier.

        • custom_brief_prompt

          string — Custom brief prompt.

        • deal_memo

          object — Deal memo beyond level 4.

        • items

          array — Linear path items beyond level 4.

          Items:

        • meeting_id

          string — Meeting identifier.

        • overall_summary

          string — Overall interaction summary.

      • next_steps

        array — Next step analysis records.

        Items:

        • section

          array — Analysis items beyond level 4.

          Items:

      • patience

        array — Patience analysis records.

        Items:

        • category

          string — Analysis category.

        • end_time

          string — Analysis end time.

        • id

          integer, format: int32 — Analysis item identifier.

        • id_end

          integer, format: int32 — End item identifier.

        • id_start

          integer, format: int32 — Start item identifier.

        • item_id_span

          array — Transcript item span.

          Items:

          integer, format: int32

        • label

          string — Analysis label.

        • score

          number — Analysis score.

        • span

          array — Text span offsets.

          Items:

          integer, format: int32

        • start_time

          string — Analysis start time.

        • text

          string — Analysis item text.

        • user_id

          string — User identifier.

        • username

          string — Speaker username.

        • utterance

          string — Source utterance.

        • wait_sec

          number — Wait duration in seconds.

        • zm_user_id

          string — Zoom user identifier.

      • playbooks

        array — Playbook analysis records.

        Items:

        • elements

          array — Playbook elements beyond level 4.

          Items:

        • playbook_id

          string — Playbook identifier.

        • playbook_name

          string — Playbook name.

      • qm_ai_topics

        array — QM AI topic records.

        Items:

        • id

          string — Topic identifier.

        • item_ids

          array — Associated transcript item identifiers.

          Items:

          integer, format: int32

        • mention_by

          string — Topic mention source.

        • topic

          string — Topic text.

        • type

          string — Topic type.

      • risks

        array — Risk analysis records.

        Items:

        • category

          string — Analysis category.

        • end_time

          string — Analysis end time.

        • id

          integer, format: int32 — Analysis item identifier.

        • id_end

          integer, format: int32 — End item identifier.

        • id_start

          integer, format: int32 — Start item identifier.

        • item_id_span

          array — Transcript item span.

          Items:

          integer, format: int32

        • label

          string — Analysis label.

        • score

          number — Analysis score.

        • span

          array — Text span offsets.

          Items:

          integer, format: int32

        • start_time

          string — Analysis start time.

        • text

          string — Analysis item text.

        • user_id

          string — User identifier.

        • username

          string — Speaker username.

        • utterance

          string — Source utterance.

        • wait_sec

          number — Wait duration in seconds.

        • zm_user_id

          string — Zoom user identifier.

      • sentiment

        array — Sentiment analysis records.

        Items:

        • category

          string — Analysis category.

        • end_time

          string — Analysis end time.

        • id

          integer, format: int32 — Analysis item identifier.

        • id_end

          integer, format: int32 — End item identifier.

        • id_start

          integer, format: int32 — Start item identifier.

        • item_id_span

          array — Transcript item span.

          Items:

          integer, format: int32

        • label

          string — Analysis label.

        • score

          number — Analysis score.

        • span

          array — Text span offsets.

          Items:

          integer, format: int32

        • start_time

          string — Analysis start time.

        • text

          string — Analysis item text.

        • user_id

          string — User identifier.

        • username

          string — Speaker username.

        • utterance

          string — Source utterance.

        • wait_sec

          number — Wait duration in seconds.

        • zm_user_id

          string — Zoom user identifier.

      • topic_mentioned_v2

        string — Version 2 topic mention text.

      • topics

        array — Topic analysis records.

        Items:

        • section

          array — Analysis items beyond level 4.

          Items:

    • crosstalk_event_count

      integer, format: int32 — The crosstalk event count.

    • crosstalk_event_threshold

      integer, format: int32 — The crosstalk event threshold.

    • crosstalk_events

      array — The crosstalk events.

      Items:

      • end_time

        string — Segment end duration in `HH:mm:ss.SSS` format.

      • start_time

        string — Segment start duration in `HH:mm:ss.SSS` format.

    • direction

      string — The direction.

    • disposition

      string — The disposition.

    • duration

      integer, format: int32 — The duration.

    • engagement_id

      string — The engagement ID.

    • hold_event_count

      integer, format: int32 — The hold event count.

    • hold_events

      array — The hold events.

      Items:

      • end_time

        string — Segment end duration in `HH:mm:ss.SSS` format.

      • start_time

        string — Segment start duration in `HH:mm:ss.SSS` format.

    • interaction_info

      object — Public interaction identity and participant information. Only fields copied by `QmOpenAPIMeetingVO` are included.

      • agent_name

        string — Agent display name.

      • channel_type

        string — Interaction channel type.

      • consumer_name

        string — Consumer display name.

      • evaluations

        array — Interaction evaluation records.

        Items:

        • evaluation_id

          string — Evaluation identifier.

        • evaluation_name

          string — Evaluation name.

        • evaluation_status

          integer, format: int32, possible values: 0, 1, 2, 3, 4 — Numeric evaluation status. Values: - 0 Active - 1 Completed - 2 Pending - 3 Expired - 4 Canceled.

        • evaluation_status_desc

          string — Evaluation status description.

        • evaluation_type

          string, possible values: "MANUAL", "AUTOMATED" — Evaluation type.

        • evaluator_id

          string — Evaluator identifier.

        • evaluator_name

          string — Evaluator display name.

        • question_comments

          array — Question comments beyond level 4.

          Items:

        • score

          number — Evaluation score.

        • score_percent_formatted

          string — Formatted score percentage.

        • score_rate

          number — Normalized score rate.

        • scoring_format

          string — Scoring format.

        • section_comments

          array — Section comments beyond level 4.

          Items:

        • session_id

          string — Evaluation session identifier.

        • total_score

          number — Total available score.

      • from

        string — Interaction origin.

      • interaction_id

        string — Interaction identifier.

      • to

        string — Interaction destination.

    • interaction_summary

      string — The interaction summary.

    • language

      string — The language.

    • metrics

      object — Interaction metrics. Metric buckets are intentionally open beyond the supported schema depth.

      • engaging_questions

        array — Engaging question metric buckets.

        Items:

        • id

          string — Metric bucket identifier.

        • value

          number — Metric bucket.

      • filler_words

        array — Filler word metric buckets.

        Items:

        • id

          string — Metric bucket identifier.

        • value

          number — Metric bucket.

      • longest_monolog

        array — Longest monologue metric buckets.

        Items:

        • id

          string — Metric bucket identifier.

        • value

          number — Metric bucket.

      • patience

        array — Patience metric buckets.

        Items:

        • id

          string — Metric bucket identifier.

        • value

          number — Metric bucket.

      • talk_speed

        array — Talk speed metric buckets.

        Items:

        • id

          string — Metric bucket identifier.

        • value

          number — Metric bucket.

      • talk_to_listen_ratio

        array — Talk to listen metric buckets.

        Items:

        • id

          string — Metric bucket identifier.

        • value

          number — Metric bucket.

      • time_on_slides

        array — Time on slides metric buckets.

        Items:

        • id

          string — Metric bucket identifier.

        • value

          number — Metric bucket.

    • queue_id

      string — The queue ID.

    • queue_name

      string — The queue name.

    • recording_url

      string — The recording URL.

    • scorecard_name

      string — The scorecard name.

    • screen_recording_status

      string, possible values: "UNAVAILABLE", "AVAILABLE", "DELETED", "PROCESSING" — The screen recording status.

    • screen_recording_urls

      array — The screen recording URLs.

      Items:

      string

    • silence_event_count

      integer, format: int32 — The silence event count.

    • silence_event_threshold

      integer, format: int32 — The silence event threshold.

    • silence_events

      array — The silence events.

      Items:

      • end_time

        string — Segment end duration in `HH:mm:ss.SSS` format.

      • start_time

        string — Segment start duration in `HH:mm:ss.SSS` format.

    • start_time

      string, format: date-time — The start time value.

    • summary

      object — Public interaction score summary. Only fields copied by `QmOpenAPIMeetingVO` are included.

      • engagement_score

        number — Engagement score.

      • evaluation_score

        number — Evaluation score.

      • sentiment_score

        number — Sentiment score.

      • sentiment_score_reason

        string — Reason for the sentiment score.

    • transcript_body

      object — Interaction transcript metadata and content. Speakers and transcript items are intentionally open beyond the supported schema depth.

  • last_idempotency_key

    string — The last idempotency key.

  • last_source_updated_at

    string, format: date-time — The last source updated at value.

  • mapped_fields

    object — Map of dynamically named source-field mappings.

  • modify_time

    string, format: date-time — The modify time.

  • performance_info

    object — Performance information for the case. Returned when the caller has performance-information access.

    • auto_score_info

      object — Manual or automated evaluation performance information.

      • ack_status

        integer, format: int32 — Numeric acknowledgement status.

      • agent

        object — Basic Quality Management user information.

      • auto_score_task_msg

        string — Message associated with the automated scoring task.

      • auto_score_task_status

        string — Status of the automated scoring task.

      • auto_score_version

        integer, format: int32 — Version of the automated scoring result.

      • can_delete

        boolean — Whether the caller may delete the evaluation.

      • can_dispute

        boolean — Whether the caller may dispute the evaluation.

      • can_edit

        boolean — Whether the caller may edit the evaluation.

      • can_feedback

        boolean — Whether the caller may submit feedback.

      • can_reply_dispute

        boolean — Whether the caller may reply to a dispute.

      • can_retry

        boolean — Whether the caller may retry the evaluation.

      • can_save_draft

        boolean — Whether the caller may save the evaluation as a draft.

      • can_view_evaluation_detail

        boolean — Whether the caller may view evaluation details.

      • coaching_session_change_logs

        array — Changes recorded for the associated coaching session.

        Items:

      • dispute_history

        array — History of disputes for the evaluation.

        Items:

      • draft_status

        boolean — Whether the evaluation is a draft.

      • due_date

        integer, format: int64 — Evaluation due date as Unix epoch milliseconds.

      • feedbacks

        array — Feedback records associated with the evaluation.

        Items:

      • is_latest

        boolean — Whether this is the latest evaluation version.

      • limit_dispute

        boolean — Whether dispute actions are restricted.

      • operate_type

        integer, format: int32 — Numeric operation type for the evaluation.

      • pending

        boolean — Whether the evaluation is pending.

      • rater

        object — Basic Quality Management user information.

      • release_info

        object — Release configuration and status for an evaluation result.

      • score_percent_formatted

        string — Formatted evaluation score percentage.

      • scorecard

        object — Scorecard associated with a calibration or evaluation. Nested scorecard structures are intentionally open beyond the supported schema depth.

      • session_id

        string — Evaluation session identifier.

      • task_id

        string — Evaluation task identifier.

      • task_status

        integer, format: int32 — Numeric status of the evaluation task.

    • calibration_info

      object — Calibration task performance information.

      • can_save_draft

        boolean — Whether the caller may save the calibration as a draft.

      • draft_status

        boolean — Whether the calibration is in draft status.

      • operate_type

        integer, format: int32 — Numeric operation type for the calibration task.

      • score_percent_formatted

        string — Formatted calibration score percentage.

      • scorecard

        object — Scorecard associated with a calibration or evaluation. Nested scorecard structures are intentionally open beyond the supported schema depth.

      • session_id

        string — Calibration session identifier.

      • task_id

        string — Calibration task identifier.

      • task_status

        integer, format: int32 — Numeric status of the calibration task.

    • evaluation_info

      object — Manual or automated evaluation performance information.

      • ack_status

        integer, format: int32 — Numeric acknowledgement status.

      • agent

        object — Basic Quality Management user information.

      • auto_score_task_msg

        string — Message associated with the automated scoring task.

      • auto_score_task_status

        string — Status of the automated scoring task.

      • auto_score_version

        integer, format: int32 — Version of the automated scoring result.

      • can_delete

        boolean — Whether the caller may delete the evaluation.

      • can_dispute

        boolean — Whether the caller may dispute the evaluation.

      • can_edit

        boolean — Whether the caller may edit the evaluation.

      • can_feedback

        boolean — Whether the caller may submit feedback.

      • can_reply_dispute

        boolean — Whether the caller may reply to a dispute.

      • can_retry

        boolean — Whether the caller may retry the evaluation.

      • can_save_draft

        boolean — Whether the caller may save the evaluation as a draft.

      • can_view_evaluation_detail

        boolean — Whether the caller may view evaluation details.

      • coaching_session_change_logs

        array — Changes recorded for the associated coaching session.

        Items:

      • dispute_history

        array — History of disputes for the evaluation.

        Items:

      • draft_status

        boolean — Whether the evaluation is a draft.

      • due_date

        integer, format: int64 — Evaluation due date as Unix epoch milliseconds.

      • feedbacks

        array — Feedback records associated with the evaluation.

        Items:

      • is_latest

        boolean — Whether this is the latest evaluation version.

      • limit_dispute

        boolean — Whether dispute actions are restricted.

      • operate_type

        integer, format: int32 — Numeric operation type for the evaluation.

      • pending

        boolean — Whether the evaluation is pending.

      • rater

        object — Basic Quality Management user information.

      • release_info

        object — Release configuration and status for an evaluation result.

      • score_percent_formatted

        string — Formatted evaluation score percentage.

      • scorecard

        object — Scorecard associated with a calibration or evaluation. Nested scorecard structures are intentionally open beyond the supported schema depth.

      • session_id

        string — Evaluation session identifier.

      • task_id

        string — Evaluation task identifier.

      • task_status

        integer, format: int32 — Numeric status of the evaluation task.

  • schema_version

    string — The schema version.

  • source_case_id

    string — The source case ID.

  • topics

    array — The topics.

    Items:

    • matched_activity_count

      integer, format: int32 — The matched activity count.

    • matched_activity_ids

      array — The matched activity ID's.

      Items:

      string

    • topic

      string — The topic.

    • topic_id

      string — The topic ID.

    • type

      string — The type.

Example:

{
  "account_id": "example-value",
  "division_id": "example-value",
  "connection_id": "example-value",
  "qm_case_id": "example-value",
  "external_case_key": "example-value",
  "source_case_id": "example-value",
  "schema_version": "example-value",
  "last_source_updated_at": "2026-01-15T10:30:00Z",
  "last_idempotency_key": "example-value",
  "mapped_fields": {},
  "derived_engagement_ids": [],
  "indicators": [],
  "topics": [],
  "create_time": "2026-01-15T10:30:00Z",
  "modify_time": "2026-01-15T10:30:00Z",
  "activities": {},
  "interactions": [],
  "ai_summary": {},
  "ai_sentiment": {},
  "performance_info": {
    "calibration_info": {
      "task_status": 2,
      "task_id": "calibration-task-123",
      "session_id": "session-123",
      "draft_status": false
    },
    "evaluation_info": {
      "task_status": 2,
      "task_id": "evaluation-task-123",
      "session_id": "session-123",
      "can_edit": true,
      "can_feedback": true
    }
  }
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request The case identifier or request is invalid.
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Authentication is missing, invalid, or expired.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden The caller is authenticated but does not have the required case read scopes or lacks access to the requested case data.
Status: 404 **HTTP Status Code:** `404` <br> Not Found The case does not exist or is outside the caller's visible scope.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. The public API rate limit was exceeded.
Status: 500 **HTTP Status Code:** `500` <br> Internal Server Error An unexpected server side failure occurred.

List automated evaluations

  • Method: GET
  • Path: /qm/automated_evaluations
  • Tags: Evaluations

List automated evaluations.

[Scopes(/docs/integrations/oauth-scopes-overview/): qm_evaluations:read:admin,qm_evaluations:read

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): zoom_quality_management:read:evaluations:admin,zoom_quality_management:read:evaluations

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` Successfully listed user's automated evaluations.
Content-Type: application/json
  • data

    array — Information about the automated evaluations.

    Items:

    • account_id

      string — The account ID.

    • agent_info

      object — The agent information.

      • display_name

        string — The evaluation's agent user display name.

      • user_id

        string — The evaluation's agent user ID.

    • create_time

      string — The date when the automated evaluation was created, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

    • evaluation_score

      number — The overall score of the automated evaluation, calculated based on the scorecard and answers.

    • id

      string — The automated evaluation task ID.

    • interaction_deleted

      boolean — Whether the interactions was deleted.

    • interaction_id

      string — The interaction ID.

    • modify_time

      string — The date when the automated evaluation was modified, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

    • scorecard_id

      string — The automated evaluation scorecard ID.

    • scorecard_name

      string — The automated scorecard name.

    • scoring_format

      string, possible values: "points", "percentage" — The scorecard's scoring format .

    • status

      string, possible values: "COMPLETED", "PROCESSING", "FAILED" — The evaluation's current status.

    • total_score

      number — The total score on the scorecard.

  • next_page_token

    string — Use the next page token to paginate through large result sets. A next page token is returned whenever the set of the available result list exceeds the page size. This token's expiration period is 15 minutes.

  • page_size

    number — The number of records returned within a single API call.

  • total

    number — The total number of all the records available across pages.

Example:

{
  "total": 51,
  "page_size": 20,
  "data": [
    {
      "id": "0e73a69f8f104d24a589fa0c615abca8",
      "account_id": "SY-AEWW6Ruqgt89_T2zqBg",
      "modify_time": "2024-05-28T09:52:22Z",
      "create_time": "2024-05-28T09:52:22Z",
      "interaction_id": "q9DyYF8iSXa3PVAhb6nekQ",
      "scorecard_id": "2uJ4u83yQ_qbyyFDmxsMcQ",
      "agent_info": {
        "user_id": "httgPnTgTxq0d65-alfYVw",
        "display_name": "Ashlee York"
      },
      "scorecard_name": "Customer Care",
      "scoring_format": "percentage",
      "total_score": 50,
      "evaluation_score": 10,
      "interaction_deleted": false,
      "status": "COMPLETED"
    }
  ],
  "next_page_token": "R4aF9Oj0fVM2hhezJTEmSKaBSkfesDwGy42"
}

List evaluations

  • Method: GET
  • Path: /qm/evaluation
  • Tags: Evaluations

List manually completed evaluations.

[Scopes(/docs/integrations/oauth-scopes-overview/): qm_evaluations:read:admin,qm_evaluations:read

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): zoom_quality_management:read:evaluations,zoom_quality_management:read:evaluations:admin

Rate Limit Label: LIGHT

Responses

Status: 200 **HTTP Status Code:** `200` Successfully listed user's evaluations.
Content-Type: application/json
  • data

    array — Information about the evaluations.

    Items:

    • account_id

      string — The account ID.

    • acknowledgement_status

      string, possible values: "Pending", "Complete", "Auto Complete", "None" — The acknowledgement status.

    • agent_info

      object — The agent information.

      • display_name

        string — The evaluation's agent user display name.

      • user_id

        string — The evaluation's agent user ID.

    • channel_type

      string, possible values: "VIDEO", "AUDIO", "MANUAL", "MESSAGE" — The interaction's channel type.

    • completion_date

      string — Estimated completion time.

    • create_time

      string — The date when the evaluation was created, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

    • creator_id

      string — The evaluation's creator Zoom user ID.

    • creator_info

      object — The evaluation creator information.

      • display_name

        string — The evaluation's creator user display name.

      • user_id

        string — The evaluation's creator Zoom user ID.

    • evaluation_score

      number — The overall score of the evaluation, calculated based on the scorecard and answers.

    • evaluators_info

      array — The evaluators' information.

      Items:

      • display_name

        string — The evaluation's evaluator user display name.

      • user_id

        string — The evaluation's evaluator user ID.

    • id

      string — The evaluation task ID.

    • interaction_deleted

      boolean — Whether the interactions was deleted.

    • interaction_id

      string — The interaction ID.

    • modify_time

      string — The date when the evaluation was modified, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

    • scorecard_id

      string — The evaluation scorecard ID.

    • scorecard_name

      string — The evaluation scorecard name.

    • scoring_format

      string, possible values: "points", "percentage" — The scorecard's scoring format .

    • status

      string, possible values: "Active", "Completed", "Pending", "Expired", "Cancled" — The evaluation's current status.

    • task_name

      string — The evaluation task name.

    • total_score

      number — The total score on the scorecard.

    • user_id

      string — The Zoom user ID.

  • next_page_token

    string — Use the next page token to paginate through large result sets. A next page token is returned whenever the set of the available result list exceeds the page size. This token's expiration period is 15 minutes.

  • page_size

    number — The number of records returned within a single API call.

  • total

    number — The total number of all the records available across pages.

Example:

{
  "total": 51,
  "page_size": 20,
  "data": [
    {
      "id": "0e73a69f8f104d24a589fa0c615abca8",
      "account_id": "SY-AEWW6Ruqgt89_T2zqBg",
      "user_id": "httgPnTgTxq0d65-alfYVw",
      "creator_id": "b0_yDuNGSq65EF8i1f0PcQ",
      "modify_time": "2024-05-28T09:52:22Z",
      "create_time": "2024-05-28T09:52:22Z",
      "channel_type": "VIDEO",
      "task_name": "evaluation_q9DyYF8iSXa3PVAhb6nekQ",
      "interaction_id": "q9DyYF8iSXa3PVAhb6nekQ",
      "scorecard_id": "2uJ4u83yQ_qbyyFDmxsMcQ",
      "creator_info": {
        "user_id": "b0_yDuNGSq65EF8i1f0PcQ",
        "display_name": "Rick Arps"
      },
      "agent_info": {
        "user_id": "httgPnTgTxq0d65-alfYVw",
        "display_name": "Ashlee York"
      },
      "evaluators_info": [
        {
          "user_id": "b0_yDuNGSq65EF8i1f0PcQ",
          "display_name": "Rick Arps"
        }
      ],
      "scorecard_name": "Customer Care",
      "scoring_format": "percentage",
      "total_score": 50,
      "evaluation_score": 10,
      "interaction_deleted": false,
      "status": "Active",
      "acknowledgement_status": "Pending",
      "completion_date": "2026-03-16T10:45:00Z"
    }
  ],
  "next_page_token": "R4aF9Oj0fVM2hhezJTEmSKaBSkfesDwGy42"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request Bad Request
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Unauthorized
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

View evaluation detail

  • Method: GET
  • Path: /qm/evaluation/{evaluationId}
  • Tags: Evaluations

View a specific interaction's evaluation detail.

[Scopes(/docs/integrations/oauth-scopes-overview/): qm_evaluations:read,qm_evaluations:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): zoom_quality_management:read:evaluations,zoom_quality_management:read:evaluations:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` Successfully view the evaluation detail.
Content-Type: application/json
  • scorecard

    object — The scorecard's detail.

    • acknowledgment_status

      string, possible values: "Pending", "Complete", "Auto complete", "None" — The evaluation's acknowledgment status.

    • agent_name

      string — The name of the agent involved in the interaction being evaluated.

    • agent_user_id

      string — The user ID of the agent involved in the interaction.

    • completion_date

      string — Estimated completion time.

    • create_time

      string — The date when the evaluation was created, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

    • dispute_status

      string, possible values: "None", "Pending", "Complete" — The evaluation's dispute status.

    • engagement_id

      string — The ID of the engagement associated with the interaction.

    • evaluator

      object — The evaluator information.

      • name

        string — The name of the person who conducted the evaluation.

      • user_id

        string — The evaluator's Zoom user ID.

    • interaction_id

      string — The ID of the interaction being evaluated.

    • modify_time

      string — The date when the evaluation was modified, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

    • score

      number — The actual score obtained in this evaluation, not exceeding the total_score.

    • scorecard_id

      string — The scorecard's ID.

    • scorecard_name

      string — The name of the scorecard used for evaluation.

    • sections

      array — The scorecard section infomation.

      Items:

      • name

        string — The name of the section within the scorecard.

      • order

        number — The order of this section in the scorecard.

      • questions

        array — The questions.

        Items:

        • answer_id

          string — The ID of the selected answer for this question.

        • answer_label

          string — The label of the selected answer for this question.

        • description

          string — A detailed description or additional information about the question.

        • options

          array — The options.

          Items:

          • auto_fail

            boolean — Indicates whether selecting this option causes an automatic failure, `true` or `false`.

          • label

            string — The option's display text.

          • option_id

            string — The option's ID.

          • points

            number — The option's points.

          • value

            string — The option's value.

        • question_id

          string — The question's ID.

        • scale

          object — The information about rating scale type question.

          • has_na_option

            boolean — Indicates whether there is an `N/A` option.

          • high_label

            string — The high score label.

          • low_label

            string — The low score label.

          • scale_max

            integer — Maximum score.

          • scale_min

            integer — Minimum score.

        • score

          number — The actual score obtained in this question, not exceeding the total_score.

        • title

          string — The question's title or main text.

        • total_score

          number — The maximum possible score that can be achieved for this question.

        • type

          string, possible values: "Yes/No", "Single Choice", "Rating Scale" — The question's type.

      • score

        number — The actual score obtained in this section, not exceeding the total_score.

      • total_score

        number — The maximum possible score that can be achieved for this section.

      • weight

        number — The weight of the section in the overall score calculation.

    • total_score

      number — The maximum possible score that can be achieved for this evaluation.

Example:

{
  "scorecard": {
    "scorecard_id": "CaBoBGvDSCmYt5GDDxP4-Q",
    "scorecard_name": "AAAAAAAA Automated DEMO test 1212 TEST 111",
    "sections": [
      {
        "name": "Service Attitude",
        "weight": 34,
        "order": 1,
        "questions": [
          {
            "question_id": "7jNGHA0QSRGdsi-R03d8tQ",
            "type": "Rating Scale",
            "title": "Did the customer service representative demonstrate patience and friendliness?",
            "description": "Evaluate the agent's service attitude.",
            "options": [
              {
                "option_id": "m_DJVk5BS7yqoR2ayN16kw",
                "label": "Yes",
                "value": "Yes",
                "auto_fail": false,
                "points": 10
              }
            ],
            "answer_id": "m_DJVk5BS7yqoR2ayN16kw",
            "answer_label": "Yes",
            "score": 10,
            "scale": {
              "has_na_option": true,
              "high_label": "Excellent",
              "low_label": "Poor",
              "scale_max": 10,
              "scale_min": 1
            },
            "total_score": 10
          }
        ],
        "score": 20,
        "total_score": 30
      }
    ],
    "score": 90,
    "total_score": 100,
    "evaluator": {
      "name": "Admin3",
      "user_id": "ycEUjKmDSnuPwF33KLTxJg"
    },
    "create_time": "2024-05-28T09:52:22Z",
    "modify_time": "2024-05-28T09:52:22Z",
    "acknowledgment_status": "Complete",
    "dispute_status": "None",
    "interaction_id": "yBe0fI6kTFG5IyThF8eRXg",
    "engagement_id": "e59gNVtjTuS--NjwquFKQA",
    "agent_name": "The agent's name.",
    "agent_user_id": "The agent's ID.",
    "completion_date": "2026-03-16T10:45:00Z"
  }
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Unauthorized
Status: 403 **HTTP Status Code:** `403` <br> Forbidden Forbidden
Status: 404 **HTTP Status Code:** `404` <br> Not Found Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/).

List interactions

  • Method: GET
  • Path: /qm/interactions
  • Tags: Interactions

List interactions.

[Scopes(/docs/integrations/oauth-scopes-overview/): qm_interactions:read,qm_interactions:read:admin

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): zoom_quality_management:read:interactions,zoom_quality_management:read:interactions:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` Successfully listed user's interactions.
Content-Type: application/json
  • interactions

    array — Information about the interaction.

    Items:

    • interaction_info (required)

      object — The interaction infomation.

      • interaction_id (required)

        string — The interaction id.

      • agent_name

        string — The agent name.

      • associated_ids

        array — The associated interaction ids.

        Items:

        string — The associated interaction id.

      • channel_type

        string, possible values: "VIDEO", "MANUAL", "SMS", "AUDIO", "WEB_CHAT" — The channel type, includes VIDEO, MANUAL, SMS, AUDIO and WEB_CHAT.

      • consumer_name

        string — The consumer name.

      • evaluations

        array — The associated evaluations.

        Items:

        • evaluation_id

          string — The evaluation ID.

        • evaluation_type

          string, possible values: "Manual", "Automated" — The evaluation type.

      • from

        string — The caller's phone number in E.164 format.

      • to

        string — The recipient's phone number in E.164 format.

    • start_time (required)

      string — The start date in yyyy-MM-dd'T'HH:mm:ss'Z' format.

    • crosstalk_event_count

      integer — The count of crosstalk event.

    • direction

      string — The direction.

    • disposition

      string — The disposition

    • duration

      number — The interaction duration in minutes.

    • engagement_id

      string — The engagement id.

    • hold_event_count

      integer — The count of hold event.

    • primary_language

      string — The primary language.

    • queue_id

      string — The call queue id.

    • queue_name

      string — The call queue name.

    • scorecard_name

      string — The scorecard name.

    • screen_recording_status

      string, possible values: "UNAVAILABLE", "AVAILABLE", "DELETED" — The status of the interaction screen recording. **UNAVAILABLE, AVAILABLE, DELETED**

    • silence_event_count

      integer — The count of silence event.

    • summary

      object — The summary.

      • engagement_score

        number — The engagement score.

      • evaluation_score

        number — The evaluation score.

      • sentiment_score

        number — The sentiment score.

  • next_page_token

    string — The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of the available result list exceeds the page size. The expiration period is 15 minutes.

  • page_size

    number — The number of records returned within a single API call.

  • total_records

    integer — The total number of all the records available across pages.

Example:

{
  "total_records": 50,
  "page_size": 30,
  "interactions": [
    {
      "start_time": "2020-05-01T19:13:02Z",
      "duration": 5,
      "queue_id": "Je4zLPZ-SBiLCiebE35ALQ",
      "queue_name": "Demo",
      "interaction_info": {
        "from": "+16692520210",
        "to": "+12364352078",
        "interaction_id": "X51n17BZQTqKtxwF4mmTIw",
        "agent_name": "Admin3",
        "consumer_name": "+16692520210",
        "channel_type": "AUDIO",
        "associated_ids": [
          "xxxx"
        ],
        "evaluations": [
          {
            "evaluation_id": "2c8704b1bc374bb981dd66428ca3eb7b",
            "evaluation_type": "Manual scoring"
          }
        ]
      },
      "engagement_id": "PH6wferlTACAfBzYGAVOYg",
      "direction": "inbound",
      "disposition": "dev-disponsition",
      "silence_event_count": 2,
      "crosstalk_event_count": 2,
      "hold_event_count": 3,
      "scorecard_name": "test Kraig 1227",
      "summary": {
        "evaluation_score": 58.63,
        "sentiment_score": 58.63,
        "engagement_score": 58.63
      },
      "primary_language": "en",
      "screen_recording_status": "AVAILABLE"
    }
  ],
  "next_page_token": "R4aF9Oj0fVM2hhezJTEmSKaBSkfesDwGy42"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request Bad Request **Error Code:** `1001` <br> The from or to time is invalid. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Unauthorized
Status: 404 **HTTP Status Code:** `404` <br> Not Found Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](/docs/api/rest/rate-limits/).

Add an interaction

  • Method: POST
  • Path: /qm/interactions
  • Tags: Interactions

Add an interaction by a third party download URL.

[Scopes(/docs/integrations/oauth-scopes-overview/): qm_interactions:write:admin,qm_interactions:write

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): zoom_quality_management:write:interactions,zoom_quality_management:write:interactions:admin

Rate Limit Label: 1

Request Body

Content-Type: application/json
  • download_url (required)

    string — The third party download URL.

  • direction

    string, possible values: "inbound", "outbound" — The call's direction. * `inbound` * `outbound`

  • disposition

    string — The disposition's name.

  • interaction_info

    object — The interaction infomation.

    • channel_type (required)

      string, possible values: "video", "voice" — The interaction's channel.

    • agent_email

      string — The agent's email.

    • agent_id

      string — The agent's user ID.

    • consumer_name

      string — The consumer's name.

    • from

      string — The caller's phone number in E.164 format.

    • to

      string — The recipient's phone number in E.164 format.

  • primary_language

    string, possible values: "en-GB", "en-US", "ar", "da-DK", "de-DE", "es-ES", "es-MX", "fr-CA", "fr-FR", "it-IT", "ja", "ko-KR", "nl-NL", "pt-BR", "pt-PT", "ru", "zh-CN", "zh-HK" — The primary language. If left empty, the system automatically detects the language. If specified, the system transcribes using the given language. [**Supported language codes**](https://developers.zoom.us/docs/api/references/abbreviations/#languages)

  • queue_id

    string — The Contact Center queue's ID.

  • start_time

    string — The interaction start time in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

Example:

{
  "download_url": "https://www.example.com/uploads/InboundSampleRecording.mp3",
  "interaction_info": {
    "from": "+12053546173",
    "to": "+12095422197",
    "consumer_name": "Jill Chill",
    "channel_type": "video",
    "agent_id": "ycEUjKmDSnuPwF33KLTxJg",
    "agent_email": "example_admin@example.com"
  },
  "start_time": "2025-09-01T19:13:02Z",
  "direction": "inbound",
  "queue_id": "zxcv12m",
  "disposition": "dispostion_a",
  "primary_language": "en-US"
}

Responses

Status: 201 **HTTP Status Code:** `201` Successfully added the user's interaction.
Content-Type: application/json
  • interaction_id

    string — The added interaction ID.

Example:

{
  "interaction_id": "QMp3e6_WShCVuifNbrQd4w"
}
Status: 400 **HTTP Status Code:** `400` <br> Bad Request Bad Request **Error Code:** `1001` <br> The interaction start time is invalid. <br>
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Unauthorized
Status: 404 **HTTP Status Code:** `404` <br> Not Found Not Found
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rate-limits/).

View interaction detail

  • Method: GET
  • Path: /qm/interactions/{interactionId}
  • Tags: Interactions

View the details of a specific interaction.

[Scopes(/docs/integrations/oauth-scopes-overview/): qm_interactions:read:admin,qm_interactions:read

[Granular Scopes(/docs/integrations/oauth-scopes-overview/): zoom_quality_management:read:interactions,zoom_quality_management:read:interactions:admin

Rate Limit Label: MEDIUM

Responses

Status: 200 **HTTP Status Code:** `200` Successfully view the interaction detail.
Content-Type: application/json
  • interaction_info (required)

    object — The interaction infomation.

    • interaction_id (required)

      string — The interaction ID.

    • agent_name

      string — The agent's name.

    • associated_ids

      array — The associated interaction IDs.

      Items:

      string — The associated interaction ID.

    • channel_type

      string, possible values: "VIDEO", "MANUAL", "SMS", "AUDIO", "WEB_CHAT" — The channel type, including `VIDEO`, `MANUAL`, `SMS`, `AUDIO` and `WEB_CHAT`.

    • consumer_name

      string — The consumer's name.

    • evaluation_score

      number — The evaluation score.

    • evaluations

      array — The associated evaluations.

      Items:

      • evaluation_id

        string — The evaluation ID.

      • evaluation_name

        string — The name of the scorecard used for this evaluation.

      • evaluation_status_desc

        string, possible values: "COMPLETED", "PROCESSING", "FAILED", "Active", "Completed", "Pending", "Expired", "Canceled" — For automatic scoring, the enumeration values are `COMPLETED`, `PROCESSING`, and `FAILED`. For manual scoring, the enumeration values are `Active`, `Completed`, `Pending`, `Expired`, and `Canceled`.

      • evaluation_type

        string, possible values: "Manual", "Automated" — The evaluation type.

      • evaluator_id

        string — The unique user ID of the evaluator who performed the manual evaluation. Only present for manual evaluations.

      • evaluator_name

        string — The display name of the evaluator who performed the manual evaluation. Only present for manual evaluations.

      • question_comments

        array — Comments provided for each question or item in the scorecard evaluation.

        Items:

        • comment_text

          string — The evaluator's comment text for this question.

        • comment_time

          number — The timestamp in seconds, from the start of the recording where this comment applies. Useful for linking comments to specific moments in the interaction.

        • question_id

          string — The scorecard question's or item's unique identifier.

        • question_title

          string — The scorecard question's title or text.

      • score

        number — The actual score achieved in this evaluation.

      • score_rate

        number — The score rate, as a decimal. `Score`/`total_score` for points format, or the score itself for percentage format.

      • scoring_format

        string, possible values: "percentage", "points" — The scoring format type.

      • section_comments

        array — Comments provided for each section in the scorecard evaluation.

        Items:

        • comment_text

          string — The evaluator's comment text for this section.

        • section_id

          string — The unique identifier of the scorecard section.

        • section_name

          string — The name/title of the scorecard section

      • session_id

        string — The unique session ID for this evaluation.

      • total_score

        number — The maximum possible score for this evaluation.

    • evaluator_name

      string — The evaluator's name.

    • evaluator_user_id

      string — The evaluator's user ID.

    • from

      string — The caller's phone number in E.164 format.

    • scorecard_id

      string — The scorecard ID.

    • scorecard_name

      string — The scorecard name.

    • to

      string — The recipient's phone number in E.164 format.

  • analysis

    object — AI-powered analysis of the interaction content.

    • good_questions

      array — Array of effective questions that were asked during the interaction.

      Items:

      • good_question

        string — The good question.

    • indicators

      array — Array of indicators detected in the interaction.

      Items:

      • indicator_name

        string — The indicator name.

    • next_steps

      array — Array of recommended actions or follow-up steps based on the analysis of the interaction content.

      Items:

      • next_step

        string — The next step or action.

    • topics

      array — Array of topics identified in the interaction content.

      Items:

      • topic_name

        string — The topic name.

      • type

        string, possible values: "predefined", "discovered" — `predefined` for a custom topic defined by an account, or 'discovered' such as an AI generated topic.

  • crosstalk_events

    array — The crosstalk event infomation.

    Items:

    • end_time

      string — The crosstalk event end time.

    • start_time

      string — The crosstalk event start time.

  • direction

    string — The direction.

  • duration

    number — The interaction duration in minutes.

  • engagement_id

    string — The engagement ID.

  • hold_events

    array — The crosstalk event infomation.

    Items:

    • end_time

      string — The hold event end time.

    • start_time

      string — The hold event start time.

  • interaction_summary

    string — The interaction's overall summary.

  • language

    string — The primary language.

  • metrics

    object — The metrics infomation.

    • filler_words

      array — The speaker's filler words.

      Items:

      • speaker_user_id

        string — The speaker's user ID.

      • value

        number — The speaker's filler words count per minute.

    • longest_monolog

      array — The speaker's longest monologue.

      Items:

      • speaker_user_id

        string — The speaker's user ID.

      • value

        number — The speaker's longest monologue duration, in **seconds**.

    • patience

      array — The speaker's patience.

      Items:

      • speaker_user_id

        string — The speaker's user ID.

      • value

        number — The speaker's patience duration, in seconds.

    • talk_speed

      array — The speaker's talk speed.

      Items:

      • speaker_user_id

        string — The speaker's user ID.

      • value

        number — The speaker's talk speed, in words per minute.

    • talk_to_listen_ratio

      array — The speaker's talk-listen ratio.

      Items:

      • speaker_user_id

        string — The speaker's user ID.

      • value

        number — The speaker's talk-listen ratio.

  • queue_id

    string — The queue ID to query.

  • queue_name

    string — The queue name to query.

  • recording_url

    string — The recording URL.

  • screen_recording_status

    string, possible values: "UNAVAILABLE", "AVAILABLE", "DELETED" — The interaction screen recording's status.

  • screen_recording_urls

    array — The screen recording URLs.

    Items:

    string — The screen recording URL.

  • silence_events

    array — The silence event infomation.

    Items:

    • end_time

      string — The silence event end time.

    • start_time

      string — The silence event start time.

  • start_time

    string — The start date, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

  • summary

    object — The summary infomation.

    • engagement_score

      number — The engagement score.

    • evaluation_score

      number — The evaluation score.

    • sentiment_score

      number — The sentiment score.

    • sentiment_score_reason

      string — The sentiment score reason.

  • transcript_body

    object — The transcript content.

    • account_id

      string — The account ID.

    • host_id

      string — The host ID.

    • items

      array — The text items.

      Items:

      • comments

        string — The comments.

      • email

        string — The speaker's email address, this value is null for external users.

      • end_time

        string — The speak end time.

      • item_id

        string — The item's sequence ID, starting from 0.

      • speaker_id

        string — The speaker's sequence ID generated from Transcript Service.

      • start_time

        string — The speak start time.

      • text

        string — The speech content.

      • zoom_user_id

        string — The speaker's user ID.

    • language

      string — The primary language.

    • meeting_id

      string — The meeting ID.

    • recording_end

      string — The recording end date, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

    • recording_start

      string — The recording start date, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.

    • speakers

      array — The speaker's infomation.

      Items:

      • email_address (required)

        string — The speaker's email address, this value is null for external users.

      • role (required)

        string, possible values: "rep", "customer" — The speaker's role.

      • speaker_id (required)

        string — The speaker's sequence ID generated from Transcript Service.

      • username (required)

        string — The speaker's username.

      • zoom_user_id (required)

        string — The speaker's user ID.

Example:

{
  "summary": {
    "evaluation_score": 1,
    "sentiment_score": 61.19,
    "sentiment_score_reason": "Customer frustration detected during escalation",
    "engagement_score": 5.546720115175143
  },
  "metrics": {
    "talk_to_listen_ratio": [
      {
        "speaker_user_id": "ycEUjKmDSnuPwF33KLTxJg",
        "value": 0.4311976503861636
      }
    ],
    "longest_monolog": [
      {
        "speaker_user_id": "ycEUjKmDSnuPwF33KLTxJg",
        "value": 8.430000000000007
      }
    ],
    "talk_speed": [
      {
        "speaker_user_id": "ycEUjKmDSnuPwF33KLTxJg",
        "value": 121.0898082744702
      }
    ],
    "filler_words": [
      {
        "speaker_user_id": "ycEUjKmDSnuPwF33KLTxJg",
        "value": 0
      }
    ],
    "patience": [
      {
        "speaker_user_id": "ycEUjKmDSnuPwF33KLTxJg",
        "value": 1.24
      }
    ]
  },
  "start_time": "2024-05-28T09:52:22Z",
  "duration": 8,
  "queue_id": "d5qAagKnQ7-UO_VsdiPdQA",
  "queue_name": "Demo",
  "recording_url": "https://example.com/file/YZ75Jmq8TICELRiufFmTrg?filename=GMT20240528-095222_VgKcwkLoTPy80OyNcUo2Yg_VoiceRecording.mp3&jwt=JWT_TOKEN_EXAMPLE&mode=play",
  "screen_recording_urls": [
    "https://example.com/file/6GmXHipBT_CC3ncyX6d76w?filename=GMT20240812-103352_Recording_3840x2160.mp4&jwt=JWT_TOKEN_EXAMPLE&mode=play"
  ],
  "transcript_body": {
    "meeting_id": "VgKcwkLoTPy80OyNcUo2Yg",
    "account_id": "VgryoPBNR6uWYfyJqu4JFQ",
    "host_id": "ycEUjKmDSnuPwF33KLTxJg",
    "recording_start": "2024-05-28T09:52:22Z",
    "recording_end": "2024-05-28T10:00:47Z",
    "language": "en",
    "speakers": [
      {
        "speaker_id": "0",
        "zoom_user_id": "ycEUjKmDSnuPwF33KLTxJg",
        "email_address": "cci_dev_admin@example.com",
        "username": "Admin3",
        "role": "rep"
      }
    ],
    "items": [
      {
        "comments": "abc",
        "item_id": "0",
        "speaker_id": "0",
        "zoom_user_id": "ycEUjKmDSnuPwF33KLTxJg",
        "start_time": "00:00:22.790",
        "end_time": "00:00:25.680",
        "text": "A halo, Kanji, this",
        "email": "cci_dev_admin@example.com"
      }
    ]
  },
  "language": "en",
  "interaction_summary": "The meeting involved a diverse range of unrelated exchanges among participants including Admin3 and an unnamed person identified as +12053546173. Topics touched upon, albeit discontinuously, revolved around a possible analytical recording concept, a potential interest in women, and a reference to monthly recording. Nevertheless, the specifics and the central objective of these discussions remained unclear from the provided transcript.",
  "interaction_info": {
    "from": "+12053546173",
    "to": "+12095422197",
    "interaction_id": "VgKcwkLoTPy80OyNcUo2Yg",
    "agent_name": "Admin3",
    "consumer_name": "+12053546173",
    "channel_type": "VIDEO",
    "evaluations": [
      {
        "evaluation_id": "aI9HM3ZsEScAa",
        "evaluation_type": "Automated",
        "evaluation_status_desc": "Completed",
        "session_id": "abc123def456",
        "score": 85,
        "total_score": 60,
        "score_rate": 0.855,
        "scoring_format": "points",
        "evaluator_id": "u_abc123xyz",
        "evaluator_name": "Sarah Johnson",
        "section_comments": [
          {
            "section_id": "sec_001",
            "section_name": "Opening & Greeting",
            "comment_text": "Excellent rapport building and professional tone throughout the opening."
          }
        ],
        "question_comments": [
          {
            "question_id": "q_001",
            "question_title": "Did the agent properly identify themselves?",
            "comment_text": "Agent clearly stated their name and company at the beginning.",
            "comment_time": 15
          }
        ],
        "evaluation_name": "Customer Service Quality Scorecard"
      }
    ],
    "associated_ids": [
      "VgKcwkLoTPy80OyNcUo2Yg"
    ]
  },
  "screen_recording_status": "UNAVAILABLE",
  "engagement_id": "2R1t8QtiTsKIOIAV0-a7FQ",
  "silence_events": [
    {
      "start_time": "00:01:07.580",
      "end_time": "00:01:10.960"
    }
  ],
  "crosstalk_events": [
    {
      "start_time": "00:01:07.580",
      "end_time": "00:01:10.960"
    }
  ],
  "hold_events": [
    {
      "start_time": "00:01:07.580",
      "end_time": "00:01:10.960"
    }
  ],
  "direction": "inbound",
  "analysis": {
    "topics": [
      {
        "topic_name": "Customer Complaint",
        "type": "predefined"
      }
    ],
    "indicators": [
      {
        "indicator_name": "Hello"
      }
    ],
    "next_steps": [
      {
        "next_step": "Jasper: Contact the billing department to pay malpractice premium without policy number"
      }
    ],
    "good_questions": [
      {
        "good_question": "I'm really sorry to hear that. Could you please describe the issue you’re experiencing? We’d like to help resolve it as soon as possible."
      }
    ]
  }
}
Status: 401 **HTTP Status Code:** `401` <br> Unauthorized Unauthorized.
Status: 404 **HTTP Status Code:** `404` <br> Not Found Not found.
Status: 429 **HTTP Status Code:** `429` <br> Too Many Requests. For more information, see [rate limits](/docs/api/rate-limits/).