Cluster Viewer List
Returns a paginated list of active viewers/connections.
Request
| Property | Value |
|---|---|
| Method | GET |
| URL | /api/cluster/viewers |
| Content-Type | application/json |
| Authentication | Bearer Token |
Request
curl -X GET "{BASE_URL}/api/cluster/viewers" \
-H "Authorization: Bearer YOUR_TOKEN"
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| page | integer | No | 1 | Page number |
| rowsPerPage | integer | No | 10 | Number of items per page |
| search | string | No | - | Filter results by search term |
| harnessType | string | No | - | Filter by harness type (see allowed values below) |
| systemClients | "true" | "false" | No | - | Include system clients |
Allowed values for harnessType
"STORM_MSE_VIEWER""STORM_HLS_VIEWER""CLUSTER_DATA_CLIENT""GENERIC_HLS_VIEWER""GENERIC_DASH_VIEWER""RTMP_VIEWER""RTMP_PUSH""TRANSCODER""FILE_WRITER"
With query parameters
curl -X GET "{BASE_URL}/api/cluster/viewers" \
-H "Authorization: Bearer YOUR_TOKEN"
Response Body
Pagination
| Parameter | Type | Description |
|---|---|---|
data.totalItems | integer | Total number of viewers |
data.itemsPerPage | integer | Number of items per page |
data.totalPages | integer | Total number of pages |
data.currentPage | integer | Current page number |
data.hasPrevious | boolean | Indicates if a previous page exists |
data.hasNext | boolean | Indicates if a next page exists |
data.list | array | Array of viewer objects |
Viewer
| Parameter | Type | Description |
|---|---|---|
data.list[].id | string | Unique identifier of the viewer session |
data.list[].state | string | Connection state |
data.list[].harnessType | string | Harness type |
data.list[].applicationId | string | Unique identifier of the associated application |
data.list[].streamKey | string | Stream key being viewed |
data.list[].remoteAddress | string | Client IP address |
data.list[].deviceType | string | Device type, possible values: "MOBILE", "TABLET", "DESKTOP" |
data.list[].osName | string | Operating system name |
data.list[].browserName | string | Browser name |
data.list[].countryCode | string | ISO country code |
data.list[].countryName | string | Country name |
data.list[].startTime | integer | Connection start time (Unix timestamp in ms) |
data.list[].duration | integer | Connection duration in milliseconds |
data.list[].inBandwidth | integer | Incoming bandwidth in bytes/sec |
data.list[].outBandwidth | integer | Outgoing bandwidth in bytes/sec |
data.list[].inTotalBytes | integer | Total incoming bytes |
data.list[].outTotalBytes | integer | Total outgoing bytes |
data.list[].healthScore | integer | Connection health score (0-100, 0 when no data available) |
data.list[].healthGrade | string | Connection health grade (e.g., "Very Good", "Bad", "No Data") |
Metadata
| Parameter | Type | Description |
|---|---|---|
meta.executionTime | integer | Request processing time in milliseconds |
meta.generatedAt | integer | Response generation timestamp (Unix timestamp in ms) |
Successful Response (200)
{
"data": {
"totalItems": 1,
"itemsPerPage": 10,
"totalPages": 1,
"hasPrevious": false,
"hasNext": false,
"list": [
{
"deviceType": "DESKTOP",
"outTotalBytes": 26007754,
"harnessType": "STORM_MSE_VIEWER",
"osName": "Windows 10/11",
"healthScore": 100,
"healthGrade": "Very Good",
"inBandwidth": 63,
"streamKey": "123",
"duration": 57701,
"countryCode": "PL",
"outBandwidth": 443234,
"browserName": "Chrome",
"startTime": 1770279702104,
"id": "v_xh69zeigml96ts7p",
"state": "PUBLISHED",
"countryName": "Poland",
"applicationId": "c_y7q39097ml5glmh6",
"inTotalBytes": 4083,
"remoteAddress": "83.11.198.11"
}
],
"currentPage": 1
},
"meta": {
"executionTime": 1,
"generatedAt": 1770279760071
}
}
| Parameter | Type | Description |
|---|---|---|
message | string | Human-readable error message |
Error Response (4xx/5xx)
{
"message": "Error message"
}
Support Needed?
Create a free ticket and our support team will provide you necessary assistance.