{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-interactive-video-service/json-schema/amazon-interactive-video-service-get-stream-response-schema.json",
  "title": "GetStreamResponse",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-interactive-video-service-getstream-api-openapi.yml#/components/schemas/GetStreamResponse",
  "type": "object",
  "properties": {
    "stream": {
      "$ref": "#/$defs/Stream"
    }
  },
  "$defs": {
    "Stream": {
      "type": "object",
      "properties": {
        "channelArn": {
          "type": "string",
          "description": "Channel ARN for the stream."
        },
        "streamId": {
          "type": "string",
          "description": "Unique identifier for a live or previously live stream in the specified channel."
        },
        "playbackUrl": {
          "type": "string",
          "description": "URL of the master playlist, required by the video player to play the HLS stream."
        },
        "startTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time of the stream’s start. This is an ISO 8601 timestamp; note that this is returned as a string."
        },
        "state": {
          "type": "string",
          "description": "The stream’s 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."
        },
        "health": {
          "type": "string",
          "description": "The stream’s health."
        },
        "viewerCount": {
          "type": "integer",
          "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."
        }
      }
    }
  }
}