RingCentral Call Log API

The Call Log API from RingCentral — 8 operation(s) for call log.

Operations 9

GET /restapi/v1.0/account/{accountId}/call-log List Company Call Records #
GET /restapi/v1.0/account/{accountId}/call-log/{callRecordId} Get Company Call Record(s) #
GET /restapi/v1.0/account/{accountId}/call-log-sync Sync Company Call Log #
GET /restapi/v1.0/account/{accountId}/active-calls List Company Active Calls #
GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log List User Call Records #
DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log Delete User Call Records #
GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log/{callRecordId} Get User Call Record(s) #
GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log-sync Sync User Call Log #
GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/active-calls List User Active Calls #

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/ringcentral-call-log-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ringcentral-call-log-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: RingCentral Adaptive Cards Call Log API
  description: RingCentral API specification
  version: 1.0.58-20240529-47eda8bd
  contact:
    name: RingCentral Developers Support
    url: https://developers.ringcentral.com/support
  termsOfService: https://www.ringcentral.com/legal/apilitos.html
  license:
    name: RingCentral API License Agreement
    url: https://www.ringcentral.com/legal/apilitos.html
servers:
- url: https://platform.ringcentral.com
  description: Production API entry point
- url: https://media.ringcentral.com
  description: Production Media entry point
- url: https://platform.devtest.ringcentral.com
  description: Developer sandbox API entry point
- url: https://platform.devtest.ringcentral.com
  description: Developer sandbox Media entry point
