Webex Historical Analytics APIs API

The Historical Analytics APIs API from Webex — 3 operation(s) for historical analytics apis.

OpenAPI Specification

webex-historical-analytics-apis-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Webex Admin Address Book Historical Analytics APIs API
  version: 1.0.0
  description: The Webex Admin APIs provide comprehensive programmatic access to administrative functions for managing Webex organizations, users, licenses, and settings. These APIs enable automation of user provisioning, license assignment, compliance management, and audit event retrieval. Administrators can integrate with enterprise identity systems, enforce security policies, monitor usage, and streamline onboarding/offboarding processes. The APIs support granular control over organizational resources, making them ideal for large-scale deployments and custom admin tooling.
tags:
- name: Historical Analytics APIs
paths:
  /v1/analytics/messagingMetrics/dailyTotals:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  startDate:
                    type: string
                    example: '2020-08-01'
                    description: UTC start date of the data set.
                  endDate:
                    type: string
                    example: '2020-08-03'
                    description: UTC end date of the data set.
                  metrics:
                    type: object
                    properties:
                      dates:
                        type: string
                        example: '[''2020-08-01'',''2020-08-02'']'
                        description: An Array containing the UTC dates for which the data is returned.
                      dailyActiveUsers:
                        type: string
                        example: '[200, 300]'
                        description: An array containing the aggregated values for each day for which the data is returned.
                      totalMessagesSent:
                        type: string
                        example: '[2000, 3000]'
                      deskTopMessagesSent:
                        type: string
                        example: '[289, 456]'
                      mobileMessagesSent:
                        type: string
                        example: '[122, 233]'
                      totalActiveSpaces:
                        type: string
                        example: '[2,3]'
                      groupActiveSpaces:
                        type: string
                        example: '[3,4]'
                      one2oneActiveSpaces:
                        type: string
                        example: '[5,6]'
                      video:
                        type: string
                      sharing:
                        type: object
                        properties:
                          totalFilesShared:
                            type: string
                            example: '[1,2]'
                          fileShareSize:
                            type: string
                            example: '`[6,7]` ## Bytes'
                      recording:
                        type: string
                      audio:
                        type: string
              example:
                startDate: '2020-08-01'
                endDate: '2020-08-03'
                metrics:
                  dates: '[''2020-08-01'',''2020-08-02'']'
                  dailyActiveUsers: '[200, 300]'
                  totalMessagesSent: '[2000, 3000]'
                  deskTopMessagesSent: '[289, 456]'
                  mobileMessagesSent: '[122, 233]'
                  totalActiveSpaces: '[2,3]'
                  groupActiveSpaces: '[3,4]'
                  one2oneActiveSpaces: '[5,6]'
                  video: ''
                  sharing:
                    totalFilesShared: '[1,2]'
                    fileShareSize: '`[6,7]` ## Bytes'
                  recording: ''
                  audio: ''
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Historical Data related to Messaging
      operationId: Historical Data related to Messaging
      description: 'Returns daily aggregates of various metrics related to Webex messaging.


        <div><Callout type="error">The base URL for these APIs is **analytics.webexapis.com**, which does not work with the **Try It** feature. </Callout></div>'
      tags:
      - Historical Analytics APIs
      parameters:
      - name: from
        in: query
        description: UTC date starting from which the data needs to be returned.
        example: '2020-08-01'
        schema:
          type: string
          default: Data related to the date mentioned in 'to' parameter if 'from' parameter is not provided. If neither 'from' nor 'to' are provided then yesterday's data is returned.
      - name: to
        in: query
        description: UTC date up to which the data needs to be returned
        example: '2020-08-03'
        schema:
          type: string
          default: Data from the date mentioned in 'from' parameter up to yesterday if 'to' parameter is not provided. If neither 'from' nor 'to' are provided then yesterday's data is returned. Yesterday's data would be the latest data returned.
  /v1/analytics/roomDeviceMetrics/dailyTotals:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  startDate:
                    type: string
                    example: '2020-08-01'
                    description: Data is returned starting from this UTC date.
                  endDate:
                    type: string
                    example: '2020-08-03'
                    description: Data is returned up to this UTC date.
                  metrics:
                    type: object
                    properties:
                      dates:
                        type: string
                        example: '[''2020-08-01'',''2020-08-02'']'
                        description: An Array containing the UTC dates for which the data is returned
                      totalActiveDevices:
                        type: string
                        example: '[200,300]'
                        description: An array containing the aggregated values for each day for which the data is returned.
                      totalAssistantCommands:
                        type: string
                        example: '[2,3]'
                      totalUsageHours:
                        type: string
                        example: '[100,100]'
                      incallUsageDuration:
                        type: string
                        example: '[50,50]'
                      signageUsageDuration:
                        type: string
                        example: '[1,1]'
                      usbpassthroughUsageDuration:
                        type: string
                        example: '[1,2]'
                      whiteboardingUsageDuration:
                        type: string
                        example: '[3,4]'
                      video:
                        type: string
                      sharing:
                        type: object
                        properties:
                          localsharingcableUsageDuration:
                            type: string
                            example: '[1,1]'
                          localsharingwirelessUsageDuration:
                            type: string
                            example: '[2,2]'
                      recording:
                        type: string
                      audio:
                        type: string
              example:
                startDate: '2020-08-01'
                endDate: '2020-08-03'
                metrics:
                  dates: '[''2020-08-01'',''2020-08-02'']'
                  totalActiveDevices: '[200,300]'
                  totalAssistantCommands: '[2,3]'
                  totalUsageHours: '[100,100]'
                  incallUsageDuration: '[50,50]'
                  signageUsageDuration: '[1,1]'
                  usbpassthroughUsageDuration: '[1,2]'
                  whiteboardingUsageDuration: '[3,4]'
                  video: ''
                  sharing:
                    localsharingcableUsageDuration: '[1,1]'
                    localsharingwirelessUsageDuration: '[2,2]'
                  recording: ''
                  audio: ''
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Historical Data related to Room Devices
      operationId: Historical Data related to Room Devices
      description: 'Returns daily aggregates of various metrics related to Room Devices.


        <div><Callout type="error">The base URL for these APIs is **analytics.webexapis.com**, which does not work with the **Try It** feature. </Callout></div>'
      tags:
      - Historical Analytics APIs
      parameters:
      - name: from
        in: query
        description: Starting UTC Date from which historical data should be returned.
        example: '2020-08-01'
        schema:
          type: string
          default: Data related to the date specified in 'to' if 'from' is not provided. If neither 'from' nor 'to' are provided then yesterday's data is returned.
      - name: to
        in: query
        description: Ending UTC Date for which data should be returned.
        example: '2020-08-03'
        schema:
          type: string
          default: Data from the date mentioned in 'from' parameter up to yesterday if 'to' parameter is not provided. Yesterday's data is returned if neither 'from' nor 'to' are provided. Yesterday is the latest day the data series will contain.
  /v1/analytics/meetingsMetrics/aggregates:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  siteUrl:
                    type: string
                    example: cisco.webex.com
                    description: Site related to which the data is returned.
                  startDate:
                    type: string
                    example: '2020-08-01'
                    description: UTC start date of the data set.
                  endDate:
                    type: string
                    example: '2020-08-03'
                    description: UTC end date of the data set.
                  metrics:
                    type: object
                    properties:
                      totalMeetings:
                        type: number
                        example: 123
                        description: Total number of meetings held over the selected date range. includes Webex Meetings, Webex Events, Webex Support, and Webex Training sessions
                      totalParticipants:
                        type: number
                        example: 123
                        description: Total number of joins by participant and devices from all Webex meetings over the selected date range
                      totalUniqueHosts:
                        type: number
                        example: 123
                        description: Total number of unique hosts who started at least one webex meeting over the selected date range
                      totalMeetingMinutes:
                        type: number
                        example: 1234
                        description: Total number of minutes for all meetings over selected date range
                      totalAudioMinutes:
                        type: number
                        example: 1234
                        description: Total number of VoIP and telephony minutes used during meetings over the selected date range
                      totalTelephoneMinutes:
                        type: number
                        example: 1234
                      totalVoIPMinutes:
                        type: number
                        example: 1234
                      videoMeetings:
                        type: number
                        example: 123
                        description: Total number of meetings held where at least one participant enabled video for any amount of time
                      sharingMeetings:
                        type: number
                        example: 123
                        description: Total number of meetings held where at least one participant enabled sharing for any amount of time
                      recordingMeetings:
                        type: number
                        example: 123
                        description: Total number of meetings held where at least one participant enable recording for any amount of time
                      participantsByJoinMethods:
                        type: object
                        properties:
                          webApp:
                            type: number
                            example: 123
                          cloudVideoDevice:
                            type: number
                            example: 123
                          mobileMeetingsApp:
                            type: number
                            example: 123
                        description: Participant Count for each join/client type. This list is dynamic and can change
                      participantsByRoles:
                        type: object
                        properties:
                          host:
                            type: number
                            example: 123
                          attendee:
                            type: number
                            example: 123
                        description: Participant Count for each Role
                      participantsByLocation:
                        type: array
                        items:
                          type: object
                          properties:
                            country:
                              type: string
                              example: United States
                            totalParticipants:
                              type: number
                              example: 123
                        description: Participant Count for each Location. This is a json array of countries
              example:
                siteUrl: cisco.webex.com
                startDate: '2020-08-01'
                endDate: '2020-08-03'
                metrics:
                  totalMeetings: 123
                  totalParticipants: 123
                  totalUniqueHosts: 123
                  totalMeetingMinutes: 1234
                  totalAudioMinutes: 1234
                  totalTelephoneMinutes: 1234
                  totalVoIPMinutes: 1234
                  videoMeetings: 123
                  sharingMeetings: 123
                  recordingMeetings: 123
                  participantsByJoinMethods:
                    webApp: 123
                    cloudVideoDevice: 123
                    mobileMeetingsApp: 123
                  participantsByRoles:
                    host: 123
                    attendee: 123
                  participantsByLocation:
                  - country: United States
                    totalParticipants: 123
        '400':
          description: 'Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further.'
        '401':
          description: 'Unauthorized: Authentication credentials were missing or incorrect.'
        '403':
          description: 'Forbidden: The request is understood, but it has been refused or access is not allowed.'
        '404':
          description: 'Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.'
        '405':
          description: 'Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported.'
        '409':
          description: 'Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.'
        '410':
          description: 'Gone: The requested resource is no longer available.'
        '415':
          description: 'Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported.'
        '423':
          description: 'Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again.'
        '428':
          description: 'Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded.'
        '429':
          description: 'Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made.'
        '500':
          description: 'Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support).'
        '502':
          description: 'Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later.'
        '503':
          description: 'Service Unavailable: Server is overloaded with requests. Try again later.'
        '504':
          description: 'Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it.'
      summary: Historical Data related to Meetings
      operationId: Historical Data related to Meetings
      description: 'Return aggregates of various metrics related to meetings for a given Webex site over a specified time range.


        <div><Callout type="error">The base URL for these APIs is **analytics.webexapis.com**, which does not work with the **Try It** feature.</Callout></div>'
      tags:
      - Historical Analytics APIs
      parameters:
      - name: siteUrl
        in: query
        description: URL of the Webex site for which historical data is requested.
        required: true
        example: cisco.webex.com
        schema:
          type: string
      - name: from
        in: query
        description: UTC Date starting from which the data needs to be returned
        example: '2020-08-01'
        schema:
          type: string
          default: Data related to the date mentioned in 'to' parameter if 'from' parameter is not provided. Yesterday's data if neither 'from' nor 'to' are provided
      - name: to
        in: query
        description: UTC Date up to which the data needs to be returned
        example: '2020-08-03'
        schema:
          type: string
          default: Data from the date mentioned in 'from' parameter up to yesterday if 'to' parameter is not provided. Yesterday's data is returned if neither 'from' nor 'to' are provided. Yesterday is the earliest date for which there will be results.
components:
  securitySchemes:
    oauth2:
      flows:
        authorizationCode:
          authorizationUrl: /
          scopes: {}
          tokenUrl: /
      type: oauth2
    bearer-key:
      type: http
      description: e.g. Bearer YOUR_AUTHORIZATION_TOKEN
      scheme: bearer
      bearerFormat: JWT
    bearerAuth:
      type: oauth2
      description: OAuth 2.0 Bearer token authentication
      flows:
        authorizationCode:
          authorizationUrl: https://webexapis.com/v1/authorize
          tokenUrl: https://webexapis.com/v1/access_token
          scopes:
            spark:applications_token: Create access tokens for Service Apps