Zoom Phone Call Logs API

The Call Logs API from Zoom Phone — 15 operation(s) for call logs.

Operations 15

GET /phone/call_element/{callElementId} Get call element #
GET /phone/call_history Get account's call history #
GET /phone/call_history/{callHistoryUuid} Get call history #
PATCH /phone/call_history/{callLogId}/client_code Add a client code to a call history #
GET /phone/call_history_detail/{callHistoryId} Get call history detail #
GET /phone/call_logs Get account's call logs #
GET /phone/call_logs/{callLogId} Get call log details #
PUT /phone/call_logs/{callLogId}/client_code Add a client code to a call log #
GET /phone/user/{userId}/ai_call_summary/{aiCallSummaryId} Get User AI Call Summary Detail #
GET /phone/users/{userId}/call_history Get user's call history #
GET /phone/users/{userId}/call_history/sync Sync user's call history #
DELETE /phone/users/{userId}/call_history/{callLogId} Delete a user's call history #
GET /phone/users/{userId}/call_logs Get user's call logs #
GET /phone/users/{userId}/call_logs/sync Sync user's call logs #
DELETE /phone/users/{userId}/call_logs/{callLogId} Delete a user's call log #

Work with this as data

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-call-logs-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 Specification

zoom-phone-call-logs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Phone Call Logs 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: Call Logs
paths:
  /phone/call_element/{callElementId}:
    get:
      tags:
      - Call Logs
      summary: Get call element
      description: "Returns the call element for a given call element ID.\n \n **Prerequisites** \n * A Business or Enterprise account \n * A Zoom Phone license\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone_call_log:read`,`phone_call_log:read:admin`,`phone:read`\n\n**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:call_log:admin`\n\n**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`"
      operationId: getCallElement
      parameters:
      - name: callElementId
        in: path
        description: The ID of the call element.
        required: true
        schema:
          type: string
          example: 20211008-48c1dfd4-91ce-4df5-8495-7c9e33d10869
      responses:
        '200':
          description: '**HTTP Status code:** `200`

            Call element returned.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  call_element_id:
                    type: string
                    description: The ID of the call element.
                    example: 20211008-fe9c3900-5187-4254-9359-590afbc40bc9
                  call_history_uuid:
                    type: string
                    description: The call history ID of the call.
                    example: 20211008-48c1dfd4-91ce-4df5-8495-7c9e33d10869
                  call_id:
                    type: string
                    description: The ID of the phone call.
                    example: '7018317023722949162'
                  connect_type:
                    type: string
                    description: The connect type of call.
                    example: internal
                    enum:
                    - internal
                    - external
                  call_type:
                    type: string
                    description: The type of call.
                    example: general
                    enum:
                    - general
                    - emergency
                  direction:
                    type: string
                    description: The direction of the call.
                    example: inbound
                    enum:
                    - inbound
                    - outbound
                  hide_caller_id:
                    type: boolean
                    description: A flag to indicate the call is hide caller ID or not.
                    example: true
                  end_to_end:
                    type: boolean
                    description: A flag to indicate the call is end to End-to-End Encryption or not.
                    example: false
                  caller_ext_id:
                    type: string
                    description: The caller's extension ID.
                    example: ATu63--9TjudZetpf4UuQg
                  caller_name:
                    type: string
                    description: The caller' name.
                    example: Caller name
                  caller_email:
                    type: string
                    description: The caller's email.
                    example: test@abc.com
                  caller_did_number:
                    type: string
                    description: The caller's DID number in e164 format.
                    example: '+12059300920'
                  caller_ext_number:
                    type: string
                    description: The caller's extension number .
                    example: '101229'
                  caller_ext_type:
                    type: string
                    description: "The caller's extension type: \n* `user` \n* `call_queue` \n* `auto_receptionist` \n* `common_area` \n* `zoom_room` \n* `cisco_room` \n* `shared_line_group` \n* `group_call_pickup` \n* `external_contact`."
                    example: user
                    enum:
                    - user
                    - call_queue
                    - auto_receptionist
                    - common_area
                    - zoom_room
                    - cisco_room
                    - shared_line_group
                    - group_call_pickup
                    - external_contact
                  caller_number_type:
                    type: string
                    description: The caller's number type.
                    example: external_pstn
                    enum:
                    - zoom_pstn
                    - zoom_toll_free_number
                    - external_pstn
                    - external_contact
                    - byoc
                    - byop
                    - 3rd_party_contact_center
                    - zoom_service_number
                    - external_service_number
                    - zoom_contact_center
                    - meeting_phone_number
                    - meeting_id
                    - anonymous_number
                    - zra_phone_number
                  caller_device_type:
                    type: string
                    description: The caller's device type.
                    example: MAC_Client(6.0.2.33403)
                  caller_country_iso_code:
                    type: string
                    description: The caller's country ISO code.
                    example: US
                  caller_country_code:
                    type: string
                    description: The caller's country code.
                    example: '1'
                  callee_ext_id:
                    type: string
                    description: The callee's extension ID.
                    example: ATu63--9TjudZetpf4UuQg
                  callee_name:
                    type: string
                    description: The callee's name.
                    example: Callee name
                  callee_did_number:
                    type: string
                    description: The callee's DID number in e164 format.
                    example: '+12059300920'
                  callee_ext_number:
                    type: string
                    description: The callee's extension number.
                    example: '101229'
                  callee_email:
                    type: string
                    description: The callee's email.
                    example: test@abc.com
                  callee_ext_type:
                    type: string
                    description: "The callee's extension type: \n* `user` \n* `call_queue` \n* `auto_receptionist` \n* `common_area` \n* `zoom_room` \n* `cisco_room` \n* `shared_line_group` \n* `group_call_pickup` \n* `external_contact`."
                    example: user
                    enum:
                    - user
                    - call_queue
                    - auto_receptionist
                    - common_area
                    - zoom_room
                    - cisco_room
                    - shared_line_group
                    - group_call_pickup
                    - external_contact
                  callee_number_type:
                    type: string
                    description: The callee's number type.
                    example: external_pstn
                    enum:
                    - zoom_pstn
                    - zoom_toll_free_number
                    - external_pstn
                    - external_contact
                    - byoc
                    - byop
                    - 3rd_party_contact_center
                    - zoom_service_number
                    - external_service_number
                    - zoom_contact_center
                    - meeting_phone_number
                    - meeting_id
                    - anonymous_number
                    - zra_phone_number
                  callee_device_type:
                    type: string
                    description: The callee's device type.
                    example: MAC_Client(6.0.2.33403)
                  callee_country_iso_code:
                    type: string
                    description: The callee's country ISO code.
                    example: US
                  callee_country_code:
                    type: string
                    description: The callee's country code.
                    example: '1'
                  client_code:
                    type: string
                    description: The client code for the call.
                    example: '1234'
                  department:
                    type: string
                    description: The name of the user's department.
                    example: web-api1
                  cost_center:
                    type: string
                    description: The name of the cost center of which the user belongs.
                    example: cost-center1
                  site_id:
                    type: string
                    description: The name of the site ID of which the user belongs.
                    example: BpCTBMRARBefUrprildVqw
                  group_id:
                    type: string
                    description: The primary group of which the user belongs.
                    example: California
                  site_name:
                    type: string
                    description: The site name of which the user belongs.
                    example: site name
                  start_time:
                    type: string
                    description: The call start time in GMT `date-time` format.
                    example: '2021-10-08T16:12:04Z'
                  answer_time:
                    type: string
                    description: The call answer time in GMT `date-time` format.
                    example: '2021-10-08T16:12:04Z'
                  end_time:
                    type: string
                    description: The call end time in GMT `date-time` format.
                    example: '2021-10-08T16:12:15Z'
                  event:
                    type: string
                    description: An event within a call log.
                    example: outgoing
                    enum:
                    - incoming
                    - transfer_from_zoom_contact_center
                    - shared_line_incoming
                    - outgoing
                    - call_me_on
                    - outgoing_to_zoom_contact_center
                    - warm_transfer
                    - forward
                    - ring_to_member
                    - overflow
                    - direct_transfer
                    - barge
                    - monitor
                    - whisper
                    - listen
                    - takeover
                    - conference_barge
                    - park
                    - timeout
                    - park_pick_up
                    - merge
                    - shared
                  result:
                    type: string
                    description: The detailed results of an event for a call log.
                    example: answered
                    enum:
                    - answered
                    - accepted
                    - picked_up
                    - connected
                    - succeeded
                    - voicemail
                    - hang_up
                    - canceled
                    - call_failed
                    - unconnected
                    - rejected
                    - busy
                    - ring_timeout
                    - overflowed
                    - no_answer
                    - invalid_key
                    - invalid_operation
                    - abandoned
                    - system_blocked
                    - service_unavailable
                  result_reason:
                    type: string
                    description: The cause or outcome of an event in a call log.
                    example: answered_by_other
                    enum:
                    - answered_by_other
                    - pickup_by_other
                    - call_out_by_other
                  device_private_ip:
                    type: string
                    description: The private IP of which the user belongs.
                    example: ''
                  device_public_ip:
                    type: string
                    description: The public IP of which the user belongs.
                    example: ''
                  operator_ext_number:
                    type: string
                    description: The operator's extension number.
                    example: '3456'
                  operator_ext_id:
                    type: string
                    description: The operator's extension ID.
                    example: NN9rA4fZSsScB2YiCqw7Ig
                  operator_ext_type:
                    type: string
                    description: The operator's extension type.
                    example: user
                    enum:
                    - user
                    - call_queue
                    - auto_receptionist
                    - common_area
                    - zoom_room
                    - cisco_room
                    - shared_line_group
                    - group_call_pickup
                    - external_contact
                  operator_name:
                    type: string
                    description: The operator's name.
                    example: operator name
                  press_key:
                    type: string
                    description: The key value associated with a press or input event.
                    example: '3'
                  segment:
                    type: integer
                    description: A sequential number to indicate the orders of events that starts from 0.
                    example: 0
                  node:
                    type: integer
                    description: Within one segment, a sequential number to indicate the orders of the events that start from 0.
                    example: 0
                  is_node:
                    type: integer
                    description: This indicates whether it is a node or not.
                    example: 0
                  recording_id:
                    type: string
                    description: The unique identifier of the call recording.
                    example: c71b360f6e774e3aa101453117b7e1a7
                  recording_type:
                    type: string
                    description: The type of call recording.
                    example: automatic
                    enum:
                    - ad-hoc
                    - automatic
                  hold_time:
                    type: integer
                    description: The call hold time in seconds.
                    example: 20
                  waiting_time:
                    type: integer
                    description: The call wait time in seconds.
                    example: 20
                  voicemail_id:
                    type: string
                    description: The ID of the call voicemail.
                    example: 6cd2da01bcaa47f58e3250a575c5f2bf
                  caller_account_code:
                    type: string
                    description: 'The caller''s account code. To dial between accounts, use the format: [Account code] - [extension number].'
                    example: '111'
                  callee_account_code:
                    type: string
                    description: 'The callee''s account code. To dial between accounts, use the format: [Account code] - [extension number].'
                    example: '222'
                description: The phone extension call element.
        '404':
          description: "**HTTP Status Code:** `404` <br>\n Not Found  \n\n "
        '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_call_log:read
        - phone_call_log:read:admin
        - phone:read
        - phone:read:call_log:admin
        openapi_authorization: []
      x-extensions:
        x-permissions: []
        x-macro-scopes:
        - phone_call_log:read
        - phone_call_log:read:admin
        - phone:read
        x-granular-scopes:
        - phone:read:call_log:admin
  /phone/call_history:
    get:
      tags:
      - Call Logs
      summary: Get account's call history
      description: "Returns an account's new edition of [call logs](https://support.zoom.us/hc/en-us/articles/360021114452-Viewing-Call-Logs).\n\n**Prerequisites** \n* A Business or Enterprise account \n* A Zoom Phone license \n* Account owner or a [role](https://support.zoom.us/hc/en-us/articles/115001078646-Role-Based-Access-Control) with Zoom Phone management\n\n**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `phone:read:admin`,`phone_call_log: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: accountCallHistory
      parameters:
      - name: page_size
        in: query
        description: The number of records returned within a single API call.
        required: false
        schema:
          maximum: 300
          type: integer
          example: 30
          default: 30
      - name: from
        in: query
        description: "The start time and date in **yyyy-mm-dd** or **yyyy-MM-dd'T'HH:mm:ss'Z'** format. \n\nThe date range defined by the `from` and `to` parameters should be a month as the response only includes one month's worth of data. The month defined should fall within the last six months. If unspecified, returns data within the 24 hours."
        required: false
        schema:
          type: string
          format: date
          example: '2020-10-31'
      - name: to
        in: query
        description: "**Required** only when the `from` parameter is specified. \n\nEnd time and date in **yyyy-mm-dd** or **yyyy-MM-dd'T'HH:mm:ss'Z'** format, the same format as the `from` parameter."
        required: false
        schema:
          type: string
          format: date
          example: '2021-12-31'
      - name: next_page_token
        in: query
        description: The next page token paginates through a large set of results. A next page token returns 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: BJLYC6PABbAHdjwSkGVQeeR6B1juwHqj3G2
      - name: keyword
        in: query
        description: The keyword of the name, extension, number, email address, and call ID. It provides the ability to search by keyword and it shows a list of all the related calls. Any calls go through this keyword.
        required: false
        schema:
          type: string
          example: User 1
      - name: directions
        in: query
        description: The direction filter of the call logs.
        required: false
        schema:
          type: array
          example: []
          items:
            type: string
            example: inbound
            enum:
            - inbound
            - outbound
      - name: connect_types
        in: query
        description: "The connect type filter of the call logs. \n* `internal` \n* `external` "
        required: false
        schema:
          type: array
          example: []
          items:
            type: string
            example: internal
            enum:
            - internal
            - external
      - name: number_types
        in: query
        description: 'The number type filter of the caller or callee. '
        required: false
        schema:
          type: array
          example: []
          items:
            type: string
            example: external_pstn
            enum:
            - zoom_pstn
            - zoom_toll_free_number
            - external_pstn
            - external_contact
            - byoc
            - byop
            - 3rd_party_contact_center
            - zoom_service_number
            - external_service_number
            - zoom_contact_center
            - meeting_phone_number
            - meeting_id
            - anonymous_number
            - zoom_revenue_accelerator
      - name: call_types
        in: query
        description: "The call type filter of the call logs. \n* `general` \n* `emergency`"
        required: false
        schema:
          type: array
          example: []
          items:
            type: string
            example: general
            enum:
            - general
            - emergency
      - name: extension_types
        in: query
        description: The extension type filter of the call logs.
        required: false
        schema:
          type: array
          example: []
          items:
            type: string
            example: user
            enum:
            - user
            - call_queue
            - auto_receptionist
            - common_area
            - zoom_room
            - cisco_room
            - shared_line_group
            - group_call_pickup
            - external_contact
      - name: call_results
        in: query
        description: The call result filter of the call logs.
        required: false
        schema:
          type: array
          example: []
          items:
            type: string
            example: answered
            enum:
            - answered
            - accepted
            - picked_up
            - connected
            - succeeded
            - voicemail
            - hang_up
            - canceled
            - call_failed
            - unconnected
            - rejected
            - busy
            - ring_timeout
            - overflowed
            - no_answer
            - invalid_key
            - invalid_operation
            - abandoned
            - system_blocked
            - service_unavailable
      - name: group_ids
        in: query
        description: The primary group filter of call logs.
        required: false
        schema:
          type: array
          example: []
          items:
            type: string
            example: b4Uge6AxQQWlAepTCbFeKQ
      - name: site_ids
        in: query
        description: The site filter of call logs.
        required: false
        schema:
          type: array
          example: []
          items:
            type: string
            example: 8f71O6rWT8KFUGQmJIFAdQ
      - name: department
        in: query
        description: The department where the call log belongs.
        required: false
        schema:
          type: string
          example: Phone department
      - name: cost_center
        in: query
        description: The cost center where the call log belongs.
        required: false
        schema:
          type: string
          example: Phone cost center
      - name: time_type
        in: query
        description: This field enables you to search call logs by start or end time. By default, using start_time
        required: false
        schema:
          type: string
          example: start_time
          default: start_time
          enum:
          - start_time
          - end_time
      - name: recording_status
        in: query
        description: The recording filter indicates whether the whole call has recording or not. Recorded means the call has at least one recording. `non_recorded` means the call does not have any recordings.
        required: false
        schema:
          type: string
          example: recorded
          default: recorded
          enum:
          - recorded
          - non_recorded
      - name: with_voicemail
        in: query
        description: The voicemail filter of the call logs.
        required: false
        schema:
          type: boolean
          example: true
      - name: call_ids
        in: query
        description: The call ID to filter the call logs.
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: '**HTTP Status Code:** `200`


            Account''s call logs returned.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  call_logs:
                    type: array
                    description: The call log.
                    deprecated: true
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: The ID of the call log summary, get call path with this summary ID.
                          example: 20211001-48c1dfd4-91ce-4df5-8495-7c9e33d10869
                        call_id:
                          type: string
                          description: The unique identifier of the phone call. One call id might contain multiple call log ID.
                          example: '7018317023722949162'
                        direction:
                          type: string
                          description: The direction of the call.
                          example: inbound
                          enum:
                          - inbound
                          - outbound
                        international:
                          type: boolean
                          description: A flag to indicate the call is international or not.
                          example: false
                          enum:
                          - true
                          - false
                        start_time:
                          type: string
                          description: The call start time in GMT date-time format.
                          example: '2021-10-08T16:12:04Z'
                        answer_time:
                          type: string
                          description: The call answer time in GMT date-time format.
                          example: '2021-10-08T16:12:10Z'
                        end_time:
                          type: string
                          description: The call end time in GMT date-time format.
                          example: '2021-10-08T16:12:15Z'
                        duration:
                          type: integer
                          description: The duration of the call in seconds.
                          example: 20
                        connect_type:
                          type: string
                          description: The connect type of the call logs.
                          example: internal
                          enum:
                          - internal
                          - external
                        sbc_id:
                          type: string
                          description: The SBC ID that the call goes through.
                          example: '20'
                        sbc_name:
                          type: string
                          description: The SBC name that the call goes through.
                          example: '20'
                        sip_group_id:
                          type: string
                          description: The SIP group ID that the call goes through.
                          example: '20'
                        sip_group_name:
                          type: string
                          description: The SIP group name that the call goes through.
                          example: '20'
                        call_type:
                          type: string
                          description: 'The type of call. '
                          example: general
                          enum:
                          - general
                          - emergency
                        call_result:
                          type: string
                          description: 'The final call result of the call logs. '
                          example: answered
                          enum:
                          - answered
                          - accepted
                          - picked_up
                          - connected
                          - succeeded
                          - voicemail
                          - hang_up
                          - canceled
                          - call_failed
                          - unconnected
                          - rejected
                          - busy
                          - ring_timeout
                          - overflowed
                          - no_answer
                          - invalid_key
                          - invalid_operation
                          - abandoned
                          - system_blocked
                          - service_unavailable
                        hide_caller_id:
                          type: boolean
                          description: A flag to indicate the call is hide caller ID or not.
                          example: true
                        end_to_end:
                          type: boolean
                          description: A flag to indicate the call is end to End-to-End Encryption or not.
                          example: false
                        caller_ext_id:
                          type: string
                          description: The caller's extension ID.
                          example: ATu63--9TjudZetpf4UuQg
                        caller_did_number:
                          type: string
                          description: The caller's DID number in e164 format.
                          example: '+12059300920'
                        caller_ext_number:
                          type: string
                          description: The caller's extension number.
                          example: '101229'
                        caller_name:
                          type: string
                          description: The caller's name.
                          example: Caller name
                        caller_email:
                          type: string
                          description: The caller's email.
                          example: test@abc.com
                        caller_ext_type:
                          type: string
                          description: The caller's extension type.
                          example: user
                          enum:
                          - user
                          - call_queue
                          - auto_receptionist
                          - common_area
                          - zoom_room
                          - cisco_room
                          - shared_line_group
                          - group_call_pickup
                          - external_contact
                        caller_number_type:
                          type: string
                          description: The caller's number type.
                          example: external_pstn
                          enum:
                          - zoom_pstn
                          - zoom_toll_free_number
                          - external_pstn
                          - external_contact
                          - byoc
          

# --- truncated at 32 KB (310 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoom-phone/refs/heads/main/openapi/zoom-phone-call-logs-api-openapi.yml