YouTube Live Streaming API

Enables creating, updating, and managing live events on YouTube including scheduling broadcasts, linking video streams, managing live chat, and controlling ad insertion during live events. The API provides resources for liveBroadcasts, liveStreams, liveChatMessages, liveChatModerators, liveChatBans, and superChatEvents.

OpenAPI Specification

youtube-live-streaming-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: YouTube Live Streaming API
  description: >-
    The YouTube Live Streaming API lets you create, update, and manage live video broadcasts
    and live video streams on YouTube. The API provides resources for liveBroadcasts,
    liveStreams, liveChatMessages, liveChatModerators, liveChatBans, and superChatEvents.
    Broadcasts are scheduled events that viewers can watch live, while streams are the
    actual video feed bound to a broadcast.
  version: v3
  contact:
    name: YouTube API Support
    url: https://developers.google.com/youtube/v3/live/support
  termsOfService: https://developers.google.com/youtube/terms/api-services-terms-of-service
servers:
- url: https://www.googleapis.com/youtube/v3
  description: YouTube Live Streaming API base server (shared with YouTube Data API v3)
security:
- oauth2:
  - https://www.googleapis.com/auth/youtube
tags:
- name: LiveBroadcasts
  description: Operations for managing YouTube live broadcast events
- name: LiveChatMessages
  description: Operations for managing messages in YouTube live chat
- name: LiveChatModerators
  description: Operations for managing moderators in YouTube live chat
- name: LiveStreams
  description: Operations for managing YouTube live video streams
