The User Monitoring API provides real-time data about agents in the Contact Center. It allows tracking of agent presence, current state (e.g., Ready, On Call, Wrap-up), and the campaign or queue they are handling.
This API is useful for dashboards, monitoring tools, and operational reporting. It helps supervisors understand agent activity, manage workloads, and optimize performance. Responses include live metrics such as active interactions and agent engagement details.
Data is returned in JSON format, supporting filtering and pagination for efficient retrieval in large contact centers.
https://{DataEngine_Domain_Name}:<port>/v4/cc-list/{ccId}/monitoring/user-session-information
These path variables are dynamic and will vary across setups.
The corresponding IDs are generated and shared at the time of setup creation.
Endpoint Breakdown:
{ccId}: Contact Center Id .
/user-session-information: Represents the monitoring statistics to be fetched.
{DataEngine_Domain_Name}: Domain name of the mapped data engine.
| Header | Value | Description |
|---|---|---|
accept |
application/json |
The client accepts json type of response format. |
authorization |
Basic <base64_encoded_token> |
The authentication credentials. The token is a Base64 encoding of username:password. |
| Name | Type | Description | Default / Values |
|---|---|---|---|
cc-id |
integer (int32) |
Unique ID of the contact center | Required |
table-name |
string | Monitoring table name | Required Available values: user-runtime-information, user-session-information, chat-information, customer-information |
offset |
integer | Zero-based offset of the first entry included in this page | Default: 0 |
limit |
integer | Number of results to be returned | Default: 100 |
sort_by |
array[string] | Sorting criteria in the format `property:asc | desc`. Multiple criteria supported |
campaign-ids |
array[integer] | Campaign IDs search filter | - |
user-ids |
array[string] | User IDs search filter | - |
user-name |
string | User name search filter | - |
status |
array[string] | User and contact connection status search filter | Available values:Inactive, ringing ,connected,hungup |
queue-ids |
array[integer] | Queue IDs search filter | - |
user-types |
array[string] | User types search filter | - |
session-ids |
array[string] | Session IDs search filter | - |
call-ids |
array[string] | Call IDs search filter | - |
chat-ids |
array[string] | Chat IDs search filter | - |
{
“http_code”: 200,
“method”: “GET”,
“request_id”: “f3217095-eddc-4ae8-a558-e4db0baef684”,
“response”: [
{
“data”: {
“contact_center_id”: 6,
“user_id”: “sachin_exe2”,
“user_name”: “sachin_exe2”,
“user_status”: “Ready”,
“user_status_duration”: null,
“service_info”: {
“instance_id”: null,
“sip_trunk_id”: null,
“grpc_callback_url”: null
},
“campaign_id”: 389,
“campaign_name”: “monika_webchat”,
“queue_id”: null,
“queue_name”: null,
“interaction_id”: “sachin_exe2_389”,
“channel_details”: {
“channel_type”: “VOICE”,
“addition_details”: {}
},
“customer_status”: null,
“customer_status_duration”: null,
“customer_details”: {
“id”: null,
“name”: null,
“phone_info”: {
“phone”: null,
“display_phone”: null,
“unique_identifier”: null
},
“crt_object_id”: null,
“addition_details”: {}
},
“waiting”: false
}
}
],
“metadata”: {
“total”: 1,
“count”: 1,
“offset”: 0,
“limit”: 100
}
}
| Code | Description | Media Type | Example Response |
|---|---|---|---|
| 200 | Monitoring data returned successfully. | application/json |
json { "http_code": 200, "method": "GET", "request_id": "6da10c2e-1ef7-4206-98ce-410087c9a151", "response": [ { "data": "string" } ], "metadata": { "total": 1000, "count": 50, "offset": 5, "limit": 50 } } |
| 400 | Bad Request. | application/json |
json { "statusCode": 400, "status": "Bad Request", "errorCode": "CONF-1001", "errorMessage": "Invalid input or malformed request." } |
| 401 | Unauthorized — missing or invalid credentials. | application/json |
json { "statusCode": 401, "status": "Unauthorized", "errorCode": "CONF-1002", "errorMessage": "Authentication token is missing or invalid." } |
| 403 | Forbidden — user not permitted to access this resource. | application/json |
json { "statusCode": 403, "status": "Forbidden", "errorCode": "CONF-1003", "errorMessage": "Access denied." } |
| 404 | Not Found — resource does not exist. | application/json |
json { "statusCode": 404, "status": "Not Found", "errorCode": "CONF-1004", "errorMessage": "Object doesn't exist." } |
| 500 | Internal Server Error. | application/json |
json { "statusCode": 500, "status": "Internal Server Error", "errorCode": "CONF-1005", "errorMessage": "An unexpected error occurred on the server." } |