<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="youtube_v3.html">YouTube Data API</a> . <a href="youtube_v3.liveBroadcasts.html">liveBroadcasts</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#bind">bind(id, part, streamId=None)</a></code></p>
<p class="firstline">Bind a YouTube live broadcast to a stream.</p>
<p class="toc_element">
  <code><a href="#delete">delete(id)</a></code></p>
<p class="firstline">Delete a YouTube live broadcast.</p>
<p class="toc_element">
  <code><a href="#insert">insert(part, body)</a></code></p>
<p class="firstline">Insert a YouTube live broadcast.</p>
<p class="toc_element">
  <code><a href="#list">list(part, broadcastStatus=None, onBehalfOf=None, pageToken=None, maxResults=None, mine=None, id=None)</a></code></p>
<p class="firstline">Browse the YouTube broadcast collection.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#transition">transition(broadcastStatus, id, part)</a></code></p>
<p class="firstline">Change the broadcasting status of a YouTube live broadcast and start all the processes associated with it.</p>
<p class="toc_element">
  <code><a href="#update">update(part=None, body)</a></code></p>
<p class="firstline">Update a YouTube live broadcast.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="bind">bind(id, part, streamId=None)</code>
  <pre>Bind a YouTube live broadcast to a stream.

Args:
  id: string, ID of the broadcast to which the stream will be bound (required)
  part: string, Live broadcast parts to be returned in the response. Valid values are: id, snippet, status, slateSettings, contentDetails. (required)
  streamId: string, ID of the stream to bind to the broadcast

Returns:
  An object of the form:

    { # A live broadcast describes live event configuration.
      "status": { # The status of a live broadcast. # The status of the live broadcast.
        "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
        "lifeCycleStatus": "A String", # Life status of the live broadcast.
      },
      "kind": "youtube#liveBroadcast", # The type of this API resource.
      "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
        "enableArchive": True or False, # Whether the live event will be archived or not.
        "boundStreamId": "A String", # The id of the stream bound to the broadcast.
        "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
        "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
        "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
        "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
        "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
          "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
          "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
          "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
        },
      },
      "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
        "slates": { # Broadcast slates.
          "a_key": { # Locale code indicating in which region should the slate be displayed.
            "backgroundUrl": "A String", # Url of the background image.
            "textLines": [ # Multi-line message showing in the slate.
              "A String",
            ],
          },
        },
        "enableSlates": True or False, # Whether slate is enabled or not.
      },
      "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
        "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "description": "A String", # Description of the broadcast.
        "title": "A String", # Title of the broadcast.
        "channelId": "A String", # Channel publishing the broadcast.
        "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "thumbnails": { # Video thumbnails.
          "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
            "url": "A String", # The thumbnail image's URL.
            "width": 42, # (Optional) Width of the thumbnail image.
            "height": 42, # (Optional) Height of the thumbnail image.
          },
        },
      },
      "etag": "A String", # The eTag of the broadcast.
      "id": "A String", # The unique id of the broadcast.
    }</pre>
</div>

<div class="method">
    <code class="details" id="delete">delete(id)</code>
  <pre>Delete a YouTube live broadcast.

Args:
  id: string, The id parameter specifies the YouTube live broadcast ID for the resource that is being deleted. (required)
</pre>
</div>

<div class="method">
    <code class="details" id="insert">insert(part, body)</code>
  <pre>Insert a YouTube live broadcast.

