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

Cluster Dashboard

Returns comprehensive dashboard data for the cluster including statistics, topology, and health information.

Request

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

Response Body

CodeDescription
200Success
401Unauthorized - Invalid or missing token
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Application Group Stats

ParameterTypeDescription
data.appGroupStats.origin.totalintegerTotal number of origin applications
data.appGroupStats.origin.groupsarrayOrigin apps by group
data.appGroupStats.origin.groups[].namestringGroup name
data.appGroupStats.origin.groups[].limitintegerApplication limit for this group
data.appGroupStats.edge.totalintegerTotal number of edge applications
data.appGroupStats.edge.groupsarrayEdge apps by group
data.appGroupStats.transcode.totalintegerTotal number of transcode applications
data.appGroupStats.transcode.groupsarrayTranscode apps by group
data.appGroupStats.feed.totalintegerTotal number of feed applications
data.appGroupStats.feed.groupsarrayFeed apps by group
data.appGroupStats.sink.totalintegerTotal number of sink applications
data.appGroupStats.sink.groupsarraySink apps by group

Viewers Stats

ParameterTypeDescription
data.viewersStats.total.valueintegerCurrent total viewer count
data.viewersStats.total.limitinteger | nullTotal viewer limit (null = unlimited)
data.viewersStats.groupsarrayViewer stats by group
data.viewersStats.groups[].namestringGroup name
data.viewersStats.groups[].valueintegerCurrent viewer count in group
data.viewersStats.groups[].limitinteger | nullViewer limit for group
data.viewersStats.viewerCountHistory.currentintegerCurrent viewer count
data.viewersStats.viewerCountHistory.averageintegerAverage viewer count
data.viewersStats.viewerCountHistory.maxintegerMaximum viewer count
data.viewersStats.viewerCountHistory.dataarrayHistorical data points
data.viewersStats.viewerCountHistory.data[].timestampintegerData point timestamp (Unix ms)
data.viewersStats.viewerCountHistory.data[].valueintegerViewer count at timestamp

Stream Stats

ParameterTypeDescription
data.streamStats.total.valueintegerCurrent total stream count
data.streamStats.total.limitinteger|nullTotal stream limit (null = unlimited)
data.streamStats.groupsarrayStream stats by group
data.streamStats.groups[].namestringGroup name
data.streamStats.groups[].valueintegerCurrent stream count in group
data.streamStats.groups[].limitinteger|nullStream limit for group
data.streamStats.streamCountHistory.currentintegerCurrent stream count
data.streamStats.streamCountHistory.averageintegerAverage stream count
data.streamStats.streamCountHistory.maxintegerMaximum stream count
data.streamStats.streamCountHistory.dataarrayHistorical data points

Incoming Traffic

ParameterTypeDescription
data.incomingTraffic.total.valueintegerCurrent incoming bandwidth (bytes/sec)
data.incomingTraffic.total.limitinteger|nullBandwidth limit (null = unlimited)
data.incomingTraffic.totalBytesintegerTotal incoming bytes since start
data.incomingTraffic.groupsarrayIncoming traffic by group
data.incomingTraffic.inBandwidthHistory.currentintegerCurrent incoming bandwidth
data.incomingTraffic.inBandwidthHistory.averageintegerAverage incoming bandwidth
data.incomingTraffic.inBandwidthHistory.maxintegerMaximum incoming bandwidth
data.incomingTraffic.inBandwidthHistory.dataarrayHistorical data points

Outgoing Traffic

ParameterTypeDescription
data.outgoingTraffic.total.valueintegerCurrent outgoing bandwidth (bytes/sec)
data.outgoingTraffic.total.limitinteger|nullBandwidth limit (null = unlimited)
data.outgoingTraffic.totalBytesintegerTotal outgoing bytes since start
data.outgoingTraffic.groupsarrayOutgoing traffic by group
data.outgoingTraffic.outBandwidthHistory.currentintegerCurrent outgoing bandwidth
data.outgoingTraffic.outBandwidthHistory.averageintegerAverage outgoing bandwidth
data.outgoingTraffic.outBandwidthHistory.maxintegerMaximum outgoing bandwidth
data.outgoingTraffic.outBandwidthHistory.dataarrayHistorical data points

Transcode Stats

ParameterTypeDescription
data.transcodeStats.total.valueintegerCurrent active transcode tasks
data.transcodeStats.total.limitinteger|nullTranscode task limit
data.transcodeStats.streams.totalintegerTotal streams
data.transcodeStats.streams.transcodedintegerNumber of transcoded streams
data.transcodeStats.groupsarrayTranscode stats by group

Health Summaries

ParameterTypeDescription
data.streamHealthSummary.labelsstring[]Health grade labels
data.streamHealthSummary.seriesinteger[]Stream counts per health grade
data.viewerHealthSummary.labelsstring[]Health grade labels
data.viewerHealthSummary.seriesinteger[]Viewer counts per health grade

Topology

