Extension Summary
This page covers two operations:
GET /v2/extsumโ call statistics per extension. See Run Report.GET /v4/extsum/unusedโ the extensions that had no call activity in the requested range. See Extensions with no call activity.
๐ Looking for live/real-time queue, agent or call-level data? See Work Analytics โ Overview.
8x8 Work Analytics Historical access is via this multi step process. For any of the endpoints the same process is followed.
๐ You will need a working API key to begin
You can generate API credentials from How to get API Keys
The
8x8-api-keywill be theKeygenerated. For Work Analytics the Secret from Admin Console is not required.
๐
Note: This API provides access to data from the past 2 years only in accordance with Analytics for Work data compliance policies; queries spanning more than 2 years will return only the most recent 2 years of data, and queries outside this range will return no results
Use the following base URL during this process:
https://api.8x8.com/analytics/work
Run Reportโ
Parametersโ
Method: GET
Headersโ
| Name | Required | Description | Example |
|---|---|---|---|
| 8x8-apikey | โ | The 8x8-api key provided | test_key_kjdfidj238jf9123df221 |
| Authorization | โ | Pass the access_token returned from the authentication request as a Bearer token Bearer {access_token} | Bearer eyJhbGciOiJSUzI1NiJ9.yyyyyyyyyyy.zzzzzzzzzzzz |
Pathโ
| Name | Required | Description | Example |
|---|---|---|---|
| version | โ | The current version for extension summary is v2 | v2 |
Queryโ
| Name | Required | Description | Example |
|---|---|---|---|
| pbxId | โ | Pass the pbxId (PBX Name) of the requested pbx or comma separated list of pbxIds or allpbxes for all of the pbxs in the customer account. PBX names can be found here in Admin Console | acmecorp,acmecorp2 |
| startTime | โ | The interval start time for CDR searches - the format is YYYY-MM-DD HH:MM:SS. | 2022-10-20 08:30:00 |
| endTime | โ | The interval end time for CDR searches - the format is YYYY-MM-DD HH:MM:SS. | 2022-10-20 19:00:00 |
| timeZone | โ | IANA Time Zones. Examples America/New_York, Europe/London Wikipedia Time Zone List | America/New_York |
Extension Summary Requestโ
๐ Try out the Extension Summary
Try it out @ Extension Summary Reference and see who's made more calls.
curl --location --request GET 'https://api.8x8.com/analytics/work/v{version}/extsum?pbxId={pbxId here}&startTime=2022-02-03 00:00:00&endTime=2022-02-03 10:00:00&timeZone=America/New_York' \
--header 'Authorization: Bearer {access_token here}' \
--header '8x8-apikey: {8x8-apikey input here}'
Extension Summary Responseโ
For details on the company summary metrics please refer to Extension Summary Glossary
๐ Durations are in milliseconds
[
{
"PbxId": "acmecorp",
"Extension": "8885",
"ServiceType": "UE",
"FirstName": "Alice",
"LastName": "Smith",
"Branch": "East Coast",
"Department": "Marketing",
"External_Inbound_Total": 1,
"External_Inbound_Answered": 0,
"External_Inbound_Abandoned": 1,
"Percent_External_Inbound_Answered": 0,
"External_Inbound_Missed": 1,
"External_Outbound_Total": 0,
"External_Outbound_Answered": 0,
"Percent_External_Outbound_Answered": 0,
"External_Outbound_Abandoned": 0,
"Internal_Inbound_Total": 0,
"Internal_Inbound_Answered": 0,
"Internal_Inbound_Abandoned": 0,
"Internal_Inbound_Missed": 0,
"Internal_Outbound_Total": 0,
"Internal_Outbound_Answered": 0,
"Internal_Outbound_Abandoned": 0,
"Inbound_Total": 1,
"Inbound_Answered": 0,
"Inbound_Abandoned": 1,
"Inbound_Missed": 1,
"Total_Calls_To_VM": 0,
"Outbound_Total": 0,
"Outbound_Answered": 0,
"Outbound_Abandoned": 0,
"Total_Answered": 0,
"Total_Abandoned": 1,
"Total_Missed": 1,
"Total_Ring_Time": 1195,
"Total_Talk_Time": 0,
"Total_Abandoned_Time": 0,
"Total_Call_Time": 19048,
"Avg_Ring_Time": 1195,
"Avg_Talk_Time": 0,
"Inbound_Talk_Time": 0,
"Outbound_Talk_Time": 0,
"Avg_Abandoned_Time": 0,
"Email": "alice.smith",
"UserName": "user@example.com"
},
{
"PbxId": "acmecorp2",
"Extension": "441001",
"ServiceType": "UE",
"FirstName": "Li",
"LastName": "Chan",
"Branch": "Remote",
"Department": "HR",
"External_Inbound_Total": 1,
"External_Inbound_Answered": 1,
"External_Inbound_Abandoned": 0,
"Percent_External_Inbound_Answered": 100,
"External_Inbound_Missed": 0,
"External_Outbound_Total": 0,
"External_Outbound_Answered": 0,
"Percent_External_Outbound_Answered": 0,
"External_Outbound_Abandoned": 0,
"Internal_Inbound_Total": 0,
"Internal_Inbound_Answered": 0,
"Internal_Inbound_Abandoned": 0,
"Internal_Inbound_Missed": 0,
"Internal_Outbound_Total": 0,
"Internal_Outbound_Answered": 0,
"Internal_Outbound_Abandoned": 0,
"Inbound_Total": 1,
"Inbound_Answered": 1,
"Inbound_Abandoned": 0,
"Inbound_Missed": 0,
"Total_Calls_To_VM": 0,
"Outbound_Total": 0,
"Outbound_Answered": 0,
"Outbound_Abandoned": 0,
"Total_Answered": 1,
"Total_Abandoned": 0,
"Total_Missed": 0,
"Total_Ring_Time": 5160,
"Total_Talk_Time": 2248,
"Total_Abandoned_Time": 0,
"Total_Call_Time": 7408,
"Avg_Ring_Time": 5160,
"Avg_Talk_Time": 2248,
"Inbound_Talk_Time": 0,
"Outbound_Talk_Time": 0,
"Avg_Abandoned_Time": 0,
"Email": "user@example.com",
"UserName": "li.chan"
}
]
Fields not defined in glossary
| Name | Description |
|---|---|
| UserName | 8x8 username of the user, or "N/A" for non users |
| Configured email address of the user, or "N/A" for non users |
Extensions with no call activityโ
Lists the extensions on a PBX that had no call activity in the requested range โ user extensions, ring groups, call queues and auto attendants. Use it to find extensions that are configured but not in use.
The report is based on the PBX's extensions as they are today, so the range must end today.
Parametersโ
Method: GET
Headersโ
| Name | Required | Description | Example |
|---|---|---|---|
| 8x8-apikey | โ | The 8x8-api key provided | test_key_kjdfidj238jf9123df221 |
| Authorization | โ | Pass the access_token returned from the authentication request as a Bearer token Bearer {access_token} | Bearer eyJhbGciOiJSUzI1NiJ9.yyyyyyyyyyy.zzzzzzzzzzzz |
Queryโ
| Name | Required | Description | Example |
|---|---|---|---|
| pbxId | โ | Pass the pbxId (PBX Name) of a single pbx. allpbxes and comma separated lists of pbxIds are not supported. PBX names can be found here in Admin Console | acmecorp |
| startTime | โ | The interval start time - the format is YYYY-MM-DD HH:MM:SS. Must be no earlier than two months before today. | 2026-08-10 00:00:00 |
| endTime | โ | The interval end time - the format is YYYY-MM-DD HH:MM:SS. Must fall on today's date in timeZone. | 2026-10-09 23:59:59 |
| timeZone | โ | IANA Time Zones. Examples America/New_York, Europe/London Wikipedia Time Zone List | America/New_York |
๐ How this differs from the Extension Summary
One pbx per request โ
allpbxesand comma separated lists are rejected.The range must end today and start no more than two months ago. The 2-year note above does not apply.
Only the four query parameters above are accepted. Any other query parameter, for example
isCollapsed, is rejected with HTTP 400.
Extensions with no call activity Requestโ
curl --location --request GET 'https://api.8x8.com/analytics/work/v4/extsum/unused?pbxId={pbxId here}&startTime=2026-08-10 00:00:00&endTime=2026-10-09 23:59:59&timeZone=America/New_York' \
--header 'Authorization: Bearer {access_token here}' \
--header '8x8-apikey: {8x8-apikey input here}'
Extensions with no call activity Responseโ
Each row has the same fields as the Extension Summary response; see the Extension Summary Glossary and the "Fields not defined in glossary" table above. Every metric is 0. Email is always N/A, even for users, because this report does not include email addresses. An empty array [] means every extension on the pbx had call activity in the range.
[
{
"PbxId": "acmecorp",
"Extension": "8890",
"FirstName": "Maria",
"LastName": "Lopez",
"Branch": "East Coast",
"Department": "Sales",
"External_Inbound_Total": 0,
"External_Inbound_Answered": 0,
"External_Inbound_Abandoned": 0,
"Percent_External_Inbound_Answered": 0,
"External_Inbound_Missed": 0,
"External_Outbound_Total": 0,
"External_Outbound_Answered": 0,
"Percent_External_Outbound_Answered": 0,
"External_Outbound_Abandoned": 0,
"Internal_Inbound_Total": 0,
"Internal_Inbound_Answered": 0,
"Internal_Inbound_Abandoned": 0,
"Internal_Inbound_Missed": 0,
"Internal_Outbound_Total": 0,
"Internal_Outbound_Answered": 0,
"Internal_Outbound_Abandoned": 0,
"Inbound_Total": 0,
"Inbound_Answered": 0,
"Inbound_Abandoned": 0,
"Inbound_Missed": 0,
"Total_Calls_To_VM": 0,
"Outbound_Total": 0,
"Outbound_Answered": 0,
"Outbound_Abandoned": 0,
"Total_Answered": 0,
"Total_Abandoned": 0,
"Total_Missed": 0,
"Total_Ring_Time": 0,
"Total_Talk_Time": 0,
"Total_Abandoned_Time": 0,
"Total_Call_Time": 0,
"Avg_Ring_Time": 0,
"Avg_Talk_Time": 0,
"Inbound_Talk_Time": 0,
"Outbound_Talk_Time": 0,
"Avg_Abandoned_Time": 0,
"Email": "N/A",
"UserName": "maria.lopez",
"ServiceType": "UE",
"Total_Ended_By_AA": 0
},
{
"PbxId": "acmecorp",
"Extension": "7000",
"FirstName": "Sales Ring Group",
"LastName": "N/A",
"Branch": "East Coast",
"Department": "N/A",
"External_Inbound_Total": 0,
"External_Inbound_Answered": 0,
"External_Inbound_Abandoned": 0,
"Percent_External_Inbound_Answered": 0,
"External_Inbound_Missed": 0,
"External_Outbound_Total": 0,
"External_Outbound_Answered": 0,
"Percent_External_Outbound_Answered": 0,
"External_Outbound_Abandoned": 0,
"Internal_Inbound_Total": 0,
"Internal_Inbound_Answered": 0,
"Internal_Inbound_Abandoned": 0,
"Internal_Inbound_Missed": 0,
"Internal_Outbound_Total": 0,
"Internal_Outbound_Answered": 0,
"Internal_Outbound_Abandoned": 0,
"Inbound_Total": 0,
"Inbound_Answered": 0,
"Inbound_Abandoned": 0,
"Inbound_Missed": 0,
"Total_Calls_To_VM": 0,
"Outbound_Total": 0,
"Outbound_Answered": 0,
"Outbound_Abandoned": 0,
"Total_Answered": 0,
"Total_Abandoned": 0,
"Total_Missed": 0,
"Total_Ring_Time": 0,
"Total_Talk_Time": 0,
"Total_Abandoned_Time": 0,
"Total_Call_Time": 0,
"Avg_Ring_Time": 0,
"Avg_Talk_Time": 0,
"Inbound_Talk_Time": 0,
"Outbound_Talk_Time": 0,
"Avg_Abandoned_Time": 0,
"Email": "N/A",
"UserName": "N/A",
"ServiceType": "RG",
"Total_Ended_By_AA": 0
}
]