RingCentral Business Analytics API

The Business Analytics API from RingCentral — 2 operation(s) for business analytics.

Operations 2

POST /analytics/calls/v1/accounts/{accountId}/aggregation/fetch Calls Aggregation Data #
POST /analytics/calls/v1/accounts/{accountId}/timeline/fetch Calls Timeline Data #

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-business-analytics-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-business-analytics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: RingCentral Adaptive Cards Business Analytics 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: Business Analytics
paths:
  /analytics/calls/v1/accounts/{accountId}/aggregation/fetch:
    post:
      tags:
      - Business Analytics
      summary: Calls Aggregation Data
      description: Returns call aggregations filtered by parameters specified
      operationId: analyticsCallsAggregationFetch
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: page
        in: query
        description: The current page number (positive numbers only)
        required: false
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: perPage
        in: query
        description: Number of records displayed on a page (positive numbers only, max value of 200)
        required: false
        schema:
          type: integer
          format: int32
          minimum: 1
          maximum: 200
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AggregationRequest'
        required: true
      responses:
        '200':
          description: Calls Aggregation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AggregationResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalError'
      x-throttling-group: Light
      x-app-permission: Analytics
  /analytics/calls/v1/accounts/{accountId}/timeline/fetch:
    post:
      tags:
      - Business Analytics
      summary: Calls Timeline Data
      description: Returns time-value data aggregations filtered by parameters specified
      operationId: analyticsCallsTimelineFetch
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: interval
        in: query
        description: Aggregation interval
        required: true
        schema:
          $ref: '#/components/schemas/Interval'
      - name: page
        in: query
        description: The current page number (positive numbers only)
        required: false
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: perPage
        in: query
        description: Number of records displayed on a page (positive numbers only, max value of 20)
        required: false
        schema:
          type: integer
          format: int32
          minimum: 1
          maximum: 20
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TimelineRequest'
        required: true
      responses:
        '200':
          description: Calls Timeline
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimelineResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalError'
      x-throttling-group: Light
      x-app-permission: Analytics