security:
- OAuth2: []
tags:
- name: Call Log
paths:
  /restapi/v1.0/account/{accountId}/call-log:
    get:
      tags:
      - Call Log
      summary: List Company Call Records
      description: Returns call log records filtered by parameters specified.
      operationId: readCompanyCallLog
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/CallLogExtensionNumber'
      - $ref: '#/components/parameters/CallLogPhoneNumber'
      - $ref: '#/components/parameters/CallDirection'
      - $ref: '#/components/parameters/CallType'
      - $ref: '#/components/parameters/CallLogView'
      - $ref: '#/components/parameters/CallLogWithRecording'
      - $ref: '#/components/parameters/CallRecordingType'
      - $ref: '#/components/parameters/CallLogDateFrom'
      - $ref: '#/components/parameters/CallLogDateTo'
      - $ref: '#/components/parameters/CallLogSessionId'
      - $ref: '#/components/parameters/CallLogTelephonySessionId'
      - name: page
        in: query
        description: Indicates the page number to retrieve. Only positive number values are accepted
        schema:
          type: integer
          format: int32
          minimum: 1
          default: 1
      - name: perPage
        in: query
        description: Indicates the page size (number of items)
        schema:
          type: integer
          format: int32
          minimum: 1
          default: 100
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallLogResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceNotAvailable'
      x-feature: ReadAccountCallLog
      x-availability: High
      x-throttling-group: Heavy
      x-app-permission: ReadCallLog
      x-user-permission: FullCompanyCallLog
  /restapi/v1.0/account/{accountId}/call-log/{callRecordId}:
    get:
      tags:
      - Call Log
      summary: Get Company Call Record(s)
      description: Returns individual call log record(s) by ID. Batch syntax is supported.
      operationId: readCompanyCallRecord
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/CallRecordId'
      - $ref: '#/components/parameters/CallLogView'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallLogRecord'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceNotAvailable'
      x-feature: ReadAccountCallLog
      x-availability: High
      x-throttling-group: Heavy
      x-app-permission: ReadCallLog
      x-user-permission: FullCompanyCallLog
  /restapi/v1.0/account/{accountId}/call-log-sync:
    get:
      tags:
      - Call Log
      summary: Sync Company Call Log
      description: Synchronizes company call log records.
      operationId: syncAccountCallLog
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/CallLogSyncType'
      - name: syncToken
        in: query
        description: Value of syncToken property of last sync request response. Mandatory parameter for 'ISync' sync type
        schema:
          type: string
      - name: dateFrom
        in: query
        description: The start datetime for resulting records in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is the current moment
        schema:
          type: string
          format: date-time
      - name: recordCount
        in: query
        description: 'For `FSync` mode this parameter is mandatory, it limits the number of records to be returned in response.


          For `ISync` mode this parameter specifies the number of records to extend the sync frame with to the past

          (the maximum number of records is 250)

          '
        schema:
          type: integer
          format: int32
          minimum: 1
      - $ref: '#/components/parameters/CallLogStatusGroup'
      - $ref: '#/components/parameters/CallLogView'
      - name: showDeleted
        in: query
        description: Supported for `ISync` mode. Indicates that deleted call records should be returned
        schema:
          type: boolean
          default: false
      - $ref: '#/components/parameters/CallLogWithRecording'
      - $ref: '#/components/parameters/CallRecordingType'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallLogSyncResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceNotAvailable'
      x-feature: ReadAccountCallLog
      x-availability: High
      x-throttling-group: Heavy
      x-app-permission: ReadCallLog
      x-user-permission: ReadCallLog
  /restapi/v1.0/account/{accountId}/active-calls:
    get:
      tags:
      - Call Log
      summary: List Company Active Calls
      description: Returns records of all calls that are in progress, ordered by start time in descending order.
      operationId: listCompanyActiveCalls
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/CallDirection'
      - $ref: '#/components/parameters/CallLogView'
      - $ref: '#/components/parameters/CallType'
      - $ref: '#/components/parameters/CallTransportType'
      - $ref: '#/components/parameters/ConferenceCallType'
      - name: page
        in: query
        description: Indicates the page number to retrieve. Only positive number values are accepted
        schema:
          type: integer
          format: int32
          default: 1
          minimum: 1
      - name: perPage
        in: query
        description: Indicates the page size (number of items)
        schema:
          type: integer
          format: int32
          default: 100
          minimum: 1
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallLogResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceNotAvailable'
      x-feature: EditAccountCallLog
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: ReadCallLog
      x-user-permission: ReadCallLog
  /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log:
    get:
      tags:
      - Call Log
      summary: List User Call Records
      description: Returns call log records filtered by parameters specified.
      operationId: readUserCallLog
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - $ref: '#/components/parameters/CallLogExtensionNumber'
      - $ref: '#/components/parameters/CallLogPhoneNumber'
      - $ref: '#/components/parameters/CallLogShowBlocked'
      - $ref: '#/components/parameters/CallDirection'
      - $ref: '#/components/parameters/CallLogSessionId'
      - $ref: '#/components/parameters/CallType'
      - $ref: '#/components/parameters/CallTransportType'
      - $ref: '#/components/parameters/CallLogView'
      - $ref: '#/components/parameters/CallLogWithRecording'
      - $ref: '#/components/parameters/CallRecordingType'
      - $ref: '#/components/parameters/CallLogDateTo'
      - $ref: '#/components/parameters/CallLogDateFrom'
      - $ref: '#/components/parameters/CallLogTelephonySessionId'
      - name: page
        in: query
        description: Indicates the page number to retrieve. Only positive number values are allowed
        schema:
          type: integer
          format: int32
          minimum: 1
          default: 1
      - name: perPage
        in: query
        description: 'Indicates the page size (number of items). The default value is 100.

          The maximum value for `Simple` view is 1000, for `Detailed` view - 250

          '
        schema:
          type: integer
          format: int32
          minimum: 1
          default: 100
      - name: showDeleted
        in: query
        description: Indicates that deleted calls records should be returned
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallLogResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceNotAvailable'
      x-feature: ReadExtensionCallLog
      x-availability: High
      x-throttling-group: Heavy
      x-app-permission: ReadCallLog
      x-user-permission: ReadCallLog
    delete:
      tags:
      - Call Log
      summary: Delete User Call Records
      description: Deletes filtered call log records.
      operationId: deleteUserCallLog
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - name: dateTo
        in: query
        description: 'The time boundary to delete all older records in ISO 8601 format including

          timezone, for example *2016-03-10T18:07:52.534Z*. The default value is current time

          '
        schema:
          type: string
          format: date-time
      responses:
        '204':
          description: Successful response
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceNotAvailable'
      x-feature: EditExtensionCallLog
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: EditCallLog
      x-user-permission: EditCallLog
  /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log/{callRecordId}:
    get:
      tags:
      - Call Log
      summary: Get User Call Record(s)
      description: Returns call log records by ID.
      operationId: readUserCallRecord
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - $ref: '#/components/parameters/CallRecordId'
      - $ref: '#/components/parameters/CallLogView'
      responses:
        '200':
          description: Call Log Record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallLogRecord'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceNotAvailable'
      x-feature: ReadExtensionCallLog
      x-availability: High
      x-throttling-group: Heavy
      x-app-permission: ReadCallLog
      x-user-permission: ReadCallLog
  /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log-sync:
    get:
      tags:
      - Call Log
      summary: Sync User Call Log
      description: Synchronizes the user call log records.
      operationId: syncUserCallLog
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - $ref: '#/components/parameters/CallLogSyncType'
      - name: syncToken
        in: query
        description: A `syncToken` value from the previous sync response (for `ISync` mode only, mandatory)
        schema:
          type: string
      - name: dateFrom
        in: query
        description: 'The start datetime for resulting records in ISO 8601 format including

          timezone, for example 2016-03-10T18:07:52.534Z. The default value is the

          current moment

          '
        schema:
          type: string
          format: date-time
      - name: recordCount
        in: query
        description: 'For `FSync` mode this parameter is mandatory, it limits the number of records to be returned in response.


          For `ISync` mode this parameter specifies the number of records to extend the sync frame with to the past

          (the maximum number of records is 250)

          '
        schema:
          type: integer
          format: int32
      - $ref: '#/components/parameters/CallLogStatusGroup'
      - $ref: '#/components/parameters/CallLogView'
      - name: showDeleted
        in: query
        description: Supported for `ISync` mode. Indicates that deleted call records should be returned
        schema:
          type: boolean
          default: false
      - $ref: '#/components/parameters/CallLogWithRecording'
      - $ref: '#/components/parameters/CallRecordingType'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallLogSyncResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceNotAvailable'
      x-feature: ReadExtensionCallLog
      x-availability: High
      x-throttling-group: Heavy
      x-app-permission: ReadCallLog
      x-user-permission: ReadCallLog
  /restapi/v1.0/account/{accountId}/extension/{extensionId}/active-calls:
    get:
      tags:
      - Call Log
      summary: List User Active Calls
      description: 'Returns records of all extension calls that are in progress, ordered

        by start time in descending order.

        '
      operationId: listExtensionActiveCalls
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ExtensionId'
      - $ref: '#/components/parameters/CallDirection'
      - $ref: '#/components/parameters/CallLogView'
      - $ref: '#/components/parameters/CallType'
      - $ref: '#/components/parameters/CallTransportType'
      - $ref: '#/components/parameters/ConferenceCallType'
      - name: page
        in: query
        description: Indicates the page number to retrieve. Only positive number values are allowed
        schema:
          type: integer
          format: int32
          default: 1
      - name: perPage
        in: query
        description: Indicates the page size (number of items)
        schema:
          type: integer
          format: int32
          default: 100
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallLogResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceNotAvailable'
      x-feature: ReadExtensionCallLog
      x-availability: Limited
      x-throttling-group: Heavy
      x-app-permission: ReadCallLog
      x-user-permission: ReadCallLog
