Genesys Analytics API

Analytics querying and reporting.

Operations 121

POST /api/v2/analytics/actions/aggregates/jobs Query for action aggregates asynchronously #
GET /api/v2/analytics/actions/aggregates/jobs/{jobId} Get status for async query for action aggregates #
DELETE /api/v2/analytics/actions/aggregates/jobs/{jobId} Delete/cancel an async request for action aggregates #
POST /api/v2/analytics/actions/aggregates/query Query for action aggregates #
GET /api/v2/analytics/actions/aggregates/jobs/{jobId}/results Fetch a page of results for an async aggregates query #
POST /api/v2/analytics/agentcopilots/aggregates/query Query for agent copilot aggregates #
GET /api/v2/analytics/agents/{userId}/status Get an agent and their active sessions by user ID #
POST /api/v2/analytics/agents/status/counts Count agents by different groupings #
POST /api/v2/analytics/agents/status/query Retrieve the top 50 agents matching the query filters #
POST /api/v2/analytics/bots/aggregates/query Query for bot aggregates #
POST /api/v2/analytics/bots/aggregates/jobs Query for bot aggregates asynchronously #
GET /api/v2/analytics/bots/aggregates/jobs/{jobId} Get status for async query for bot aggregates #
DELETE /api/v2/analytics/bots/aggregates/jobs/{jobId} Delete/cancel an async request for bot aggregates #
GET /api/v2/analytics/bots/aggregates/jobs/{jobId}/results Fetch a page of results for an async aggregates query #
POST /api/v2/analytics/casemanagement/aggregates/query Query for case management aggregates #
POST /api/v2/analytics/casemanagement/aggregates/jobs Query for case management aggregates asynchronously #
GET /api/v2/analytics/casemanagement/aggregates/jobs/{jobId} Get status for async query for case management aggregates #
DELETE /api/v2/analytics/casemanagement/aggregates/jobs/{jobId} Delete/cancel an async request for case management aggregates #
GET /api/v2/analytics/casemanagement/aggregates/jobs/{jobId}/results Fetch a page of results for an async case management query #
POST /api/v2/analytics/conversations/aggregates/query Query for conversation aggregates #
GET /api/v2/analytics/conversations/{conversationId}/details Get a conversation by id #
POST /api/v2/analytics/conversations/aggregates/jobs Query for conversation aggregates asynchronously #
GET /api/v2/analytics/conversations/aggregates/jobs/{jobId} Get status for async query for conversation aggregates #
DELETE /api/v2/analytics/conversations/aggregates/jobs/{jobId} Delete/cancel an async request for conversation aggregates #
GET /api/v2/analytics/conversations/aggregates/jobs/{jobId}/results Fetch a page of results for an async aggregates query #
POST /api/v2/analytics/conversations/activity/query Query for conversation activity observations #
POST /api/v2/analytics/conversations/details/query Query for conversation details #
GET /api/v2/analytics/conversations/details Gets multiple conversations by id #
POST /api/v2/analytics/conversations/{conversationId}/details/properties Index conversation properties #
POST /api/v2/analytics/conversations/details/jobs Query for conversation details asynchronously #
GET /api/v2/analytics/conversations/details/jobs/{jobId} Get status for async query for conversation details #
DELETE /api/v2/analytics/conversations/details/jobs/{jobId} Delete/cancel an async details job #
GET /api/v2/analytics/conversations/details/jobs/{jobId}/results Fetch a page of results for an async details job #
GET /api/v2/analytics/conversations/details/jobs/availability Lookup the datalake availability date and time #
POST /api/v2/analytics/evaluations/aggregates/query Query for evaluation aggregates #
POST /api/v2/analytics/evaluations/aggregates/jobs Query for evaluation aggregates asynchronously #
GET /api/v2/analytics/evaluations/aggregates/jobs/{jobId} Get status for async query for evaluation aggregates #
DELETE /api/v2/analytics/evaluations/aggregates/jobs/{jobId} Delete/cancel an async request for evaluation aggregates #
GET /api/v2/analytics/evaluations/aggregates/jobs/{jobId}/results Fetch a page of results for an async aggregates query #
GET /api/v2/analytics/flowexecutions/aggregates/jobs/{jobId} Get status for async query for flow execution aggregates #
DELETE /api/v2/analytics/flowexecutions/aggregates/jobs/{jobId} Delete/cancel an async request for flow execution aggregates #
GET /api/v2/analytics/flowexecutions/aggregates/jobs/{jobId}/results Fetch a page of results for an async aggregates query #
POST /api/v2/analytics/flowexecutions/aggregates/query Query for flow execution aggregates #
POST /api/v2/analytics/flowexecutions/aggregates/jobs Query for flow execution aggregates asynchronously #
POST /api/v2/analytics/flows/aggregates/jobs Query for flow aggregates asynchronously #
GET /api/v2/analytics/flows/aggregates/jobs/{jobId} Get status for async query for Flow aggregates #
DELETE /api/v2/analytics/flows/aggregates/jobs/{jobId} Delete/cancel an async request for flow aggregates #
GET /api/v2/analytics/flows/aggregates/jobs/{jobId}/results Fetch a page of results for an async aggregates query #
POST /api/v2/analytics/flows/observations/query Query for flow observations #
POST /api/v2/analytics/flows/activity/query Query for flow activity observations #
POST /api/v2/analytics/flows/aggregates/query Query for flow aggregates #
POST /api/v2/analytics/journeys/aggregates/query Query for journey aggregates #
POST /api/v2/analytics/journeys/aggregates/jobs Query for journey aggregates asynchronously #
GET /api/v2/analytics/journeys/aggregates/jobs/{jobId} Get status for async query for journey aggregates #
DELETE /api/v2/analytics/journeys/aggregates/jobs/{jobId} Delete/cancel an async request for journey aggregates #
GET /api/v2/analytics/journeys/aggregates/jobs/{jobId}/results Fetch a page of results for an async aggregates query #
POST /api/v2/analytics/knowledge/aggregates/query Query for knowledge aggregates #
POST /api/v2/analytics/knowledge/aggregates/jobs Query for knowledge aggregates asynchronously #
GET /api/v2/analytics/knowledge/aggregates/jobs/{jobId} Get status for async query for knowledge aggregates #
DELETE /api/v2/analytics/knowledge/aggregates/jobs/{jobId} Delete/cancel an async request for knowledge aggregates #
GET /api/v2/analytics/knowledge/aggregates/jobs/{jobId}/results Fetch a page of results for an async aggregates query #
POST /api/v2/analytics/queues/observations/query Query for queue observations #
POST /api/v2/analytics/ratelimits/aggregates/query Query for limits rate limit aggregates. Data populated when limits reach 90% of the maximum. Not a source of truth for limits hit but a best effort estimate. #
POST /api/v2/analytics/resolutions/aggregates/query Query for resolution aggregates #
POST /api/v2/analytics/resolutions/aggregates/jobs Query for resolution aggregates asynchronously #
GET /api/v2/analytics/resolutions/aggregates/jobs/{jobId} Get status for async query for resolution aggregates #
DELETE /api/v2/analytics/resolutions/aggregates/jobs/{jobId} Delete/cancel an async request for resolution aggregates #
GET /api/v2/analytics/resolutions/aggregates/jobs/{jobId}/results Fetch a page of results for an async aggregates query #
POST /api/v2/analytics/routing/activity/query Query for user activity observations #
POST /api/v2/analytics/summaries/aggregates/query Query for summary aggregates #
POST /api/v2/analytics/summaries/aggregates/jobs Query for summary aggregates asynchronously #
GET /api/v2/analytics/summaries/aggregates/jobs/{jobId} Get status for async query for summary aggregates #
DELETE /api/v2/analytics/summaries/aggregates/jobs/{jobId} Delete/cancel an async request for summary aggregates #
GET /api/v2/analytics/summaries/aggregates/jobs/{jobId}/results Fetch a page of results for an async aggregates query #
POST /api/v2/analytics/surveys/aggregates/query Query for survey aggregates #
POST /api/v2/analytics/surveys/aggregates/jobs Query for survey aggregates asynchronously #
GET /api/v2/analytics/surveys/aggregates/jobs/{jobId} Get status for async query for survey aggregates #
DELETE /api/v2/analytics/surveys/aggregates/jobs/{jobId} Delete/cancel an async request for survey aggregates #
GET /api/v2/analytics/surveys/aggregates/jobs/{jobId}/results Fetch a page of results for an async aggregates query #
POST /api/v2/analytics/taskmanagement/aggregates/query Query for task management aggregates #
GET /api/v2/analytics/taskmanagement/aggregates/jobs/{jobId} Get status for async query for task management aggregates #
DELETE /api/v2/analytics/taskmanagement/aggregates/jobs/{jobId} Delete/cancel an async request for task management aggregates #
GET /api/v2/analytics/taskmanagement/aggregates/jobs/{jobId}/results Fetch a page of results for an async task management query #
POST /api/v2/analytics/taskmanagement/metrics/query Query for task management observations #
POST /api/v2/analytics/taskmanagement/aggregates/jobs Query for task management aggregates asynchronously #
POST /api/v2/analytics/teams/activity/query Query for team activity observations #
POST /api/v2/analytics/transcripts/aggregates/query Query for transcript aggregates #
POST /api/v2/analytics/transcripts/aggregates/jobs Query for transcript aggregates asynchronously #
GET /api/v2/analytics/transcripts/aggregates/jobs/{jobId} Get status for async query for transcript aggregates #
DELETE /api/v2/analytics/transcripts/aggregates/jobs/{jobId} Delete/cancel an async request for transcript aggregates #
GET /api/v2/analytics/transcripts/aggregates/jobs/{jobId}/results Fetch a page of results for an async aggregates query #
POST /api/v2/analytics/users/aggregates/query Query for user aggregates #
POST /api/v2/analytics/users/aggregates/jobs Query for user aggregates asynchronously #
GET /api/v2/analytics/users/aggregates/jobs/{jobId} Get status for async query for user aggregates #
DELETE /api/v2/analytics/users/aggregates/jobs/{jobId} Delete/cancel an async request for user aggregates #
GET /api/v2/analytics/users/aggregates/jobs/{jobId}/results Fetch a page of results for an async aggregates query #
POST /api/v2/analytics/users/details/query Query for user details #
POST /api/v2/analytics/users/observations/query Query for user observations #
POST /api/v2/analytics/users/activity/query Query for user activity observations #
POST /api/v2/analytics/users/details/jobs Query for user details asynchronously #
GET /api/v2/analytics/users/details/jobs/{jobId} Get status for async query for user details #
DELETE /api/v2/analytics/users/details/jobs/{jobId} Delete/cancel an async request #
GET /api/v2/analytics/users/details/jobs/{jobId}/results Fetch a page of results for an async query #
GET /api/v2/analytics/users/details/jobs/availability Lookup the datalake availability date and time #
GET /api/v2/analytics/botflows/{botFlowId}/divisions/reportingturns Get Reporting Turns (division aware). #
GET /api/v2/analytics/botflows/{botFlowId}/reportingturns Get Reporting Turns. #
GET /api/v2/analytics/botflows/{botFlowId}/sessions Get Bot Flow Sessions. #
GET /api/v2/analytics/dataretention/settings Get analytics data retention setting #
PUT /api/v2/analytics/dataretention/settings Update analytics data retention setting #
GET /api/v2/analytics/reporting/settings Get AnalyticsReportingSettings for an organization #
PATCH /api/v2/analytics/reporting/settings Patch AnalyticsReportingSettings values for an organization #
POST /api/v2/analytics/reporting/settings/dashboards/bulk/remove Bulk soft delete dashboard configurations #
GET /api/v2/analytics/reporting/settings/dashboards/query Get list of dashboard configurations #
POST /api/v2/analytics/reporting/settings/dashboards/query Query dashboard configurations #
GET /api/v2/analytics/reporting/dashboards/users/{userId} Get dashboards summary for a user #
POST /api/v2/analytics/reporting/dashboards/users/bulk/remove Bulk soft delete dashboards owned by other user(s) #
GET /api/v2/analytics/reporting/dashboards/users Get dashboards summary for users in a org #
GET /api/v2/analytics/reporting/settings/users/{userId}/dashboards Get list of dashboards for an user #
GET /api/v2/analytics/reporting/exports/metadata Get all export metadata #
GET /api/v2/analytics/reporting/exports Get all view export requests for a user #
POST /api/v2/analytics/reporting/exports Generate a view export request #

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/genesys-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