ParameterTypeDescription
data.topologyarrayList of servers in the cluster
data.topology[].serverNamestringServer display name
data.topology[].hostNamestringServer hostname
data.topology[].groupNamestringServer group name
data.topology[].clusterManagerbooleanIs this server a cluster manager
data.topology[].serverStats.cpuUsagenumberCPU usage percentage (0-100)
data.topology[].serverStats.memUsagenumberMemory usage percentage (0-100)
data.topology[].serverStats.inBandwidth.usageintegerIncoming bandwidth (bytes/sec)
data.topology[].serverStats.inBandwidth.capinteger | nullIncoming bandwidth cap
data.topology[].serverStats.outBandwidth.usageintegerOutgoing bandwidth (bytes/sec)
data.topology[].serverStats.outBandwidth.capinteger | nullOutgoing bandwidth cap

Topology Applications

ParameterTypeDescription
data.topology[].applicationsarrayApplications on this server
data.topology[].applications[].idstringApplication ID
data.topology[].applications[].namestringApplication name
data.topology[].applications[].typestringApplication type (origin, edge, transcode)
data.topology[].applications[].streams.countintegerCurrent stream count
data.topology[].applications[].streams.capinteger | nullStream limit
data.topology[].applications[].viewers.countintegerCurrent viewer count
data.topology[].applications[].viewers.capinteger | nullViewer limit
data.topology[].applications[].bandwidth.inBandwidthintegerIncoming bandwidth (bytes/sec)
data.topology[].applications[].bandwidth.outBandwidthintegerOutgoing bandwidth (bytes/sec)
data.topology[].applications[].upLinksarrayUpstream connections
data.topology[].applications[].downLinksarrayDownstream connections

Metadata

ParameterTypeDescription
meta.executionTimeintegerRequest processing time in milliseconds
meta.generatedAtintegerResponse generation timestamp (Unix timestamp in ms)
Successful Response (200)
Code iconjson
{
  "data": {
    "appGroupStats": {
      "origin": { "total": 1, "groups": [{ "name": "Premise", "limit": 1 }] },
      "edge": { "total": 1, "groups": [{ "name": "Premise", "limit": 1 }] },
      "transcode": { "total": 1, "groups": [{ "name": "Premise", "limit": 1 }] },
      "feed": { "total": 0, "groups": [] },
      "sink": { "total": 0, "groups": [] }
    },
    "viewersStats": {
      "total": { "limit": null, "value": 0 },
      "groups": [{ "name": "Premise", "limit": null, "value": 0 }],
      "viewerCountHistory": {
        "current": 0,
        "average": 0,
        "max": 0,
        "data": [{ "timestamp": 1767345218011, "value": 0 }]
      }
    },
    "streamStats": {
      "total": { "limit": 100, "value": 0 },
      "groups": [{ "name": "Premise", "limit": 100, "value": 0 }],
      "streamCountHistory": {
        "current": 0,
        "average": 0,
        "max": 0,
        "data": [{ "timestamp": 1767345218011, "value": 0 }]
      }
    },
    "incomingTraffic": {
      "total": { "limit": null, "value": 0 },
      "totalBytes": 136418989215,
      "groups": [{ "name": "Premise", "limit": null, "value": 0 }],
      "inBandwidthHistory": {
        "current": 0,
        "average": 0,
        "max": 0,
        "data": [{ "timestamp": 1767345218011, "value": 0 }]
      }
    },
    "outgoingTraffic": {
      "total": { "limit": null, "value": 0 },
      "totalBytes": 9520258759,
      "groups": [{ "name": "Premise", "limit": null, "value": 0 }],
      "outBandwidthHistory": {
        "current": 0,
        "average": 0,
        "max": 0,
        "data": [{ "timestamp": 1767345218011, "value": 0 }]
      }
    },
    "transcodeStats": {
      "total": { "limit": 5, "value": 0 },
      "streams": { "total": 0, "transcoded": 0 },
      "groups": [{ "name": "Premise", "limit": 5, "value": 0 }]
    },
    "streamHealthSummary": {
      "labels": [],
      "series": []
    },
    "viewerHealthSummary": {
      "labels": [],
      "series": []
    },
    "topology": [
      {
        "serverName": "Server 2",
        "hostName": "stormdev2.web-anatomy.com",
        "groupName": "Premise",
        "clusterManager": true,
        "serverStats": {
          "cpuUsage": 0.09,
          "memUsage": 1.37,
          "inBandwidth": { "cap": null, "usage": 0 },
          "outBandwidth": { "cap": null, "usage": 0 }
        },
        "applications": [
          {
            "id": "c_8m9jynj8mjr50qdn",
            "name": "edge",
            "type": "edge",
            "streams": { "cap": 1, "count": 0 },
            "viewers": { "cap": null, "count": 0 },
            "bandwidth": { "inBandwidth": 0, "outBandwidth": 0 },
            "upLinks": [],
            "downLinks": []
          }
        ]
      }
    ]
  },
  "meta": {
    "executionTime": 1,
    "generatedAt": 1767345225984
  }
}

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.