components:
  schemas:
    CallLogRecordingInfo:
      type: object
      required:
      - id
      - uri
      - type
      - contentUri
      properties:
        id:
          type: string
          description: Internal identifier of the call recording
        uri:
          type: string
          format: uri
          description: Link to the call recording metadata resource
        type:
          type: string
          description: Indicates recording mode used
          enum:
          - Automatic
          - OnDemand
        contentUri:
          type: string
          format: uri
          description: 'Link to a call recording binary content. Has to be retrieved with proper authorization

            (access token must be passed via `Authorization` header or query parameter)

            '
      description: Call recording data. Returned if the call was recorded
    CallTypeEnum:
      type: string
      description: The type of call
      enum:
      - Voice
      - Fax
    CallLogResponse:
      required:
      - navigation
      - paging
      - records
      type: object
      properties:
        uri:
          type: string
          format: uri
          description: Link to the list of company/user call log records
        records:
          type: array
          description: List of call log records
          items:
            $ref: '#/components/schemas/CallLogRecord'
        navigation:
          $ref: '#/components/schemas/PageNavigationModel'
        paging:
          $ref: '#/components/schemas/EnumeratedPagingModel'
    CallLogSyncTypeEnum:
      type: string
      description: 'Type of call log synchronization request: full or incremental sync'
      enum:
      - FSync
      - ISync
    CallResultEnum:
      type: string
      description: The result of the call operation
      enum:
      - '911'
      - '933'
      - Abandoned
      - Accepted
      - Answered Not Accepted
      - Blocked
      - Busy
      - Call Failed
      - Call Failure
      - Call connected
      - Carrier is not active
      - Declined
      - EDGE trunk misconfigured
      - Fax Not Sent
      - Fax Partially Sent
      - Fax Poor Line
      - Fax Receipt Error
      - Fax on Demand
      - Hang Up
      - IP Phone Offline
      - In Progress
      - Internal Error
      - International Disabled
      - International Restricted
      - Missed
      - No Answer
      - No Calling Credit
      - Not Allowed
      - Partial Receive
      - Phone Login
      - Receive Error
      - Received
      - Rejected
      - Reply
      - Restricted Number
      - Send Error
      - Sent
      - Sent to Voicemail
      - Stopped
      - Suspended account
      - Unknown
      - Voicemail
      - Wrong Number
    CallResultReasonEnum:
      type: string
      description: "The reason of the call result:\n  * `Accepted` - The call was connected to and accepted by this number\n  * `Connected` - The call was answered, but there was no response on how to handle the call (for example, a voice mail system answered the call and did not push \"1\" to accept)\n  * `Line Busy` - The phone number you dialed was busy\n  * `Not Answered` - The phone number you dialed was not answered\n  * `No Answer` - You did not answer the call\n  * `Hang Up` - The caller hung up before the call was answered\n  * `Stopped` - This attempt was stopped because the call was answered by another phone\n  * `Internal Error` - An internal error occurred when making the call. Please try again\n  * `No Credit` - There was not enough Calling Credit on your account to make this call\n  * `Restricted Number` - The number you dialed is restricted by RingCentral\n  * `Wrong Number` - The number you dialed has either been disconnected or is not a valid phone number. Please check the number and try again\n  * `International Disabled` - International calling is not enabled on your account. Contact customer service to activate International Calling\n  * `International Restricted` - The country and/or area you attempted to call has been prohibited by your administrator\n  * `Bad Number` - An error occurred when making the call. Please check the number before trying again\n  * `Info 411 Restricted` - Calling to 411 Information Services is restricted\n  * `Customer 611 Restricted` - 611 customer service is not supported. Please contact customer service at <(888) 555-1212>\n  * `No Digital Line` - This DigitalLine was either not plugged in or did not have an internet connection\n  * `Failed Try Again` - Call failed. Please try again\n  * `Max Call Limit` - The number of simultaneous calls to your account has reached its limit\n  * `Too Many Calls` - The number of simultaneous calls for per DigitalLine associated with Other Phone has reached its limit. Please contact customer service\n  * `Calls Not Accepted` - Your account was not accepting calls at this time\n  * `Number Not Allowed` - The number that was dialed to access your account is not allowed\n  * `Number Blocked` - This number is in your Blocked Numbers list\n  * `Number Disabled` - The phone number and/or area you attempted to call has been prohibited by your administrator\n  * `Resource Error` - An error occurred when making the call. Please try again\n  * `Call Loop` - A call loop occurred due to an incorrect call forwarding configuration. Please check that you are not forwarding calls back to your own account\n  * `Fax Not Received` - An incoming fax could not be received because a proper connection with the sender's fax machine could not be established\n  * `Fax Partially Sent` - The fax was only partially sent. Possible explanations include phone line quality to poor to maintain the connection or the call was dropped\n  * `Fax Not Sent` - An attempt to send the fax was made, but could not connect with the receiving fax machine\n  * `Fax Poor Line` - An attempt to send the fax was made, but the phone line quality was too poor to send the fax\n  * `Fax Prepare Error` - An internal error occurred when preparing the fax. Please try again\n  * `Fax Save Error` - An internal error occurred when saving the fax. Please try again\n  * `Fax Send Error` - An error occurred when sending the fax. Please try again\n  * `Emergency Address not defined` - The call was rejected due to no E911 address\n  * `Carrier is not active` - The call was rejected due to carrier inactivity\n  * `EDGE trunk misconfigured` - The call was rejected due to error in EDGE trunk configuration\n  * `Internal Call Error` - An internal error occurred when making the call. Please try again\n  * `Receive Error` - Fax receive error\n"
      enum:
      - Accepted
      - Bad Number
      - Call Loop
      - Calls Not Accepted
      - Carrier is not active
      - Connected
      - Customer 611 Restricted
      - EDGE trunk misconfigured
      - Emergency Address not defined
      - Failed Try Again
      - Fax Not Received
      - Fax Not Sent
      - Fax Partially Sent
      - Fax Poor Line
      - Fax Prepare Error
      - Fax Save Error
      - Fax Send Error
      - Hang Up
      - Info 411 Restricted
      - Internal Call Error
      - Internal Error
      - International Disabled
      - International Restricted
      - Line Busy
      - Max Call Limit
      - No Answer
      - No Credit
      - No Digital Line
      - Not Answered
      - Number Blocked
      - Number Disabled
      - Number Not Allowed
      - Receive Error
      - Resource Error
      - Restricted Number
      - Stopped
      - Too Many Calls
      - Unknown
      - Wrong Number
    CallLogSyncInfo:
      type: object
      required:
      - syncTime
      - syncToken
      - syncType
      properties:
        syncType:
          $ref: '#/components/schemas/CallLogSyncTypeEnum'
        syncToken:
          type: string
          description: Synchronization token
        syncTime:
          type: string
          format: date-time
          description: Time of the last synchronization in (ISO 8601)[https://en.wikipedia.org/wiki/ISO_8601] format including timezone, for example *2016-03-10T18:07:52.534Z*
    CallLogToParty:
      allOf:
      - $ref: '#/components/schemas/CallLogParty'
      - $ref: '#/components/schemas/BaseCallLogToParty'
    CallLogDelegateInfo:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          description: Internal identifier of a Secretary extension
        name:
          type: string
          description: Custom name of a Secretary extension
      description: Information on a delegate extension that actually implemented a call action. For Secretary call log the field is returned if the current extension implemented a call. For Boss call log the field contains information on a Secretary extension which actually implemented a call on behalf of the current extension
    CallDirectionEnum:
      description: The direction of a call
      type: string
      enum:
      - Inbound
      - Outbound
    ParameterizedErrorResponseModel:
      type: object
      description: Standard error response which may include parameterized errors
      required:
      - errors
      properties:
        errors:
          type: array
          description: The array of errors (there will be just one in the most of the cases)
          minItems: 1
          items:
            $ref: '#/components/schemas/ApiErrorWithParameter'
    CallLogParty:
      allOf:
      - $ref: '#/components/schemas/BaseCallLogParty'
      - type: object
        properties:
          location:
            type: string
            description: Contains party location (city, state) if one can be determined from phoneNumber. This property is filled only when phoneNumber is not empty and server can calculate location information from it (for example, this information is unavailable for US toll-free numbers)
          device:
            $ref: '#/components/schemas/CallLogRecordDeviceInfo'
        description: Base schema for CallLogFromParty and CallLogToParty
    BillingInfo:
      type: object
      properties:
        costIncluded:
          type: number
          format: double
          description: 'Cost per minute, paid and already included in your RingCentral service plan.

            For example International Calls

            '
        costPurchased:
          type: number
          format: double
          description: Cost per minute, paid and not included in your RingCentral service plan
      description: Billing information related to the call. Returned for 'Detailed' view only
    BaseCallLogParty:
      type: object
      properties:
        phoneNumber:
          type: string
          description: Phone number of a party. Usually it is a plain number including country and area code like 18661234567. But sometimes it could be returned from database with some formatting applied, for example (866)123-4567. This property is filled in all cases where parties communicate by means of global phone numbers, for example when calling to direct numbers or sending/receiving SMS
        extensionNumber:
          type: string
          description: Extension short number (usually 3 or 4 digits). This property is filled when parties communicate by means of short internal numbers, for example when calling to other extension or sending/receiving Company Pager message
        extensionId:
          type: string
          description: Internal identifier of an extension
        name:
          type: string
          description: Symbolic name associated with a party. If the phone does not belong to the known extension, only the location is returned, the name is not determined then
      description: Base schema for call log parties and history call log parties
    PageNavigationUri:
      type: object
      additionalProperties: false
      properties:
        uri:
          type: string
          description: Canonical URI to retrieve the particular page of the result set
          format: uri
    BaseCallLogRecord:
      description: Base schema for CallLogRecord and CallLogRecordLegInfo
      type: object
      required:
      - type
      - direction
      - action
      - startTime
      - duration
      - durationMs
      properties:
        extension:
          $ref: '#/components/schemas/ExtensionInfoCallLog'
        telephonySessionId:
          type: string
          description: Telephony identifier of a call session
        sipUuidInfo:
          type: string
          description: Call session identifier, required for Telephony REST API
        transferTarget:
          type: object
          properties:
            telephonySessionId:
              type: string
              description: Internal Identifier of Telephony Session, which belongs to transfer target in case of Warm Transfer
        transferee:
          type: object
          properties:
            telephonySessionId:
              type: string
              description: Internal Identifier of Telephony Session, which belongs to transferee in case of Warm Transfer
        partyId:
          type: string
          description: Internal Identifier of Participant
        transport:
          $ref: '#/components/schemas/CallTransportEnum'
        from:
          $ref: '#/components/schemas/CallLogFromParty'
        to:
          $ref: '#/components/schemas/CallLogToParty'
        type:
          $ref: '#/components/schemas/CallTypeEnum'
        direction:
          $ref: '#/components/schemas/CallDirectionEnum'
        message:
          $ref: '#/components/schemas/CallLogRecordMessage'
        delegate:
          $ref: '#/components/schemas/CallLogDelegateInfo'
        delegationType:
          $ref: '#/components/schemas/DelegationTypeEnum'
        action:
          $ref: '#/components/schemas/CallActionEnum'
        result:
          $ref: '#/components/schemas/CallResultEnum'
        reason:
          $ref: '#/components/schemas/CallResultReasonEnum'
        reasonDescription:
          type: string
          description: The detailed reason description of the call result
        startTime:
          type: string
          description: The call start datetime in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z
          format: date-time
        duration:
          type: integer
          format: int32
          description: Call duration in seconds
        durationMs:
          type: integer
          format: int32
          description: Call duration in milliseconds
        recording:
          $ref: '#/components/schemas/CallLogRecordingInfo'
        shortRecording:
          type: boolean
          description: Indicates that the recording is too short and therefore wouldn't be returned. The flag is not returned if the value is false
        billing:
          $ref: '#/components/schemas/BillingInfo'
        internalType:
          $ref: '#/components/schemas/CallInternalTypeEnum'
    CallLegTypeEnum:
      type: string
      description: Leg type

# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ringcentral/refs/heads/main/openapi/ringcentral-call-log-api-openapi.yml