paths:
  /liveBroadcasts:
    get:
      operationId: youtube.liveBroadcasts.list
      summary: Youtube List Live Broadcasts
      description: >-
        Returns a list of YouTube broadcasts that match the API request parameters. You
        can retrieve broadcasts for the authenticated user or retrieve specific broadcasts
        by their IDs.
      tags:
      - LiveBroadcasts
      parameters:
      - $ref: '#/components/parameters/part'
      - name: id
        in: query
        description: Comma-separated list of YouTube broadcast IDs for the resources being retrieved.
        schema:
          type: string
        example: abc123def456
      - name: mine
        in: query
        description: >-
          Set this parameter to true to instruct the API to return only broadcasts owned
          by the authenticated user.
        schema:
          type: boolean
        example: true
      - name: broadcastStatus
        in: query
        description: >-
          Filters the API response to only include broadcasts with the specified status.
        schema:
          type: string
          enum:
          - active
          - all
          - completed
          - upcoming
        example: active
      - name: broadcastType
        in: query
        description: >-
          Filters results by the type of broadcast. Acceptable values are event and
          persistent.
        schema:
          type: string
          enum:
          - all
          - event
          - persistent
        example: all
      - $ref: '#/components/parameters/maxResults'
      - $ref: '#/components/parameters/pageToken'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/key'
      responses:
        '200':
          description: Successful response containing a list of live broadcast resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveBroadcastListResponse'
              examples:
                YoutubeLivebroadcastsList200Example:
                  summary: Default youtube.liveBroadcasts.list 200 response
                  x-microcks-default: true
                  value:
                    kind: youtube#video
                    etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                    nextPageToken: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9
                    prevPageToken: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9
                    pageInfo:
                      totalResults: 42
                      resultsPerPage: 10
                    items:
                    - kind: youtube#video
                      etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                      id: abc123def456
                      statistics:
                        totalChatCount: 42
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: youtube.liveBroadcasts.insert
      summary: Youtube Create a Live Broadcast
      description: >-
        Creates a broadcast. The authenticated user must be authorized to create broadcasts.
        After creating the broadcast, you will need to bind it to a stream and set it live.
      tags:
      - LiveBroadcasts
      parameters:
      - $ref: '#/components/parameters/part'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/key'
      requestBody:
        description: The live broadcast resource to create.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiveBroadcast'
            examples:
              YoutubeLivebroadcastsInsertRequestExample:
                summary: Default youtube.liveBroadcasts.insert request
                x-microcks-default: true
                value:
                  kind: youtube#video
                  etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                  id: abc123def456
                  snippet:
                    publishedAt: '2026-01-15T10:30:00Z'
                    channelId: '500123'
                    title: Example Title
                    description: A sample description for this resource.
                    thumbnails: example_value
                    scheduledStartTime: '2026-01-15T10:30:00Z'
                    scheduledEndTime: '2026-01-15T10:30:00Z'
                    actualStartTime: '2026-01-15T10:30:00Z'
                    actualEndTime: '2026-01-15T10:30:00Z'
                    liveChatId: '500123'
                    isDefaultBroadcast: true
                  status:
                    lifeCycleStatus: abandoned
                    privacyStatus: private
                    recordingStatus: notRecording
                    madeForKids: channel==UC_x5XG1OV2P6uZZ5FSM9Ttw
                    selfDeclaredMadeForKids: channel==UC_x5XG1OV2P6uZZ5FSM9Ttw
                  contentDetails:
                    boundStreamId: '500123'
                    boundStreamLastUpdateTimeMs: example_value
                    monitorStream:
                      enableMonitorStream: true
                      broadcastStreamDelayMs: 10
                      embedHtml: example_value
                    enableEmbed: true
                    enableDvr: true
                    enableContentEncryption: true
                    startWithSlate: true
                    closedCaptionsType: closedCaptionsDisabled
                    enableLowLatency: true
                    latencyPreference: low
                    enableAutoStart: true
                    enableAutoStop: true
                  statistics:
                    totalChatCount: 42
      responses:
        '200':
          description: Successful response containing the newly created live broadcast resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveBroadcast'
              examples:
                YoutubeLivebroadcastsInsert200Example:
                  summary: Default youtube.liveBroadcasts.insert 200 response
                  x-microcks-default: true
                  value:
                    kind: youtube#video
                    etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                    id: abc123def456
                    snippet:
                      publishedAt: '2026-01-15T10:30:00Z'
                      channelId: '500123'
                      title: Example Title
                      description: A sample description for this resource.
                      thumbnails: example_value
                      scheduledStartTime: '2026-01-15T10:30:00Z'
                      scheduledEndTime: '2026-01-15T10:30:00Z'
                      actualStartTime: '2026-01-15T10:30:00Z'
                      actualEndTime: '2026-01-15T10:30:00Z'
                      liveChatId: '500123'
                      isDefaultBroadcast: true
                    status:
                      lifeCycleStatus: abandoned
                      privacyStatus: private
                      recordingStatus: notRecording
                      madeForKids: channel==UC_x5XG1OV2P6uZZ5FSM9Ttw
                      selfDeclaredMadeForKids: channel==UC_x5XG1OV2P6uZZ5FSM9Ttw
                    contentDetails:
                      boundStreamId: '500123'
                      boundStreamLastUpdateTimeMs: example_value
                      monitorStream:
                        enableMonitorStream: true
                        broadcastStreamDelayMs: 10
                        embedHtml: example_value
                      enableEmbed: true
                      enableDvr: true
                      enableContentEncryption: true
                      startWithSlate: true
                      closedCaptionsType: closedCaptionsDisabled
                      enableLowLatency: true
                      latencyPreference: low
                      enableAutoStart: true
                      enableAutoStop: true
                    statistics:
                      totalChatCount: 42
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: youtube.liveBroadcasts.update
      summary: Youtube Update a Live Broadcast
      description: >-
        Updates a broadcast's settings. The authenticated user must own the broadcast being
        updated. Note that certain properties cannot be modified after a broadcast goes live.
      tags:
      - LiveBroadcasts
      parameters:
      - $ref: '#/components/parameters/part'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/key'
      requestBody:
        description: The live broadcast resource with updated properties.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiveBroadcast'
            examples:
              YoutubeLivebroadcastsUpdateRequestExample:
                summary: Default youtube.liveBroadcasts.update request
                x-microcks-default: true
                value:
                  kind: youtube#video
                  etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                  id: abc123def456
                  snippet:
                    publishedAt: '2026-01-15T10:30:00Z'
                    channelId: '500123'
                    title: Example Title
                    description: A sample description for this resource.
                    thumbnails: example_value
                    scheduledStartTime: '2026-01-15T10:30:00Z'
                    scheduledEndTime: '2026-01-15T10:30:00Z'
                    actualStartTime: '2026-01-15T10:30:00Z'
                    actualEndTime: '2026-01-15T10:30:00Z'
                    liveChatId: '500123'
                    isDefaultBroadcast: true
                  status:
                    lifeCycleStatus: abandoned
                    privacyStatus: private
                    recordingStatus: notRecording
                    madeForKids: channel==UC_x5XG1OV2P6uZZ5FSM9Ttw
                    selfDeclaredMadeForKids: channel==UC_x5XG1OV2P6uZZ5FSM9Ttw
                  contentDetails:
                    boundStreamId: '500123'
                    boundStreamLastUpdateTimeMs: example_value
                    monitorStream:
                      enableMonitorStream: true
                      broadcastStreamDelayMs: 10
                      embedHtml: example_value
                    enableEmbed: true
                    enableDvr: true
                    enableContentEncryption: true
                    startWithSlate: true
                    closedCaptionsType: closedCaptionsDisabled
                    enableLowLatency: true
                    latencyPreference: low
                    enableAutoStart: true
                    enableAutoStop: true
                  statistics:
                    totalChatCount: 42
      responses:
        '200':
          description: Successful response containing the updated live broadcast resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveBroadcast'
              examples:
                YoutubeLivebroadcastsUpdate200Example:
                  summary: Default youtube.liveBroadcasts.update 200 response
                  x-microcks-default: true
                  value:
                    kind: youtube#video
                    etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                    id: abc123def456
                    snippet:
                      publishedAt: '2026-01-15T10:30:00Z'
                      channelId: '500123'
                      title: Example Title
                      description: A sample description for this resource.
                      thumbnails: example_value
                      scheduledStartTime: '2026-01-15T10:30:00Z'
                      scheduledEndTime: '2026-01-15T10:30:00Z'
                      actualStartTime: '2026-01-15T10:30:00Z'
                      actualEndTime: '2026-01-15T10:30:00Z'
                      liveChatId: '500123'
                      isDefaultBroadcast: true
                    status:
                      lifeCycleStatus: abandoned
                      privacyStatus: private
                      recordingStatus: notRecording
                      madeForKids: channel==UC_x5XG1OV2P6uZZ5FSM9Ttw
                      selfDeclaredMadeForKids: channel==UC_x5XG1OV2P6uZZ5FSM9Ttw
                    contentDetails:
                      boundStreamId: '500123'
                      boundStreamLastUpdateTimeMs: example_value
                      monitorStream:
                        enableMonitorStream: true
                        broadcastStreamDelayMs: 10
                        embedHtml: example_value
                      enableEmbed: true
                      enableDvr: true
                      enableContentEncryption: true
                      startWithSlate: true
                      closedCaptionsType: closedCaptionsDisabled
                      enableLowLatency: true
                      latencyPreference: low
                      enableAutoStart: true
                      enableAutoStop: true
                    statistics:
                      totalChatCount: 42
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: youtube.liveBroadcasts.delete
      summary: Youtube Delete a Live Broadcast
      description: >-
        Deletes a broadcast. The authenticated user must own the broadcast being deleted.
        Broadcasts cannot be deleted while they are in the live or testing status.
      tags:
      - LiveBroadcasts
      parameters:
      - name: id
        in: query
        required: true
        description: The ID of the broadcast to delete.
        schema:
          type: string
        example: abc123def456
      - $ref: '#/components/parameters/key'
      responses:
        '204':
          description: The broadcast was successfully deleted.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /liveBroadcasts/bind:
    post:
      operationId: youtube.liveBroadcasts.bind
      summary: Youtube Bind Broadcast to Stream
      description: >-
        Binds a YouTube broadcast to a stream or removes an existing binding between a
        broadcast and a stream. A broadcast can only be bound to one video stream, though
        a video stream may be bound to more than one broadcast.
      tags:
      - LiveBroadcasts
      parameters:
      - name: id
        in: query
        required: true
        description: The id parameter specifies the unique ID of the broadcast that is being bound to a video stream.
        schema:
          type: string
        example: abc123def456
      - $ref: '#/components/parameters/part'
      - name: streamId
        in: query
        description: >-
          The streamId parameter specifies the unique ID of the video stream that is
          being bound to a broadcast. If this parameter is omitted, the API will remove
          any existing binding between the broadcast and a video stream.
        schema:
          type: string
        example: '500123'
      - $ref: '#/components/parameters/key'
      responses:
        '200':
          description: Successful response containing the updated live broadcast resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveBroadcast'
              examples:
                YoutubeLivebroadcastsBind200Example:
                  summary: Default youtube.liveBroadcasts.bind 200 response
                  x-microcks-default: true
                  value:
                    kind: youtube#video
                    etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                    id: abc123def456
                    snippet:
                      publishedAt: '2026-01-15T10:30:00Z'
                      channelId: '500123'
                      title: Example Title
                      description: A sample description for this resource.
                      thumbnails: example_value
                      scheduledStartTime: '2026-01-15T10:30:00Z'
                      scheduledEndTime: '2026-01-15T10:30:00Z'
                      actualStartTime: '2026-01-15T10:30:00Z'
                      actualEndTime: '2026-01-15T10:30:00Z'
                      liveChatId: '500123'
                      isDefaultBroadcast: true
                    status:
                      lifeCycleStatus: abandoned
                      privacyStatus: private
                      recordingStatus: notRecording
                      madeForKids: channel==UC_x5XG1OV2P6uZZ5FSM9Ttw
                      selfDeclaredMadeForKids: channel==UC_x5XG1OV2P6uZZ5FSM9Ttw
                    contentDetails:
                      boundStreamId: '500123'
                      boundStreamLastUpdateTimeMs: example_value
                      monitorStream:
                        enableMonitorStream: true
                        broadcastStreamDelayMs: 10
                        embedHtml: example_value
                      enableEmbed: true
                      enableDvr: true
                      enableContentEncryption: true
                      startWithSlate: true
                      closedCaptionsType: closedCaptionsDisabled
                      enableLowLatency: true
                      latencyPreference: low
                      enableAutoStart: true
                      enableAutoStop: true
                    statistics:
                      totalChatCount: 42
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /liveBroadcasts/transition:
    post:
      operationId: youtube.liveBroadcasts.transition
      summary: Youtube Transition Broadcast State
      description: >-
        Changes the status of a YouTube live broadcast and initiates any processes associated
        with the new status. Valid transitions are: ready -> testing, testing -> live,
        live -> complete, ready -> live (skips testing state).
      tags:
      - LiveBroadcasts
      parameters:
      - name: id
        in: query
        required: true
        description: The id parameter specifies the unique ID of the broadcast that is transitioning to another status.
        schema:
          type: string
        example: abc123def456
      - name: broadcastStatus
        in: query
        required: true
        description: >-
          The broadcastStatus parameter identifies the state to which the broadcast is
          changing.
        schema:
          type: string
          enum:
          - complete
          - live
          - testing
        example: complete
      - $ref: '#/components/parameters/part'
      - $ref: '#/components/parameters/key'
      responses:
        '200':
          description: Successful response containing the updated live broadcast resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveBroadcast'
              examples:
                YoutubeLivebroadcastsTransition200Example:
                  summary: Default youtube.liveBroadcasts.transition 200 response
                  x-microcks-default: true
                  value:
                    kind: youtube#video
                    etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                    id: abc123def456
                    snippet:
                      publishedAt: '2026-01-15T10:30:00Z'
                      channelId: '500123'
                      title: Example Title
                      description: A sample description for this resource.
                      thumbnails: example_value
                      scheduledStartTime: '2026-01-15T10:30:00Z'
                      scheduledEndTime: '2026-01-15T10:30:00Z'
                      actualStartTime: '2026-01-15T10:30:00Z'
                      actualEndTime: '2026-01-15T10:30:00Z'
                      liveChatId: '500123'
                      isDefaultBroadcast: true
                    status:
                      lifeCycleStatus: abandoned
                      privacyStatus: private
                      recordingStatus: notRecording
                      madeForKids: channel==UC_x5XG1OV2P6uZZ5FSM9Ttw
                      selfDeclaredMadeForKids: channel==UC_x5XG1OV2P6uZZ5FSM9Ttw
                    contentDetails:
                      boundStreamId: '500123'
                      boundStreamLastUpdateTimeMs: example_value
                      monitorStream:
                        enableMonitorStream: true
                        broadcastStreamDelayMs: 10
                        embedHtml: example_value
                      enableEmbed: true
                      enableDvr: true
                      enableContentEncryption: true
                      startWithSlate: true
                      closedCaptionsType: closedCaptionsDisabled
                      enableLowLatency: true
                      latencyPreference: low
                      enableAutoStart: true
                      enableAutoStop: true
                    statistics:
                      totalChatCount: 42
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /liveStreams:
    get:
      operationId: youtube.liveStreams.list
      summary: Youtube List Live Streams
      description: >-
        Returns a list of video streams that match the API request parameters. You can
        retrieve streams for the authenticated user or retrieve specific streams by their
        IDs.
      tags:
      - LiveStreams
      parameters:
      - $ref: '#/components/parameters/part'
      - name: id
        in: query
        description: Comma-separated list of live stream IDs for the resources being retrieved.
        schema:
          type: string
        example: abc123def456
      - name: mine
        in: query
        description: >-
          Set this parameter to true to instruct the API to return only streams owned
          by the authenticated user.
        schema:
          type: boolean
        example: true
      - $ref: '#/components/parameters/maxResults'
      - $ref: '#/components/parameters/pageToken'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/key'
      responses:
        '200':
          description: Successful response containing a list of live stream resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveStreamListResponse'
              examples:
                YoutubeLivestreamsList200Example:
                  summary: Default youtube.liveStreams.list 200 response
                  x-microcks-default: true
                  value:
                    kind: youtube#video
                    etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                    nextPageToken: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9
                    prevPageToken: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9
                    pageInfo:
                      totalResults: 42
                      resultsPerPage: 10
                    items:
                    - kind: youtube#video
                      etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                      id: abc123def456
                      cdn:
                        ingestionType: dash
                        ingestionInfo: {}
                        resolution: example_value
                        frameRate: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: youtube.liveStreams.insert
      summary: Youtube Create a Live Stream
      description: >-
        Creates a video stream. The stream enables you to send your video to YouTube, which
        can then broadcast the video to your audience. After creating the stream you must
        bind it to a broadcast.
      tags:
      - LiveStreams
      parameters:
      - $ref: '#/components/parameters/part'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/key'
      requestBody:
        description: The live stream resource to create.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiveStream'
            examples:
              YoutubeLivestreamsInsertRequestExample:
                summary: Default youtube.liveStreams.insert request
                x-microcks-default: true
                value:
                  kind: youtube#video
                  etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                  id: abc123def456
                  snippet:
                    channelId: '500123'
                    title: Example Title
                    description: A sample description for this resource.
                    publishedAt: '2026-01-15T10:30:00Z'
                    isDefaultStream: true
                  cdn:
                    ingestionType: dash
                    ingestionInfo:
                      streamName: example_value
                      ingestionAddress: example_value
                      backupIngestionAddress: example_value
                      rtmpsIngestionAddress: example_value
                      backupRtmpsIngestionAddress: example_value
                    resolution: example_value
                    frameRate: example_value
                  status:
                    streamStatus: active
                    healthStatus:
                      status: bad
                      lastUpdateTimeSeconds: 10
                      configurationIssues: []
                  contentDetails:
                    boundBroadcastId: '500123'
                    isReusable: true
      responses:
        '200':
          description: Successful response containing the newly created live stream resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveStream'
              examples:
                YoutubeLivestreamsInsert200Example:
                  summary: Default youtube.liveStreams.insert 200 response
                  x-microcks-default: true
                  value:
                    kind: youtube#video
                    etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                    id: abc123def456
                    snippet:
                      channelId: '500123'
                      title: Example Title
                      description: A sample description for this resource.
                      publishedAt: '2026-01-15T10:30:00Z'
                      isDefaultStream: true
                    cdn:
                      ingestionType: dash
                      ingestionInfo:
                        streamName: example_value
                        ingestionAddress: example_value
                        backupIngestionAddress: example_value
                        rtmpsIngestionAddress: example_value
                        backupRtmpsIngestionAddress: example_value
                      resolution: example_value
                      frameRate: example_value
                    status:
                      streamStatus: active
                      healthStatus:
                        status: bad
                        lastUpdateTimeSeconds: 10
                        configurationIssues: []
                    contentDetails:
                      boundBroadcastId: '500123'
                      isReusable: true
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: youtube.liveStreams.update
      summary: Youtube Update a Live Stream
      description: >-
        Updates a video stream. If the properties that you want to change cannot be updated,
        you need to create a new stream with the proper settings.
      tags:
      - LiveStreams
      parameters:
      - $ref: '#/components/parameters/part'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/key'
      requestBody:
        description: The live stream resource with updated properties.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiveStream'
            examples:
              YoutubeLivestreamsUpdateRequestExample:
                summary: Default youtube.liveStreams.update request
                x-microcks-default: true
                value:
                  kind: youtube#video
                  etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                  id: abc123def456
                  snippet:
                    channelId: '500123'
                    title: Example Title
                    description: A sample description for this resource.
                    publishedAt: '2026-01-15T10:30:00Z'
                    isDefaultStream: true
                  cdn:
                    ingestionType: dash
                    ingestionInfo:
                      streamName: example_value
                      ingestionAddress: example_value
                      backupIngestionAddress: example_value
                      rtmpsIngestionAddress: example_value
                      backupRtmpsIngestionAddress: example_value
                    resolution: example_value
                    frameRate: example_value
                  status:
                    streamStatus: active
                    healthStatus:
                      status: bad
                      lastUpdateTimeSeconds: 10
                      configurationIssues: []
                  contentDetails:
                    boundBroadcastId: '500123'
                    isReusable: true
      responses:


# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/youtube/refs/heads/main/openapi/youtube-live-streaming-openapi.yml