Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/zoom-phone-dashboard-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Phone Dashboard API
description: "You can access information from Zoom with Zoom Phone APIs to build private services or public applications on the [Zoom App Marketplace](https://marketplace.zoom.us/).\n\n To learn how to get your credentials and create private or public applications, see Zoom APIs use [OAuth 2.0 authorization](https://developers.zoom.us/docs/integrations/oauth/). \n\n All endpoints are available through `https` at `api.zoom.us/v2/`. For instance, `https://api.zoom.us/v2/users/` returns all users on an account. You'll receive a `403` error message if you have not set up Zoom Phone."
termsOfService: https://zoom.us/docs/en-us/zoom_api_license_and_tou.html
contact:
name: Zoom Developers
url: https://developer.zoom.us/
version: '2'
servers:
- url: https://api.zoom.us/v2
tags:
- name: Dashboard
paths:
/phone/metrics/call_logs:
get:
tags:
- Dashboard
summary: List call logs
description: "Returns monthly call logs metrics.\n\nThe call logs that provide a record of all incoming and outgoing calls over Zoom Phone in an account. \n\nYou can use query parameters to filter the response by date, site and MOS(Mean Opinion Score) of the call. \n\n**Prerequisites:**\n* Business or Education account\n* Zoom Phone license \n\n\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:list_call_logs:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `HEAVY`"
operationId: listCallLogsMetrics
parameters:
- name: from
in: query
description: The start date in **yyyy-mm-dd** format. The date range defined by the `from` and `to` parameters should be a month as the response only includes one month's worth of data at once. If unspecified, returns data from the past 1 day.
required: false
schema:
type: string
format: date
example: '2021-12-01'
- name: to
in: query
description: This setting is **required** only when the `from` parameter is specified. The end date is in **yyyy-mm-dd** format, which is the same format as the `from` parameter.
required: false
schema:
type: string
format: date
example: '2021-12-31'
- name: site_id
in: query
description: The unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites). Use this query parameter if you have enabled multiple sites and would like to filter the response of this API call by call logs of a specific phone site.
required: false
schema:
type: string
example: SQv52YtkRLC2dwrDdYtGsA
- name: quality_type
in: query
description: "This setting filters call logs by voice quality. Zoom uses MOS of 3.5 as a general baseline to categorize calls by call quality. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality. \n \n The value of this field can be one of the following: \n \n* `good`: Retrieve call logs of the call(s) with good quality of voice. \n \n* `bad`: Retrieve call logs of the call(s) with good quality of voice. \n \n* `all`: Retrieve all call logs without filtering by voice quality. \n\n\n\n"
required: false
schema:
type: string
example: good
- name: page_size
in: query
description: The number of records returned within a single call.
required: false
schema:
maximum: 100
type: integer
example: 30
default: 30
- name: next_page_token
in: query
description: The next page token paginates through a large set of results. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
required: false
schema:
type: string
example: T6WMY4fJBIAlxPUiqRtwvQS9dvsq8AoRam2
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
call_logs:
type: array
description: Call logs.
items:
type: object
properties:
call_id:
type: string
description: The unique identifier of the phone call.
example: '7081466125443483485'
callee:
type: object
properties:
codec:
type: string
description: The audio codec.
example: ES8311
device_private_ip:
type: string
description: This setting displays the device's private IP address if the account has the `show_device_ip_for_call_log` parameter set to `enabled`.
example: 10.100.111.237
device_public_ip:
type: string
description: This setting displays the device's public IP address if the account has the `show_device_ip_for_call_log` parameter set to `enabled`.
example: 38.99.100.2
device_type:
type: string
description: "The device type, and if applicable, its version number. Acceptable device types: \n* `Windows_Client` \n* `MAC_Client` \n* `Linux_Client` \n* `Android_Phone` \n* `IOS_Phone` \n* `Android_Pad` \n* `IOS_Pad` \n* [Zoom Phone Appliance](https://support.zoom.us/hc/en-us/articles/360001299063#h_cc0dac0d-44aa-4fb6-8e39-359166c38715) \n* `Windows_VDI_Client` \n* `MAC_VDI_Client` \n* `Linux_VDI_Client`"
example: MAC_Client 5.11.9.9957
extension_number:
type: string
description: The full extension number of the callee.
example: '100994'
headset:
type: string
description: The headset the callee uses.
example: Edifier
isp:
type: string
description: ISP.
example: Cogent Communications
microphone:
type: string
description: The microphone the callee uses for the call.
example: '+12053194087'
phone_number:
type: string
description: The phone number of the callee in E164 format.
example: '+12053194087'
site_id:
type: string
description: The unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
example: ZNWikLeVSjuaMvUoxFqCuw
description: The callee object that contains information of the calee.
caller:
type: object
properties:
codec:
type: string
description: Audio codec.
example: ES8311
device_private_ip:
type: string
description: This setting displays the device's private IP address if the account has the `show_device_ip_for_call_log` parameter set to `enabled`.
example: 10.100.111.232
device_public_ip:
type: string
description: This setting display sthe device's public IP address if the account has the `show_device_ip_for_call_log` parameter set to `enabled`.
example: 38.99.100.3
device_type:
type: string
description: "The device type, and if applicable, its version number. Acceptable device types: \n* `Windows_Client` \n* `MAC_Client` \n* `Linux_Client` \n* `Android_Phone` \n* `IOS_Phone` \n* `Android_Pad` \n* `IOS_Pad` \n* [Zoom Phone Appliance](https://support.zoom.us/hc/en-us/articles/360001299063#h_cc0dac0d-44aa-4fb6-8e39-359166c38715) \n* `Windows_VDI_Client` \n* `MAC_VDI_Client` \n* `Linux_VDI_Client` "
example: MAC_Client
extension_number:
type: string
description: The full extension number of the caller.
example: '100152'
headset:
type: string
description: The headset the caller uses for the call.
example: Edifier
isp:
type: string
description: ISP.
example: Cogent Communications
microphone:
type: string
description: The microphone the caller uses for the call.
example: '+12053194087'
phone_number:
type: string
description: The phone number of the caller in E164 format.
example: '+12053194087'
site_id:
type: string
description: The unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
example: ZNWikLeVSjuaMvUoxFqCuw
description: The caller object that contains information of the caller.
date_time:
type: string
description: The date and time when the call started.
example: '2021-04-01T02:59:32Z'
direction:
type: string
description: The direction of the call. The value of this field can be either `internal` or `outbound`.
example: internal
duration:
type: integer
description: The duration of the full call in seconds.
example: 20
mos:
type: string
description: The Mean Opinion Score (MOS). Zoom uses MOS as the main measurement to report on voice quality. MOS measures voice quality on a scale of one to five. A score of 1 indicates unacceptable voice quality for all users. A score of five is the best voice quality.
example: '4.5'
from:
type: string
description: The start time and date of the report.
example: '2021-03-31'
next_page_token:
type: string
description: The next page token paginates through a large set of results. A next page token is returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes.
example: T6WMY4fJBIAlxPUiqRtwvQS9dvsq8AoRam2
page_size:
type: integer
description: The number of records returned within a single call.
example: 30
to:
type: string
description: The end time and date of the report.
example: '2021-04-01'
total_records:
type: integer
description: The total number of records available across all pages.
example: 20
'429':
description: "**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:read:admin
- phone:read:list_call_logs:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:read:admin
x-granular-scopes:
- phone:read:list_call_logs:admin
/phone/metrics/call_logs/{callId}/qos:
get:
tags:
- Dashboard
summary: Get call QoS
description: "Gets the call quality of service (QoS) data for a call made or received by a Zoom phone user in the account. \n\n**Prerequisites:**\n* Business, or Education account\n* Zoom Phone license \n \n \n\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:call_qos:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`"
operationId: getCallQoS
parameters:
- name: callId
in: path
description: The unique identifier of the call.
required: true
schema:
type: string
example: '7081466125443483485'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
call_id:
type: string
description: The unique identifier of the phone call.
example: '7081466125443483485'
callee_qos:
type: object
properties:
device_private_ip:
type: string
description: This setting displays the device's private IP address if the account has the `show_device_ip_for_call_log` parameter set to `enabled`.
example: 10.100.111.237
device_public_ip:
type: string
description: This setting displays the device's public IP address if the account has the `show_device_ip_for_call_log` parameter set to `enabled`.
example: 38.99.100.2
receiving:
type: array
description: The QoS that the callee receives.
items:
type: object
properties:
date_time:
type: string
description: The date and time when the QoS was received.
format: date-time
example: '2022-04-01T03:05:43Z'
qos:
type: object
properties:
avg_loss:
type: string
description: The average amount of packet loss. For example, the percentage of packets that fail to arrive at their destination.
example: 0.82%
bitrate:
type: string
description: The number of bits per second, in kbps, that can be transmitted along a digital network.
example: 14.98kbps
jitter:
type: string
description: The variation in the delay of received packets, in milliseconds.
example: 7.53ms
max_loss:
type: string
description: The maximum amount of packet loss. For example, the maximum percentage of packets that fail to arrive at their destination.
example: 1.51%
mos:
type: string
description: 'The MOS (Mean Opinion Score).
MOS measures voice quality on a scale of 1 to 5. A score than or equal to 3.5 means good quality, while below 3.5 means poor quality.'
example: '3.6'
network_delay:
type: string
description: The amount of time, in milliseconds, it takes for a VoIP (Voice Over IP) packet to travel from one point to another.
example: '307'
sending:
type: array
description: The QoS that the callee sends.
items:
type: object
properties:
date_time:
type: string
description: The date and time when the QoS was delivered.
format: date-time
example: '2022-04-01T03:05:43Z'
qos:
type: object
properties:
avg_loss:
type: string
description: The average amount of packet loss. For example, the percentage of packets that fail to arrive at their destination.
example: 0.82%
bitrate:
type: string
description: The number of bits per second, in kbps, that can be transmitted along a digital network.
example: 14.98kbps
jitter:
type: string
description: The variation in the delay of received packets, in milliseconds.
example: 7.53ms
max_loss:
type: string
description: The maximum amount of packet loss. For example, the maximum percentage of packets that fail to arrive at their destination.
example: 1.51%
mos:
type: string
description: 'The MOS (Mean Opinion Score).
MOS measures voice quality on a scale of 1 to 5. A score than or equal to 3.5 means good quality, while below 3.5 means poor quality.'
example: '3.6'
network_delay:
type: string
description: The amount of time, in milliseconds, it takes for a VoIP (Voice Over IP) packet to travel from one point to another.
example: '307'
caller_qos:
type: object
properties:
device_private_ip:
type: string
description: This setting displays the device's private IP address if the account has the `show_device_ip_for_call_log` parameter set to `enabled`.
example: 10.100.111.237
device_public_ip:
type: string
description: This setting displays the device's public IP address if the account has the `show_device_ip_for_call_log` parameter set to `enabled`.
example: 38.99.100.2
receiving:
type: array
description: The QoS (quality of service) that the caller receives .
items:
type: object
properties:
date_time:
type: string
description: The date and time when the QoS was received.
format: date-time
example: '2022-04-01T03:05:43Z'
qos:
type: object
properties:
avg_loss:
type: string
description: The average amount of packet loss. For example, the percentage of packets that fail to arrive at their destination.
example: 1.29%
bitrate:
type: string
description: The number of bits per second, in kbps, that can be transmitted along a digital network.
example: 16.31kbps
jitter:
type: string
description: The variation in the delay of received packets in milliseconds.
example: 5.15ms
max_loss:
type: string
description: The maximum amount of packet loss. For example, the maximum percentage of packets that fail to arrive at their destination.
example: 2.01%
mos:
type: string
description: 'The MOS (Mean Opinion Score).
MOS measures voice quality on a scale of 1 to 5. A score than or equal to 3.5 means good quality, while below 3.5 means poor quality.'
example: '3.6'
network_delay:
type: string
description: The amount of time, in milliseconds, it takes for a VoIP (Voice Over IP) packet to travel from one point to another.
example: '301'
sending:
type: array
description: The QoS that the caller sent.
items:
type: object
properties:
date_time:
type: string
description: The date and time when the QoS was delivered.
format: date-time
example: '2022-04-01T03:05:43Z'
qos:
type: object
properties:
avg_loss:
type: string
description: The average amount of packet loss, i.e., the percentage of packets that fail to arrive at their destination.
example: 1.29%
bitrate:
type: string
description: The number of bits per second in kbps that can be transmitted along a digital network.
example: 16.31kbps
jitter:
type: string
description: The variation in the delay of received packets. The value of this field is expressed in milliseconds.
example: 5.15ms
max_loss:
type: string
description: The maximum amount of packet loss, i.e., the maximum percentage of packets that fail to arrive at their destination.
example: 2.01%
mos:
type: string
description: The Mean Opinion Score (MOS) measures voice quality on a scale of one to five. A MOS greater than or equal to 3.5 means good quality, while below 3.5 means poor quality.
example: '3.6'
network_delay:
type: string
description: The amount of time (in milliseconds) it takes for a VoIP packet to travel from one point to another.
example: '303'
description: The quality of service object that represents the call quality data of the caller.
'429':
description: "**HTTP Status Code:** `429` <br>\n Too Many Requests. For more information, see [rate limits](https://developers.zoom.us/docs/api/rest/rate-limits/). \n\n "
security:
- openapi_oauth:
- phone:read:admin
- phone:read:call_qos:admin
openapi_authorization: []
x-extensions:
x-permissions: []
x-macro-scopes:
- phone:read:admin
x-granular-scopes:
- phone:read:call_qos:admin
/phone/metrics/call_logs/{call_id}:
get:
tags:
- Dashboard
summary: Get call details from call log
description: "Returns call log details of a specific call. \n\nThe call logs provide a record of all incoming and outgoing calls over Zoom Phone in an account.\n\n **Prerequisites:**\n * Business, or Education account\n * Zoom Phone license \n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:admin`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:call_log:admin`"
operationId: getCallLogMetricsDetails
parameters:
- name: call_id
in: path
description: "The unique identifier of the phone call. \nThe value of this field can be retrieved from [List Call Logs]() API."
required: true
schema:
type: string
example: '7081466125443483485'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
call_id:
type: string
description: The unique identifier of the phone call.
example: '7081466125443483485'
callee:
type: object
properties:
codec:
type: string
description: The audio codec.
example: ES8311
device_private_ip:
type: string
description: This setting displays the device's private IP address if the account has the `show_device_ip_for_call_log` parameter set to `enabled`.
example: 10.100.111.237
device_public_ip:
type: string
description: This setting displays the device's public IP address if the account has the `show_device_ip_for_call_log` parameter set to `enabled`.
example: 38.99.100.2
device_type:
type: string
description: "The device type, and if applicable, its version number. Acceptable device types: \n* `Windows_Client` \n* `MAC_Client` \n* `Linux_Client` \n* `Android_Phone` \n* `IOS_Phone` \n* `Android_Pad` \n* `IOS_Pad` \n* [Zoom Phone Appliance](https://support.zoom.us/hc/en-us/articles/360001299063#h_cc0dac0d-44aa-4fb6-8e39-359166c38715) \n* `Windows_VDI_Client` \n* `MAC_VDI_Client` \n* `Linux_VDI_Client` "
example: MAC_Client
extension_number:
type: string
description: The full extension number of the callee.
example: '100994'
headset:
type: string
description: The headset the callee uses for the call.
example: Edifier
isp:
type: string
description: ISP.
example: Cogent Communications
microphone:
type: string
description: The microphone the callee uses for the call.
example: '+18889843519'
phone_number:
type: string
description: The phone number of the callee in E164 format.
example: '+18889843519'
site_id:
type: string
description: The unique identifier of the [site](https://support.zoom.us/hc/en-us/articles/360020809672-Managing-multiple-sites).
example: ZNWikLeVSjuaMvUoxFqCuw
id:
type: string
description: The ID of the extension for `user`, `callQueue`, `autoReceptionist`, or `sharedLineGroup`.
example: DYHrdpjrS3uaOf7dPkkg8w
extension_type:
type: string
description: "The type of extension: \n* `user` \n* `callQueue` \n* `autoReceptionist` \n* `sharedLineGroup`"
example: user
enum:
- user
- callQueue
- autoReceptionist
- sharedLineGroup
display_name:
type: string
description: The extension's name.
example: user A
description: The callee object that contains information of the callee.
caller:
type: object
properties:
codec:
type: string
description: The audio codec.
example: ES8311
device_private_ip:
type: string
description: This setting displays the device's private IP address if the account has the `show_device_ip_for_call_log` parameter set to `enabled`.
example: 10.100.111.237
device_public_ip:
type: string
description: This setting displays the device's public IP address if the account has the `show_device_ip_for_call_log` parameter set to `enabled`.
example: 38.99.100.2
device_type:
type: string
description: "The device type, and if applicable, its version number. Acceptable device types: \n* `Windows_Client` \n* `MAC_Client` \n* `Linux_Client` \n* `Android_Phone` \n* `IOS_Phone` \n* `Android_Pad` \n* `IOS_Pad` \n* [Zoom Phone Appliance](https://support.zoom.us/hc/en-us/articles/360001299063#h_cc0dac0d-44aa-4fb6-8e39-359166c38715) \n* `Windows_VDI_Client` \n* `MAC
# --- truncated at 32 KB (130 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoom-phone/refs/heads/main/openapi/zoom-phone-dashboard-api-openapi.yml