genesys-analytics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
  version: v2
  title: PureCloud Platform Agent Assistants Analytics API
  termsOfService: https://help.genesys.cloud/articles/terms-and-conditions/
  contact:
    name: PureCloud Developer Evangelists
    url: https://developer.genesys.cloud/
    email: DeveloperEvangelists@genesys.com
  license:
    name: UNLICENSED
    url: https://help.genesys.cloud/articles/terms-and-conditions/
servers:
- url: https://api.mypurecloud.com
tags:
- name: Analytics
  description: Analytics querying and reporting.
  externalDocs:
    description: Analytics Documentation
    url: https://developer.genesys.cloud/analyticsdatamanagement/analytics/analytics-apis
paths:
  /api/v2/analytics/actions/aggregates/jobs:
    post:
      tags:
      - Analytics
      summary: Query for action aggregates asynchronously
      description: ''
      operationId: postAnalyticsActionsAggregatesJobs
      responses:
        '202':
          description: Accepted - Running query asynchronously
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncQueryResponse'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior.
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No authentication bearer token specified in authorization header.
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: You are not authorized to perform the requested action.
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: The requested resource was not found.
          x-inin-error-codes:
            not.found: The requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: The request conflicts with the current state of the target resource.
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '504':
          description: The request timed out.
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      security:
      - PureCloud OAuth:
        - analytics
        - analytics:readonly
      x-inin-requires-permissions:
        type: ANY
        permissions:
        - integrations:action:view
        - bridge:actions:view
      x-purecloud-method-name: postAnalyticsActionsAggregatesJobs
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionAsyncAggregationQuery'
        description: query
        required: true
  /api/v2/analytics/actions/aggregates/jobs/{jobId}:
    get:
      tags:
      - Analytics
      summary: Get status for async query for action aggregates
      description: ''
      operationId: getAnalyticsActionsAggregatesJob
      parameters:
      - name: jobId
        in: path
        description: jobId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncQueryStatus'
        '202':
          description: Accepted - Running query asynchronously
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncQueryStatus'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No authentication bearer token specified in authorization header.
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: You are not authorized to perform the requested action.
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: The requested resource was not found.
          x-inin-error-codes:
            not.found: The requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: The request conflicts with the current state of the target resource.
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '504':
          description: The request timed out.
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      security:
      - PureCloud OAuth:
        - analytics
        - analytics:readonly
      x-inin-requires-permissions:
        type: ANY
        permissions:
        - integrations:action:view
        - bridge:actions:view
      x-purecloud-method-name: getAnalyticsActionsAggregatesJob
    delete:
      tags:
      - Analytics
      summary: Delete/cancel an async request for action aggregates
      description: ''
      operationId: deleteAnalyticsActionsAggregatesJob
      parameters:
      - name: jobId
        in: path
        description: jobId
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Deleted
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No authentication bearer token specified in authorization header.
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: You are not authorized to perform the requested action.
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: The requested resource was not found.
          x-inin-error-codes:
            not.found: The requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: The request conflicts with the current state of the target resource.
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '504':
          description: The request timed out.
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      security:
      - PureCloud OAuth:
        - analytics
      x-inin-requires-permissions:
        type: ANY
        permissions:
        - integrations:action:view
        - bridge:actions:view
      x-purecloud-method-name: deleteAnalyticsActionsAggregatesJob
  /api/v2/analytics/actions/aggregates/query:
    post:
      tags:
      - Analytics
      summary: Query for action aggregates
      description: ''
      operationId: postAnalyticsActionsAggregatesQuery
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionAggregateQueryResponse'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior.
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No authentication bearer token specified in authorization header.
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: You are not authorized to perform the requested action.
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: The requested resource was not found.
          x-inin-error-codes:
            not.found: The requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: The request conflicts with the current state of the target resource.
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '504':
          description: The request timed out.
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      security:
      - PureCloud OAuth:
        - analytics
        - analytics:readonly
      x-inin-requires-permissions:
        type: ANY
        permissions:
        - integrations:action:view
        - bridge:actions:view
      x-purecloud-method-name: postAnalyticsActionsAggregatesQuery
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionAggregationQuery'
        description: query
        required: true
  /api/v2/analytics/actions/aggregates/jobs/{jobId}/results:
    get:
      tags:
      - Analytics
      summary: Fetch a page of results for an async aggregates query
      description: ''
      operationId: getAnalyticsActionsAggregatesJobResults
      parameters:
      - name: jobId
        in: path
        description: jobId
        required: true
        schema:
          type: string
      - name: cursor
        in: query
        description: Cursor token to retrieve next page
        required: false
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionAsyncAggregateQueryResponse'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No authentication bearer token specified in authorization header.
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: You are not authorized to perform the requested action.
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied acce

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