components:
  schemas:
    TimelineResponseOptionsTimers:
      type: object
      properties:
        allCallsDuration:
          type: boolean
          description: Include data for all calls duration
        callsDurationByDirection:
          type: boolean
          description: Include breakdown of calls duration by direction (Inbound, Outbound)
        callsDurationByOrigin:
          type: boolean
          description: Include breakdown of calls duration by origin (Internal, External)
        callsDurationByResponse:
          type: boolean
          description: Include breakdown of calls duration by response (Answered, NotAnswered, Connected, NotConnected)
        callsSegmentsDuration:
          type: boolean
          description: Include breakdown of calls duration by segments (Ringing, LiveTalk, Hold, Park, Transfer, IvrPrompt, Voicemail, VmGreeting, Setup)
        callsDurationByResult:
          type: boolean
          description: Include breakdown of calls duration by result (Completed, Abandoned, Voicemail, Unknown, Missed, Accepted)
        callsDurationByCompanyHours:
          type: boolean
          description: Include breakdown of calls duration by company hours (BusinessHours, AfterHours)
        callsDurationByQueueSla:
          type: boolean
          description: Include breakdown of calls duration by queue SLA (InSLA, OutSLA). This timer is only applicable to Queues grouping
        callsDurationByType:
          type: boolean
          description: Include breakdown of calls duration by type (Direct, FromQueue, ParkRetrieval, Transferred, Outbound)
      description: Options for selecting breakdown for calls duration
    TimeSpentFilter:
      type: object
      properties:
        minSeconds:
          type: integer
          description: Minimum duration in seconds
          format: int64
        maxSeconds:
          type: integer
          description: Maximum duration in seconds
          format: int64
      description: Filtering of calls based on the time spent by specified mailbox(es) on call
    MembersGroupingOptions:
      type: string
      description: The selected data scope
      enum:
      - Department
      - UserGroup
      - Queue
      - Site
    CallsBySegments:
      required:
      - valueType
      - values
      type: object
      properties:
        valueType:
          $ref: '#/components/schemas/ValueType'
        values:
          $ref: '#/components/schemas/CallsBySegmentsBreakdown'
      description: Data for calls with breakdown by segments (Ringing, LiveTalk, Hold, Park, Transfer, IvrPrompt, Voicemail, VmGreeting, Setup)
    AggregationResponse:
      required:
      - paging
      - data
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/ResponsePaging'
        data:
          $ref: '#/components/schemas/AggregationResponseData'
    AllCalls:
      required:
      - valueType
      - values
      type: object
      properties:
        valueType:
          $ref: '#/components/schemas/ValueType'
        values:
          type: number
          description: Value for all calls
          format: double
      description: Data for all calls
    CallsByDirection:
      required:
      - valueType
      - values
      type: object
      properties:
        valueType:
          $ref: '#/components/schemas/ValueType'
        values:
          $ref: '#/components/schemas/CallsByDirectionBreakdown'
      description: Data for calls with breakdown by direction (Inbound, Outbound)
    CallAction:
      type: string
      enum:
      - HoldOff
      - HoldOn
      - ParkOn
      - ParkOff
      - BlindTransfer
      - WarmTransfer
      - DTMFTransfer
    AggregationInterval:
      type: string
      description: Time interval which will be used for aggregation. Can be `Hour`, `Day`, `Week` or `Month`
      enum:
      - Hour
      - Day
      - Week
      - Month
    ValueType:
      type: string
      description: Unit of the result value
      enum:
      - Percent
      - Seconds
      - Instances
    CallsByCompanyHoursBreakdown:
      required:
      - businessHours
      - afterHours
      type: object
      properties:
        businessHours:
          type: number
          description: Value for BusinessHours company hours
          format: double
        afterHours:
          type: number
          description: Value for AfterHours company hours
          format: double
      description: Result breakdown by company hours
    CallResponse:
      type: string
      enum:
      - Answered
      - NotAnswered
      - Connected
      - NotConnected
    CallsByType:
      required:
      - valueType
      - values
      type: object
      properties:
        valueType:
          $ref: '#/components/schemas/ValueType'
        values:
          $ref: '#/components/schemas/CallsByTypeBreakdown'
      description: Data for calls with breakdown by type (Direct, FromQueue, ParkRetrieval, Transferred, Outbound, Overflow)
    CallsCounters:
      type: object
      properties:
        allCalls:
          $ref: '#/components/schemas/AllCalls'
        callsByDirection:
          $ref: '#/components/schemas/CallsByDirection'
        callsByOrigin:
          $ref: '#/components/schemas/CallsByOrigin'
        callsByResponse:
          $ref: '#/components/schemas/CallsByResponse'
        callsSegments:
          $ref: '#/components/schemas/CallsBySegments'
        callsByResult:
          $ref: '#/components/schemas/CallsByResult'
        callsActions:
          $ref: '#/components/schemas/CallsByActions'
        callsByCompanyHours:
          $ref: '#/components/schemas/CallsByCompanyHours'
        callsByQueueSla:
          $ref: '#/components/schemas/CallsByQueueSla'
        callsByType:
          $ref: '#/components/schemas/CallsByType'
        queueOpportunities:
          $ref: '#/components/schemas/QueueOpportunities'
      description: Call volume data for the specified grouping
    TimelineResponse:
      required:
      - paging
      - data
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/ResponsePaging'
        data:
          $ref: '#/components/schemas/TimelineResponseData'
    AdvancedTimeSettings:
      type: object
      properties:
        includeDays:
          type: array
          items:
            $ref: '#/components/schemas/DayOfWeek'
          description: Days of the week for which the report is calculated
        includeHours:
          type: array
          items:
            $ref: '#/components/schemas/HoursInterval'
          description: Hours of the day for which the report is calculated
      description: Allows more granular control over time included in the report
    DirectGrouping:
      required:
      - groupBy
      type: object
      properties:
        groupBy:
          $ref: '#/components/schemas/GroupingOptions'
        keys:
          type: array
          items:
            type: string
          description: This field can be used to specify unique identifiers of entities selected in `groupBy` field. The response data will be limited to these entities only
      description: This grouping allows to specify the `groupBy` option by which the data in the response will be grouped
    CallsByTypeBreakdown:
      required:
      - direct
      - fromQueue
      - parkRetrieval
      - transferred
      - outbound
      - overflow
      type: object
      properties:
        direct:
          type: number
          description: Value for Direct type
          format: double
        fromQueue:
          type: number
          description: Value for FromQueue type
          format: double
        parkRetrieval:
          type: number
          description: Value for ParkRetrieval type
          format: double
        transferred:
          type: number
          description: Value for Transferred type
          format: double
        outbound:
          type: number
          description: Value for Outbound type
          format: double
        overflow:
          type: number
          description: Value for Overflow type
          format: double
      description: Result breakdown by type
    AggregationType:
      type: string
      description: Counter aggregation type. Can be `Sum`, `Average`, `Min`, `Max` or `Percent`
      enum:
      - Sum
      - Average
      - Max
      - Min
      - Percent
    CallSegmentOptions:
      type: string
      description: Call segment for filtering
      enum:
      - Ringing
      - LiveTalk
      - Hold
      - Park
      - Transfer
      - IvrPrompt
      - Voicemail
      - VmGreeting
      - Setup
    CallsBySegmentsBreakdown:
      required:
      - ringing
      - liveTalk
      - hold
      - park
      - transfer
      - ivrPrompt
      - voicemail
      - vmGreeting
      - setup
      type: object
      properties:
        ringing:
          type: number
          description: Value for Ringing segment
          format: double
        liveTalk:
          type: number
          description: Value for LiveTalk segment
          format: double
        hold:
          type: number
          description: Value for Hold segment
          format: double
        park:
          type: number
          description: Value for Park segment
          format: double
        transfer:
          type: number
          description: Value for Transfer segment
          format: double
        ivrPrompt:
          type: number
          description: Value for IVRPrompt segment
          format: double
        voicemail:
          type: number
          description: Value for Voicemail segment
          format: double
        vmGreeting:
          type: number
          description: Value for VMGreeting segment
          format: double
        setup:
          type: number
          description: Value for Setup segment
          format: double
      description: Result breakdown by segments
    CompanyHoursOptions:
      type: string
      enum:
      - BusinessHours
      - AfterHours
    CallsByOrigin:
      required:
      - valueType
      - values
      type: object
      properties:
        valueType:
          $ref: '#/components/schemas/ValueType'
        values:
          $ref: '#/components/schemas/CallsByOriginBreakdown'
      description: Data for calls with breakdown by origin (Internal, External)
    CallsByResult:
      required:
      - valueType
      - values
      type: object
      properties:
        valueType:
          $ref: '#/components/schemas/ValueType'
        values:
          $ref: '#/components/schemas/CallsByResultBreakdown'
      description: Data for calls with breakdown by result (Completed, Abandoned, Voicemail, Unknown, Missed, Accepted)
    ApiError:
      type: object
      description: Generalized API error structure suitable for any error type
      required:
      - errorCode
      - message
      properties:
        errorCode:
          type: string
          description: Logical error code (typically, 3 letters followed with number, dash separated)
          example: XXX-123
        message:
          type: string
          description: User-friendly error message
          example: Something went wrong
      additionalProperties: true
    Grouping:
      description: This field specifies the dimensions by which the response should be grouped and specific keys to narrow the response. See also [Call Aggregate reports](https://developers.ringcentral.com/guide/analytics/aggregate) or [Call Timeline reports](https://developers.ringcentral.com/guide/analytics/timeline) pages in the developer guide for more information
      oneOf:
      - $ref: '#/components/schemas/DirectGrouping'
      - $ref: '#/components/schemas/GroupingByMembers'
    Interval:
      type: string
      enum:
      - Hour
      - Day
      - Week
      - Month
    KeyInfo:
      type: object
      properties:
        extensionNumber:
          type: string
          description: Extension's number
        name:
          type: string
          description: Extension's name
      description: Additional info about the key
    Origin:
      type: string
      enum:
      - Internal
      - External
    QueueSlaOptions:
      type: string
      enum:
      - InSla
      - OutSla
    ApiErrorResponseModel:
      type: object
      description: Standard error response model which is returned in case of any unsuccessful operation
      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/ApiError'
    TimelineResponsePoint:
      required:
      - time
      type: object
      properties:
        time:
          type: string
          description: Time point in RFC 3339 format
          format: date-time
        timers:
          $ref: '#/components/schemas/CallsTimers'
        counters:
          $ref: '#/components/schemas/CallsCounters'
    ExtensionFilters:
      type: object
      properties:
        fromIds:
          type: array
          items:
            type: string
          description: List of extension ids to match against incoming calls, joined via OR condition. Only applicable for `groupByMembers` options and Users, IVRs, SharedLines and Queues in `groupBy`
        toIds:
          type: array
          items:
            type: string
          description: List of extension ids to match against outgoing calls, joined via OR condition. Limited to the extension id that first accepted the call. Only applicable for `groupByMembers` options and Users, IVRs and SharedLines in `groupBy`
      description: Specifies filtering based on extension ids
    TimelineResponseOptionsCounters:
      type: object
      properties:
        allCalls:
          type: boolean
          description: Include data for total calls count
        callsByDirection:
          type: boolean
          description: Include breakdown of calls count by direction (Inbound, Outbound)
        callsByOrigin:
          type: boolean
          description: Include breakdown of calls count by origin (Internal, External)
        callsByResponse:
          type: boolean
          description: Include breakdown of calls count by response (Answered, NotAnswered, Connected, NotConnected)
        callsSegments:
          type: boolean
          description: Include breakdown of calls count by segments (Ringing, LiveTalk, Hold, Park, Transfer, IvrPrompt, Voicemail, VmGreeting, Setup)
        callsByResult:
          type: boolean
          description: Include breakdown of calls count by result (Completed, Abandoned, Voicemail, Unknown, Missed, Accepted)
        callsByCompanyHours:
          type: boolean
          description: Include breakdown of calls count by company hours (BusinessHours, AfterHours)
        callsByQueueSla:
          type: boolean
          description: Include breakdown of calls count by queue SLA (InSLA, OutSLA). This counter is only applicable to Queues grouping
        callsByActions:
          type: boolean
          description: Include breakdown of calls count by action (HoldOff, HoldOn, ParkOn, ParkOff, BlindTransfer, WarmTransfer, DTMFTransfer)
        callsByType:
          type: boolean
          description: Include breakdown of calls count by type (Direct, FromQueue, ParkRetrieval, Transferred, Outbound)
        queueOpportunities:
          type: boolean
          description: 'Include breakdown of calls count by the total number of times a Queue call was presented to the user. It is limited to `groupBy` Users and `groupByMembers` (Department, Queue, Site, UserGroup) grouping. Only the listed below options for call filters are applicable to `queueOpportunities` and provide meaningful results: `queues` (selected queue extension ids), `callResults` (Missed, Abandoned), `callResponses` (Answered, NotAnswered), `origins` (Internal, External)'
      description: Options for selecting breakdown for calls count
    CallsByActions:
      required:
      - valueType
      - values
      type: object
      properties:
        valueType:
          $ref: '#/components/schemas/ValueType'
        values:
          $ref: '#/components/schemas/CallsByActionsBreakdown'
      description: Data for calls with breakdown by action (HoldOff, HoldOn, ParkOn, ParkOff, BlindTransfer, WarmTransfer, DTMFTransfer)
    ApiErrorWithParameter:
      description: 'The error model with additional attributes which can be used for HTTP 400/409

        This is a deprecated model: "ApiError" model can be used instead with arbitrary additional parameters

        '
      allOf:
      - $ref: '#/components/schemas/ApiError'
      - type: object
        properties:
          parameterName:
            type: string
            description: The name of the API parameter/attribute which caused the error
          parameterValue:
            type: string
            description: The value of the API parameter/attribute which caused the error
    AggregationResponseRecord:
      required:
      - key
      type: object
      properties:
        key:
          type: string
          description: Grouping key
        info:
          $ref: '#/components/schemas/KeyInfo'
        timers:
          $ref: '#/components/schemas/CallsTimers'
        counters:
          $ref: '#/components/schemas/CallsCounters'
    GroupingOptions:
      type: string
      description: The selected grouping option
      enum:
      - Company
      - CompanyNumbers
      - Users
      - Queues
      - IVRs
      - SharedLines
      - UserGroups
      - Sites
      - Departments
    CallsByQueueSlaBreakdown:
      required:
      - inSla
      - outOfSla
      type: object
      properties:
        inSla:
          type: number
          description: Value for InSla queue SLA
          format: double
        outOfSla:
          type: number
          description: Value for OutSla queue SLA
          format: double
      description: Result breakdown by queue SLA
    CallsByResultBreakdown:
      required:
      - completed
      - abandoned
      - voicemail
      - missed
      - accepted
      - unknown
      type: object
      properties:
        completed:
          type: number
          description: Value for Completed result
          format: double
        abandoned:
          type: number
          description: Value for Abandoned result
          format: double
        voicemail:
          type: number
          description: Value for Voicemail result
          format: double
        missed:
          type: number
          description: Value for Missed result
          format: double
        accepted:
          type: number
          description: Value for Accepted result
          format: double
        unknown:
          type: number
          description: Value for Unknown result
          format: double
      description: Result breakdown by call result
    CallsByResponseBreakdown:
      required:
      - answered
      - notAnswered
      - connected
      - notConnected
      type: object
      properties:
        answered:
          type: number
          description: Value for Answered response
          format: double
        notAnswered:
          type: number
          description: Value for NotAnswered response
          format: double
        connected:
          type: number
          description: Value for Connected response
          format: double
        notConnected:
          type: number
          description: Value for NotConnected response
          format: double
      description: Result breakdown by response
    CallResult:
      type: string
      enum:
      - Completed
      - Abandoned
      - Voicemail
      - Unknown
      - Missed
      - Accepted
    AggregationResponseData:
      required:
      - groupedBy
      type: object
      properties:
        groupedBy:
          $ref: '#/components/schemas/GroupingOptions'
        records:
          type: array
          items:
            $ref: '#/components/schemas/AggregationResponseRecord'
          description: A list of call aggregations as per the grouping and filtering options specified in the request
      description: Aggregation result
    TimelineResponseOptions:
      type: object
      properties:
        counters:
          $ref: '#/components/schemas/TimelineResponseOptionsCounters'
        timers:
          $ref: '#/components/schemas/TimelineResponseOptionsTimers'
      description: Counters and timers options for calls breakdown
    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'
    Direction:
      type: string
      enum:
      - Inbound
      - Outbound
    AggregationRequest:
      required:
      - grouping
      - timeSettings
      - responseOptions
      type: object
      properties:
        grouping:
          $ref: '#/components/schemas/Grouping'
        timeSettings:
          $ref: '#/components/schemas/TimeSettings'
        callFilters:
          $ref: '#/components/schemas/CallFilters'
        responseOptions:
          $ref: '#/components/schemas/AggregationResponseOptions'
    TimeRange:
      required:
      - timeFrom
      - timeTo
      type: object
      properties:
        timeFrom:
          type: string
          description: The start date-time for resulting records in RFC 3339 format including offset between local time and UTC, for example 2016-03-15T18:07:52.534Z
          format: date-time
        timeTo:
          type: string
          description: The end date-time for resulting records in RFC 3339 format including offset between local time and UTC, for example 2016-03-15T18:07:52.534Z
          format: date-time
      description: Time range for the request
    QueueOpportunitiesAggregationType:
      type: string
      description: Counter aggregation type for queue opportunities, limited to `Sum` only.
      enum:
      - Sum
    TimelineRequest:
      required:
      - grouping
      - timeSettings
      - responseOptions
      type: object
      properties:
        grouping:
          $ref: '#/components/schemas/Grouping'
        timeSettings:
          $ref: '#/components/schemas/TimeSettings'
        callFilters:
          $ref: '#/components/schemas/CallFilters'
        responseOptions:
          $ref: '#/components/schemas/TimelineResponseOptions'
    CallsByResponse:
      required:
      - valueType
      - values
      type: object
      properties:
        valueType:
          $ref: '#/components/schemas/ValueType'
        values:
          $ref: '#/components/schemas/CallsByResponseBreakdown'
      description: Data for calls with breakdown by response (Answered, NotAnswered, Connected, NotConnected)
    DayOfWeek:
      type: string
      enum:
      - Sunday
      - Monday
      - Tuesday
      - Wednesday
      - Thursday
      - Friday
      - Saturday
    TimelineResponseRecord:
      required:
      - key
      type: object
      properties:
        key:
          type: string
          description: Grouping key
        info:
          $ref: '#/components/schemas/KeyInfo'
        points:
          type: array
          items:
            $ref: '#/components/schemas/TimelineResponsePoint'
          description: List of requested call data time-value points
    TimelineResponseData:
      required:
      - groupedBy
      type: object
      properties:
        groupedBy:
          $ref: '#/components/schemas/GroupingOptions'
        records:
          type: array
          items:
            $ref: '#/components/schemas/TimelineResponseRecord'
          description: List of call data as per the grouping and filtering options specified in the request
      description: A list of time-value points of call data as per the grouping and filtering options specified in the request
    QueueOpportunities:
      required:
      - valueType
      - values
      type: object
      properties:
        valueType:
          $ref: '#/components/schemas/ValueType'
        values:
          type: number
          description: Value for queue opportunities
          format: double
      description: Queue opportunities data for the specified grouping
    CallSegmentLengthFilter:
      type: object
      properties:
        minSeconds:
          type: integer
          description: Minimum duration of segment in seconds
          format: int64
        maxSeconds:
          type: integer
          description: Maximum duration of segment in seconds
          format: int64
      description: Duration bounds for the segment
    HoursInterval:
      required:
      - from
      - to
      type: object
      properties:
        from:
          type: string
          description: Time in format hh:mm
        to:
          type: string
          description: Time in format hh:mm
    CallsByCompanyHours:
      required:
      - valueType
      - values
      type: object
      properties:
        valueType:
          $ref: '#/components/schemas/ValueType'
        values:
          $ref: '#/components/schemas/CallsByCompanyHoursBreakdown'
      description: Data for calls with breakdown by company hours (BusinessHours, AfterHours)
    ResponsePaging:
      required:
      - page
      - perPage
      - totalPages
      - totalElements
      type: object
      properties:
        page:
          type: integer
          description: The current page number
          format: int64
        perPage:
          type: integer
          description: How many items are displayed on the page
          format: int64
        totalPages:
          type: integer
          description: The total number of pages
          format: int64
        totalElements:
          type: integer
          description: The total number of items in the dataset
          format: int64
      description: Paging information
    CallsByOriginBreakdown:
      required:
      - internal
      - external
      type: object
      properties:
        internal:
          type: number
          description: Value for Internal origin
          format: double
        external:
          type: number
          description: Value for External origin
          format: double
      description: Result breakdown by origin
    AggregationResponseOptionsCounters:
      type: object
      properties:
        allCalls:
          required:
          - aggregationType
          type: object
          properties:
            aggregationType:
              $ref: '#/components/schemas/AggregationType'
            aggregationInterval:
              $ref: '#/components/schemas/AggregationInterval'
          description: Aggregation of all calls count
        callsByDirection:
          required:
          - aggregationType
          type: object
          properties:
            aggregationType:
              $ref: '#/components/schemas/AggregationType'
            aggregationInterval:
              $ref: '#/components/schemas/AggregationInterval'
          description: Aggregation of calls count by direction (Inbound, Outbound)
        callsByOrigin:
          required:
          - aggregationType
          type: object
          properties:
            aggregationType:
              $ref: '#/components/schemas/AggregationType'
            aggregationInterval:
              $ref: '#/components/schemas/AggregationInterval'
          description: Aggregation of calls count by origin (Internal, External)
        callsByResponse:
          required:
          - aggregationType
          type: object
          properties:
            aggregationType:
              $ref: '#/components/schemas/AggregationType'
            aggregationInterval:
              $ref: '#/components/schemas/AggregationInterval'
          description: Aggregation of calls count by response (Answered, NotAnswered, Connected, NotConnected)
        callsSegments:
          required:
          - aggregationType
          type: object
          properties:
            aggregationType:
              $ref: '#/components/schemas/AggregationType'
            aggregationInterval:
              $ref: '#/components/schemas/AggregationInterval'
          

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