Args:
  part: string, Live broadcast parts to be set for the broadcast as well as included in the returned response. Valid values are: snippet, status, slateSettings, contentDetails. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A live broadcast describes live event configuration.
    "status": { # The status of a live broadcast. # The status of the live broadcast.
      "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
      "lifeCycleStatus": "A String", # Life status of the live broadcast.
    },
    "kind": "youtube#liveBroadcast", # The type of this API resource.
    "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
      "enableArchive": True or False, # Whether the live event will be archived or not.
      "boundStreamId": "A String", # The id of the stream bound to the broadcast.
      "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
      "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
      "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
      "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
      "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
        "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
        "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
        "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
      },
    },
    "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
      "slates": { # Broadcast slates.
        "a_key": { # Locale code indicating in which region should the slate be displayed.
          "backgroundUrl": "A String", # Url of the background image.
          "textLines": [ # Multi-line message showing in the slate.
            "A String",
          ],
        },
      },
      "enableSlates": True or False, # Whether slate is enabled or not.
    },
    "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
      "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "description": "A String", # Description of the broadcast.
      "title": "A String", # Title of the broadcast.
      "channelId": "A String", # Channel publishing the broadcast.
      "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "thumbnails": { # Video thumbnails.
        "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
      },
    },
    "etag": "A String", # The eTag of the broadcast.
    "id": "A String", # The unique id of the broadcast.
  }


Returns:
  An object of the form:

    { # A live broadcast describes live event configuration.
      "status": { # The status of a live broadcast. # The status of the live broadcast.
        "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
        "lifeCycleStatus": "A String", # Life status of the live broadcast.
      },
      "kind": "youtube#liveBroadcast", # The type of this API resource.
      "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
        "enableArchive": True or False, # Whether the live event will be archived or not.
        "boundStreamId": "A String", # The id of the stream bound to the broadcast.
        "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
        "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
        "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
        "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
        "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
          "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
          "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
          "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
        },
      },
      "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
        "slates": { # Broadcast slates.
          "a_key": { # Locale code indicating in which region should the slate be displayed.
            "backgroundUrl": "A String", # Url of the background image.
            "textLines": [ # Multi-line message showing in the slate.
              "A String",
            ],
          },
        },
        "enableSlates": True or False, # Whether slate is enabled or not.
      },
      "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
        "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "description": "A String", # Description of the broadcast.
        "title": "A String", # Title of the broadcast.
        "channelId": "A String", # Channel publishing the broadcast.
        "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "thumbnails": { # Video thumbnails.
          "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
            "url": "A String", # The thumbnail image's URL.
            "width": 42, # (Optional) Width of the thumbnail image.
            "height": 42, # (Optional) Height of the thumbnail image.
          },
        },
      },
      "etag": "A String", # The eTag of the broadcast.
      "id": "A String", # The unique id of the broadcast.
    }</pre>
</div>

<div class="method">
    <code class="details" id="list">list(part, broadcastStatus=None, onBehalfOf=None, pageToken=None, maxResults=None, mine=None, id=None)</code>
  <pre>Browse the YouTube broadcast collection.

Args:
  part: string, Live broadcast parts to include in the returned response. Valid values are: id, snippet, status, slateSettings, contentDetails. (required)
  broadcastStatus: string, Filter to only return broadcasts with the given status by the authenticated user.
    Allowed values
      active - Return active broadcasts.
      all - Return all the broadcasts.
      completed - Return previously completed broadcasts.
      upcoming - Return upcoming broadcasts.
  onBehalfOf: string, ID of the Google+ Page for the channel that the request is be on behalf of
  pageToken: string, Token for the page selection.
  maxResults: integer, Maximum number of results to return
  mine: boolean, Filter to only return broadcasts owned by authenticated user.
  id: string, IDs of the live broadcasts to be returned.

