Avaya Reports API

A Report is a collection of contact center measurements related to a particular dimension.

Operations 2

GET /accounts/{accountId}/reports:getNames List Report Names #
GET /accounts/{accountId}/reports/{reportName} Get Report #

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/avaya-reports-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

avaya-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Analytics - Historical Data v1 Reports API
  description: 'The Analytics Historical API exposes the following functionality:

    - Listing the Dimension names for an Account.

    - Retrieving the content of a specified Dimension.

    - Listing the Report names for an Account.

    - Retrieving the content of a specific Report.'
  contact:
    name: Avaya API Team
    url: https://developers.avayacloud.com/onecloud-ccaas
    email: apiteam@avaya.com
  license:
    name: Avaya Software Development Kit (SDK) Software License Terms
    url: http://support.avaya.com/css/P8/documents/101038288
  version: 1.0.1
servers:
- url: '{protocol}://{server}{basePath}'
  description: Open API
  variables:
    protocol:
      enum:
      - https
      default: https
    server:
      default: HOST-REGION.api.avayacloud.com
    basePath:
      default: /api/analytics/historical/v1
- url: '{protocol}://{server}:{port}'
  description: Internal API
  variables:
    protocol:
      enum:
      - http
      - https
      default: http
    server:
      default: analytics-historical-api
    port:
      enum:
      - '80'
      - '443'
      default: '80'
security:
- {}
- BearerAuth: []
  AppKey: []
tags:
- name: Reports
  description: A Report is a collection of contact center measurements related to a particular dimension.
paths:
  /accounts/{accountId}/reports:getNames:
    get:
      tags:
      - Reports
      summary: List Report Names
      description: Gets the list of report names for an Account.
      operationId: listHistoricalReportNames
      parameters:
      - $ref: '#/components/parameters/accountId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportNames'
              examples:
                default:
                  $ref: '#/components/examples/ReportNames'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                default:
                  $ref: '#/components/examples/ErrorConstraintViolation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServer'
  /accounts/{accountId}/reports/{reportName}:
    get:
      tags:
      - Reports
      summary: Get Report
      description: Gets the fixed list of report data for a Report name. The list of fixed measures is not updated when new measures are introduced.
      operationId: getHistoricalReport
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/reportName'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/prevPageToken'
      - $ref: '#/components/parameters/nextPageToken'
      - $ref: '#/components/parameters/interval'
      - $ref: '#/components/parameters/filter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportPage'
              examples:
                default:
                  $ref: '#/components/examples/ReportPage'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
              examples:
                default:
                  $ref: '#/components/examples/ErrorConstraintViolation'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServer'
