# Contact Center Master API - **OpenAPI Version:** `3.1.1` - **API Version:** `2` The Contact Center APIs allow developers to interface with [Contact Center](https://developers.zoom.us/docs/contact-center/) features programmatically. ## Servers - **URL:** `https://api.zoom.us/v2` ## Operations ### List SMS logs - **Method:** `GET` - **Path:** `/accounts/{accountId}/contact_center/sms` - **Tags:** Logs Returns a list of SMS engagement logs. Engagement data are available via API once they are completed. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `contact_center_sms:master` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `contact_center:read:sms_log:master` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `HEAVY` #### Parameters ##### `next_page_token` - **In:** `query` 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. This token's expiration period is 15 minutes. `string` ##### `page_size` - **In:** `query` The number of items returned per page. `integer`, format: `int32`, default: `10` ##### `from` - **In:** `query` The start time and date in `yyyy-mm-dd` or ISO 8601 format, which is either `yyyy-MM-dd'T'HH:mm:ss'Z'` or `yyyy-MM-dd'T'HH:mm:ss'TZD'`. The defined date range should be a month, as the response only includes one month's worth of data. If no start date is specified, return data from the past 24 hours. `string`, format: `date` ##### `to` - **In:** `query` **Required** only when the `from` parameter is specified. The end time and date in `yyyy-mm-dd` or ISO 8601 format, which is either `yyyy-MM-dd'T'HH:mm:ss'Z'` or `yyyy-MM-dd'T'HH:mm:ss'TZD'`. `string`, format: `date` ##### `country_iso_codes` - **In:** `query` Two-letter ISO country [code](/docs/api/references/abbreviations/#countries). **Array of:** `string` - Max items: `20` ##### `direction` - **In:** `query` The engagement's direction. `string`, possible values: `"inbound", "outbound"` ##### `user_id` - **In:** `query` The agent's ID. `string` ##### `engagement_id` - **In:** `query` The engagement's ID. `string` ##### `consumer_number` - **In:** `query` The consumer's phone number. `string` ##### `X-Zoom-Division-Id` - **In:** `header` Optional. The Contact Center division ID used to scope this request. The authenticated caller must be a super admin. Non super admin callers receive a `DIVISION_ACCESS_DENIED` error. When provided, the request operates against the division's account context rather than the caller's primary account. If the same value is also supplied in the body field `division_id` or the query parameter `division_id`, the body takes precedence, then the query parameter, and then this header. The value must be 50 characters or fewer. If Contact Center division support is not enabled for the account, this header is silently ignored and the request proceeds against the caller's primary account. `string` ##### `accountId` required - **In:** `path` Unique identifier of the account. `string` #### Responses ##### Status: 200 \*\*HTTP Status Code:\*\* \`200\` Variables list returned ###### Content-Type: application/json - **`division_id`** `string` — A Contact Center division's ID. For requests, the request is scoped to the specified division and takes precedence over the \`division\_id\` query parameter and \`X-Zoom-Division-Id\` header. The caller must be a super admin. Otherwise, the request returns \`DIVISION\_ACCESS\_DENIED\`. For responses, identifies the resource's division and is omitted when no division context applies. If Contact Center division support is disabled, the request value is ignored. - **`division_name`** `string` — The human readable name of the Contact Center division that the resource belongs to. Returned alongside \`division\_id\` whenever a division context was resolved for the request and omitted otherwise. - **`from`** `string`, format: `date-time` — The start time and date in ISO 8601 format, either \`yyyy-MM-dd'T'HH:mm:ss'Z'\`, or \`yyyy-MM-dd'T'HH:mm:ss'TZD'\`. The defined date range should be a month, as the response only includes one month's worth of data. If no start date is specified, return data from the past 24 hours. - **`next_page_token`** `string` — Use the next page token to paginate through large result sets. A next page token returns when the set of available results exceeds the current page size. This token's expiration period is 15 minutes. - **`page_size`** `integer`, default: `10` — The number of records returned in a single API call. - **`sms`** `array` — Information about the SMS. **Items:** - **`agents`** `array` — Information about the engagement's agents. **Items:** - **`display_name`** `string` — The agent's name. - **`user_id`** `string` — The agent's ID. - **`consumer_display_name`** `string` — The consumer's name. - **`consumer_number`** `string` — The consumer's phone number. - **`contact_center_number`** `string` — The agent's number. An agent used a flow or queue number and did not really have its own number. - **`country_name`** `string` — The country name. - **`direction`** `string`, possible values: `"inbound", "outbound"` — The engagement's direction. \`inbound\` | \`outbound\`. - **`end_time`** `string`, format: `date-time` — The date and time when the engagement ended in ISO 8601 format, either \`yyyy-MM-dd'T'HH:mm:ss'Z'\` or \`yyyy-MM-dd'T'HH:mm:ss'TZD'\`. - **`engagement_id`** `string` — The engagement's ID - **`queues`** `array` — Information about the engagement's queues. **Items:** - **`cc_queue_id`** `string` — The Contact Center queue's ID. - **`queue_id`** `string` — The queue's ID. - **`queue_name`** `string` — The queue's name. - **`sms_types`** `array` — The SMS's type. **Items:** `string`, possible values: `"sms", "mms"` - **`start_time`** `string`, format: `date-time` — The date and time when the engagement started in ISO 8601 format, either \`yyyy-MM-dd'T'HH:mm:ss'Z'\` or \`yyyy-MM-dd'T'HH:mm:ss'TZD'\`. - **`total_received_files`** `integer`, format: `int64` — The total number of received files. - **`total_received_messages`** `integer`, format: `int64` — The total number of received messages. - **`total_sent_files`** `integer`, format: `int64` — The total number of sent files. - **`total_sent_messages`** `integer`, format: `int64` — The total number of sent messages. - **`to`** `string`, format: `date-time` — \*\*Required\*\* only when the \`from\` parameter is specified. The end time and date in ISO 8601 format, either \`yyyy-MM-dd'T'HH:mm:ss'Z'\` or \`yyyy-MM-dd'T'HH:mm:ss'TZD'\`, the same format as the \`from\` parameter. - **`total_records`** `integer` — The total number of all the records available across pages. **Example:** ```json { "next_page_token": "R4aF9Oj0fVM2hhezJTEmSKaBSkfesDwGy42", "page_size": 30, "total_records": 1, "from": "2023-01-01T08:00:00Z", "to": "2023-01-01T09:00:00Z", "sms": [ { "direction": "inbound", "engagement_id": "3XilEfOvQEKRIWMWhX1jDg", "contact_center_number": "+18108001001", "start_time": "2023-01-01T08:00:00Z", "end_time": "2023-01-01T09:00:00Z", "consumer_number": "+12059300920", "consumer_display_name": "Tester", "queues": [ { "cc_queue_id": "d95avl1eRJ-H162PZUJ-qg", "queue_name": "agentQueue" } ], "agents": [ { "user_id": "ukAAkZKfROKMSw1bj_RDFQ", "display_name": "Jilly" } ], "country_name": "China", "sms_types": [ "sms" ], "total_sent_messages": 0, "total_received_messages": 0, "total_sent_files": 0, "total_received_files": 0 } ], "division_name": "EMEA Operations", "division_id": "kV9aR7Jt2QmEXfBcUz4LpA" } ``` ##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request ##### Status: 401 \*\*HTTP Status Code:\*\* \`401\` \
Unauthorized \*\*Error Code:\*\* \`124\` \
Invalid access token. \
\*\*Error Code:\*\* \`124\` \
Access token has expired. \
\*\*Error Code:\*\* \`1002\` \
The user associated with this access token was not found or is invalid. \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`1021\` \
User account is deactivated. \
\*\*Error Code:\*\* \`1022\` \
User does not have a Contact Center license. \
\*\*Error Code:\*\* \`9001\` \
The Contact Center user associated with this bearer token is missing privileges on their role required to operate this request. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`2901\` \
Engagement does not exist: $engagementId. \
\*\*Error Code:\*\* \`1001\` \
User does not exist: $userId. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). \*\*Error Code:\*\* \`4001\` \
You have reached the maximum per-second rate limit for this API. Try again later. \
### List voice call logs - **Method:** `GET` - **Path:** `/accounts/{accountId}/contact_center/voice_calls` - **Tags:** Logs Return a list of voice call engagement logs. Engagement data is available via API once it is completed. **Note** These fields - `agents.user_ip_address`, `agents.user_device_mac_address`, `agents.user_registered_sip_zone`, `agents.sip_zone_ip_address`, `session_border_controller_list.session_border_controller_name`, `session_border_controller_list.session_border_controller_ip_address`, `session_border_controller_list.consumer_zoom_trunk_name` and `session_border_controller_list.consumer_sbc_ip_address` - are only available to accounts which have enabled an internal flag to return these additional fields. To enable the feature flag, contact Zoom Support. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `contact_center_voice_call:master` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `contact_center:read:voice_call_log:master` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `HEAVY` #### Parameters ##### `from` - **In:** `query` The start time and date in either `yyyy-MM-dd`, `yyyy-MM-dd'T'HH:mm:ss'Z'`, or `yyyy-MM-dd'T'HH:mm:ss±HH:mm` format. The defined date range should be a month, as the response only includes one month's worth of data. If no start date is specified, return data from the past 24 hours. **Note** When using `yyyy-MM-dd'T'HH:mm:ss'Z'` format, the `'Z'` is treated as a literal character. The timezone offset from `yyyy-MM-dd'T'HH:mm:ss±HH:mm` format is used for response datetime formatting. `string` ##### `to` - **In:** `query` **Required** only when the `from` parameter is specified. The end time and date in `yyyy-MM-dd`, `yyyy-MM-dd'T'HH:mm:ss'Z'`, or `yyyy-MM-dd'T'HH:mm:ss±HH:mm` format, matching the format of the `from` parameter. `string` ##### `types` - **In:** `query` The call's type. **Array of:** `string`, possible values: `"external_call", "external_conference_call", "external_callback_call", "internal_call", "internal_conference_call", "internal_callback_call"` ##### `distribution` - **In:** `query` The engagement's distribution. `string`, possible values: `"acd", "non_acd"` ##### `consumer_number` - **In:** `query` The consumer's phone number. `string` ##### `direction` - **In:** `query` The engagement's direction. `string`, possible values: `"inbound", "outbound"` ##### `user_ids` - **In:** `query` A comma-separated list of agents' user IDs to query, up to 20 agent IDs. **Array of:** `string` - Max items: `20` ##### `engagement_id` - **In:** `query` The engagement's ID. `string` ##### `queue_ids` deprecated - **In:** `query` A comma-separated list of queue IDs to query, up to 20 queue IDs. If user provide `none`, filter by **No queue used** in the web UI. **Array of:** `string` - Max items: `20` ##### `cc_queue_ids` - **In:** `query` A comma-separated list of Contact Center queue IDs to query, up to 20 queue IDs. If a user provides `none`, filter by **No queue used** in the web UI. **Array of:** `string` - Max items: `20` ##### `country_iso_codes` - **In:** `query` Two-letter ISO country [code](/docs/api/references/abbreviations/#countries). **Array of:** `string` - Max items: `20` ##### `number_types` - **In:** `query` The number's type. **Array of:** `string`, possible values: `"toll_free_number", "virtual_service_number", "byoc_number"` ##### `region_ids` - **In:** `query` A comma-separated list of region IDs to query, up to 20 region IDs. **Array of:** `string` - Max items: `20` - Unique items: `true` ##### `region_names` - **In:** `query` A comma-separated list of region names to query, up to 20 region Names. **Array of:** `string` - Max items: `20` - Unique items: `true` ##### `team_ids` - **In:** `query` A comma-separated list of team IDs to query, up to 20 team IDs. **Array of:** `string` - Max items: `20` - Unique items: `true` ##### `team_names` - **In:** `query` A comma-separated list of team names to query, up to 20 team names. **Array of:** `string` - Max items: `20` - Unique items: `true` ##### `sub_types` - **In:** `query` A comma-separated list of detailed call leg types. **Allowed subtypes** - `external_warm_conference_call` - `external_direct_conference_call` - `external_warm_transfer_call` - `external_direct_transfer_call` - `internal_warm_conference_call` - `internal_direct_conference_call` - `internal_warm_transfer_call` - `internal_direct_transfer_call` - `flow_initiated_outgoing_call` - flow outgoing **Array of:** `string`, possible values: `"external_warm_conference_call", "external_direct_conference_call", "external_warm_transfer_call", "external_direct_transfer_call", "internal_warm_conference_call", "internal_direct_conference_call", "internal_warm_transfer_call", "internal_direct_transfer_call", "flow_initiated_outgoing_call"` ##### `view_type` - **In:** `query` By default, this API returns the summary in List voice logs. If `detail` is selected, it returns all the call logs' additional details. `string`, possible values: `"summary", "detail"`, default: `"summary"` ##### `next_page_token` - **In:** `query` 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. This token's expiration period is 15 minutes. `string` ##### `page_size` - **In:** `query` The number of records returned within a single API call. `integer`, format: `int32`, default: `10` ##### `X-Zoom-Division-Id` - **In:** `header` Optional. The Contact Center division ID used to scope this request. The authenticated caller must be a super admin. Non super admin callers receive a `DIVISION_ACCESS_DENIED` error. When provided, the request operates against the division's account context rather than the caller's primary account. If the same value is also supplied in the body field `division_id` or the query parameter `division_id`, the body takes precedence, then the query parameter, and then this header. The value must be 50 characters or fewer. If Contact Center division support is not enabled for the account, this header is silently ignored and the request proceeds against the caller's primary account. `string` ##### `accountId` required - **In:** `path` Unique identifier of the account. `string` #### Responses ##### Status: 200 \*\*HTTP Status Code:\*\* \`200\` Variables list returned. ###### Content-Type: application/json - **`division_id`** `string` — A Contact Center division's ID. For requests, scopes the request to the specified division and takes precedence over the \`division\_id\` query parameter and \`X-Zoom-Division-Id\` header. The caller must be a super admin. Otherwise, the request returns \`DIVISION\_ACCESS\_DENIED\`. For responses, identifies the resource's division and is omitted when no division context applies. If Contact Center division support is disabled, the request value is ignored. - **`division_name`** `string` — The human readable name of the Contact Center division that the resource belongs to. Returned alongside \`division\_id\` whenever a division context was resolved for the request and omitted otherwise. - **`from`** `string`, format: `date-time` — The start time and date in ISO 8601 format, either \`yyyy-MM-dd'T'HH:mm:ss'Z'\` or \`yyyy-MM-dd'T'HH:mm:ss'TZD'\`. The defined date range should be a month, as the response only includes one month's worth of data. If no start date is specified, return data from the past 24 hours. - **`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. This token's expiration period is 15 minutes. - **`page_size`** `integer`, default: `10` — The number of records returned within a single API call. - **`to`** `string`, format: `date-time` — \*\*Required\*\* only when the \`from\` parameter is specified. The end time and date in ISO 8601 format, either \`yyyy-MM-dd'T'HH:mm:ss'Z'\` or \`yyyy-MM-dd'T'HH:mm:ss'TZD'\`, the same format as the \`from\` parameter. - **`total_records`** `integer` — The total number of all records available across pages. - **`voice_calls`** `array` — Information about the voice call. **Items:** - **`agents`** `array` — Information about the engagement's agents. **Items:** - **`display_name`** `string` — The agent's name. - **`sip_zone_ip_address`** `string`, format: `ipv4` — The SIP zome's IP address. - **`team_ids`** `array` — The agent's team IDs **Items:** `string` — agent team ID list - **`team_names`** `array` — The agent's team names. **Items:** `string` — Agent team name list. - **`user_device_mac_address`** `string` — MAC address of the agent's device. - **`user_email`** `string` — The agent's email. - **`user_id`** `string` — The agent's ID. - **`user_ip_address`** `string`, format: `ipv4` — IP address of the agent's device. - **`user_region`** `string` — The agent's region name - **`user_registered_sip_zone`** `string` — The SIP zone where the agent registered. - **`call_legs`** `array` — The direction of the engagement call leg. **Items:** `string`, possible values: `"inbound", "outbound"` - **`callee_number`** `string` — The callee's phone number. - **`callee_number_type`** `string`, possible values: `"toll_free_number", "virtual_service_number", "byoc_number"` — The callee's number type. - **`caller_id`** `string` — The caller's number. - **`caller_number`** `string` — The caller's phone number. - **`caller_number_type`** `string`, possible values: `"toll_free_number", "virtual_service_number", "byoc_number"` — The caller's number type. - **`calling_party`** `string`, possible values: `"consumer", "agent"` — The calling's party. - **`charge`** `string` — The bill's charge. - **`charge_type`** `string`, possible values: `"per_minute"` — The charge type. - **`consumer_display_name`** `string` — The consumer's name. - **`consumer_number`** `string` — The consumer's phone number. - **`country_name`** `string` — The country name. - **`direction`** `string`, possible values: `"inbound", "outbound"` — The engagement's direction. - **`distributions`** `array` — The engagement's distribution. **Items:** `string`, possible values: `"acd", "non_acd"` - **`end_time`** `string` — The date and time when the engagement ended, in \`yyyy-MM-dd'T'HH:mm:ss±HH:mm\` format. The timezone offset is derived from the \`from\` input parameter if it includes a timezone offset (e.g., \`-08:00\`), otherwise it defaults to \`+00:00\` (UTC). - **`engagement_id`** `string` — The engagement's ID - **`flows`** `array` — Information about the engagement's flows. **Items:** - **`flow_id`** `string` — The flow's ID. - **`flow_name`** `string` — The flow's name. - **`inbox`** `boolean` — Flag to determine whether a message is in the box. - **`monitored`** `boolean` — Flag to determine whether to monitored. - **`queues`** `array` — Information about the engagement's queues. **Items:** - **`cc_queue_id`** `string` — The Contact Center queue's ID. - **`queue_id`** `string` — The queue's ID. - **`queue_name`** `string` — The queue's name. - **`rates`** `array` — The price for each sent message. **Items:** `string` - **`recorded`** `boolean` — Flag to determine whether to recorded. - **`result`** `string`, possible values: `"completed", "short_abandoned", "long_abandoned", "hold_abandoned", "long_calls", "short_calls", "hang_up_calls", "overflowed_to_disconnect", "overflowed_to_inbox", "overflowed", "abandon_quit", "auto_closed", "contained", "missed", "declined", "callback_abandoned_by_consumer"` — The engagement's results. - **`sbcInfos`** `array` — Information about the session border controllers. \*\*Note\*\* This field will be abolished, and the \`sbcInfos\` will be used uniformly. **Items:** - **`consumer_sbc_ip_address`** `string` — The customer's SBC IP address. - **`consumer_zoom_trunk_name`** `string` — The name of the trunk between the customer SBC and Zoom SBC. - **`session_border_controller_ip_address`** `string` — The SBC's IP address. - **`session_border_controller_name`** `string` — The session border controller's name. - **`session_border_controller_list`** `array` — Information about the session border controllers. **Items:** - **`consumer_sbc_ip_address`** `string` — The customer's SBC IP address. - **`consumer_zoom_trunk_name`** `string` — The name of the trunk between the customer SBC and Zoom SBC. - **`session_border_controller_ip_address`** `string` — The SBC's IP address. - **`session_border_controller_name`** `string` — The session border controller's name. - **`start_time`** `string` — The date and time when the engagement started in \`yyyy-MM-dd'T'HH:mm:ss±HH:mm\` format. The timezone offset matches the offset provided in the \`from\` input parameter, or defaults to UTC (+00:00) if no offset was provided. - **`sub_types`** `array` — Specifies the detailed call leg type, such as a transfer or conference call. **Items:** `string`, possible values: `"external_warm_conference_call", "external_direct_conference_call", "external_warm_transfer_call", "external_direct_transfer_call", "internal_warm_conference_call", "internal_direct_conference_call", "internal_warm_transfer_call", "internal_direct_transfer_call", "flow_initiated_outgoing_call"` - **`total_duration`** `integer`, format: `int64` — The engagement's total duration, in seconds. - **`types`** `array` — The call's type. **Items:** `string`, possible values: `"external_call", "external_conference_call", "external_callback_call", "internal_call", "internal_conference_call", "internal_callback_call"` - **`voice_call_details`** `array` — All related call logs. **Items:** - **`agents`** `array` — Information about the engagement's agents. **Items:** - **`display_name`** `string` — The agent's name. - **`sip_zone_ip_address`** `string`, format: `ipv4` — The SIP zone's IP address. - **`team_ids`** `array` — The agent's team IDs **Items:** `string` — Agent team ID list. - **`team_names`** `array` — The agent's team names. **Items:** `string` — Agent team name list. - **`user_device_mac_address`** `string` — The agent's device's MAC address. - **`user_email`** `string` — The agent's email. - **`user_id`** `string` — The agent's ID. - **`user_ip_address`** `string`, format: `ipv4` — The agent's device's IP address. - **`user_region`** `string` — The agent's region name. - **`user_registered_sip_zone`** `string` — The SIP zone where the agent registered. - **`call_leg`** `string`, possible values: `"inbound", "outbound"` — The direction of the engagement call log. - **`callee_number`** `string` — The callee's phone number. - **`callee_number_type`** `string`, possible values: `"toll_free_number", "virtual_service_number", "byoc_number"` — The callee's number type. - **`caller_id`** `string` — The caller's number. - **`caller_number`** `string` — The caller's phone number. - **`caller_number_type`** `string`, possible values: `"toll_free_number", "virtual_service_number", "byoc_number"` — The caller's number type. - **`calling_party`** `string`, possible values: `"consumer", "agent"` — The calling's party. - **`charge`** `string` — The bill's charge. - **`charge_type`** `string`, possible values: `"per_minute"` — The charge type. - **`consumer_display_name`** `string` — The consumer's name. - **`consumer_number`** `string` — The consumer's phone number. - **`country_name`** `string` — The country name. - **`distribution`** `string`, possible values: `"acd", "non_acd"` — The call log's distribution. - **`end_time`** `string` — The date and time when the call ended, in ISO 8601 format, either \`yyyy-MM-dd'T'HH:mm:ss'Z'\` or \`yyyy-MM-dd'T'HH:mm:ss'TZD'\`. - **`engagement_id`** `string` — The engagement's ID. - **`flow`** `object` — Information about the flow. - **`flow_id`** `string` — The flow's ID. - **`flow_name`** `string` — The flow's name. - **`inbox`** `boolean` — Whether a message is in the box. - **`monitored`** `boolean` — Whether to monitor. - **`queue`** `object` — Information about the queue. - **`cc_queue_id`** `string` — The Contact Center queue's ID. - **`queue_name`** `string` — The queue's name. - **`rate`** `string` — The price for sent message. - **`recorded`** `boolean` — Whether to record. - **`result`** `string`, possible values: `"completed", "short_abandoned", "long_abandoned", "hold_abandoned", "long_calls", "short_calls", "hang_up_calls", "overflowed_to_disconnect", "overflowed_to_inbox", "overflowed", "abandon_quit", "auto_closed", "contained", "missed", "declined", "callback_abandoned_by_consumer"` — The engagement's results. - **`start_time`** `string` — The date and time when the call started, in ISO 8601 format, either \`yyyy-MM-dd'T'HH:mm:ss'Z'\` or \`yyyy-MM-dd'T'HH:mm:ss'TZD'\`. - **`total_duration`** `integer`, format: `int64` — The call log's total duration, in seconds. - **`type`** `string`, possible values: `"external_call", "external_conference_call", "external_callback_call", "internal_call", "internal_conference_call", "internal_callback_call"` — The call's type. **Example:** ```json { "next_page_token": "R4aF9Oj0fVM2hhezJTEmSKaBSkfesDwGy42", "page_size": 10, "total_records": 10, "from": "2023-01-01T08:00:00Z", "to": "2023-01-01T09:00:00Z", "voice_calls": [ { "engagement_id": "3XilEfOvQEKRIWMWhX1jDg", "direction": "inbound", "call_legs": [ "inbound" ], "distributions": [ "acd" ], "types": [ "external_call" ], "sub_types": [ "external_direct_transfer_call" ], "caller_number": "+18108001001", "caller_number_type": "toll_free_number", "callee_number": "+12055437350", "callee_number_type": "toll_free_number", "start_time": "2023-01-01T00:00:00-08:00", "end_time": "2023-01-01T01:00:00-08:00", "total_duration": 10, "consumer_number": "+12059300920", "consumer_display_name": "Tester", "queues": [ { "cc_queue_id": "d95avl1eRJ-H162PZUJ-qg", "queue_name": "agentQueue" } ], "agents": [ { "user_id": "ukAAkZKfROKMSw1bj_RDFQ", "display_name": "Jilly", "user_email": "jakie@zoom.us", "user_ip_address": "38.145.73.4", "user_device_mac_address": "05:FA:15:25:EE:FF", "user_registered_sip_zone": "ams1sbc", "sip_zone_ip_address": "38.145.73.4", "user_region": "Main Region", "team_ids": [ "[\"3XilEfOvQEKRIWMWhX1jDg\"]" ], "team_names": [ "[\"My team\"]" ] } ], "flows": [ { "flow_id": "zeYjXoDOS_eV1QmTpj63PQ", "flow_name": "Demo" } ], "country_name": "China", "recorded": false, "monitored": false, "inbox": false, "result": "completed", "caller_id": "+12058945728", "calling_party": "consumer", "charge": "$0.019", "rates": [ "$0.019" ], "charge_type": "per_minute", "session_border_controller_list": [ { "session_border_controller_name": "ams1sbc", "session_border_controller_ip_address": "38.145.73.20", "consumer_zoom_trunk_name": "C10010142296A06", "consumer_sbc_ip_address": "39.15.60.145" } ], "voice_call_details": [ { "engagement_id": "3XilEfOvQEKRIWMWhX1jDg", "call_leg": "inbound", "distribution": "acd", "type": "external_call", "caller_number": "+18108001001", "caller_number_type": "toll_free_number", "callee_number": "+12055437350", "callee_number_type": "toll_free_number", "start_time": "2023-01-01T00:00:00-08:00", "end_time": "2023-01-01T01:00:00-08:00", "total_duration": 10, "consumer_number": "+12059300920", "consumer_display_name": "Tester", "queue": { "cc_queue_id": "d95avl1eRJ-H162PZUJ-qg", "queue_name": "agentQueue" }, "agents": [ { "user_id": "ukAAkZKfROKMSw1bj_RDFQ", "display_name": "Jilly", "user_email": "jakie@zoom.us", "user_ip_address": "38.145.73.4", "user_device_mac_address": "05:FA:15:25:EE:FF", "user_registered_sip_zone": "ams1sbc", "sip_zone_ip_address": "38.145.73.4", "user_region": "Main Region", "team_ids": [ "3XilEfOvQEKRIWMWhX1jDg" ], "team_names": [ "My team" ] } ], "flow": { "flow_id": "zeYjXoDOS_eV1QmTpj63PQ", "flow_name": "Demo" }, "country_name": "China", "recorded": false, "monitored": false, "inbox": false, "result": "completed", "caller_id": "+12058945728", "calling_party": "consumer", "charge": "$0.019", "rate": "$0.019", "charge_type": "per_minute" } ] } ], "division_name": "EMEA Operations", "division_id": "kV9aR7Jt2QmEXfBcUz4LpA" } ``` ##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`300\` \
The time and date must be in \` yyyy-mm-dd\`\` or ISO 8601 format, either \`yyyy-MM-dd'T'HH:mm:ss'Z'\`or\`yyyy-MM-dd'T'HH:mm:ss'TZD'\` . \
\*\*Error Code:\*\* \`300\`\
The requested report exceeds the 1-month limit. \
\*\*Error Code:\*\*\`300\\\` \
Invalid field. \
##### Status: 401 \*\*HTTP Status Code:\*\* \`401\` \
Unauthorized \*\*Error Code:\*\* \`124\` \
Invalid access token. \
\*\*Error Code:\*\* \`124\` \
Access token has expired. \
\*\*Error Code:\*\* \`1002\` \
The user associated with this access token was not found or is invalid. \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`1021\` \
User account is deactivated. \
\*\*Error Code:\*\* \`1022\` \
User does not have a Contact Center license. \
\*\*Error Code:\*\* \`9001\` \
The Contact Center user associated with this bearer token is missing privileges on their role required to operate this request. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`1001\` \
User does not exist: {userId}. \
\*\*Error Code:\*\* \`1201\` \
Queue does not exist: {queueId}. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). \*\*Error Code:\*\* \`4001\` \
You have reached the maximum per-second rate limit for this API. Try again later. \