8x8

8x8 Analytics for Contact Center Real-time Metrics API

8x8 Analytics for Contact Center Real-time Metrics API for live queue, agent and interaction state, secured with OAuth2 client credentials.

OpenAPI Specification

8x8-analytics-8x8-analytics-for-contact-center-real-time-metrics-api.json Raw ↑
{
  "openapi": "3.0.0",
  "info": {
    "version": "2.0.0",
    "title": "8x8 Analytics for Contact Center Real-time Metrics API",
    "contact": {
      "name": "Analytics Team",
      "url": "https://www.8x8.com/",
      "email": "vcc-analytics@8x8.com"
    },
    "termsOfService": "https://www.8x8.com/terms-and-conditions",
    "x-logo": {
      "url": "https://www.8x8.com/wp-content/uploads/2016/06/8x8-Logo-Tagline-bottom.png"
    },
    "description": "The 8x8 Analytics for Contact Center Real-time Metrics API enables you to obtain the latest, real-time statistical data on queues and agents queue interactions. In addition to real-time data (which is refreshed every 5 seconds) you can also obtain data for select 15 or 30-minute intervals.\n\nThe Real-time API supports both JSON and XML file response formats. You can switch between both formats using the `Accept` header.\n\n**Note**: the Real-time metrics endpoint is available on the following URLs:\n```\nhttps://api.8x8.com/analytics/cc/v1/realtime-metrics/\nhttps://api.8x8.com/analytics/cc/v2/realtime-metrics/\nhttps://api.8x8.com/analytics/cc/v3/realtime-metrics/\nhttps://api.8x8.com/analytics/cc/v4/realtime-metrics/\nhttps://api.8x8.com/analytics/cc/v5/realtime-metrics/\n```\n\n_**This page is in the Beta stage. For step-by-step instructions on using the Real-time API refer to the [Real-time Metrics Use Case](https://8x8gateway-8x8apis.apigee.io/real-time-metrics-use-case)**_.\n## **Authentication**\nYou can try out this API through request authentication using your client credentials. Refer to [How to get API credentials](doc:how-to-get-api-keys) and [how to authenitcate](doc:oauth-authentication-for-8x8-xcaas-apis).\n\nAll requests must be made over HTTPS - calls made over HTTP will fail.\n\n\n**Note**: The Real Time Metrics API uses either the **v1**, **v2**, **v3**, **v4** or **v5** path for the following URLs:\n- Access token: **`https://api.8x8.com/oauth/v2/token`**\n\n- **`GET`** request: **`https://api.8x8.com/analytics/cc/{version}/realtime-metrics/`**\n\n\n"
  },
  "servers": [
    {
      "description": "Europe Realtime Metrics API Production",
      "url": "https://api.8x8.com/eu/analytics/cc/v5/realtime-metrics"
    },
    {
      "description": "APAC Realtime Metrics API Production",
      "url": "https://api.8x8.com/au/analytics/cc/v5/realtime-metrics"
    },
    {
      "description": "Canada Realtime Metrics API Production",
      "url": "https://api.8x8.com/ca/analytics/cc/v5/realtime-metrics"
    },
    {
      "description": "USA Realtime Metrics API Production",
      "url": "https://api.8x8.com/analytics/cc/v5/realtime-metrics"
    }
  ],
  "tags": [
    {
      "name": "Agents",
      "description": "This API retrieves realtime metrics related to agents for a given queue or group."
    },
    {
      "name": "Queues",
      "description": "This API retrieves real-time metrics related to queues"
    },
    {
      "name": "Groups",
      "description": "This API retrieves realtime metrics related to groups."
    }
  ],
  "paths": {
    "/queues": {
      "get": {
        "security": [{ "bearerAuth": [] }],
        "tags": ["Queues"],
        "summary": "Queue Statistics",
        "description": "This method retrieves real-time metrics for a list of queues. By default, the metrics for all queues are returned. The result can be filtered and paginated.",
        "operationId": "cc-real-time-get-queues-metrics",
        "parameters": [
          {
            "name": "metrics",
            "in": "query",
            "description": "The set of metric identifiers to be returned.",
            "required": false,
            "explode": true,
            "schema": { "type": "array", "items": { "type": "string" } },
            "example": [
              "abandoned.int-15m",
              "abandoned.int-30m",
              "abandoned.today",
              "abandonedPercentage.int-15m",
              "abandonedPercentage.int-30m",
              "abandonedPercentage.today",
              "accepted.int-15m",
              "accepted.int-30m",
              "accepted.today",
              "acceptedPercentage.int-15m",
              "acceptedPercentage.int-30m",
              "acceptedPercentage.today",
              "availableIdle.rt",
              "avgDivertedTime.int-15m",
              "avgDivertedTime.int-30m",
              "avgDivertedTime.today",
              "avgHandlingTime.int-15m",
              "avgHandlingTime.int-30m",
              "avgHandlingTime.today",
              "avgOfferingTime.int-15m",
              "avgOfferingTime.int-30m",
              "avgOfferingTime.today",
              "avgProcessingTime.int-15m",
              "avgProcessingTime.int-30m",
              "avgProcessingTime.today",
              "avgWorkTime.int-15m",
              "avgWorkTime.int-30m",
              "avgWorkTime.today",
              "avgWrapUpTime.int-15m",
              "avgWrapUpTime.int-30m",
              "avgWrapUpTime.today",
              "busy.rt",
              "busyExternal.rt",
              "busyOther.rt",
              "diverted.int-15m",
              "diverted.int-30m",
              "diverted.today",
              "divertedPercentage.int-15m",
              "divertedPercentage.int-30m",
              "divertedPercentage.today",
              "eligibl.rt",
              "enabled.rt",
              "entered.int-15m",
              "entered.int-30m",
              "entered.today",
              "handling.rt",
              "interactionsAvgWaitTime.int-15m",
              "interactionsAvgWaitTime.int-30m",
              "interactionsAvgWaitTime.today",
              "interactionsHandling.rt",
              "interactionsLongestWaitInQueue.int-15m",
              "interactionsLongestWaitInQueue.int-30m",
              "interactionsLongestWaitInQueue.rt",
              "interactionsLongestWaitInQueue.today",
              "interactionsWaitInQueue.rt",
              "interactionsWrapUp.rt",
              "longestOfferingTimeInQueue.int-15m",
              "longestOfferingTimeInQueue.int-30m",
              "longestOfferingTimeInQueue.today",
              "offering.rt",
              "onBreak.rt",
              "shortAbandoned.int-15m",
              "shortAbandoned.int-30m",
              "shortAbandoned.today",
              "shortAbandonedPercentage.int-15m",
              "shortAbandonedPercentage.int-30m",
              "shortAbandonedPercentage.today",
              "slaPercentage.int-12h",
              "slaPercentage.int-15m",
              "slaPercentage.int-1h",
              "slaPercentage.int-30m",
              "slaPercentage.int-4h",
              "slaPercentage.int-8h",
              "slaPercentage.today",
              "slaPercentageTarget.today",
              "slaTimeThreshold.today",
              "totalAbandoned.int-15m",
              "totalAbandoned.int-30m",
              "totalAbandoned.today",
              "totalAbandonedPercentage.int-15m",
              "totalAbandonedPercentage.int-30m",
              "totalAbandonedPercentage.today",
              "workingOffline.rt",
              "wrapUp.rt"
            ]
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number",
            "required": false,
            "schema": { "type": "integer", "format": "int32", "default": 0 }
          },
          {
            "name": "queue-ids",
            "in": "query",
            "description": "The optional set of queue identifiers. You only receive returned metrics for identified queues.",
            "required": false,
            "allowEmptyValue": false,
            "explode": true,
            "schema": { "type": "array", "items": { "type": "string" } }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The number of individual elements to be returned per page.",
            "required": false,
            "schema": { "type": "integer", "format": "int32", "default": 100 }
          },
          {
            "name": "summary",
            "in": "query",
            "description": "This parameter returns the queue summary (id, name). If this parameter is set to TRUE, queue-ids and metrics parameters are ignored.",
            "required": false,
            "allowEmptyValue": false,
            "schema": { "type": "boolean" }
          },
          {
            "name": "timezone",
            "in": "query",
            "description": "The specified timezone (applicable for TODAY metrics only).",
            "required": false,
            "schema": { "type": "string" },
            "example": "Europe/Helsinki"
          },
          {
            "name": "includeTotals",
            "in": "query",
            "description": "Add totals for time, percentage, average and count metric.",
            "required": false,
            "allowEmptyValue": false,
            "schema": { "type": "boolean" }
          }
        ],
        "responses": {
          "200": {
            "description": "Success/OK",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SingleQueueResponseXML"
                }
              },
              "application/json": {
                "schema": { "$ref": "#/components/schemas/SingleQueueResponse" }
              }
            }
          },
          "400": { "description": "Bad request" },
          "401": { "description": "Unauthorized" },
          "403": { "description": "Forbidden" },
          "404": { "description": "Not found" },
          "405": { "description": "Method not allowed" }
        },
        "deprecated": false
      }
    },
    "/queues/{id}": {
      "get": {
        "security": [{ "bearerAuth": [] }],
        "tags": ["Queues"],
        "summary": "Individual Queue Metrics",
        "description": "This method retrieves real-time metrics for a specific queue. The response returns an object which contains the queue ID, queue name and a list of metric objects. The metric contains a key field with a label or description as well as a value field.",
        "operationId": "cc-real-time-get-queue-metrics-by-id",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The queue identifier",
            "required": true,
            "schema": { "type": "string" },
            "example": "118"
          },
          {
            "name": "metrics",
            "in": "query",
            "description": "The set of metric identifiers to be returned.",
            "required": false,
            "explode": true,
            "schema": { "type": "array", "items": { "type": "string" } },
            "example": [
              "abandoned.int-15m",
              "abandoned.int-30m",
              "abandoned.today",
              "abandonedPercentage.int-15m",
              "abandonedPercentage.int-30m",
              "abandonedPercentage.today",
              "accepted.int-15m",
              "accepted.int-30m",
              "accepted.today",
              "acceptedPercentage.int-15m",
              "acceptedPercentage.int-30m",
              "acceptedPercentage.today",
              "availableIdle.rt",
              "avgDivertedTime.int-15m",
              "avgDivertedTime.int-30m",
              "avgDivertedTime.today",
              "avgHandlingTime.int-15m",
              "avgHandlingTime.int-30m",
              "avgHandlingTime.today",
              "avgOfferingTime.int-15m",
              "avgOfferingTime.int-30m",
              "avgOfferingTime.today",
              "avgProcessingTime.int-15m",
              "avgProcessingTime.int-30m",
              "avgProcessingTime.today",
              "avgWorkTime.int-15m",
              "avgWorkTime.int-30m",
              "avgWorkTime.today",
              "avgWrapUpTime.int-15m",
              "avgWrapUpTime.int-30m",
              "avgWrapUpTime.today",
              "busy.rt",
              "busyExternal.rt",
              "busyOther.rt",
              "diverted.int-15m",
              "diverted.int-30m",
              "diverted.today",
              "divertedPercentage.int-15m",
              "divertedPercentage.int-30m",
              "divertedPercentage.today",
              "eligibl.rt",
              "enabled.rt",
              "entered.int-15m",
              "entered.int-30m",
              "entered.today",
              "handling.rt",
              "interactionsAvgWaitTime.int-15m",
              "interactionsAvgWaitTime.int-30m",
              "interactionsAvgWaitTime.today",
              "interactionsHandling.rt",
              "interactionsLongestWaitInQueue.int-15m",
              "interactionsLongestWaitInQueue.int-30m",
              "interactionsLongestWaitInQueue.rt",
              "interactionsLongestWaitInQueue.today",
              "interactionsWaitInQueue.rt",
              "interactionsWrapUp.rt",
              "longestOfferingTimeInQueue.int-15m",
              "longestOfferingTimeInQueue.int-30m",
              "longestOfferingTimeInQueue.today",
              "offering.rt",
              "onBreak.rt",
              "shortAbandoned.int-15m",
              "shortAbandoned.int-30m",
              "shortAbandoned.today",
              "shortAbandonedPercentage.int-15m",
              "shortAbandonedPercentage.int-30m",
              "shortAbandonedPercentage.today",
              "slaPercentage.int-12h",
              "slaPercentage.int-15m",
              "slaPercentage.int-1h",
              "slaPercentage.int-30m",
              "slaPercentage.int-4h",
              "slaPercentage.int-8h",
              "slaPercentage.today",
              "slaPercentageTarget.today",
              "slaTimeThreshold.today",
              "totalAbandoned.int-15m",
              "totalAbandoned.int-30m",
              "totalAbandoned.today",
              "totalAbandonedPercentage.int-15m",
              "totalAbandonedPercentage.int-30m",
              "totalAbandonedPercentage.today",
              "workingOffline.rt",
              "wrapUp.rt"
            ]
          },
          {
            "name": "timezone",
            "in": "query",
            "description": "The specified timezone (applicable for TODAY metrics only).",
            "required": false,
            "schema": { "type": "string" },
            "example": "Europe/Helsinki"
          }
        ],
        "responses": {
          "200": {
            "description": "Success/OK",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SingleQueueResponseXML"
                }
              },
              "application/json": {
                "schema": { "$ref": "#/components/schemas/SingleQueueResponse" }
              }
            }
          },
          "400": { "description": "Bad request" },
          "401": { "description": "Unauthorized" },
          "403": { "description": "Forbidden" },
          "404": { "description": "Not found" },
          "405": { "description": "Method not allowed" }
        },
        "deprecated": false
      }
    },
    "/queues/{queueId}/agents": {
      "get": {
        "security": [{ "bearerAuth": [] }],
        "tags": ["Agents"],
        "summary": "Agent Statistics by Queue",
        "description": "This method retrieves real-time metrics for a list of agents in a select queue.  By default, all agents from the given queue will be returned. The response can be further filtered and is paginated.",
        "operationId": "cc-real-time-get-agents-metrics-by-queue",
        "parameters": [
          {
            "name": "agent-ids",
            "in": "query",
            "description": "The optional set of agent identifiers. Only metrics for selected agents is returned.",
            "required": false,
            "allowEmptyValue": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": { "type": "string" },
              "example": ["ag0001", "ag0002"]
            }
          },
          {
            "name": "metrics",
            "in": "query",
            "description": "The set of metric identifiers to be returned.",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": { "type": "string" },
              "example": [
                "accepted.int-15m.inQueue",
                "accepted.int-30m.inQueue",
                "accepted.today.inQueue",
                "alerting.rt",
                "availableTime.int-15m",
                "availableTime.int-30m",
                "availableTime.today",
                "availableTimePercentage.int-15m",
                "availableTimePercentage.int-30m",
                "availableTimePercentage.today",
                "averageHandlingTime.int-15m.inQueue",
                "averageHandlingTime.int-30m.inQueue",
                "averageHandlingTime.today.inQueue",
                "averageOfferingTime.int-15m.inQueue",
                "averageOfferingTime.int-30m.inQueue",
                "averageOfferingTime.today.inQueue",
                "averageWrapUpTime.int-15m.inQueue",
                "averageWrapUpTime.int-30m.inQueue",
                "averageWrapUpTime.today.inQueue",
                "blindTransfers.int-15m.inQueue",
                "blindTransfers.int-30m.inQueue",
                "blindTransfers.today.inQueue",
                "busyTime.int-15m",
                "busyTime.int-30m",
                "busyTime.today",
                "busyTimePercentage.int-15m",
                "busyTimePercentage.int-30m",
                "busyTimePercentage.today",
                "conferenceTime.int-15m.inQueue",
                "conferenceTime.int-30m.inQueue",
                "conferenceTime.today.inQueue",
                "conferences.int-15m.inQueue",
                "conferences.int-30m.inQueue",
                "conferences.today.inQueue",
                "consultations.int-15m.inQueue",
                "consultations.int-30m.inQueue",
                "consultations.today.inQueue",
                "directInboundTime.int-15m",
                "directInboundTime.int-30m",
                "directInboundTime.today",
                "directInbounds.int-15m",
                "directInbounds.int-30m",
                "directInbounds.today",
                "directOutboundTime.int-15m",
                "directOutboundTime.int-30m",
                "directOutboundTime.today",
                "directOutbounds.int-15m",
                "directOutbounds.int-30m",
                "directOutbounds.today",
                "handlingTime.int-15m",
                "handlingTime.int-30m",
                "handlingTime.today",
                "handlingTimePercentage.int-15m",
                "handlingTimePercentage.int-30m",
                "handlingTimePercentage.today",
                "hold.int-15m.inQueue",
                "hold.int-30m.inQueue",
                "hold.today.inQueue",
                "internalCalls.int-15m",
                "internalCalls.int-30m",
                "internalCalls.today",
                "internalCallsInitiated.int-15m",
                "internalCallsInitiated.int-30m",
                "internalCallsInitiated.today",
                "internalCallsReceived.int-15m",
                "internalCallsReceived.int-30m",
                "internalCallsReceived.today",
                "internalCallsTime.int-15m",
                "internalCallsTime.int-30m",
                "internalCallsTime.today",
                "lastLogin.rt",
                "lastLogout.rt",
                "line1Status.rt",
                "line1TimeOnStatus.rt",
                "line2Status.rt",
                "line2TimeOnStatus.rt",
                "loggedInTime.int-15m",
                "loggedInTime.int-30m",
                "loggedInTime.rt",
                "loggedInTime.today",
                "longestHold.int-15m.inQueue",
                "longestHold.int-30m.inQueue",
                "longestHold.today.inQueue",
                "longestOffering.int-15m.inQueue",
                "longestOffering.int-30m.inQueue",
                "longestOffering.today.inQueue",
                "offered.int-15m.inQueue",
                "offered.int-30m.inQueue",
                "offered.today.inQueue",
                "offeringTime.int-15m",
                "offeringTime.int-30m",
                "offeringTime.today",
                "onBreakTime.int-15m",
                "onBreakTime.int-30m",
                "onBreakTime.today",
                "onBreakTimePercentage.int-15m",
                "onBreakTimePercentage.int-30m",
                "onBreakTimePercentage.today",
                "onHoldTime.int-15m.inQueue",
                "onHoldTime.int-30m.inQueue",
                "onHoldTime.today.inQueue",
                "rejectTimeout.int-15m.inQueue",
                "rejectTimeout.int-30m.inQueue",
                "rejectTimeout.today.inQueue",
                "rejected.int-15m.inQueue",
                "rejected.int-30m.inQueue",
                "rejected.today.inQueue",
                "status.rt",
                "statusCode.rt",
                "timeOnStatus.rt",
                "transfersReceived.int-15m.inQueue",
                "transfersReceived.int-30m.inQueue",
                "transfersReceived.today.inQueue",
                "warmTransfers.int-15m.inQueue",
                "warmTransfers.int-30m.inQueue",
                "warmTransfers.today.inQueue",
                "workingOfflineTime.int-15m",
                "workingOfflineTime.int-30m",
                "workingOfflineTime.today",
                "workingOfflineTimePercentage.int-15m",
                "workingOfflineTimePercentage.int-30m",
                "workingOfflineTimePercentage.today",
                "wrapUpTime.int-15m",
                "wrapUpTime.int-30m",
                "wrapUpTime.today",
                "wrapUpTimePercentage.int-15m",
                "wrapUpTimePercentage.int-30m",
                "wrapUpTimePercentage.today"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number",
            "required": false,
            "schema": { "type": "integer", "format": "int32", "default": 0 }
          },
          {
            "name": "queueId",
            "in": "path",
            "description": "Returns specific queue agents IDs",
            "required": true,
            "schema": { "type": "string" },
            "example": "118"
          },
          {
            "name": "size",
            "in": "query",
            "description": "The number of individual elements to be returned per page.",
            "required": false,
            "schema": { "type": "integer", "format": "int32", "default": 10 }
          },
          {
            "name": "summary",
            "in": "query",
            "description": "This parameter returns the agent summary (id, name) for a specific queue. If this parameter is set to TRUE, agent-ids and metric parameters are ignored.",
            "required": false,
            "allowEmptyValue": false,
            "schema": { "type": "boolean" }
          },
          {
            "name": "timezone",
            "in": "query",
            "description": "The specific timezone (applicable for TODAY metrics only)",
            "required": false,
            "schema": { "type": "string" },
            "example": "Europe/Helsinki"
          },
          {
            "name": "includeTotals",
            "in": "query",
            "description": "Add totals for time, percentage, average and count metric.",
            "required": false,
            "allowEmptyValue": false,
            "schema": { "type": "boolean" }
          }
        ],
        "responses": {
          "200": {
            "description": "Success/OK",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SingleQueueResponseXML"
                }
              },
              "application/json": {
                "schema": { "$ref": "#/components/schemas/SingleQueueResponse" }
              }
            }
          },
          "400": { "description": "Bad request" },
          "401": { "description": "Unauthorized" },
          "403": { "description": "Forbidden" },
          "404": { "description": "Not found" },
          "405": { "description": "Method not allowed" }
        },
        "deprecated": false
      }
    },
    "/queues/{queueId}/agents/{agentId}": {
      "get": {
        "security": [{ "bearerAuth": [] }],
        "tags": ["Agents"],
        "summary": "Individual Agent Statistics by Queue",
        "description": "This method retrieves real-time metrics for a specific agent in a queue.  The agent ID, agent name and a list of metric objects. A metric object contains a `key` field with a label (description) of the metric and a `value`. The response is paginated.",
        "operationId": "cc-real-time-get-agent-metrics-by-queue-by-id",
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "description": "This parameter returns metrics for a specific agent. The requested agent must belong to the queue specified by the queueId parameter.",
            "required": true,
            "schema": { "type": "string" },
            "example": "ag0003"
          },
          {
            "name": "metrics",
            "in": "query",
            "description": "The set of metric identifiers to be returned.",
            "required": false,
            "explode": true,
            "schema": { "type": "array", "items": { "type": "string" } },
            "example": [
              "accepted.int-15m.inQueue",
              "accepted.int-30m.inQueue",
              "accepted.today.inQueue",
              "alerting.rt",
              "availableTime.int-15m",
              "availableTime.int-30m",
              "availableTime.today",
              "availableTimePercentage.int-15m",
              "availableTimePercentage.int-30m",
              "availableTimePercentage.today",
              "averageHandlingTime.int-15m.inQueue",
              "averageHandlingTime.int-30m.inQueue",
              "averageHandlingTime.today.inQueue",
              "averageOfferingTime.int-15m.inQueue",
              "averageOfferingTime.int-30m.inQueue",
              "averageOfferingTime.today.inQueue",
              "averageWrapUpTime.int-15m.inQueue",
              "averageWrapUpTime.int-30m.inQueue",
              "averageWrapUpTime.today.inQueue",
              "blindTransfers.int-15m.inQueue",
              "blindTransfers.int-30m.inQueue",
              "blindTransfers.today.inQueue",
              "busyTime.int-15m",
              "busyTime.int-30m",
              "busyTime.today",
              "busyTimePercentage.int-15m",
              "busyTimePercentage.int-30m",
              "busyTimePercentage.today",
              "conferenceTime.int-15m.inQueue",
              "conferenceTime.int-30m.inQueue",
              "conferenceTime.today.inQueue",
              "conferences.int-15m.inQueue",
              "conferences.int-30m.inQueue",
              "conferences.today.inQueue",
              "consultations.int-15m.inQueue",
              "consultations.int-30m.inQueue",
              "consultations.today.inQueue",
              "directInboundTime.int-15m",
              "directInboundTime.int-30m",
              "directInboundTime.today",
              "directInbounds.int-15m",
              "directInbounds.int-30m",
              "directInbounds.today",
              "directOutboundTime.int-15m",
              "directOutboundTime.int-30m",
              "directOutboundTime.today",
              "directOutbounds.int-15m",
              "directOutbounds.int-30m",
              "directOutbounds.today",
              "handlingTime.int-15m",
              "handlingTime.int-30m",
              "handlingTime.today",
              "handlingTimePercentage.int-15m",
              "handlingTimePercentage.int-30m",
              "handlingTimePercentage.today",
              "hold.int-15m.inQueue",
              "hold.int-30m.inQueue",
              "hold.today.inQueue",
              "internalCalls.int-15m",
              "internalCalls.int-30m",
              "internalCalls.today",
              "internalCallsInitiated.int-15m",
              "internalCallsInitiated.int-30m",
              "internalCallsInitiated.today",
              "internalCallsReceived.int-15m",
              "internalCallsReceived.int-30m",
              "internalCallsReceived.today",
              "internalCallsTime.int-15m",
              "internalCallsTime.int-30m",
              "internalCallsTime.today",
              "lastLogin.rt",
              "lastLogout.rt",
              "line1Status.rt",
              "line1TimeOnStatus.rt",
              "line2Status.rt",
              "line2TimeOnStatus.rt",
              "loggedInTime.int-15m",
              "loggedInTime.int-30m",
              "loggedInTime.rt",
              "loggedInTime.today",
              "longestHold.int-15m.inQueue",
              "longestHold.int-30m.inQueue",
              "longestHold.today.inQueue",
              "longestOffering.int-15m.inQueue",
              "longestOffering.int-30m.inQueue",
              "longestOffering.today.inQueue",
              "offered.int-15m.inQueue",
              "offered.int-30m.inQueue",
              "offered.today.inQueue",
              "offeringTime.int-15m",
              "offeringTime.int-30m",
              "offeringTime.today",
              "onBreakTime.int-15m",
              "onBreakTime.int-30m",
              "onBreakTime.today",
              "onBreakTimePercentage.int-15m",
              "onBreakTimePercentage.int-30m",
              "onBreakTimePercentage.today",
              "onHoldTime.int-15m.inQueue",
              "onHoldTime.int-30m.inQueue",
              "onHoldTime.today.inQueue",
              "rejectTimeout.int-15m.inQueue",
              "rejectTimeout.int-30m.inQueue",
              "rejectTimeout.today.inQueue",
              "rejected.int-15m.inQueue",
              "rejected.int-30m.inQueue",
              "rejected.today.inQueue",
              "status.rt",
              "statusCode.rt",
              "timeOnStatus.rt",
              "transfersReceived.int-15m.inQueue",
              "transfersReceived.int-30m.inQueue",
              "transfersReceived.today.inQueue",
              "warmTransfers.int-15m.inQueue",
              "warmTransfers.int-30m.inQueue",
              "warmTransfers.today.inQueue",
              "workingOfflineTime.int-15m",
              "workingOfflineTime.int-30m",
              "workingOfflineTime.today",
              "workingOfflineTimePercentage.int-15m",
              "workingOfflineTimePercentage.int-30m",
              "workingOfflineTimePercentage.today",
              "wrapUpTime.int-15m",
              "wrapUpTime.int-30m",
              "wrapUpTime.today",
              "wrapUpTimePercentage.int-15m",
              "wrapUpTimePercentage.int-30m",
              "wrapUpTimePercentage.today"
            ]
          },
          {
            "name": "queueId",
            "in": "path",
            "description": "This parameter returns specific queue agent information.",
            "required": true,
            "schema": { "type": "string" },
            "example": "118"
          },
          {
            "name": "timezone",
            "in": "query",
            "description": "The specific timezone (applicable for TODAY metrics only).",
            "required": false,
            "schema": { "type": "string" },
            "example": "Europe/Helsinki"
          }
        ],
        "responses": {
          "200": {
            "description": "Success/OK",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SingleQueueResponseXML"
                }
              },
              "application/json": {
                "schema": { "$ref": "#/components/schemas/SingleQueueResponse" }
              }
            }
          },
          "400": { "description": "Bad request" },
          "401": { "description": "Unauthorized" },
          "403": { "description": "Forbidden" },
          "404": { "description": "Not found" },
          "405": { "description": "Method not allowed" }
        },
        "deprecated": false
  

# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/8x8/refs/heads/main/openapi/8x8-analytics-8x8-analytics-for-contact-center-real-time-metrics-api.json