Storm docs logo
Search the docs.../
Explore Storm Products

Viewer

Returns detailed information about a specific viewer session.

Request

PropertyValue
MethodGET
URL/api/viewers/{viewerId}
Content-Typeapplication/json
AuthenticationBearer Token
Request
Code iconbash
curl -X GET "{BASE_URL}/api/viewers/{viewerId}" \
  -H "Authorization: Bearer YOUR_TOKEN"

Path Parameters

ParameterTypeRequiredDescription
viewerIdstringYesUnique identifier of the viewer session
Request With Parameters
Code iconbash
curl -X GET "{BASE_URL}/api/viewers/{viewerId}" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response Body

Basic Info

ParameterTypeDescription
data.idstringUnique identifier of the viewer session
data.statestringConnection state
data.pipelineTypestringPipeline type
data.harnessTypestringHarness type
data.applicationstringApplication name
data.streamKeystringThe stream key that the viewer is currently watching
data.startTimeintegerConnection start time (Unix timestamp in ms)
data.durationintegerConnection duration in milliseconds

User Agent Data

ParameterTypeDescription
data.userAgentData.deviceTypestringDevice type.
data.userAgentData.osNamestringOperating system name
data.userAgentData.osVersionstringOperating system version
data.userAgentData.browserNamestringBrowser name
data.userAgentData.browserVersionstringBrowser version
data.userAgentData.renderingEnginestringBrowser rendering engine

Connection Data

ParameterTypeDescription
data.connectionData.remoteAddressstringClient IP address
data.connectionData.protocolstringConnection protocol (e.g., "HTTP")
data.connectionData.inBandwidthintegerIncoming bandwidth in bytes/sec
data.connectionData.outBandwidthintegerOutgoing bandwidth in bytes/sec
data.connectionData.inTotalBytesintegerTotal incoming bytes
data.connectionData.outTotalBytesintegerTotal outgoing bytes
data.connectionData.videoPacketCountintegerTotal video packets received
data.connectionData.audioPacketCountintegerTotal audio packets received
data.connectionData.dataPacketCountintegerTotal data packets received

Health Data

ParameterTypeDescription
data.healthData.healthScoreintegerOverall health score (0-100)
data.healthData.healthGradestringOverall health grade
data.healthData.latencyintegerLatency in milliseconds
data.healthData.latencyGradestringLatency grade
data.healthData.bufferDeviationnumberBuffer deviation value
data.healthData.bufferDeviationGradestringBuffer deviation grade
data.healthData.queuePressurenumberQueue pressure value
data.healthData.queuePressureGradestringQueue pressure grade
data.healthData.droppedFramesRationumberDropped frames ratio (-1 if no data)
data.healthData.droppedFramesGradestringDropped frames grade

Geo Data

ParameterTypeDescription
data.geoData.continentNamestringContinent name
data.geoData.countryNamestringCountry name
data.geoData.countryCodestringISO country code
data.geoData.cityNamestringCity name
data.geoData.postalCodestringPostal code
data.geoData.latitudenumberLatitude coordinate
data.geoData.longitudenumberLongitude coordinate

Metadata

ParameterTypeDescription
meta.executionTimeintegerRequest processing time in milliseconds
meta.generatedAtintegerResponse generation timestamp (Unix timestamp in ms)
Successful Response (200)
Code iconjson
{
  "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)

ParameterTypeDescription
messagestringHuman-readable error message
Viewer Not Found (404)
Code iconjson
{
  "message": "Connection not found"
}
Error Response
Code iconjson
{
  "message": "Error message"
}
Support Needed?

Create a free ticket and our support team will provide you necessary assistance.

Blog
Support
About us
Patents
Term of use
Privacy policy
Contact
©2026 Storm Streaming Media. All Rights Reserved.