Substream
Returns detailed information about a specific substream.
Request
| Property | Value |
|---|---|
| Method | GET |
| URL | /api/streams/{appName}/{streamKey}/{substreamName} |
| Content-Type | application/json |
| Authentication | Bearer Token |
Request
curl -X GET "{BASE_URL}/api/streams/{appName}/{streamKey}/{substreamName}" \
-H "Authorization: Bearer YOUR_TOKEN"
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
appName | string | Yes | Application name |
streamKey | string | Yes | Stream key |
substreamName | string | Yes | Substream name |
Request
curl -X GET "{BASE_URL}/api/streams/{appName}/{streamKey}/{substreamName}" \
-H "Authorization: Bearer YOUR_TOKEN"
Response Body
Substream Info
| Parameter | Type | Description |
|---|---|---|
data.id | string | Unique identifier of the substream |
data.state | string | Substream state |
data.type | string | Stream type |
data.application | string | Application name |
data.streamKey | string | Stream key |
data.sourceType | string | Source type |
data.startTime | integer | Stream start time (Unix timestamp in ms) |
data.duration | integer | Stream duration in milliseconds |
data.viewerCount | integer | Current number of viewers |
data.systemClientCount | integer | Number of system clients |
data.inBandwidth | integer | Incoming bandwidth in bytes/sec |
data.outBandwidth | integer | Outgoing bandwidth in bytes/sec |
data.inTotalBytes | integer | Total incoming bytes |
data.outTotalBytes | integer | Total outgoing bytes |
data.videoPacketCount | integer | Total video packets received |
data.audioPacketCount | integer | Total audio packets received |
data.dataPacketCount | integer | Total data packets received |
data.allowedToPublish | boolean | Indicates if publishing is allowed |
data.isAutoRemovable | boolean | Indicates if stream can be auto-removed |
Health Data
| Parameter | Type | Description |
|---|---|---|
data.healthData.healthScore | number | Overall health score (0-100) |
data.healthData.healthGrade | string | Overall health grade |
data.healthData.keyFrameInterval | number | Key frame interval in seconds |
data.healthData.keyFrameIntervalGrade | string | Key frame interval grade |
data.healthData.fpsDev | number | Frame rate deviation |
data.healthData.fpsDevGrade | string | Frame rate deviation grade |
data.healthData.avSync | number | Audio/video sync offset in seconds |
data.healthData.avSyncGrade | string | Audio/video sync grade |
data.healthData.streamLag | number | Stream lag in seconds |
data.healthData.streamLagGrade | string | Stream lag grade |
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": "f1",
"state": "PUBLISHED",
"type": "NATIVE_STREAM",
"application": "edge",
"streamKey": "f1",
"sourceType": "Unknown",
"startTime": 1764683374353,
"duration": 73282560,
"viewerCount": 0,
"systemClientCount": 0,
"inBandwidth": 456707,
"outBandwidth": 0,
"inTotalBytes": 33590404840,
"outTotalBytes": 754730859,
"videoPacketCount": 2198500,
"audioPacketCount": 3435138,
"dataPacketCount": 0,
"allowedToPublish": true,
"isAutoRemovable": true,
"healthData": {
"healthScore": 15.476816748014873,
"healthGrade": "Bad",
"keyFrameInterval": 1.0005887364,
"keyFrameIntervalGrade": "Very Good",
"fpsDev": 0,
"fpsDevGrade": "Very Good",
"avSync": 6.346111473525525,
"avSyncGrade": "Critical",
"streamLag": -0.39906941834342435,
"streamLagGrade": "Very Good"
}
},
"meta": {
"executionTime": 0,
"generatedAt": 1764756656913
}
}
Error Responses
Substream Not Found (404)
| Parameter | Type | Description |
|---|---|---|
message | string | Human-readable error message |
{
"message": "Substream not found"
}
Support Needed?
Create a free ticket and our support team will provide you necessary assistance.