{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/amazon-interactive-video-service/refs/heads/main/json-schema/ivs-stream-schema.json",
"title": "Stream",
"description": "Specifies a live video stream that has been ingested and distributed.",
"type": "object",
"properties": {
"channelArn": {
"allOf": [
{
"$ref": "#/components/schemas/ChannelArn"
},
{
"description": "Channel ARN for the stream."
}
]
},
"health": {
"allOf": [
{
"$ref": "#/components/schemas/StreamHealth"
},
{
"description": "The stream\u2019s health."
}
]
},
"playbackUrl": {
"allOf": [
{
"$ref": "#/components/schemas/PlaybackURL"
},
{
"description": "URL of the master playlist, required by the video player to play the HLS stream."
}
]
},
"startTime": {
"allOf": [
{
"$ref": "#/components/schemas/StreamStartTime"
},
{
"description": "Time of the stream\u2019s start. This is an ISO 8601 timestamp; note that this is returned as a string."
}
]
},
"state": {
"allOf": [
{
"$ref": "#/components/schemas/StreamState"
},
{
"description": "The stream\u2019s state. Do not rely on the OFFLINE state, as the API may not return it; instead, a \"NotBroadcasting\" error will indicate that the stream is not live."
}
]
},
"streamId": {
"allOf": [
{
"$ref": "#/components/schemas/StreamId"
},
{
"description": "Unique identifier for a live or previously live stream in the specified channel."
}
]
},
"viewerCount": {
"allOf": [
{
"$ref": "#/components/schemas/StreamViewerCount"
},
{
"description": "A count of concurrent views of the stream. Typically, a new view appears in viewerCount within 15 seconds of when video playback starts and a view is removed from viewerCount within 1 minute of when video playback ends. A value of -1 indicates that the request timed out; in this case, retry."
}
]
}
}
}