{ "type": "object", "description": "A liveBroadcast resource represents an event that will be streamed, via live video, on YouTube.", "name": "LiveBroadcast", "properties": { "kind": { "type": "string", "description": "Identifies the API resource's type. Value is youtube#liveBroadcast." }, "etag": { "type": "string", "description": "The Etag of this resource." }, "id": { "type": "string", "description": "The ID that YouTube assigns to uniquely identify the broadcast." }, "snippet": { "type": "object", "description": "Basic details about a live broadcast including its title, description, and scheduled start and end times.", "properties": { "publishedAt": { "type": "datetime", "description": "The date and time that the broadcast was added to YouTube's live broadcast schedule." }, "channelId": { "type": "string", "description": "The ID of the channel to which this broadcast is affiliated." }, "title": { "type": "string", "description": "The broadcast's title. The title is a required field when inserting a broadcast." }, "description": { "type": "string", "description": "The broadcast's description." }, "thumbnails": { "type": "object", "description": "A map of thumbnail images associated with the broadcast." }, "scheduledStartTime": { "type": "datetime", "description": "The date and time that the broadcast is scheduled to begin." }, "scheduledEndTime": { "type": "datetime", "description": "The date and time that the broadcast is scheduled to end." }, "actualStartTime": { "type": "datetime", "description": "The date and time that the broadcast actually started." }, "actualEndTime": { "type": "datetime", "description": "The date and time that the broadcast actually ended." }, "liveChatId": { "type": "string", "description": "The live chat ID associated with the broadcast." }, "isDefaultBroadcast": { "type": "boolean", "description": "Indicates whether this broadcast is the default broadcast." } } }, "status": { "type": "object", "description": "Status information about a live broadcast including its privacy status and lifecycle status.", "properties": { "lifeCycleStatus": { "type": "string", "description": "The broadcast's status as it relates to the lifecycle of the broadcast.", "enum": [ "abandoned", "complete", "completeStarting", "created", "live", "liveStarting", "ready", "reclaimed", "revoked", "testStarting", "testing" ] }, "privacyStatus": { "type": "string", "description": "The broadcast's privacy status.", "enum": [ "private", "public", "unlisted" ] }, "recordingStatus": { "type": "string", "description": "The broadcast's recording status.", "enum": [ "notRecording", "recorded", "recording" ] }, "madeForKids": { "type": "boolean", "description": "Indicates whether the broadcast is designated as child-directed." }, "selfDeclaredMadeForKids": { "type": "boolean", "description": "Indicates whether the channel owner has designated the broadcast as being made for kids." } } }, "contentDetails": { "type": "object", "description": "Detailed settings for a live broadcast including stream configuration, DVR settings, and content configuration.", "properties": { "boundStreamId": { "type": "string", "description": "The ID of the stream that is bound to the broadcast." }, "boundStreamLastUpdateTimeMs": { "type": "string", "description": "The date and time that the live stream referenced by boundStreamId was last updated." }, "monitorStream": { "type": "object", "description": "The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly.", "properties": { "enableMonitorStream": { "type": "boolean", "description": "This value determines whether the monitor stream is enabled for the broadcast." }, "broadcastStreamDelayMs": { "type": "integer", "description": "If you have set the enableMonitorStream property to true, this value sets the delay between the video input and the broadcast monitor stream." }, "embedHtml": { "type": "string", "description": "The HTML code that embeds a player that plays the monitor stream." } } }, "enableEmbed": { "type": "boolean", "description": "Indicates whether the broadcast video can be played in an embedded player." }, "enableDvr": { "type": "boolean", "description": "Indicates whether the broadcast enables DVR controls. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding portions of the broadcast." }, "enableContentEncryption": { "type": "boolean", "description": "Indicates whether YouTube should enable content encryption for the broadcast." }, "startWithSlate": { "type": "boolean", "description": "Indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live." }, "closedCaptionsType": { "type": "string", "description": "Indicates whether the broadcast has captions enabled.", "enum": [ "closedCaptionsDisabled", "closedCaptionsEmbedded", "closedCaptionsHttpPost" ] }, "enableLowLatency": { "type": "boolean", "description": "Indicates whether this broadcast has low latency enabled." }, "latencyPreference": { "type": "string", "description": "Indicates latency preference for the broadcast. The options are ultraLow, low, and normal.", "enum": [ "low", "normal", "ultraLow" ] }, "enableAutoStart": { "type": "boolean", "description": "This setting indicates whether the broadcast should automatically begin streaming." }, "enableAutoStop": { "type": "boolean", "description": "Indicates whether the broadcast should automatically stop streaming." } } }, "statistics": { "type": "object", "description": "The statistics object contains info about the live broadcast.", "properties": { "totalChatCount": { "type": "integer", "description": "The number of live chat messages currently on the broadcast." } } } }, "required": [ "kind", "etag" ], "$schema": "https://json-structure.org/draft/2020-12/schema" }