Skip to main content

Work Analytics โ€” Overview

The Work Analytics v2 reporting API powers the Call Queue, Agent Activity, Ring Group and call-level reports shown in the 8x8 Analytics for Work application. Each report in this section maps to one API endpoint that you can call directly to reproduce the data behind it.

These endpoints serve both historical and live data: supply startDate/endDate to get aggregated metrics over a past window, or omit them to get the current live state (the ongoing* metrics).

All of these endpoints share the same base URL, authentication and a common set of filtering/time-window parameters, documented once on this page. Each report page then documents only what is specific to that endpoint (its metrics, response shape and any extra parameters).

๐Ÿ“˜ You will need a working API key to begin

You can generate API credentials from How to get API Keys.

The 8x8-apikey will be the Key generated. For Work Analytics the Secret from Admin Console is not required.

Base URLโ€‹

Use the following base URL for every endpoint in this section:

  • https://api.8x8.com/analytics/work

1. Authenticate to retrieve access tokenโ€‹

You authenticate with your API key combined with the credentials of a user who has permission and access to Work Analytics. That user does not need to be the one who generated the API credentials.

๐Ÿšง User must access Analytics at least once via browser

The user's credentials cannot be used with the API until they have opened Analytics for Work in a browser at least once.

Parametersโ€‹

Method: POST

Headersโ€‹

NameRequiredDescriptionExample
8x8-apikeyโœ“The 8x8-apikey providedtest_key_kjdfidj238jf9123df221
Content-Typeโœ“Set content type to form-urlencodedapplication/x-www-form-urlencoded

Bodyโ€‹

NameRequiredDescriptionExample
usernameโœ“The 8x8 username of a user with Work Analytics access privilegessomeuser@acme.fakeco
passwordโœ“The 8x8 password of the user with Work Analytics access privilegesRrnp5QBW6dTbx^TP

Authentication Requestโ€‹

curl --location --request POST 'https://api.8x8.com/analytics/work/v1/oauth/token' \
--header '8x8-apikey: {8x8-apikey input here}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'username={8x8 username of user input here}' \
--data-urlencode 'password={8x8 password of user input here}'

Authentication Responseโ€‹

{
"access_token": "eyJhbGciOiJSUzI1NiJ9.yyyyyyyy.zzzzzzzzzz",
"token_type": "bearer",
"expires_in": 1800
}

Outputs for the next step:

  • access_token
  • expires_in

The token expires after expires_in seconds. Every report request below is authenticated by sending the 8x8-apikey header and an Authorization header set to Bearer {access_token} (note the space between Bearer and the token).

2. Common request parametersโ€‹

Every report in this section is scoped to a PBX (pbxId, path parameter) and accepts the same filtering and time-window query parameters. Individual report pages list any additional parameters they support.

Headersโ€‹

NameRequiredDescriptionExample
8x8-apikeyโœ“The 8x8-apikey providedtest_key_kjdfidj238jf9123df221
Authorizationโœ“The access_token from step 1 as a Bearer tokenBearer eyJhbGciOiJSUzI1NiJ9.yyyyyyyy.zzzzzzzzzz

Pathโ€‹

NameRequiredDescriptionExample
pbxIdโœ“The opaque id of the PBX (not the PBX name).P2DlDO1HSKe0uPdZlClziw

Queryโ€‹

NameRequiredDescriptionExample
siteIdsFilter by site โ€” comma-separated opaque site ids (not site names). If omitted, all sites for the PBX are returned.vcXZjfBOT2yWxhUQHzwqwe
queueIdsFilter by call queue โ€” comma-separated opaque queue ids (not queue names). If omitted, all queues for the PBX are returned.JMwyX0BUTRC9uAnuAz8wfg
startDateReport start date (ISO 8601). If startDate is entered, endDate is required as well.2026-07-01T00:00:00Z
endDateReport end date (ISO 8601). If endDate is entered, startDate is required as well.2026-07-15T23:59:59Z
intraDayStartIntra-day start time (ISO 8601, up to seconds). Requires intraDayEnd, and only valid together with startDate/endDate.2026-07-01T09:00:00Z
intraDayEndIntra-day end time (ISO 8601, up to seconds). Requires intraDayStart, and only valid together with startDate/endDate.2026-07-01T17:00:00Z
metricsComma-separated list of metrics to return. The values allowed differ per endpoint โ€” see each report page and its reference.enteredCalls,acceptedCalls
includeSummaryDefaults to true; pass false to omit the aggregated summary of the requested metrics.false

๐Ÿ“˜ Time window vs. live state

When startDate/endDate are supplied the report covers that historical window. When both are omitted the endpoint returns current values โ€” the ongoing* live metrics (calls and agents active right now) together with aggregates over the recent default window.

Reports in this sectionโ€‹

ReportEndpointReference
Call QueuesGET /v2/pbxes/{pbxId}/call-queue-metricsGet Call Queue Metrics
Agent ActivityGET /v2/pbxes/{pbxId}/agent-activityAgent Activity
Queue Agent ActivityGET /v2/pbxes/{pbxId}/queue-agent-activityAgent Activity per Queue
Ring Group Agent ActivityGET /v2/pbxes/{pbxId}/ring-group-agent-activity/{ringGroupId}Ring Group Agent Activity
Aggregated & Detailed CallsGET /v2/pbxes/{pbxId}/callsCall Queue Data Table
Active CallsGET /v2/pbxes/{pbxId}/calls/activeActive Calls
Unreturned CallsGET /v2/pbxes/{pbxId}/calls/unreturnedUnreturned Calls

These v2 endpoints serve live and recent-window data. For the older batch summary reports โ€” Company Summary, Extension Summary, the ring group summaries, and Call Detail Records / Call Legs โ€” see the other Work Analytics report pages in this section.