Viewer
Returns detailed information about a specific viewer session.
Request
| Property | Value |
|---|---|
| Method | GET |
| URL | /api/viewers/{viewerId} |
| Content-Type | application/json |
| Authentication | Bearer Token |
Request
curl -X GET "{BASE_URL}/api/viewers/{viewerId}" \
-H "Authorization: Bearer YOUR_TOKEN"
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
viewerId | string | Yes | Unique identifier of the viewer session |
Request With Parameters
curl -X GET "{BASE_URL}/api/viewers/{viewerId}" \
-H "Authorization: Bearer YOUR_TOKEN"
Response Body
Basic Info
| Parameter | Type | Description |
|---|---|---|
data.id | string | Unique identifier of the viewer session |
data.state | string | Connection state |
data.pipelineType | string | Pipeline type |
data.harnessType | string | Harness type |
data.application | string | Application name |
data.streamKey | string | The stream key that the viewer is currently watching |
data.startTime | integer | Connection start time (Unix timestamp in ms) |
data.duration | integer | Connection duration in milliseconds |
User Agent Data
| Parameter | Type | Description |
|---|---|---|
data.userAgentData.deviceType | string | Device type. |
data.userAgentData.osName | string | Operating system name |
data.userAgentData.osVersion | string | Operating system version |
data.userAgentData.browserName | string | Browser name |
data.userAgentData.browserVersion | string | Browser version |
data.userAgentData.renderingEngine | string | Browser rendering engine |
Connection Data
| Parameter | Type | Description |
|---|---|---|
data.connectionData.remoteAddress | string | Client IP address |
data.connectionData.protocol | string | Connection protocol (e.g., "HTTP") |
data.connectionData.inBandwidth | integer | Incoming bandwidth in bytes/sec |
data.connectionData.outBandwidth | integer | Outgoing bandwidth in bytes/sec |
data.connectionData.inTotalBytes | integer | Total incoming bytes |
data.connectionData.outTotalBytes | integer | Total outgoing bytes |
data.connectionData.videoPacketCount | integer | Total video packets received |
data.connectionData.audioPacketCount | integer | Total audio packets received |
data.connectionData.dataPacketCount | integer | Total data packets received |
Health Data
| Parameter | Type | Description |
|---|---|---|
data.healthData.healthScore | integer | Overall health score (0-100) |
data.healthData.healthGrade | string | Overall health grade |
data.healthData.latency | integer | Latency in milliseconds |
data.healthData.latencyGrade | string | Latency grade |
data.healthData.bufferDeviation | number | Buffer deviation value |
data.healthData.bufferDeviationGrade | string | Buffer deviation grade |
data.healthData.queuePressure | number | Queue pressure value |
data.healthData.queuePressureGrade | string | Queue pressure grade |
data.healthData.droppedFramesRatio | number | Dropped frames ratio (-1 if no data) |
data.healthData.droppedFramesGrade | string | Dropped frames grade |
Geo Data
| Parameter | Type | Description |
|---|---|---|
data.geoData.continentName | string | Continent name |
data.geoData.countryName | string | Country name |
data.geoData.countryCode | string | ISO country code |
data.geoData.cityName | string | City name |
data.geoData.postalCode | string | Postal code |
data.geoData.latitude | number | Latitude coordinate |
data.geoData.longitude | number | Longitude coordinate |
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": {
"id": "v_xxxxxxxxxxxxxxx",
"state": "PUBLISHED",
"pipelineType": "CLIENT_OUTPUT",
"harnessType": "STORM_MSE_VIEWER",
"application": "edge",
"streamKey": "f1",
"startTime": 1764750453996,
"duration": 21985,
"userAgentData": {
"deviceType": "DESKTOP",
"osName": "Windows 10/11",
"osVersion": "10.0",
"browserName": "Chrome",
"browserVersion": "144.0.0.0",
"renderingEngine": "WebKit"
},
"connectionData": {
"remoteAddress": "83.11.204.8",
"protocol": "HTTP",
"inBandwidth": 0,
"outBandwidth": 226930,
"inTotalBytes": 1428,
"outTotalBytes": 5149949,
"videoPacketCount": 660,
"audioPacketCount": 1030,
"dataPacketCount": 0
},
"healthData": {
"healthScore": 0,
"healthGrade": "No Data",
"latency": 19,
"latencyGrade": "Very Good",
"bufferDeviation": 0.017260000000000005,
"bufferDeviationGrade": "Good",
"queuePressure": 0,
"queuePressureGrade": "Very Good",
"droppedFramesRatio": -1,
"droppedFramesGrade": "No Data"
},
"geoData": {
"continentName": "Europe",
"countryName": "Poland",
"countryCode": "PL",
"cityName": "Torun",
"postalCode": "87-100",
"latitude": 53.0176,
"longitude": 18.6202
}
},
"meta": {
"executionTime": 0,
"generatedAt": 1764750475981
}
}
Error Response (4xx/5xx)
| Parameter | Type | Description |
|---|---|---|
message | string | Human-readable error message |
Viewer Not Found (404)
{
"message": "Connection not found"
}
Error Response
{
"message": "Error message"
}
Support Needed?
Create a free ticket and our support team will provide you necessary assistance.