Returns:
  An object of the form:

    { # JSON template for list of broadcasts.
    "nextPageToken": "A String", # The token that can be used as the value of the {@code pageInfo} parameter to retrieve the next page in the result set.
    "kind": "youtube#liveBroadcastList", # The type of this API resource.
    "items": [ # A list of broadcasts that match the request criteria.
      { # A live broadcast describes live event configuration.
          "status": { # The status of a live broadcast. # The status of the live broadcast.
            "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
            "lifeCycleStatus": "A String", # Life status of the live broadcast.
          },
          "kind": "youtube#liveBroadcast", # The type of this API resource.
          "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
            "enableArchive": True or False, # Whether the live event will be archived or not.
            "boundStreamId": "A String", # The id of the stream bound to the broadcast.
            "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
            "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
            "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
            "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
            "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
              "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
              "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
              "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
            },
          },
          "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
            "slates": { # Broadcast slates.
              "a_key": { # Locale code indicating in which region should the slate be displayed.
                "backgroundUrl": "A String", # Url of the background image.
                "textLines": [ # Multi-line message showing in the slate.
                  "A String",
                ],
              },
            },
            "enableSlates": True or False, # Whether slate is enabled or not.
          },
          "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
            "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
            "description": "A String", # Description of the broadcast.
            "title": "A String", # Title of the broadcast.
            "channelId": "A String", # Channel publishing the broadcast.
            "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
            "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
            "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
            "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
            "thumbnails": { # Video thumbnails.
              "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
                "url": "A String", # The thumbnail image's URL.
                "width": 42, # (Optional) Width of the thumbnail image.
                "height": 42, # (Optional) Height of the thumbnail image.
              },
            },
          },
          "etag": "A String", # The eTag of the broadcast.
          "id": "A String", # The unique id of the broadcast.
        },
    ],
    "etag": "A String", # The eTag of the chart.
    "prevPageToken": "A String", # The token that can be used as the value of the {@code pageInfo} parameter to retrieve the previous page in the result set.
    "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The {@code pageInfo} object encapsulates paging information for the result set.
      "totalResults": 42, # The total number of results in the result set.
      "resultsPerPage": 42, # The number of results included in the API response.
    },
  }</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
  <pre>Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    </pre>
</div>

<div class="method">
    <code class="details" id="transition">transition(broadcastStatus, id, part)</code>
  <pre>Change the broadcasting status of a YouTube live broadcast and start all the processes associated with it.

Args:
  broadcastStatus: string, Desired broadcast status. (required)
    Allowed values
      complete - Stop broadcasting.
      live - Start broadcasting.
      testing - Start broadcast testing.
  id: string, ID of the broadcast to change status (required)
  part: string, Live broadcast parts to be returned in the response. Valid values are: id, snippet, status, slateSettings, contentDetails. (required)

Returns:
  An object of the form:

    { # A live broadcast describes live event configuration.
      "status": { # The status of a live broadcast. # The status of the live broadcast.
        "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
        "lifeCycleStatus": "A String", # Life status of the live broadcast.
      },
      "kind": "youtube#liveBroadcast", # The type of this API resource.
      "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
        "enableArchive": True or False, # Whether the live event will be archived or not.
        "boundStreamId": "A String", # The id of the stream bound to the broadcast.
        "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
        "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
        "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
        "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
        "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
          "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
          "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
          "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
        },
      },
      "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
        "slates": { # Broadcast slates.
          "a_key": { # Locale code indicating in which region should the slate be displayed.
            "backgroundUrl": "A String", # Url of the background image.
            "textLines": [ # Multi-line message showing in the slate.
              "A String",
            ],
          },
        },
        "enableSlates": True or False, # Whether slate is enabled or not.
      },
      "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
        "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "description": "A String", # Description of the broadcast.
        "title": "A String", # Title of the broadcast.
        "channelId": "A String", # Channel publishing the broadcast.
        "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "thumbnails": { # Video thumbnails.
          "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
            "url": "A String", # The thumbnail image's URL.
            "width": 42, # (Optional) Width of the thumbnail image.
            "height": 42, # (Optional) Height of the thumbnail image.
          },
        },
      },
      "etag": "A String", # The eTag of the broadcast.
      "id": "A String", # The unique id of the broadcast.
    }</pre>
</div>

<div class="method">
    <code class="details" id="update">update(part=None, body)</code>
  <pre>Update a YouTube live broadcast.

Args:
  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.

