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

Viewer List

Returns a paginated list of active viewers/connections.

Request

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

Query Parameters

ParameterTypeRequiredDefaultDescription
pageintegerNo1Page number
rowsPerPageintegerNo10Number of items per page
searchstringNo-Filter results by search term
harnessTypestringNo-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
Code iconbash
curl -X GET "{BASE_URL}/api/viewers" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response Body

Pagination

ParameterTypeDescription
data.totalItemsintegerTotal number of viewers
data.itemsPerPageintegerNumber of items per page
data.totalPagesintegerTotal number of pages
data.currentPageintegerCurrent page number
data.hasPreviousbooleanIndicates if a previous page exists
data.hasNextbooleanIndicates if a next page exists
data.listarrayArray of viewer objects

Viewer

ParameterTypeDescription
data.list[].idstringUnique identifier of the viewer session
data.list[].statestringConnection state
data.list[].classstring???
data.list[].pipelineTypestringPipeline type
data.list[].harnessTypestringHarness type
data.list[].applicationNamestringApplication name
data.list[].streamKeystringStream key being viewed
data.list[].subStreamstringSub-stream variant
data.list[].remoteAddressstringClient IP address
data.list[].deviceTypestringDevice type. Possible values: "MOBILE", "TABLET", "DESKTOP"
data.list[].osNamestringOperating system name
data.list[].browserNamestringBrowser name
data.list[].startTimeintegerConnection start time (Unix timestamp in ms)
data.list[].durationintegerConnection duration in milliseconds
data.list[].inBandwidthintegerIncoming bandwidth transfer speed
data.list[].outBandwidthintegerOutgoing bandwidth transfer speed
data.list[].inTotalBytesintegerTotal incoming bytes
data.list[].outTotalBytesintegerTotal outgoing bytes
data.list[].healthScoreintegerConnection health score (0-100%)
data.list[].healthGradestringConnection health grade (e.g., "Very Good", "Bad", "No Data")

Metadata

ParameterTypeDescription
meta.executionTimeintegerRequest processing time in milliseconds
meta.generatedAtintegerResponse generation timestamp (Unix timestamp in ms)

Successful Response (200)
Code iconjson
{
  "data": {
    "totalItems": 1,
    "itemsPerPage": 10,
    "totalPages": 1,
    "currentPage": 1,
    "hasPrevious": false,
    "hasNext": false,
    "list": [
      {
        "id": "v_xc4sdz3mmiisil28",
        "state": "PUBLISHED",
        "class": "MSEPlaybackHarness",
        "pipelineType": "CLIENT_OUTPUT",
        "harnessType": "STORM_MSE_VIEWER",
        "applicationName": "edge",
        "streamKey": "f1",
        "subStream": "native",
        "remoteAddress": "83.11.204.8",
        "deviceType": "DESKTOP",
        "osName": "Windows 10/11",
        "browserName": "Chrome",
        "startTime": 1764329979924,
        "duration": 939958,
        "inBandwidth": 0,
        "outBandwidth": 325377,
        "inTotalBytes": 40840,
        "outTotalBytes": 431145393,
        "healthScore": 100,
        "healthGrade": "Very Good"
      }
    ]
  },
  "meta": {
    "executionTime": 1,
    "generatedAt": 1764330919883
  }
}

Error Response (4xx/5xx)

ParameterTypeDescription
messagestringHuman-readable error message
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.