Skip to main content

Aggregated & Detailed Calls

The Calls views return call-level analytics for a PBX — an aggregated, paged table of calls with their participants, outcome and handling durations, and a detailed drill-down for a single call.

Two endpoints back this report:

Request

Method: GET

Headers

NameRequiredDescriptionExample
8x8-apikeyThe 8x8-apikey providedtest_key_kjdfidj238jf9123df221
AuthorizationThe access_token as a Bearer tokenBearer eyJhbGciOiJSUzI1NiJ9.yyyyyyyy.zzzzzzzzzz

Path

NameRequiredDescriptionExample
pbxIdThe opaque id of the PBX (not the PBX name).P2DlDO1HSKe0uPdZlClziw

Query

NameRequiredDescriptionExample
pagingOptional. Page size via limit; page forward with the startingAfter cursor.50
sortingOptional. Use sortingField + sortingDirection (ASC/DESC).sortingField=startTime&sortingDirection=DESC
queueIdsRestrict to specific queues — comma-separated opaque queue ids.JMwyX0BUTRC9uAnuAz8wfg
siteIdsRestrict to specific sites — comma-separated opaque site ids.vcXZjfBOT2yWxhUQHzwqwe
startDate / endDateHistorical window in ISO 8601. Omit both for the current live state.2026-07-01T00:00:00Z
intraDayStart / intraDayEndOptional intra-day window; only valid together with startDate/endDate.2026-07-01T09:00:00Z

📘 Pagination is cursor-based

This endpoint paginates by cursor, not page number: set limit for the page size and pass the previous page's last callId as startingAfter (with latestSortingValue) to fetch the next page. Sort with sortingField + sortingDirection. Both are optional.

Example request

📘 Try it out

You can try this endpoint from the reference.

curl --location --request GET 'https://api.8x8.com/analytics/work/v2/pbxes/{pbxId}/calls?startDate=2026-07-01T00:00:00Z&endDate=2026-07-15T23:59:59Z&limit=50&sortingField=startTime&sortingDirection=DESC' \
--header 'Authorization: Bearer {access_token here}' \
--header '8x8-apikey: {8x8-apikey input here}'

Response

Each entry in calls describes one call: its callId, the workGroup (queue or ring group) it belonged to, the caller and latestCallee participants, the lifecycle latestLabel / outcome / resolution, the labels it passed through, and its durations.

📘 Durations are in seconds; timestamps are epoch milliseconds.

{
"calls": [
{
"callId": "1715191662606",
"workGroup": {
"id": "tqteLkZOScyi0Mai9ewUlA",
"extension": "1000",
"groupType": "CALL_QUEUE"
},
"caller": {
"id": "Caller,1006",
"address": "1006",
"name": "Chay Hoss",
"deviceModel": "voo8x8"
},
"latestCallee": {
"address": "1014",
"name": "Chandler Hollow",
"deviceModel": "voo8x8"
},
"latestLabel": "FINISHED",
"outcome": "FINISHED",
"labels": ["WAITING", "ALERTING", "MISSED", "DISCONNECTED", "FINISHED"],
"startTime": 1717751880000,
"stopTime": 1717751880000,
"connectedTime": 0,
"handlingDuration": 0,
"waitingDuration": 42.38,
"talkingDuration": 0,
"onHoldDuration": 0,
"totalDuration": 42.38,
"did": "1000",
"direction": "INTERNAL",
"resolution": "OFFER_TIMEOUT"
}
]
}

Response fields

FieldDescription
calls[]One entry per call in the current page
calls[].callIdUnique call identifier — pass it to GET .../calls/{callId} for full detail
calls[].workGroupThe queue or ring group involved (id, extension, groupType)
calls[].caller / latestCalleeThe originating party and the most recent party handled the call
calls[].latestLabel / outcome / resolutionMost recent state label (last element of labels), final outcome, and resolution classification
calls[].labelsOrdered list of states the call passed through
calls[].handlingDuration / waitingDuration / talkingDuration / onHoldDuration / totalDurationPer-phase and total call durations (seconds)
calls[].startTime / stopTime / connectedTimeCall timestamps (epoch ms)
calls[].didThe dialled number (DID) the call came in on
calls[].directionINTERNAL / INBOUND / OUTBOUND

Call detail

To retrieve the full detail (legs, participants and timeline) of a single call, call GET /v2/pbxes/{pbxId}/calls/{callId} with the callId from the aggregated response. This endpoint also requires startDate/endDate (the same window the call falls in). Each leg carries a callee object and a statusDuration (in seconds). See the Call Details reference.