components:
  parameters:
    interval:
      name: interval
      in: query
      description: "Specify the interval range to be used.\nMust contain either a single datetime value or both 'starting' and 'ending' datetimes. The datetime format is dependent on the type of report selected which can derived from the 'reportName'.\n\nFor **daily reports** (reportName always ends with 'Daily' for example 'AgentDaily')\n  - datetime implies specific day(s).\n  - all datetime expressions should use YYYYMMDD format.\n  - 'HHmm' values should be either omitted or replaced with 0000 – The API will return an error when other 'HHmm' values are specified.\n  - Example values:\n    - 20201201\n    - starting:20201201\n    - ending:20201225\n    - starting:20201201,ending:20201225\n\nFor **interval reports** (reportName always ends with 'Interval' for example 'AgentInterval')\n  - all datetime expressions should use YYYYMMDDHHmm format.\n    'mm' part can be used to indicate the 15 min interval such as '00', '15',  '30' or '45' - The API will return an error when other 'mm' values are specified.\n  - interval=YYYYMMDDHHmm\n    - YYYYMMDDHH00 corresponds to >= 00 mins and < 15 mins interval\n    - YYYYMMDDHH15 corresponds to >= 15 mins and < 30 mins interval\n    - YYYYMMDDHH30 corresponds to >= 30 mins and < 45 mins interval\n    - YYYYMMDDHH45 corresponds to >= 45 mins and < 00 mins interval\n  - interval=starting:YYYYMMDDHHmm\n    - corresponds to >= YYYYMMDDHHmm\n  - interval=ending:YYYYMMDDHHmm\n    - corresponds to < YYYYMMDDHHmm\n  - interval=starting:YYYYMMDDHHmm,ending:YYYYMMDDHHmm\n    - starting:YYYYMMDDHH00,ending:YYYYMMDDHH30 corresponds to >= 00 mins and < 30 mins\n    - starting:YYYYMMDDHH30,ending:YYYYMMDDHH30 doesn't return data\n  - Example values:\n    - 202012010400\n    - starting:202012010415\n    - ending:202012251530\n    - starting:202012010415,ending:202012251545\n\nFor **EngagementDetail** report\n  - Every engagement is mapped to a 15 min interval according to its start time. For example, if engagement start time is 2024-08-15 06:23:10.422+00 it will be reflected in the interval 202408150615\n  - all datetime expressions should use YYYYMMDDHHmm format.\n    'mm' part can be used to indicate the 15 min interval such as '00', '15',  '30' or '45' - The API will return an error when other 'mm' values are specified.\n  - interval=YYYYMMDDHHmm\n    - YYYYMMDDHH00 corresponds to >= 00 mins and < 15 mins interval\n    - YYYYMMDDHH15 corresponds to >= 15 mins and < 30 mins interval\n    - YYYYMMDDHH30 corresponds to >= 30 mins and < 45 mins interval\n    - YYYYMMDDHH45 corresponds to >= 45 mins and < 00 mins interval\n  - interval=starting:YYYYMMDDHHmm\n    - corresponds to >= YYYYMMDDHHmm\n  - interval=ending:YYYYMMDDHHmm\n    - corresponds to < YYYYMMDDHHmm\n  - interval=starting:YYYYMMDDHHmm,ending:YYYYMMDDHHmm\n    - ending interval is included in the report\n      - starting:YYYYMMDDHH00,ending:YYYYMMDDHH30 corresponds to >= 00 mins and < 45 mins\n      - starting:YYYYMMDDHH30,ending:YYYYMMDDHH30 corresponds to >= 30 mins and < 45 mins\n  - Example values:\n    - 202012010400\n    - starting:202012010415\n    - ending:202012251530\n    - starting:202012010415,ending:202012251545\n\nFor **AgentLoginLogout** report\n  - All datetime expressions for login/logout report should use the format YYYYMMDD or YYYYMMDDHHmm\n  - interval=starting:YYYYMMDDHHmm\n    - corresponds to >= YYYYMMDDHHmm\n  - interval=starting:YYYYMMDD\n    - corresponds to >= YYYYMMDD0000\n  - interval=ending:YYYYMMDDHHmm\n    - corresponds to < YYYYMMDDHHmm\n  - interval=ending:YYYYMMDD\n    - corresponds to < YYYYMMDD0000\n  - interval=starting:YYYYMMDDHHmm,ending:YYYYMMDDHHmm\n    - starting:YYYYMMDDHH00,ending:YYYYMMDDHH30 corresponds to >= 00 mins and < 30 mins\n    - starting:YYYYMMDDHH12,ending:YYYYMMDDHH25 corresponds to >= 12 mins and < 25 mins\n    - starting:YYYYMMDDHH30,ending:YYYYMMDDHH30 doesn't return data\n  - interval=starting:YYYYMMDD,ending:YYYYMMDD\n    - corresponds to >= YYYYMMDD0000 (starting) and < YYYYMMDD0000 (ending)\n  - Example values:\n    - starting:20201201\n    - starting:202012010417\n    - ending:20201225\n    - ending:202012251533\n    - starting:20201201,ending:20201225\n    - starting:202012010417,ending:202012251533\n"
      required: false
      schema:
        type: string
        minLength: 8
        maxLength: 41
      examples:
        singleQuarter:
          value: '202012250400'
          summary: Interval reports. Data filtering by certain date
        singleDay:
          value: '20201225'
          summary: Daily reports. Data filtering by certain date
        startingQuarter:
          value: starting:202012250400
          summary: Interval reports. Data filtering from specified starting date till ending of data rows
        startingDay:
          value: starting:20201201
          summary: Daily reports. Data filtering from specified starting date till ending of data rows
        endingQuarter:
          value: ending:202012251500
          summary: Interval reports. Data filtering from beginning of data rows till specified ending date
        endingDay:
          value: ending:20201225
          summary: Daily reports. Data filtering from beginning of data rows till specified ending date
        bothQuarter:
          value: starting:202012250400,ending:202012251500
          summary: Interval reports. Data filtering from specified starting date till specified ending date
        bothDay:
          value: starting:20201201,ending:20201225
          summary: Daily reports. Data filtering from specified starting date till specified ending date
    accountId:
      name: accountId
      in: path
      description: The unique 6 character internal id that represents the customer account.
      required: true
      schema:
        type: string
        minLength: 6
        maxLength: 6
        pattern: ^[a-zA-Z]{6}$
        example: ABCDEF
    pageSize:
      name: pageSize
      in: query
      description: The maximum number of results per page.
      required: false
      schema:
        type: integer
        format: int32
        default: 20
        minimum: 1
        maximum: 50
        example: 20
    prevPageToken:
      name: prevPageToken
      in: query
      description: The page token of the previous set of records to retrieve, represented as unique 36 characters(uuid).
      required: false
      schema:
        type: string
        minLength: 36
        maxLength: 36
        example: 123e4567-e89b-12d3-a456-556642440000
    filter:
      name: filter
      in: query
      description: "Specifies details of a row filter. The allowed format:\n  - Begins with the column name to be filtered, followed by a colon, then:\n  - Either an exact string to match, or\n  - A string expression including the * wildcard character\n"
      required: false
      schema:
        type: string
        minLength: 3
        maxLength: 256
      examples:
        equals:
          value: agentLastName:agentKaren
          summary: Exact string to match
        like:
          value: agentLastName:agentK*
          summary: Expression including the * wildcard character
    nextPageToken:
      name: nextPageToken
      in: query
      description: The page token of the next set of records to retrieve, represented as unique 36 characters(uuid).
      required: false
      schema:
        type: string
        minLength: 36
        maxLength: 36
        example: 123e4567-e89b-12d3-a456-556642440000
    reportName:
      name: reportName
      in: path
      description: The unique name of the report
      required: true
      schema:
        type: string
        minLength: 1
        maxLength: 50
      examples:
        AgentDaily:
          value: AgentDaily
        AgentInterval:
          value: AgentInterval
        AgentByChannelDaily:
          value: AgentByChannelDaily
        AgentByChannelInterval:
          value: AgentByChannelInterval
        AgentByQueueDaily:
          value: AgentByQueueDaily
        AgentByQueueInterval:
          value: AgentByQueueInterval
  examples:
    ErrorForbidden:
      description: Forbidden
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#forbidden
        title: Forbidden
        status: 403
        detail: According to the access control policy the current user and/or accountId does not have permission to access this resource.
    ReportPage:
      value:
        columnHeaders:
        - name: agent_sk
          type: number
        - name: day_sk
          type: number
        - name: last_changed
          type: string
        - name: rollup_seq_id
          type: number
        - name: timezone_name
          type: string
        - name: abandoned_from_alerting
          type: number
        - name: active_duration
          type: number
        - name: acw_count
          type: number
        - name: acw_duration
          type: number
        - name: ad_hoc_email_initiated
          type: number
        - name: ad_hoc_email_sent
          type: number
        - name: agent_logon_duration
          type: number
        - name: agent_nr_reason_code_duration
          type: number
        - name: alert_duration
          type: number
        - name: answered
          type: number
        - name: barged
          type: number
        - name: barged_duration
          type: number
        - name: barging
          type: number
        - name: barging_duration
          type: number
        - name: coached
          type: number
        - name: coached_duration
          type: number
        - name: coaching
          type: number
        - name: coaching_duration
          type: number
        - name: comp_active_duration
          type: number
        - name: completed
          type: number
        - name: comp_logon_duration
          type: number
        - name: comp_nr_reason_duration
          type: number
        - name: comp_total_time_not_ready
          type: number
        - name: conference_accepted_from_queue
          type: number
        - name: conference_accepted_from_user
          type: number
        - name: conference_initiated_to_queue
          type: number
        - name: conference_initiated_to_user
          type: number
        - name: conference_to_external
          type: number
        - name: consult_accepted_from_queue
          type: number
        - name: consult_accepted_from_user
          type: number
        - name: consulted_duration
          type: number
        - name: consulting_duration
          type: number
        - name: consulting_external_duration
          type: number
        - name: consult_initiated_to_queue
          type: number
        - name: consult_initiated_to_user
          type: number
        - name: consult_to_external
          type: number
        - name: external_calls_duration
          type: number
        - name: external_voice_calls
          type: number
        - name: forwarded
          type: number
        - name: hold
          type: number
        - name: hold_duration
          type: number
        - name: idle_time_duration
          type: number
        - name: not_answered
          type: number
        - name: observed
          type: number
        - name: observed_duration
          type: number
        - name: observing
          type: number
        - name: observing_duration
          type: number
        - name: offered
          type: number
        - name: total_engagements_in_acw
          type: number
        - name: total_time_not_ready
          type: number
        - name: transfer_accepted_from_queue
          type: number
        - name: transfer_accepted_from_user
          type: number
        - name: transfer_initiated_to_queue
          type: number
        - name: transfer_initiated_to_user
          type: number
        - name: transfer_to_external_cancelled
          type: number
        - name: transfer_to_external_failed
          type: number
        - name: transfer_to_external_initiated
          type: number
        - name: transfer_to_queue_cancelled
          type: number
        - name: transfer_to_queue_failed
          type: number
        - name: transfer_to_user_cancelled
          type: number
        - name: transfer_to_user_failed
          type: number
        - name: warm_transfer_accepted_from_queue
          type: number
        - name: warm_transfer_accepted_from_user
          type: number
        - name: warm_transfer_initiated_to_queue
          type: number
        - name: warm_transfer_initiated_to_user
          type: number
        - name: warm_transfer_to_external
          type: number
        - name: supervisor_sk
          type: string
        - name: agent_id
          type: string
        - name: agent_login_id
          type: string
        - name: agent_first_name
          type: string
        - name: agent_last_name
          type: string
        - name: agent_display_name
          type: string
        - name: agent_user_handle
          type: string
        - name: agent_type
          type: string
        - name: attributes
          type: string
        - name: row_active_date
          type: string
        - name: row_inactive_date
          type: string
        - name: active_record
          type: boolean
        - name: is_unknown
          type: boolean
        - name: entity_deleted
          type: boolean
        - name: redacted
          type: boolean
        records:
        - - '28147'
          - '20210903'
          - '2021-09-03 14:31:00.967772+00'
          - '1767'
          - Australia/Sydney
          - '0'
          - '154936'
          - '0'
          - '0'
          - '44943'
          - '9'
          - '5'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '9'
          - '1'
          - '3'
          - '4'
          - '3'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '27564837'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '0'
          - '-1'
          - ecd42fec-f48b-4492-99e4-91ec2561eee5
          - emailchatagent1@email.com
          - emailchatagent1
          - '03'
          - emailchatagent1,03
          - ecd42fec-f48b-4492-99e4-91ec2561eee5
          - Supervisor
          - '[{"value": "English", "category": "Language"}]'
          - '2021-09-03 10:15:00+00'
          - '2021-09-28 07:21:14.046617+00'
          - f
          - f
          - f
          - f
        pagination:
          pageSize: 20
          prevPageToken: ''
          nextPageToken: 123e4567-e89b-12d3-a456-556642440000
        links:
          prev: ''
          next: /api/analytics/historical/v1/accounts/{accountId}/reports/AgentDaily?interval=202109031000&nextPageToken=123e4567-e89b-12d3-a456-556642440000&pageSize=20
    ErrorConstraintViolation:
      description: Constraint Violation
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation
        title: Constraint Violation
        status: 400
        detail: A problem that indicates a syntactically correct, yet semantically illegal request. The Server can not process this request until the client resolves the semantic errors described in the violations section.
        violations:
        - field: accountId
          message: must match "^[a-zA-Z]{6}$"
          code: 20006
    ErrorNotFound:
      description: Not Found
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#resource-not-found
        title: Resource Not Found
        status: 404
        detail: Resource not found.
    ErrorUnauthorized:
      description: Unauthorized
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#unauthorized
        title: Unauthorized
        status: 401
        detail: This operation requires authentication. See https://developers.avayacloud.com/onecloud-ccaas/docs/how-to-authenticate-with-ccaas-apis
    ReportNames:
      value:
      - AgentInterval
      - AgentDaily
      - AgentByChannelInterval
      - AgentByChannelDaily
      - QueueInterval
      - QueueDaily
      - QueueByChannelInterval
      - QueueByChannelDaily
      - AgentByQueueInterval
      - AgentByQueueDaily
      - EngagementDetail
      - AgentLoginLogout
    ErrorInternalServerError:
      description: Server Error
      value:
        type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#server-error
        title: Server Error
        status: 500
        detail: An internal server error was encountered.
  responses:
    NotFound:
      description: Not Found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorNotFound'
    InternalServer:
      description: Internal Server Error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorInternalServerError'
    Forbidden:
      description: Forbidden
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorForbidden'
    Unauthorized:
      description: Unauthorized
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          examples:
            default:
              $ref: '#/components/examples/ErrorUnauthorized'
  schemas:
    Links:
      type: object
      properties:
        prev:
          type: string
          description: URL of the previous page. Blank if currently on the first page.
        next:
          type: string
          description: URL of the next page. Blank if currently on the last page.
    CursorPagination:
      type: object
      properties:
        pageSize:
          type: integer
          description: The max number of records that can be retrieved on this page.
        prevPageToken:
          type: string
          description: The Token to retrieve the prev page of records.
        nextPageToken:
          type: string
          description: The Token to retrieve the next page of records.
    ReportPage:
      type: object
      description: Root response object for report http requests.
      properties:
        columnHeaders:
          type: array
          items:
            $ref: '#/components/schemas/ColumnHeader'
        records:
          type: array
          items:
            type: array
            items:
              type: string
        pagination:
          $ref: '#/components/schemas/CursorPagination'
        links:
          $ref: '#/components/schemas/Links'
    ColumnHeader:
      type: object
      description: Name and data type of the column header
      properties:
        name:
          type: string
          description: Name of the header field
          example: agentFirstName
        type:
          type: string
          description: Data type of the header field
          example: string
    ReportNames:
      description: List of report names
      type: array
      items:
        type: string
    Problem:
      type: object
      description: '<b>Problem Detail</b> as a way to carry machine-readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs <a href="https://tools.ietf.org/html/rfc7807">RFC 7807</a>

        '
      properties:
        type:
          type: string
          format: uri
          description: 'An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML).

            '
          default: about:blank
          example: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation
        title:
          type:
          - string
          - 'null'
          description: 'A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized).

            '
          example: Service Unavailable
        status:
          type:
          - integer
          - 'null'
          format: int32
          description: 'The HTTP status code generated by the origin server for this occurrence of the problem.

            '
          minimum: 100
          example: 503
          exclusiveMaximum: 600
        detail:
          type:
          - string
          - 'null'
          description: 'A human readable explanation specific to this occurrence of the problem.

            '
          example: Connection to database timed out
        instance:
          type:
          - string
          - 'null'
          format: uri
          description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.

            '
        violations:
          type:
          - array
          - 'null'
          description: 'A list of violations that occurred as a result of invalid data provided as part of a request.

            '
          items:
            type: object
            properties:
              field:
                type: string
                description: 'The name of the field in the request that caused the violation. This can be the name of a path parameter, query parameter, or a field within the request body.

                  '
                example: accountId
              message:
                type: string
                description: 'A human readable explanation specific to this occurrence of the violation.

                  '
                example: must match "^[a-zA-Z]{6}$"
              code:
                type: integer
                format: int32
                description: 'The violation code generated by the server for this occurrence of the violation. Use this code when implementing any error handling logic instead of the message, as the message can change.

                  '
                example: 20006
          example:
          - field: emailAddress
            message: must not be null
            code: 20002
          - field: accountId
            message: must match "^[a-zA-Z]{6}$"
            code: 20006
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: This API uses Bearer Token Authorization Flow
      bearerFormat: JWT
    AppKey:
      type: apiKey
      in: header
      name: appkey
      description: This API needs an appKey as header.
x-explorer-enabled: false
x-samples-languages:
- curl
- node
- java
- javascript
- python
- go