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
-
dataarray— Information about the calibrations.Items:
-
account_idstring— The account ID. -
agent_infoobject— The agent's information.-
display_namestring— The agent's display name. -
user_idstring— The agent's Zoom user ID.
-
-
calibration_idstring— The calibration task ID. -
calibration_scorenumber— The average score across completed evaluator submissions for the calibration. -
channel_typestring, possible values:"VIDEO", "AUDIO", "MANUAL", "MESSAGE"— The interaction's channel type. -
completion_datestring— The date when the calibration was completed, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
create_timestring— The date when the calibration was created, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
creator_infoobject— The calibration creator's information.-
display_namestring— The calibration creator's display name. -
user_idstring— The calibration creator's Zoom user ID.
-
-
due_datestring— The calibration due date, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
evaluation_scorenumber— The sibling manual evaluation score for the same interaction. -
evaluators_infoarray— The evaluators' information.Items:
-
display_namestring— The evaluator's display name. -
user_idstring— The evaluator's Zoom user ID.
-
-
interaction_deletedboolean— Whether the interaction was deleted. -
interaction_idstring— The interaction ID. -
minimum_evaluatorsinteger— The minimum number of evaluator submissions required to complete the calibration. -
modify_timestring— The date when the calibration was last modified, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
scorecard_idstring— The calibration scorecard ID. -
scorecard_namestring— The calibration scorecard name. -
scoring_formatstring, possible values:"points", "percentage"— The scorecard's scoring format. -
statusstring, possible values:"Active", "Completed", "Expired", "Canceled"— The calibration's current status. -
task_namestring— The calibration task name. -
total_scorenumber— The total score on the scorecard.
-
-
next_page_tokenstring— 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_sizeinteger— The number of records returned within a single API call. -
totalinteger— 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_idstring— The account ID. -
agent_infoobject— The agent's information.-
display_namestring— The agent's display name. -
user_idstring— The agent's user ID.
-
-
calibration_complete_percentagenumber— The percentage of assigned evaluators who have submitted the calibration. -
calibration_idstring— The calibration task ID. -
calibration_resultarray— Question-level comparison results for the calibration.Items:
-
max_scorenumber— The maximum score for the section. -
question_listarray— The questions in this section.Items:
-
descriptionstring— The question description. -
evaluatorsarray— The evaluator-level responses for the question.Items:
-
answerstring— The evaluator's answer for the question. -
commentstring— The evaluator's comment for the question. -
namestring— The evaluator's display name. -
scorenumber— The evaluator's score for the question.
-
-
max_scorenumber— The maximum score for the question. -
titlestring— The question title. -
total_scorenumber— The overall score for the question after aggregation.
-
-
sectionstring— The scorecard section name.
-
-
calibration_scorenumber— The average score across completed evaluator submissions for the calibration. -
channel_typestring, possible values:"VIDEO", "AUDIO", "MANUAL", "MESSAGE"— The interaction's channel type. -
completion_datestring— The date when the calibration was completed, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
create_timestring— The date when the calibration was created, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
creator_infoobject— The calibration creator's information.-
display_namestring— The calibration creator's display name. -
user_idstring— The calibration creator's Zoom user ID.
-
-
division_idstring— The division ID associated with the calibration task. -
due_datestring— The calibration due date, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
evaluation_scorenumber— The sibling manual evaluation score for the same interaction. -
evaluator_submissionsarray— The evaluator submission statuses for this calibration.Items:
-
evaluatorobject— The evaluator's information.-
display_namestring— The evaluator's display name. -
user_idstring— The evaluator's Zoom user ID.
-
-
scorenumber | null— The evaluator's submitted calibration score. -
statusstring, possible values:"pending", "in_progress", "completed"— The evaluator's submission status. -
submitted_atstring | null— The date when the evaluator submitted the calibration, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format.
-
-
evaluators_infoarray— The evaluators' information.Items:
-
display_namestring— The evaluator's display name. -
user_idstring— The evaluator's user ID.
-
-
interaction_deletedboolean— Whether the interaction was deleted. -
interaction_idstring— The interaction ID. -
minimum_evaluatorsinteger— The minimum number of evaluator submissions required to complete the calibration. -
modify_timestring— The date when the calibration was last modified, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
scorecard_idstring— The calibration scorecard ID. -
scorecard_namestring— The calibration scorecard name. -
scoring_formatstring, possible values:"points", "percentage"— The scorecard's scoring format. -
statusstring, possible values:"Active", "Completed", "Expired", "Canceled"— The calibration's current status. -
task_namestring— The calibration task name. -
total_scorenumber— 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_idstring— The account ID. -
connection_idstring— The connection ID. -
create_timestring, format:date-time— The time when the case was created. -
derived_engagement_idsarray— The derived engagement IDs.Items:
string -
division_idstring— The division ID. -
external_case_keystring— The external case key. -
indicatorsarray— Case-level indicator summaries.Items:
-
indicator_idstring— The case-level indicator identifier. -
indicator_namestring— The case-level indicator name. -
matched_activity_countinteger, format:int32— The number of activities matched by the indicator.
-
-
last_idempotency_keystring— The last idempotency key. -
last_source_updated_atstring, format:date-time— The timestamp when the source was last updated. -
mapped_fieldsobject— The mapped fields value. -
modify_timestring, format:date-time— The time when the case was last modified. -
schema_versionstring— The schema version. -
source_case_idstring— The source case ID. -
topicsarray— Case-level topic summaries.Items:
-
matched_activity_countinteger, format:int32— The number of activities matched to the topic. -
matched_activity_idsarray— The activity identifiers matched to the topic.Items:
string— The matched activity identifier. -
topicstring— The case-level topic text. -
topic_idstring— The case-level topic identifier. -
typestring— 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_tokenstring | 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_idstring— The account ID. -
activitiesobject— Returned only when `activities` is included. Items are ordered newest first and are not paginated.-
items(required)array— The items.Items:
-
activityobject— The activity.-
activity_typestring— The activity type. -
attachment_refsarray— The attachment refs.Items:
-
content_typestring— Attachment media type. -
download_urlstring— Authorized attachment download URL. -
file_namestring— Attachment file name. -
size_bytesinteger, format:int64— Attachment size in bytes. -
source_attachment_idstring— Source system attachment identifier. -
user_infoobject— Attachment user information beyond the supported schema depth. -
zfs_file_idstring— Zoom file storage identifier.
-
-
author_emailstring, format:email— The author email. -
author_namestring— The author name. -
body_textstring— The body text. -
email_infoobject— Email metadata attached to a case activity.-
body_textstring— Plain text email body. -
ccarray— Email carbon-copy recipient addresses.Items:
string -
directionstring— Email direction. -
fromstring— Email sender address. -
received_atstring— Source provided email received timestamp. -
sent_atstring— Source provided email sent timestamp. -
subjectstring— Email subject. -
toarray— Email recipient addresses.Items:
string
-
-
field_change_infoobject— Source field change metadata attached to a case activity.-
document_keystring— Source system document key. -
field_namestring— Changed source field name. -
new_valuestring— New field. -
new_value_emailstring— New field email address. -
new_value_idstring— New field identifier. -
old_valuestring— Previous field. -
old_value_emailstring— Previous field email address. -
old_value_idstring— Previous field identifier. -
source_tablestring— Source system table name.
-
-
indicator_matchesarray— The indicator matches.Items:
-
indicator_idstring— Indicator identifier. -
indicator_namestring— Indicator name. -
matched_fieldstring— Activity field containing the match. -
matched_keywordstring— Matched keyword. -
spanarray— Start and end offsets of the matched text.Items:
integer, format:int32
-
-
source_activity_idstring— The source activity ID. -
visibilitystring— The visibility.
-
-
created_atstring, format:date-time— The created at value. -
interactionobject— The interaction.-
channel_typestring— The channel type. -
created_atstring, format:date-time— The created at value. -
interaction_idstring— The interaction ID.
-
-
item_kindstring— The item kind. -
item_typestring— The item type.
-
-
-
ai_sentimentobject— Returned by default when an authorized sentiment result exists. `activity_sentiments` is returned only when `ai_sentiment_activities` is included.-
activity_sentimentsarray— Returned only when `ai_sentiment_activities` is included.Items:
-
activity_typestring— The activity type. -
created_atstring, format:date-time— The created at value. -
qm_case_activity_keystring— The QM case activity key. -
reasonstring— The reason. -
scoreinteger— The score. -
sentiment_namestring, possible values:"STRONGLY_NEGATIVE", "CLEARLY_NEGATIVE", "SLIGHTLY_NEGATIVE", "PURELY_NEUTRAL", "SLIGHTLY_POSITIVE", "CLEARLY_POSITIVE", "STRONGLY_POSITIVE", "EXTREMELY_POSITIVE"— The sentiment name. -
source_activity_idstring— The source activity ID.
-
-
average_sentiment_namestring, possible values:"STRONGLY_NEGATIVE", "CLEARLY_NEGATIVE", "SLIGHTLY_NEGATIVE", "PURELY_NEUTRAL", "SLIGHTLY_POSITIVE", "CLEARLY_POSITIVE", "STRONGLY_POSITIVE", "EXTREMELY_POSITIVE"— The average sentiment name. -
average_sentiment_scorenumber— The average sentiment score. -
error_codestring, possible values:"NO_CONTENT", "INPUT_TOO_LARGE", "INVALID_RESPONSE", "MODEL_CONFIG_UNAVAILABLE", "PROVIDER_FAILURE", "PERSISTENCE_FAILURE"— The error code. -
error_messagestring— The error message. -
generated_atstring, format:date-time— The generated at value. -
last_attempt_atstring, format:date-time— The last attempt at value. -
qm_case_idstring— The QM case ID. -
sentiment_evidencesarray— The sentiment evidences.Items:
string -
sentiment_summarystring— The sentiment summary. -
statusstring, possible values:"PENDING", "GENERATING", "COMPLETED", "FAILED", "SKIPPED_NO_CONTENT", "INPUT_TOO_LARGE"— The status. -
trigger_reasonstring, possible values:"NEW_CASE", "TERMINAL_TRANSITION"— The trigger reason.
-
-
ai_summaryobject— Returned by default when an authorized summary result exists.-
error_codestring, possible values:"NO_CONTENT", "INPUT_TOO_LARGE", "INVALID_RESPONSE", "MODEL_CONFIG_UNAVAILABLE", "PROVIDER_FAILURE", "PERSISTENCE_FAILURE"— The error code. -
error_messagestring— The error message. -
generated_atstring, format:date-time— The generated at value. -
last_attempt_atstring, format:date-time— The last attempt at value. -
qm_case_idstring— The QM case ID. -
statusstring, possible values:"PENDING", "GENERATING", "COMPLETED", "FAILED", "SKIPPED_NO_CONTENT", "INPUT_TOO_LARGE"— The status. -
summarystring— The summary. -
trigger_reasonstring, possible values:"NEW_CASE", "TERMINAL_TRANSITION"— The trigger reason.
-
-
connection_idstring— The connection ID. -
create_timestring, format:date-time— The create time. -
derived_engagement_idsarray— The derived engagement ID's.Items:
string -
division_idstring— The division ID. -
external_case_keystring— The external case key. -
indicatorsarray— The indicators.Items:
-
indicator_idstring— The indicator ID. -
indicator_namestring— The indicator name. -
matched_activity_countinteger, format:int32— The matched activity count.
-
-
interactionsarray— Returned only when `interactions` is included. The complete authorized interaction set is returned without pagination.Items:
-
analysisobject— Simplified public interaction analysis.-
good_questionsarray— Interaction analysis good questions.Items:
-
good_questionstring— Effective question asked during the interaction.
-
-
indicatorsarray— Interaction analysis indicators.Items:
-
indicator_namestring— Indicator name.
-
-
next_stepsarray— Interaction analysis next steps.Items:
-
next_stepstring— Recommended next step.
-
-
topicsarray— Interaction analysis topics.Items:
-
topic_namestring— Topic name. -
typestring— Topic type.
-
-
-
analysis_v2object— Version 2 interaction analysis. Nested analysis records are intentionally open beyond the supported schema depth.-
aic_topicarray— AI Companion topic records.Items:
-
item_id_spanarray— Transcript item span for the topic.Items:
integer, format:int32 -
topicstring— Topic text.
-
-
analysis_numinteger, format:int32— Analysis sequence number. -
engagementarray— Engagement analysis records.Items:
-
categorystring— Analysis category. -
end_timestring— Analysis end time. -
idinteger, format:int32— Analysis item identifier. -
id_endinteger, format:int32— End item identifier. -
id_startinteger, format:int32— Start item identifier. -
item_id_spanarray— Transcript item span.Items:
integer, format:int32 -
labelstring— Analysis label. -
scorenumber— Analysis score. -
spanarray— Text span offsets.Items:
integer, format:int32 -
start_timestring— Analysis start time. -
textstring— Analysis item text. -
user_idstring— User identifier. -
usernamestring— Speaker username. -
utterancestring— Source utterance. -
wait_secnumber— Wait duration in seconds. -
zm_user_idstring— Zoom user identifier.
-
-
engaging_questionsarray— Engaging question analysis records.Items:
-
sectionarray— Analysis items beyond level 4.Items:
-
-
filler_wordsarray— Filler word analysis records.Items:
-
categorystring— Analysis category. -
end_timestring— Analysis end time. -
idinteger, format:int32— Analysis item identifier. -
id_endinteger, format:int32— End item identifier. -
id_startinteger, format:int32— Start item identifier. -
item_id_spanarray— Transcript item span.Items:
integer, format:int32 -
labelstring— Analysis label. -
scorenumber— Analysis score. -
spanarray— Text span offsets.Items:
integer, format:int32 -
start_timestring— Analysis start time. -
textstring— Analysis item text. -
user_idstring— User identifier. -
usernamestring— Speaker username. -
utterancestring— Source utterance. -
wait_secnumber— Wait duration in seconds. -
zm_user_idstring— Zoom user identifier.
-
-
format_versionstring— Analysis format version. -
indicatorsarray— Indicator analysis records.Items:
-
sectionarray— Indicator analysis items beyond level 4.Items:
-
-
linear_pathsobject— Interaction linear path analysis.-
brief_template_idstring— Brief template identifier. -
custom_brief_promptstring— Custom brief prompt. -
deal_memoobject— Deal memo beyond level 4. -
itemsarray— Linear path items beyond level 4.Items:
-
meeting_idstring— Meeting identifier. -
overall_summarystring— Overall interaction summary.
-
-
next_stepsarray— Next step analysis records.Items:
-
sectionarray— Analysis items beyond level 4.Items:
-
-
patiencearray— Patience analysis records.Items:
-
categorystring— Analysis category. -
end_timestring— Analysis end time. -
idinteger, format:int32— Analysis item identifier. -
id_endinteger, format:int32— End item identifier. -
id_startinteger, format:int32— Start item identifier. -
item_id_spanarray— Transcript item span.Items:
integer, format:int32 -
labelstring— Analysis label. -
scorenumber— Analysis score. -
spanarray— Text span offsets.Items:
integer, format:int32 -
start_timestring— Analysis start time. -
textstring— Analysis item text. -
user_idstring— User identifier. -
usernamestring— Speaker username. -
utterancestring— Source utterance. -
wait_secnumber— Wait duration in seconds. -
zm_user_idstring— Zoom user identifier.
-
-
playbooksarray— Playbook analysis records.Items:
-
elementsarray— Playbook elements beyond level 4.Items:
-
playbook_idstring— Playbook identifier. -
playbook_namestring— Playbook name.
-
-
qm_ai_topicsarray— QM AI topic records.Items:
-
idstring— Topic identifier. -
item_idsarray— Associated transcript item identifiers.Items:
integer, format:int32 -
mention_bystring— Topic mention source. -
topicstring— Topic text. -
typestring— Topic type.
-
-
risksarray— Risk analysis records.Items:
-
categorystring— Analysis category. -
end_timestring— Analysis end time. -
idinteger, format:int32— Analysis item identifier. -
id_endinteger, format:int32— End item identifier. -
id_startinteger, format:int32— Start item identifier. -
item_id_spanarray— Transcript item span.Items:
integer, format:int32 -
labelstring— Analysis label. -
scorenumber— Analysis score. -
spanarray— Text span offsets.Items:
integer, format:int32 -
start_timestring— Analysis start time. -
textstring— Analysis item text. -
user_idstring— User identifier. -
usernamestring— Speaker username. -
utterancestring— Source utterance. -
wait_secnumber— Wait duration in seconds. -
zm_user_idstring— Zoom user identifier.
-
-
sentimentarray— Sentiment analysis records.Items:
-
categorystring— Analysis category. -
end_timestring— Analysis end time. -
idinteger, format:int32— Analysis item identifier. -
id_endinteger, format:int32— End item identifier. -
id_startinteger, format:int32— Start item identifier. -
item_id_spanarray— Transcript item span.Items:
integer, format:int32 -
labelstring— Analysis label. -
scorenumber— Analysis score. -
spanarray— Text span offsets.Items:
integer, format:int32 -
start_timestring— Analysis start time. -
textstring— Analysis item text. -
user_idstring— User identifier. -
usernamestring— Speaker username. -
utterancestring— Source utterance. -
wait_secnumber— Wait duration in seconds. -
zm_user_idstring— Zoom user identifier.
-
-
topic_mentioned_v2string— Version 2 topic mention text. -
topicsarray— Topic analysis records.Items:
-
sectionarray— Analysis items beyond level 4.Items:
-
-
-
crosstalk_event_countinteger, format:int32— The crosstalk event count. -
crosstalk_event_thresholdinteger, format:int32— The crosstalk event threshold. -
crosstalk_eventsarray— The crosstalk events.Items:
-
end_timestring— Segment end duration in `HH:mm:ss.SSS` format. -
start_timestring— Segment start duration in `HH:mm:ss.SSS` format.
-
-
directionstring— The direction. -
dispositionstring— The disposition. -
durationinteger, format:int32— The duration. -
engagement_idstring— The engagement ID. -
hold_event_countinteger, format:int32— The hold event count. -
hold_eventsarray— The hold events.Items:
-
end_timestring— Segment end duration in `HH:mm:ss.SSS` format. -
start_timestring— Segment start duration in `HH:mm:ss.SSS` format.
-
-
interaction_infoobject— Public interaction identity and participant information. Only fields copied by `QmOpenAPIMeetingVO` are included.-
agent_namestring— Agent display name. -
channel_typestring— Interaction channel type. -
consumer_namestring— Consumer display name. -
evaluationsarray— Interaction evaluation records.Items:
-
evaluation_idstring— Evaluation identifier. -
evaluation_namestring— Evaluation name. -
evaluation_statusinteger, 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_descstring— Evaluation status description. -
evaluation_typestring, possible values:"MANUAL", "AUTOMATED"— Evaluation type. -
evaluator_idstring— Evaluator identifier. -
evaluator_namestring— Evaluator display name. -
question_commentsarray— Question comments beyond level 4.Items:
-
scorenumber— Evaluation score. -
score_percent_formattedstring— Formatted score percentage. -
score_ratenumber— Normalized score rate. -
scoring_formatstring— Scoring format. -
section_commentsarray— Section comments beyond level 4.Items:
-
session_idstring— Evaluation session identifier. -
total_scorenumber— Total available score.
-
-
fromstring— Interaction origin. -
interaction_idstring— Interaction identifier. -
tostring— Interaction destination.
-
-
interaction_summarystring— The interaction summary. -
languagestring— The language. -
metricsobject— Interaction metrics. Metric buckets are intentionally open beyond the supported schema depth.-
engaging_questionsarray— Engaging question metric buckets.Items:
-
idstring— Metric bucket identifier. -
valuenumber— Metric bucket.
-
-
filler_wordsarray— Filler word metric buckets.Items:
-
idstring— Metric bucket identifier. -
valuenumber— Metric bucket.
-
-
longest_monologarray— Longest monologue metric buckets.Items:
-
idstring— Metric bucket identifier. -
valuenumber— Metric bucket.
-
-
patiencearray— Patience metric buckets.Items:
-
idstring— Metric bucket identifier. -
valuenumber— Metric bucket.
-
-
talk_speedarray— Talk speed metric buckets.Items:
-
idstring— Metric bucket identifier. -
valuenumber— Metric bucket.
-
-
talk_to_listen_ratioarray— Talk to listen metric buckets.Items:
-
idstring— Metric bucket identifier. -
valuenumber— Metric bucket.
-
-
time_on_slidesarray— Time on slides metric buckets.Items:
-
idstring— Metric bucket identifier. -
valuenumber— Metric bucket.
-
-
-
queue_idstring— The queue ID. -
queue_namestring— The queue name. -
recording_urlstring— The recording URL. -
scorecard_namestring— The scorecard name. -
screen_recording_statusstring, possible values:"UNAVAILABLE", "AVAILABLE", "DELETED", "PROCESSING"— The screen recording status. -
screen_recording_urlsarray— The screen recording URLs.Items:
string -
silence_event_countinteger, format:int32— The silence event count. -
silence_event_thresholdinteger, format:int32— The silence event threshold. -
silence_eventsarray— The silence events.Items:
-
end_timestring— Segment end duration in `HH:mm:ss.SSS` format. -
start_timestring— Segment start duration in `HH:mm:ss.SSS` format.
-
-
start_timestring, format:date-time— The start time value. -
summaryobject— Public interaction score summary. Only fields copied by `QmOpenAPIMeetingVO` are included.-
engagement_scorenumber— Engagement score. -
evaluation_scorenumber— Evaluation score. -
sentiment_scorenumber— Sentiment score. -
sentiment_score_reasonstring— Reason for the sentiment score.
-
-
transcript_bodyobject— Interaction transcript metadata and content. Speakers and transcript items are intentionally open beyond the supported schema depth.
-
-
last_idempotency_keystring— The last idempotency key. -
last_source_updated_atstring, format:date-time— The last source updated at value. -
mapped_fieldsobject— Map of dynamically named source-field mappings. -
modify_timestring, format:date-time— The modify time. -
performance_infoobject— Performance information for the case. Returned when the caller has performance-information access.-
auto_score_infoobject— Manual or automated evaluation performance information.-
ack_statusinteger, format:int32— Numeric acknowledgement status. -
agentobject— Basic Quality Management user information. -
auto_score_task_msgstring— Message associated with the automated scoring task. -
auto_score_task_statusstring— Status of the automated scoring task. -
auto_score_versioninteger, format:int32— Version of the automated scoring result. -
can_deleteboolean— Whether the caller may delete the evaluation. -
can_disputeboolean— Whether the caller may dispute the evaluation. -
can_editboolean— Whether the caller may edit the evaluation. -
can_feedbackboolean— Whether the caller may submit feedback. -
can_reply_disputeboolean— Whether the caller may reply to a dispute. -
can_retryboolean— Whether the caller may retry the evaluation. -
can_save_draftboolean— Whether the caller may save the evaluation as a draft. -
can_view_evaluation_detailboolean— Whether the caller may view evaluation details. -
coaching_session_change_logsarray— Changes recorded for the associated coaching session.Items:
-
dispute_historyarray— History of disputes for the evaluation.Items:
-
draft_statusboolean— Whether the evaluation is a draft. -
due_dateinteger, format:int64— Evaluation due date as Unix epoch milliseconds. -
feedbacksarray— Feedback records associated with the evaluation.Items:
-
is_latestboolean— Whether this is the latest evaluation version. -
limit_disputeboolean— Whether dispute actions are restricted. -
operate_typeinteger, format:int32— Numeric operation type for the evaluation. -
pendingboolean— Whether the evaluation is pending. -
raterobject— Basic Quality Management user information. -
release_infoobject— Release configuration and status for an evaluation result. -
score_percent_formattedstring— Formatted evaluation score percentage. -
scorecardobject— Scorecard associated with a calibration or evaluation. Nested scorecard structures are intentionally open beyond the supported schema depth. -
session_idstring— Evaluation session identifier. -
task_idstring— Evaluation task identifier. -
task_statusinteger, format:int32— Numeric status of the evaluation task.
-
-
calibration_infoobject— Calibration task performance information.-
can_save_draftboolean— Whether the caller may save the calibration as a draft. -
draft_statusboolean— Whether the calibration is in draft status. -
operate_typeinteger, format:int32— Numeric operation type for the calibration task. -
score_percent_formattedstring— Formatted calibration score percentage. -
scorecardobject— Scorecard associated with a calibration or evaluation. Nested scorecard structures are intentionally open beyond the supported schema depth. -
session_idstring— Calibration session identifier. -
task_idstring— Calibration task identifier. -
task_statusinteger, format:int32— Numeric status of the calibration task.
-
-
evaluation_infoobject— Manual or automated evaluation performance information.-
ack_statusinteger, format:int32— Numeric acknowledgement status. -
agentobject— Basic Quality Management user information. -
auto_score_task_msgstring— Message associated with the automated scoring task. -
auto_score_task_statusstring— Status of the automated scoring task. -
auto_score_versioninteger, format:int32— Version of the automated scoring result. -
can_deleteboolean— Whether the caller may delete the evaluation. -
can_disputeboolean— Whether the caller may dispute the evaluation. -
can_editboolean— Whether the caller may edit the evaluation. -
can_feedbackboolean— Whether the caller may submit feedback. -
can_reply_disputeboolean— Whether the caller may reply to a dispute. -
can_retryboolean— Whether the caller may retry the evaluation. -
can_save_draftboolean— Whether the caller may save the evaluation as a draft. -
can_view_evaluation_detailboolean— Whether the caller may view evaluation details. -
coaching_session_change_logsarray— Changes recorded for the associated coaching session.Items:
-
dispute_historyarray— History of disputes for the evaluation.Items:
-
draft_statusboolean— Whether the evaluation is a draft. -
due_dateinteger, format:int64— Evaluation due date as Unix epoch milliseconds. -
feedbacksarray— Feedback records associated with the evaluation.Items:
-
is_latestboolean— Whether this is the latest evaluation version. -
limit_disputeboolean— Whether dispute actions are restricted. -
operate_typeinteger, format:int32— Numeric operation type for the evaluation. -
pendingboolean— Whether the evaluation is pending. -
raterobject— Basic Quality Management user information. -
release_infoobject— Release configuration and status for an evaluation result. -
score_percent_formattedstring— Formatted evaluation score percentage. -
scorecardobject— Scorecard associated with a calibration or evaluation. Nested scorecard structures are intentionally open beyond the supported schema depth. -
session_idstring— Evaluation session identifier. -
task_idstring— Evaluation task identifier. -
task_statusinteger, format:int32— Numeric status of the evaluation task.
-
-
-
schema_versionstring— The schema version. -
source_case_idstring— The source case ID. -
topicsarray— The topics.Items:
-
matched_activity_countinteger, format:int32— The matched activity count. -
matched_activity_idsarray— The matched activity ID's.Items:
string -
topicstring— The topic. -
topic_idstring— The topic ID. -
typestring— 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
-
dataarray— Information about the automated evaluations.Items:
-
account_idstring— The account ID. -
agent_infoobject— The agent information.-
display_namestring— The evaluation's agent user display name. -
user_idstring— The evaluation's agent user ID.
-
-
create_timestring— The date when the automated evaluation was created, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
evaluation_scorenumber— The overall score of the automated evaluation, calculated based on the scorecard and answers. -
idstring— The automated evaluation task ID. -
interaction_deletedboolean— Whether the interactions was deleted. -
interaction_idstring— The interaction ID. -
modify_timestring— The date when the automated evaluation was modified, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
scorecard_idstring— The automated evaluation scorecard ID. -
scorecard_namestring— The automated scorecard name. -
scoring_formatstring, possible values:"points", "percentage"— The scorecard's scoring format . -
statusstring, possible values:"COMPLETED", "PROCESSING", "FAILED"— The evaluation's current status. -
total_scorenumber— The total score on the scorecard.
-
-
next_page_tokenstring— 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_sizenumber— The number of records returned within a single API call. -
totalnumber— 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
-
dataarray— Information about the evaluations.Items:
-
account_idstring— The account ID. -
acknowledgement_statusstring, possible values:"Pending", "Complete", "Auto Complete", "None"— The acknowledgement status. -
agent_infoobject— The agent information.-
display_namestring— The evaluation's agent user display name. -
user_idstring— The evaluation's agent user ID.
-
-
channel_typestring, possible values:"VIDEO", "AUDIO", "MANUAL", "MESSAGE"— The interaction's channel type. -
completion_datestring— Estimated completion time. -
create_timestring— The date when the evaluation was created, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
creator_idstring— The evaluation's creator Zoom user ID. -
creator_infoobject— The evaluation creator information.-
display_namestring— The evaluation's creator user display name. -
user_idstring— The evaluation's creator Zoom user ID.
-
-
evaluation_scorenumber— The overall score of the evaluation, calculated based on the scorecard and answers. -
evaluators_infoarray— The evaluators' information.Items:
-
display_namestring— The evaluation's evaluator user display name. -
user_idstring— The evaluation's evaluator user ID.
-
-
idstring— The evaluation task ID. -
interaction_deletedboolean— Whether the interactions was deleted. -
interaction_idstring— The interaction ID. -
modify_timestring— The date when the evaluation was modified, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
scorecard_idstring— The evaluation scorecard ID. -
scorecard_namestring— The evaluation scorecard name. -
scoring_formatstring, possible values:"points", "percentage"— The scorecard's scoring format . -
statusstring, possible values:"Active", "Completed", "Pending", "Expired", "Cancled"— The evaluation's current status. -
task_namestring— The evaluation task name. -
total_scorenumber— The total score on the scorecard. -
user_idstring— The Zoom user ID.
-
-
next_page_tokenstring— 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_sizenumber— The number of records returned within a single API call. -
totalnumber— 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
-
scorecardobject— The scorecard's detail.-
acknowledgment_statusstring, possible values:"Pending", "Complete", "Auto complete", "None"— The evaluation's acknowledgment status. -
agent_namestring— The name of the agent involved in the interaction being evaluated. -
agent_user_idstring— The user ID of the agent involved in the interaction. -
completion_datestring— Estimated completion time. -
create_timestring— The date when the evaluation was created, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
dispute_statusstring, possible values:"None", "Pending", "Complete"— The evaluation's dispute status. -
engagement_idstring— The ID of the engagement associated with the interaction. -
evaluatorobject— The evaluator information.-
namestring— The name of the person who conducted the evaluation. -
user_idstring— The evaluator's Zoom user ID.
-
-
interaction_idstring— The ID of the interaction being evaluated. -
modify_timestring— The date when the evaluation was modified, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
scorenumber— The actual score obtained in this evaluation, not exceeding the total_score. -
scorecard_idstring— The scorecard's ID. -
scorecard_namestring— The name of the scorecard used for evaluation. -
sectionsarray— The scorecard section infomation.Items:
-
namestring— The name of the section within the scorecard. -
ordernumber— The order of this section in the scorecard. -
questionsarray— The questions.Items:
-
answer_idstring— The ID of the selected answer for this question. -
answer_labelstring— The label of the selected answer for this question. -
descriptionstring— A detailed description or additional information about the question. -
optionsarray— The options.Items:
-
auto_failboolean— Indicates whether selecting this option causes an automatic failure, `true` or `false`. -
labelstring— The option's display text. -
option_idstring— The option's ID. -
pointsnumber— The option's points. -
valuestring— The option's value.
-
-
question_idstring— The question's ID. -
scaleobject— The information about rating scale type question.-
has_na_optionboolean— Indicates whether there is an `N/A` option. -
high_labelstring— The high score label. -
low_labelstring— The low score label. -
scale_maxinteger— Maximum score. -
scale_mininteger— Minimum score.
-
-
scorenumber— The actual score obtained in this question, not exceeding the total_score. -
titlestring— The question's title or main text. -
total_scorenumber— The maximum possible score that can be achieved for this question. -
typestring, possible values:"Yes/No", "Single Choice", "Rating Scale"— The question's type.
-
-
scorenumber— The actual score obtained in this section, not exceeding the total_score. -
total_scorenumber— The maximum possible score that can be achieved for this section. -
weightnumber— The weight of the section in the overall score calculation.
-
-
total_scorenumber— 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
-
interactionsarray— Information about the interaction.Items:
-
interaction_info(required)object— The interaction infomation.-
interaction_id(required)string— The interaction id. -
agent_namestring— The agent name. -
associated_idsarray— The associated interaction ids.Items:
string— The associated interaction id. -
channel_typestring, possible values:"VIDEO", "MANUAL", "SMS", "AUDIO", "WEB_CHAT"— The channel type, includes VIDEO, MANUAL, SMS, AUDIO and WEB_CHAT. -
consumer_namestring— The consumer name. -
evaluationsarray— The associated evaluations.Items:
-
evaluation_idstring— The evaluation ID. -
evaluation_typestring, possible values:"Manual", "Automated"— The evaluation type.
-
-
fromstring— The caller's phone number in E.164 format. -
tostring— 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_countinteger— The count of crosstalk event. -
directionstring— The direction. -
dispositionstring— The disposition -
durationnumber— The interaction duration in minutes. -
engagement_idstring— The engagement id. -
hold_event_countinteger— The count of hold event. -
primary_languagestring— The primary language. -
queue_idstring— The call queue id. -
queue_namestring— The call queue name. -
scorecard_namestring— The scorecard name. -
screen_recording_statusstring, possible values:"UNAVAILABLE", "AVAILABLE", "DELETED"— The status of the interaction screen recording. **UNAVAILABLE, AVAILABLE, DELETED** -
silence_event_countinteger— The count of silence event. -
summaryobject— The summary.-
engagement_scorenumber— The engagement score. -
evaluation_scorenumber— The evaluation score. -
sentiment_scorenumber— The sentiment score.
-
-
-
next_page_tokenstring— 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_sizenumber— The number of records returned within a single API call. -
total_recordsinteger— 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
Request Body
Content-Type: application/json
-
download_url(required)string— The third party download URL. -
directionstring, possible values:"inbound", "outbound"— The call's direction. * `inbound` * `outbound` -
dispositionstring— The disposition's name. -
interaction_infoobject— The interaction infomation.-
channel_type(required)string, possible values:"video", "voice"— The interaction's channel. -
agent_emailstring— The agent's email. -
agent_idstring— The agent's user ID. -
consumer_namestring— The consumer's name. -
fromstring— The caller's phone number in E.164 format. -
tostring— The recipient's phone number in E.164 format.
-
-
primary_languagestring, 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_idstring— The Contact Center queue's ID. -
start_timestring— 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_idstring— 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_namestring— The agent's name. -
associated_idsarray— The associated interaction IDs.Items:
string— The associated interaction ID. -
channel_typestring, possible values:"VIDEO", "MANUAL", "SMS", "AUDIO", "WEB_CHAT"— The channel type, including `VIDEO`, `MANUAL`, `SMS`, `AUDIO` and `WEB_CHAT`. -
consumer_namestring— The consumer's name. -
evaluation_scorenumber— The evaluation score. -
evaluationsarray— The associated evaluations.Items:
-
evaluation_idstring— The evaluation ID. -
evaluation_namestring— The name of the scorecard used for this evaluation. -
evaluation_status_descstring, 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_typestring, possible values:"Manual", "Automated"— The evaluation type. -
evaluator_idstring— The unique user ID of the evaluator who performed the manual evaluation. Only present for manual evaluations. -
evaluator_namestring— The display name of the evaluator who performed the manual evaluation. Only present for manual evaluations. -
question_commentsarray— Comments provided for each question or item in the scorecard evaluation.Items:
-
comment_textstring— The evaluator's comment text for this question. -
comment_timenumber— 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_idstring— The scorecard question's or item's unique identifier. -
question_titlestring— The scorecard question's title or text.
-
-
scorenumber— The actual score achieved in this evaluation. -
score_ratenumber— The score rate, as a decimal. `Score`/`total_score` for points format, or the score itself for percentage format. -
scoring_formatstring, possible values:"percentage", "points"— The scoring format type. -
section_commentsarray— Comments provided for each section in the scorecard evaluation.Items:
-
comment_textstring— The evaluator's comment text for this section. -
section_idstring— The unique identifier of the scorecard section. -
section_namestring— The name/title of the scorecard section
-
-
session_idstring— The unique session ID for this evaluation. -
total_scorenumber— The maximum possible score for this evaluation.
-
-
evaluator_namestring— The evaluator's name. -
evaluator_user_idstring— The evaluator's user ID. -
fromstring— The caller's phone number in E.164 format. -
scorecard_idstring— The scorecard ID. -
scorecard_namestring— The scorecard name. -
tostring— The recipient's phone number in E.164 format.
-
-
analysisobject— AI-powered analysis of the interaction content.-
good_questionsarray— Array of effective questions that were asked during the interaction.Items:
-
good_questionstring— The good question.
-
-
indicatorsarray— Array of indicators detected in the interaction.Items:
-
indicator_namestring— The indicator name.
-
-
next_stepsarray— Array of recommended actions or follow-up steps based on the analysis of the interaction content.Items:
-
next_stepstring— The next step or action.
-
-
topicsarray— Array of topics identified in the interaction content.Items:
-
topic_namestring— The topic name. -
typestring, possible values:"predefined", "discovered"— `predefined` for a custom topic defined by an account, or 'discovered' such as an AI generated topic.
-
-
-
crosstalk_eventsarray— The crosstalk event infomation.Items:
-
end_timestring— The crosstalk event end time. -
start_timestring— The crosstalk event start time.
-
-
directionstring— The direction. -
durationnumber— The interaction duration in minutes. -
engagement_idstring— The engagement ID. -
hold_eventsarray— The crosstalk event infomation.Items:
-
end_timestring— The hold event end time. -
start_timestring— The hold event start time.
-
-
interaction_summarystring— The interaction's overall summary. -
languagestring— The primary language. -
metricsobject— The metrics infomation.-
filler_wordsarray— The speaker's filler words.Items:
-
speaker_user_idstring— The speaker's user ID. -
valuenumber— The speaker's filler words count per minute.
-
-
longest_monologarray— The speaker's longest monologue.Items:
-
speaker_user_idstring— The speaker's user ID. -
valuenumber— The speaker's longest monologue duration, in **seconds**.
-
-
patiencearray— The speaker's patience.Items:
-
speaker_user_idstring— The speaker's user ID. -
valuenumber— The speaker's patience duration, in seconds.
-
-
talk_speedarray— The speaker's talk speed.Items:
-
speaker_user_idstring— The speaker's user ID. -
valuenumber— The speaker's talk speed, in words per minute.
-
-
talk_to_listen_ratioarray— The speaker's talk-listen ratio.Items:
-
speaker_user_idstring— The speaker's user ID. -
valuenumber— The speaker's talk-listen ratio.
-
-
-
queue_idstring— The queue ID to query. -
queue_namestring— The queue name to query. -
recording_urlstring— The recording URL. -
screen_recording_statusstring, possible values:"UNAVAILABLE", "AVAILABLE", "DELETED"— The interaction screen recording's status. -
screen_recording_urlsarray— The screen recording URLs.Items:
string— The screen recording URL. -
silence_eventsarray— The silence event infomation.Items:
-
end_timestring— The silence event end time. -
start_timestring— The silence event start time.
-
-
start_timestring— The start date, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
summaryobject— The summary infomation.-
engagement_scorenumber— The engagement score. -
evaluation_scorenumber— The evaluation score. -
sentiment_scorenumber— The sentiment score. -
sentiment_score_reasonstring— The sentiment score reason.
-
-
transcript_bodyobject— The transcript content.-
account_idstring— The account ID. -
host_idstring— The host ID. -
itemsarray— The text items.Items:
-
commentsstring— The comments. -
emailstring— The speaker's email address, this value is null for external users. -
end_timestring— The speak end time. -
item_idstring— The item's sequence ID, starting from 0. -
speaker_idstring— The speaker's sequence ID generated from Transcript Service. -
start_timestring— The speak start time. -
textstring— The speech content. -
zoom_user_idstring— The speaker's user ID.
-
-
languagestring— The primary language. -
meeting_idstring— The meeting ID. -
recording_endstring— The recording end date, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
recording_startstring— The recording start date, in `yyyy-MM-dd'T'HH:mm:ss'Z'` format. -
speakersarray— 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."
}
]
}
}