The part names that you can include in the parameter value are id, snippet, status, slateSettings, contentDetails. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A live broadcast describes live event configuration.
    "status": { # The status of a live broadcast. # The status of the live broadcast.
      "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
      "lifeCycleStatus": "A String", # Life status of the live broadcast.
    },
    "kind": "youtube#liveBroadcast", # The type of this API resource.
    "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
      "enableArchive": True or False, # Whether the live event will be archived or not.
      "boundStreamId": "A String", # The id of the stream bound to the broadcast.
      "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
      "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
      "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
      "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
      "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
        "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
        "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
        "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
      },
    },
    "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
      "slates": { # Broadcast slates.
        "a_key": { # Locale code indicating in which region should the slate be displayed.
          "backgroundUrl": "A String", # Url of the background image.
          "textLines": [ # Multi-line message showing in the slate.
            "A String",
          ],
        },
      },
      "enableSlates": True or False, # Whether slate is enabled or not.
    },
    "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
      "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "description": "A String", # Description of the broadcast.
      "title": "A String", # Title of the broadcast.
      "channelId": "A String", # Channel publishing the broadcast.
      "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "thumbnails": { # Video thumbnails.
        "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
      },
    },
    "etag": "A String", # The eTag of the broadcast.
    "id": "A String", # The unique id of the broadcast.
  }


Returns:
  An object of the form:

    { # A live broadcast describes live event configuration.
      "status": { # The status of a live broadcast. # The status of the live broadcast.
        "privacyStatus": "A String", # Privacy settings of the live broadcast. Allowed values: private, unlisted, public.
        "lifeCycleStatus": "A String", # Life status of the live broadcast.
      },
      "kind": "youtube#liveBroadcast", # The type of this API resource.
      "contentDetails": { # Slate settings of a broadcast. # The content details of the live broadcast.
        "enableArchive": True or False, # Whether the live event will be archived or not.
        "boundStreamId": "A String", # The id of the stream bound to the broadcast.
        "startWithSlateCuepoint": True or False, # Automatically start with a slate cuepoint.
        "enableEmbed": True or False, # Whether to allow the broadcast to be played in an embedded player.
        "enableContentEncryption": True or False, # Whether to enable or disable content encryption.
        "enableDvr": True or False, # Whether the dvr (digital video recording) is enabled or not.
        "monitorStream": { # Information about the monitor stream which helps the broadcaster to review the event content before shown to the public.
          "broadcastStreamDelayMs": 42, # If enableMonitorStream is true, the public broadcast will be delayed by this value.
          "embedHtml": "A String", # The html code of the embedded player for the monitor stream.
          "enableMonitorStream": True or False, # Whether to enable the monitor stream for the broadcast.
        },
      },
      "slateSettings": { # Slate settings of a broadcast. # The slate settings of the live broadcast.
        "slates": { # Broadcast slates.
          "a_key": { # Locale code indicating in which region should the slate be displayed.
            "backgroundUrl": "A String", # Url of the background image.
            "textLines": [ # Multi-line message showing in the slate.
              "A String",
            ],
          },
        },
        "enableSlates": True or False, # Whether slate is enabled or not.
      },
      "snippet": { # Basic details about a live broadcast, including title, description and thumbnails. # Basic details about the live broadcast.
        "actualEndTime": "A String", # Date and time the broadcast is actual to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "description": "A String", # Description of the broadcast.
        "title": "A String", # Title of the broadcast.
        "channelId": "A String", # Channel publishing the broadcast.
        "publishedAt": "A String", # Date and time the broadcast was published at. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "scheduledStartTime": "A String", # Date and time the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "actualStartTime": "A String", # Date and time the broadcast is actual to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "scheduledEndTime": "A String", # Date and time the broadcast is scheduled to end. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
        "thumbnails": { # Video thumbnails.
          "a_key": { # A thumbnail is an image representing a YouTube resource. # A map of thumbnails by their name.
            "url": "A String", # The thumbnail image's URL.
            "width": 42, # (Optional) Width of the thumbnail image.
            "height": 42, # (Optional) Height of the thumbnail image.
          },
        },
      },
      "etag": "A String", # The eTag of the broadcast.
      "id": "A String", # The unique id of the broadcast.
    }</pre>
</div>

</body></html>