openapi: 3.0.0
servers:
  - url: https://youtube.googleapis.com/
info:
  contact:
    name: Google
    url: https://google.com
    x-twitter: youtube
  description: The YouTube Data API v3 is an API that provides access to YouTube data, such as videos, playlists, and channels.
  license:
    name: Creative Commons Attribution 3.0
    url: http://creativecommons.org/licenses/by/3.0/
  termsOfService: https://developers.google.com/terms/
  title: YouTube Data API v3
  version: v3
  x-apiClientRegistration:
    url: https://console.developers.google.com
  x-apisguru-categories:
    - analytics
    - media
  x-logo:
    url: https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png
  x-origin:
    - format: google
      url: https://youtube.googleapis.com/$discovery/rest?version=v3
      version: v1
  x-providerName: googleapis.com
  x-serviceName: youtube
externalDocs:
  url: https://developers.google.com/youtube/
tags:
  - name: abuseReports
  - name: activities
  - name: captions
  - name: channelBanners
  - name: channels
  - name: channelSections
  - name: comments
  - name: commentThreads
  - name: i18nLanguages
  - name: i18nRegions
  - name: liveBroadcasts
  - name: liveChatBans
  - name: liveChatMessages
  - name: liveChatModerators
  - name: liveStreams
  - name: members
  - name: membershipsLevels
  - name: playlistImages
  - name: playlistItems
  - name: playlists
  - name: search
  - name: subscriptions
  - name: superChatEvents
  - name: tests
  - name: thirdPartyLinks
  - name: thumbnails
  - name: videoAbuseReportReasons
  - name: videoCategories
  - name: videos
  - name: watermarks
  - name: youtube
paths:
  /youtube/v3/abuseReports:
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.abuseReports.insert
      parameters:
        - description: 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.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AbuseReport"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AbuseReport"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - abuseReports
  /youtube/v3/activities:
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.activities.list
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more activity resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in an activity resource, the snippet property contains other properties that identify the type of activity, a display title for the activity, and so forth. If you set *part=snippet*, the API response will also contain all of those nested properties.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: channelId
          schema:
            type: string
        - in: query
          name: home
          schema:
            type: boolean
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 50
            minimum: 0
            type: integer
        - in: query
          name: mine
          schema:
            type: boolean
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
        - in: query
          name: publishedAfter
          schema:
            type: string
        - in: query
          name: publishedBefore
          schema:
            type: string
        - in: query
          name: regionCode
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ActivityListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
      tags:
        - activities
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  /youtube/v3/captions:
    delete:
      description: Deletes a resource.
      operationId: youtube.captions.delete
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: string
        - description: ID of the Google+ Page for the channel that the request is be on behalf of
          in: query
          name: onBehalfOf
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - captions
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.captions.list
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more caption resource parts that the API response will include. The part names that you can include in the parameter value are id and snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Returns the captions for the specified video.
          in: query
          name: videoId
          required: true
          schema:
            type: string
        - description: Returns the captions with the given IDs for Stubby or Apiary.
          explode: true
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
          style: form
        - description: ID of the Google+ Page for the channel that the request is on behalf of.
          in: query
          name: onBehalfOf
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CaptionListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - captions
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.captions.insert
      parameters:
        - description: The *part* parameter specifies the caption resource parts that the API response will include. Set the parameter value to snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: ID of the Google+ Page for the channel that the request is be on behalf of
          in: query
          name: onBehalfOf
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: Extra parameter to allow automatically syncing the uploaded caption/transcript with the audio.
          in: query
          name: sync
          schema:
            type: boolean
      requestBody:
        content:
          application/octet-stream:
            schema:
              $ref: "#/components/schemas/Caption"
          text/xml:
            schema:
              $ref: "#/components/schemas/Caption"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Caption"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - captions
    put:
      description: Updates an existing resource.
      operationId: youtube.captions.update
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more caption resource parts that the API response will include. The part names that you can include in the parameter value are id and snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: ID of the Google+ Page for the channel that the request is on behalf of.
          in: query
          name: onBehalfOf
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: Extra parameter to allow automatically syncing the uploaded caption/transcript with the audio.
          in: query
          name: sync
          schema:
            type: boolean
      requestBody:
        content:
          application/octet-stream:
            schema:
              $ref: "#/components/schemas/Caption"
          text/xml:
            schema:
              $ref: "#/components/schemas/Caption"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Caption"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - captions
  /youtube/v3/captions/{id}:
    get:
      description: Downloads a caption track.
      operationId: youtube.captions.download
      parameters:
        - description: The ID of the caption track to download, required for One Platform.
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: ID of the Google+ Page for the channel that the request is be on behalf of
          in: query
          name: onBehalfOf
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: Convert the captions into this format. Supported options are sbv, srt, and vtt.
          in: query
          name: tfmt
          schema:
            type: string
        - description: tlang is the language code; machine translate the captions into this language.
          in: query
          name: tlang
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - captions
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  /youtube/v3/channelBanners/insert:
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.channelBanners.insert
      parameters:
        - description: Unused, channel_id is currently derived from the security context of the requestor.
          in: query
          name: channelId
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
      requestBody:
        content:
          application/octet-stream:
            schema:
              $ref: "#/components/schemas/ChannelBannerResource"
          image/jpeg:
            schema:
              $ref: "#/components/schemas/ChannelBannerResource"
          image/png:
            schema:
              $ref: "#/components/schemas/ChannelBannerResource"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ChannelBannerResource"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.upload
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.upload
      tags:
        - channelBanners
  /youtube/v3/channelSections:
    delete:
      description: Deletes a resource.
      operationId: youtube.channelSections.delete
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - channelSections
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.channelSections.list
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more channelSection resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, and contentDetails. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a channelSection resource, the snippet property contains other properties, such as a display title for the channelSection. If you set *part=snippet*, the API response will also contain all of those nested properties.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Return the ChannelSections owned by the specified channel ID.
          in: query
          name: channelId
          schema:
            type: string
        - description: Return content in specified language
          in: query
          name: hl
          schema:
            type: string
        - description: Return the ChannelSections with the given IDs for Stubby or Apiary.
          explode: true
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Return the ChannelSections owned by the authenticated user.
          in: query
          name: mine
          schema:
            type: boolean
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ChannelSectionListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - channelSections
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.channelSections.insert
      parameters:
        - description: 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 snippet and contentDetails.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ChannelSection"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ChannelSection"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - channelSections
    put:
      description: Updates an existing resource.
      operationId: youtube.channelSections.update
      parameters:
        - description: 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 snippet and contentDetails.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ChannelSection"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ChannelSection"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - channelSections
  /youtube/v3/channels:
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.channels.list
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more channel resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a channel resource, the contentDetails property contains other properties, such as the uploads properties. As such, if you set *part=contentDetails*, the API response will also contain all of those nested properties.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Return the channels within the specified guide category ID.
          in: query
          name: categoryId
          schema:
            type: string
        - description: Return the channel associated with a YouTube handle.
          in: query
          name: forHandle
          schema:
            type: string
        - description: Return the channel associated with a YouTube username.
          in: query
          name: forUsername
          schema:
            type: string
        - description: Stands for "host language". Specifies the localization language of the metadata to be filled into snippet.localized. The field is filled with the default metadata if there is no localization in the specified language. The parameter value must be a language code included in the list returned by the i18nLanguages.list method (e.g. en_US, es_MX).
          in: query
          name: hl
          schema:
            type: string
        - description: Return the channels with the specified IDs.
          explode: true
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Return the channels managed by the authenticated user.
          in: query
          name: managedByMe
          schema:
            type: boolean
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 50
            minimum: 0
            type: integer
        - description: Return the ids of channels owned by the authenticated user.
          in: query
          name: mine
          schema:
            type: boolean
        - description: Return the channels subscribed to the authenticated user
          in: query
          name: mySubscribers
          schema:
            type: boolean
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ChannelListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner-channel-audit
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner-channel-audit
      tags:
        - channels
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    put:
      description: Updates an existing resource.
      operationId: youtube.channels.update
      parameters:
        - description: 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 API currently only allows the parameter value to be set to either brandingSettings or invideoPromotion. (You cannot update both of those parts with a single request.) Note that this method overrides the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: The *onBehalfOfContentOwner* parameter indicates that the authenticated user is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with needs to be linked to the specified YouTube content owner.
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Channel"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Channel"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - channels
  /youtube/v3/commentThreads:
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.commentThreads.list
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more commentThread resource properties that the API response will include.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Returns the comment threads of all videos of the channel and the channel comments as well.
          in: query
          name: allThreadsRelatedToChannelId
          schema:
            type: string
        - description: Returns the comment threads for all the channel comments (ie does not include comments left on videos).
          in: query
          name: channelId
          schema:
            type: string
        - description: Returns the comment threads with the given IDs for Stubby or Apiary.
          explode: true
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
          style: form
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 100
            minimum: 1
            type: integer
        - description: "Limits the returned comment threads to those with the specified moderation status. Not compatible with the 'id' filter. Valid values: published, heldForReview, likelySpam."
          in: query
          name: moderationStatus
          schema:
            enum:
              - published
              - heldForReview
              - likelySpam
              - rejected
            type: string
        - in: query
          name: order
          schema:
            enum:
              - orderUnspecified
              - time
              - relevance
            type: string
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
        - description: Limits the returned comment threads to those matching the specified key words. Not compatible with the 'id' filter.
          in: query
          name: searchTerms
          schema:
            type: string
        - description: The requested text format for the returned comments.
          in: query
          name: textFormat
          schema:
            enum:
              - textFormatUnspecified
              - html
              - plainText
            type: string
        - description: Returns the comment threads of the specified video.
          in: query
          name: videoId
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CommentThreadListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - commentThreads
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.commentThreads.insert
      parameters:
        - description: The *part* parameter identifies the properties that the API response will include. Set the parameter value to snippet. The snippet part has a quota cost of 2 units.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CommentThread"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CommentThread"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - commentThreads
    put:
      description: Updates an existing resource.
      operationId: youtube.youtube.v3.updateCommentThreads
      parameters:
        - description: The *part* parameter specifies a comma-separated list of commentThread resource properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update.
          explode: true
          in: query
          name: part
          schema:
            items:
              type: string
            type: array
          style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CommentThread"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CommentThread"
          description: Successful response
      tags:
        - youtube
  /youtube/v3/comments:
    delete:
      description: Deletes a resource.
      operationId: youtube.comments.delete
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - comments
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.comments.list
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more comment resource properties that the API response will include.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Returns the comments with the given IDs for One Platform.
          explode: true
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
          style: form
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 100
            minimum: 1
            type: integer
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
        - description: Returns replies to the specified comment. Note, currently YouTube features only one level of replies (ie replies to top level comments). However replies to replies may be supported in the future.
          in: query
          name: parentId
          schema:
            type: string
        - description: The requested text format for the returned comments.
          in: query
          name: textFormat
          schema:
            enum:
              - textFormatUnspecified
              - html
              - plainText
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CommentListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - comments
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.comments.insert
      parameters:
        - description: The *part* parameter identifies the properties that the API response will include. Set the parameter value to snippet. The snippet part has a quota cost of 2 units.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Comment"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Comment"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - comments
    put:
      description: Updates an existing resource.
      operationId: youtube.comments.update
      parameters:
        - description: The *part* parameter identifies the properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Comment"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Comment"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - comments
  /youtube/v3/comments/markAsSpam:
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Expresses the caller's opinion that one or more comments should be flagged as spam.
      operationId: youtube.comments.markAsSpam
      parameters:
        - description: Flags the comments with the given IDs as spam in the caller's opinion.
          explode: true
          in: query
          name: id
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - comments
  /youtube/v3/comments/setModerationStatus:
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Sets the moderation status of one or more comments.
      operationId: youtube.comments.setModerationStatus
      parameters:
        - description: Modifies the moderation status of the comments with the given IDs
          explode: true
          in: query
          name: id
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "Specifies the requested moderation status. Note, comments can be in statuses, which are not available through this call. For example, this call does not allow to mark a comment as 'likely spam'. Valid values: 'heldForReview', 'published' or 'rejected'."
          in: query
          name: moderationStatus
          required: true
          schema:
            enum:
              - published
              - heldForReview
              - likelySpam
              - rejected
            type: string
        - description: If set to true the author of the comment gets added to the ban list. This means all future comments of the author will autmomatically be rejected. Only valid in combination with STATUS_REJECTED.
          in: query
          name: banAuthor
          schema:
            type: boolean
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - comments
  /youtube/v3/i18nLanguages:
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.i18nLanguages.list
      parameters:
        - description: The *part* parameter specifies the i18nLanguage resource properties that the API response will include. Set the parameter value to snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: hl
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/I18nLanguageListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - i18nLanguages
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  /youtube/v3/i18nRegions:
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.i18nRegions.list
      parameters:
        - description: The *part* parameter specifies the i18nRegion resource properties that the API response will include. Set the parameter value to snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: hl
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/I18nRegionListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - i18nRegions
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  /youtube/v3/liveBroadcasts:
    delete:
      description: Delete a given broadcast.
      operationId: youtube.liveBroadcasts.delete
      parameters:
        - description: Broadcast to delete.
          in: query
          name: id
          required: true
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveBroadcasts
    get:
      description: Retrieve the list of broadcasts associated with the given channel.
      operationId: youtube.liveBroadcasts.list
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, status and statistics.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Return broadcasts with a certain status, e.g. active broadcasts.
          in: query
          name: broadcastStatus
          schema:
            enum:
              - broadcastStatusFilterUnspecified
              - all
              - active
              - upcoming
              - completed
            type: string
        - description: Return only broadcasts with the selected type.
          in: query
          name: broadcastType
          schema:
            enum:
              - broadcastTypeFilterUnspecified
              - all
              - event
              - persistent
            type: string
        - description: Return broadcasts with the given ids from Stubby or Apiary.
          explode: true
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
          style: form
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 50
            minimum: 0
            type: integer
        - in: query
          name: mine
          schema:
            type: boolean
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LiveBroadcastListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
      tags:
        - liveBroadcasts
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new stream for the authenticated user.
      operationId: youtube.liveBroadcasts.insert
      parameters:
        - description: 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 properties that you can include in the parameter value are id, snippet, contentDetails, and status.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LiveBroadcast"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LiveBroadcast"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveBroadcasts
    put:
      description: Updates an existing broadcast for the authenticated user.
      operationId: youtube.liveBroadcasts.update
      parameters:
        - description: 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 properties that you can include in the parameter value are id, snippet, contentDetails, and status. Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a broadcast's privacy status is defined in the status part. As such, if your request is updating a private or unlisted broadcast, and the request's part parameter value includes the status part, the broadcast's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the broadcast will revert to the default privacy setting.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LiveBroadcast"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LiveBroadcast"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveBroadcasts
  /youtube/v3/liveBroadcasts/bind:
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Bind a broadcast to a stream.
      operationId: youtube.liveBroadcasts.bind
      parameters:
        - description: Broadcast to bind to the stream
          in: query
          name: id
          required: true
          schema:
            type: string
        - description: The *part* parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
        - description: Stream to bind, if not set unbind the current one.
          in: query
          name: streamId
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LiveBroadcast"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveBroadcasts
  /youtube/v3/liveBroadcasts/cuepoint:
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Insert cuepoints in a broadcast
      operationId: youtube.liveBroadcasts.insertCuepoint
      parameters:
        - description: Broadcast to insert ads to, or equivalently `external_video_id` for internal use.
          in: query
          name: id
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
        - description: The *part* parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status.
          explode: true
          in: query
          name: part
          schema:
            items:
              type: string
            type: array
          style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Cuepoint"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Cuepoint"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - liveBroadcasts
  /youtube/v3/liveBroadcasts/transition:
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Transition a broadcast to a given status.
      operationId: youtube.liveBroadcasts.transition
      parameters:
        - description: The status to which the broadcast is going to transition.
          in: query
          name: broadcastStatus
          required: true
          schema:
            enum:
              - statusUnspecified
              - testing
              - live
              - complete
            type: string
        - description: Broadcast to transition.
          in: query
          name: id
          required: true
          schema:
            type: string
        - description: The *part* parameter specifies a comma-separated list of one or more liveBroadcast resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, contentDetails, and status.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LiveBroadcast"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveBroadcasts
  /youtube/v3/liveChat/bans:
    delete:
      description: Deletes a chat ban.
      operationId: youtube.liveChatBans.delete
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveChatBans
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.liveChatBans.insert
      parameters:
        - description: 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 returns. Set the parameter value to snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LiveChatBan"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LiveChatBan"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveChatBans
  /youtube/v3/liveChat/messages:
    delete:
      description: Deletes a chat message.
      operationId: youtube.liveChatMessages.delete
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveChatMessages
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.liveChatMessages.list
      parameters:
        - description: The id of the live chat for which comments should be returned.
          in: query
          name: liveChatId
          required: true
          schema:
            type: string
        - description: The *part* parameter specifies the liveChatComment resource parts that the API response will include. Supported values are id and snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Specifies the localization language in which the system messages should be returned.
          in: query
          name: hl
          schema:
            type: string
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 2000
            minimum: 200
            type: integer
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
        - description: Specifies the size of the profile image that should be returned for each user.
          in: query
          name: profileImageSize
          schema:
            maximum: 720
            minimum: 16
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LiveChatMessageListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
      tags:
        - liveChatMessages
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.liveChatMessages.insert
      parameters:
        - description: The *part* parameter serves two purposes. It identifies the properties that the write operation will set as well as the properties that the API response will include. Set the parameter value to snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LiveChatMessage"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LiveChatMessage"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveChatMessages
  /youtube/v3/liveChat/moderators:
    delete:
      description: Deletes a chat moderator.
      operationId: youtube.liveChatModerators.delete
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveChatModerators
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.liveChatModerators.list
      parameters:
        - description: The id of the live chat for which moderators should be returned.
          in: query
          name: liveChatId
          required: true
          schema:
            type: string
        - description: The *part* parameter specifies the liveChatModerator resource parts that the API response will include. Supported values are id and snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 50
            minimum: 0
            type: integer
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LiveChatModeratorListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
      tags:
        - liveChatModerators
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.liveChatModerators.insert
      parameters:
        - description: 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 returns. Set the parameter value to snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LiveChatModerator"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LiveChatModerator"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveChatModerators
  /youtube/v3/liveStreams:
    delete:
      description: Deletes an existing stream for the authenticated user.
      operationId: youtube.liveStreams.delete
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveStreams
    get:
      description: Retrieve the list of streams associated with the given channel. --
      operationId: youtube.liveStreams.list
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more liveStream resource properties that the API response will include. The part names that you can include in the parameter value are id, snippet, cdn, and status.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Return LiveStreams with the given ids from Stubby or Apiary.
          explode: true
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
          style: form
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 50
            minimum: 0
            type: integer
        - in: query
          name: mine
          schema:
            type: boolean
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LiveStreamListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
      tags:
        - liveStreams
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new stream for the authenticated user.
      operationId: youtube.liveStreams.insert
      parameters:
        - description: 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 properties that you can include in the parameter value are id, snippet, cdn, content_details, and status.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LiveStream"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LiveStream"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveStreams
    put:
      description: Updates an existing stream for the authenticated user.
      operationId: youtube.liveStreams.update
      parameters:
        - description: 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 properties that you can include in the parameter value are id, snippet, cdn, and status. Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. If the request body does not specify a value for a mutable property, the existing value for that property will be removed.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LiveStream"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LiveStream"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
      tags:
        - liveStreams
  /youtube/v3/members:
    get:
      description: Retrieves a list of members that match the request criteria for a channel.
      operationId: youtube.members.list
      parameters:
        - description: The *part* parameter specifies the member resource parts that the API response will include. Set the parameter value to snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Comma separated list of channel IDs. Only data about members that are part of this list will be included in the response.
          in: query
          name: filterByMemberChannelId
          schema:
            type: string
        - description: Filter members in the results set to the ones that have access to a level.
          in: query
          name: hasAccessToLevel
          schema:
            type: string
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 1000
            minimum: 0
            type: integer
        - description: Parameter that specifies which channel members to return.
          in: query
          name: mode
          schema:
            enum:
              - listMembersModeUnknown
              - updates
              - all_current
            type: string
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MemberListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.channel-memberships.creator
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.channel-memberships.creator
      tags:
        - members
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  /youtube/v3/membershipsLevels:
    get:
      description: Retrieves a list of all pricing levels offered by a creator to the fans.
      operationId: youtube.membershipsLevels.list
      parameters:
        - description: The *part* parameter specifies the membershipsLevel resource parts that the API response will include. Supported values are id and snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MembershipsLevelListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.channel-memberships.creator
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.channel-memberships.creator
      tags:
        - membershipsLevels
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  /youtube/v3/playlistImages:
    delete:
      description: Deletes a resource.
      operationId: youtube.playlistImages.delete
      parameters:
        - description: Id to identify this image. This is returned from by the List method.
          in: query
          name: id
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - playlistImages
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.playlistImages.list
      parameters:
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 50
            minimum: 0
            type: integer
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
        - description: Return PlaylistImages for this playlist id.
          in: query
          name: parent
          schema:
            type: string
        - description: The *part* parameter specifies a comma-separated list of one or more playlistImage resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response.
          explode: true
          in: query
          name: part
          schema:
            items:
              type: string
            type: array
          style: form
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PlaylistImageListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - playlistImages
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.playlistImages.insert
      parameters:
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
        - description: The *part* parameter specifies the properties that the API response will include.
          explode: true
          in: query
          name: part
          schema:
            items:
              type: string
            type: array
          style: form
      requestBody:
        content:
          application/octet-stream:
            schema:
              $ref: "#/components/schemas/PlaylistImage"
          image/jpeg:
            schema:
              $ref: "#/components/schemas/PlaylistImage"
          image/png:
            schema:
              $ref: "#/components/schemas/PlaylistImage"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PlaylistImage"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - playlistImages
    put:
      description: Updates an existing resource.
      operationId: youtube.playlistImages.update
      parameters:
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: The *part* parameter specifies the properties that the API response will include.
          explode: true
          in: query
          name: part
          schema:
            items:
              type: string
            type: array
          style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PlaylistImage"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PlaylistImage"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - playlistImages
  /youtube/v3/playlistItems:
    delete:
      description: Deletes a resource.
      operationId: youtube.playlistItems.delete
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - playlistItems
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.playlistItems.list
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more playlistItem resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a playlistItem resource, the snippet property contains numerous fields, including the title, description, position, and resourceId properties. As such, if you set *part=snippet*, the API response will contain all of those properties.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - explode: true
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
          style: form
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 50
            minimum: 0
            type: integer
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
        - description: Return the playlist items within the given playlist.
          in: query
          name: playlistId
          schema:
            type: string
        - description: Return the playlist items associated with the given video ID.
          in: query
          name: videoId
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PlaylistItemListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - playlistItems
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.playlistItems.insert
      parameters:
        - description: 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.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PlaylistItem"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PlaylistItem"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - playlistItems
    put:
      description: Updates an existing resource.
      operationId: youtube.playlistItems.update
      parameters:
        - description: 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. Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a playlist item can specify a start time and end time, which identify the times portion of the video that should play when users watch the video in the playlist. If your request is updating a playlist item that sets these values, and the request's part parameter value includes the contentDetails part, the playlist item's start and end times will be updated to whatever value the request body specifies. If the request body does not specify values, the existing start and end times will be removed and replaced with the default settings.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PlaylistItem"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PlaylistItem"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - playlistItems
  /youtube/v3/playlists:
    delete:
      description: Deletes a resource.
      operationId: youtube.playlists.delete
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - playlists
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.playlists.list
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more playlist resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a playlist resource, the snippet property contains properties like author, title, description, tags, and timeCreated. As such, if you set *part=snippet*, the API response will contain all of those properties.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Return the playlists owned by the specified channel ID.
          in: query
          name: channelId
          schema:
            type: string
        - description: Return content in specified language
          in: query
          name: hl
          schema:
            type: string
        - description: Return the playlists with the given IDs for Stubby or Apiary.
          explode: true
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
          style: form
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 50
            minimum: 0
            type: integer
        - description: Return the playlists owned by the authenticated user.
          in: query
          name: mine
          schema:
            type: boolean
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PlaylistListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - playlists
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.playlists.insert
      parameters:
        - description: 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.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Playlist"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Playlist"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - playlists
    put:
      description: Updates an existing resource.
      operationId: youtube.playlists.update
      parameters:
        - description: 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. Note that this method will override the existing values for mutable properties that are contained in any parts that the request body specifies. For example, a playlist's description is contained in the snippet part, which must be included in the request body. If the request does not specify a value for the snippet.description property, the playlist's existing description will be deleted.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Playlist"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Playlist"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - playlists
  /youtube/v3/search:
    get:
      description: Retrieves a list of search resources
      operationId: youtube.search.list
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more search resource properties that the API response will include. Set the parameter value to snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Filter on resources belonging to this channelId.
          in: query
          name: channelId
          schema:
            type: string
        - description: Add a filter on the channel search.
          in: query
          name: channelType
          schema:
            enum:
              - channelTypeUnspecified
              - any
              - show
            type: string
        - description: Filter on the livestream status of the videos.
          in: query
          name: eventType
          schema:
            enum:
              - none
              - upcoming
              - live
              - completed
            type: string
        - description: Search owned by a content owner.
          in: query
          name: forContentOwner
          schema:
            type: boolean
        - description: Restrict the search to only retrieve videos uploaded using the project id of the authenticated user.
          in: query
          name: forDeveloper
          schema:
            type: boolean
        - description: Search for the private videos of the authenticated user.
          in: query
          name: forMine
          schema:
            type: boolean
        - description: Filter on location of the video
          in: query
          name: location
          schema:
            type: string
        - description: Filter on distance from the location (specified above).
          in: query
          name: locationRadius
          schema:
            type: string
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 50
            minimum: 0
            type: integer
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: Sort order of the results.
          in: query
          name: order
          schema:
            enum:
              - searchSortUnspecified
              - date
              - rating
              - viewCount
              - relevance
              - title
              - videoCount
            type: string
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
        - description: Filter on resources published after this date.
          in: query
          name: publishedAfter
          schema:
            type: string
        - description: Filter on resources published before this date.
          in: query
          name: publishedBefore
          schema:
            type: string
        - description: Textual search terms to match.
          in: query
          name: q
          schema:
            type: string
        - description: Display the content as seen by viewers in this country.
          in: query
          name: regionCode
          schema:
            type: string
        - description: Return results relevant to this language.
          in: query
          name: relevanceLanguage
          schema:
            type: string
        - description: Indicates whether the search results should include restricted content as well as standard content.
          in: query
          name: safeSearch
          schema:
            enum:
              - safeSearchSettingUnspecified
              - none
              - moderate
              - strict
            type: string
        - description: Restrict results to a particular topic.
          in: query
          name: topicId
          schema:
            type: string
        - description: Restrict results to a particular set of resource types from One Platform.
          explode: true
          in: query
          name: type
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Filter on the presence of captions on the videos.
          in: query
          name: videoCaption
          schema:
            enum:
              - videoCaptionUnspecified
              - any
              - closedCaption
              - none
            type: string
        - description: Filter on videos in a specific category.
          in: query
          name: videoCategoryId
          schema:
            type: string
        - description: Filter on the definition of the videos.
          in: query
          name: videoDefinition
          schema:
            enum:
              - any
              - standard
              - high
            type: string
        - description: Filter on 3d videos.
          in: query
          name: videoDimension
          schema:
            enum:
              - any
              - 2d
              - 3d
            type: string
        - description: Filter on the duration of the videos.
          in: query
          name: videoDuration
          schema:
            enum:
              - videoDurationUnspecified
              - any
              - short
              - medium
              - long
            type: string
        - description: Filter on embeddable videos.
          in: query
          name: videoEmbeddable
          schema:
            enum:
              - videoEmbeddableUnspecified
              - any
              - "true"
            type: string
        - description: Filter on the license of the videos.
          in: query
          name: videoLicense
          schema:
            enum:
              - any
              - youtube
              - creativeCommon
            type: string
        - in: query
          name: videoPaidProductPlacement
          schema:
            enum:
              - videoPaidProductPlacementUnspecified
              - any
              - "true"
            type: string
        - description: Filter on syndicated videos.
          in: query
          name: videoSyndicated
          schema:
            enum:
              - videoSyndicatedUnspecified
              - any
              - "true"
            type: string
        - description: Filter on videos of a specific type.
          in: query
          name: videoType
          schema:
            enum:
              - videoTypeUnspecified
              - any
              - movie
              - episode
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SearchListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - search
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  /youtube/v3/subscriptions:
    delete:
      description: Deletes a resource.
      operationId: youtube.subscriptions.delete
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - subscriptions
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.subscriptions.list
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more subscription resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a subscription resource, the snippet property contains other properties, such as a display title for the subscription. If you set *part=snippet*, the API response will also contain all of those nested properties.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Return the subscriptions of the given channel owner.
          in: query
          name: channelId
          schema:
            type: string
        - description: Return the subscriptions to the subset of these channels that the authenticated user is subscribed to.
          in: query
          name: forChannelId
          schema:
            type: string
        - description: Return the subscriptions with the given IDs for Stubby or Apiary.
          explode: true
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
          style: form
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 50
            minimum: 0
            type: integer
        - description: Flag for returning the subscriptions of the authenticated user.
          in: query
          name: mine
          schema:
            type: boolean
        - in: query
          name: myRecentSubscribers
          schema:
            type: boolean
        - description: Return the subscribers of the given channel owner.
          in: query
          name: mySubscribers
          schema:
            type: boolean
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
        - description: The order of the returned subscriptions
          in: query
          name: order
          schema:
            enum:
              - subscriptionOrderUnspecified
              - relevance
              - unread
              - alphabetical
            type: string
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SubscriptionListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - subscriptions
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.subscriptions.insert
      parameters:
        - description: 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.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Subscription"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Subscription"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - subscriptions
  /youtube/v3/superChatEvents:
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.superChatEvents.list
      parameters:
        - description: The *part* parameter specifies the superChatEvent resource parts that the API response will include. This parameter is currently not supported.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Return rendered funding amounts in specified language.
          in: query
          name: hl
          schema:
            type: string
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.
          in: query
          name: maxResults
          schema:
            maximum: 50
            minimum: 1
            type: integer
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved.
          in: query
          name: pageToken
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SuperChatEventListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
      tags:
        - superChatEvents
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  /youtube/v3/tests:
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: POST method.
      operationId: youtube.tests.insert
      parameters:
        - explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: externalChannelId
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TestItem"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TestItem"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
      tags:
        - tests
  /youtube/v3/thirdPartyLinks:
    delete:
      description: Deletes a resource.
      operationId: youtube.thirdPartyLinks.delete
      parameters:
        - description: Delete the partner links with the given linking token.
          in: query
          name: linkingToken
          required: true
          schema:
            type: string
        - description: Type of the link to be deleted.
          in: query
          name: type
          required: true
          schema:
            enum:
              - linkUnspecified
              - channelToStoreLink
            type: string
        - description: Channel ID to which changes should be applied, for delegation.
          in: query
          name: externalChannelId
          schema:
            type: string
        - description: Do not use. Required for compatibility.
          explode: true
          in: query
          name: part
          schema:
            items:
              type: string
            type: array
          style: form
      responses:
        "200":
          description: Successful response
      tags:
        - thirdPartyLinks
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.thirdPartyLinks.list
      parameters:
        - description: The *part* parameter specifies the thirdPartyLink resource parts that the API response will include. Supported values are linkingToken, status, and snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Channel ID to which changes should be applied, for delegation.
          in: query
          name: externalChannelId
          schema:
            type: string
        - description: Get a third party link with the given linking token.
          in: query
          name: linkingToken
          schema:
            type: string
        - description: Get a third party link of the given type.
          in: query
          name: type
          schema:
            enum:
              - linkUnspecified
              - channelToStoreLink
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ThirdPartyLinkListResponse"
          description: Successful response
      tags:
        - thirdPartyLinks
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.thirdPartyLinks.insert
      parameters:
        - description: The *part* parameter specifies the thirdPartyLink resource parts that the API request and response will include. Supported values are linkingToken, status, and snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Channel ID to which changes should be applied, for delegation.
          in: query
          name: externalChannelId
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ThirdPartyLink"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ThirdPartyLink"
          description: Successful response
      tags:
        - thirdPartyLinks
    put:
      description: Updates an existing resource.
      operationId: youtube.thirdPartyLinks.update
      parameters:
        - description: The *part* parameter specifies the thirdPartyLink resource parts that the API request and response will include. Supported values are linkingToken, status, and snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Channel ID to which changes should be applied, for delegation.
          in: query
          name: externalChannelId
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ThirdPartyLink"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ThirdPartyLink"
          description: Successful response
      tags:
        - thirdPartyLinks
  /youtube/v3/thumbnails/set:
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: As this is not an insert in a strict sense (it supports uploading/setting of a thumbnail for multiple videos, which doesn't result in creation of a single resource), I use a custom verb here.
      operationId: youtube.thumbnails.set
      parameters:
        - description: Returns the Thumbnail with the given video IDs for Stubby or Apiary.
          in: query
          name: videoId
          required: true
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ThumbnailSetResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.upload
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.upload
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - thumbnails
  /youtube/v3/videoAbuseReportReasons:
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.videoAbuseReportReasons.list
      parameters:
        - description: The *part* parameter specifies the videoCategory resource parts that the API response will include. Supported values are id and snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: hl
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VideoAbuseReportReasonListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
      tags:
        - videoAbuseReportReasons
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  /youtube/v3/videoCategories:
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.videoCategories.list
      parameters:
        - description: The *part* parameter specifies the videoCategory resource properties that the API response will include. Set the parameter value to snippet.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: hl
          schema:
            type: string
        - description: Returns the video categories with the given IDs for Stubby or Apiary.
          explode: true
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: regionCode
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VideoCategoryListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - videoCategories
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  /youtube/v3/videos:
    delete:
      description: Deletes a resource.
      operationId: youtube.videos.delete
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - videos
    get:
      description: Retrieves a list of resources, possibly filtered.
      operationId: youtube.videos.list
      parameters:
        - description: The *part* parameter specifies a comma-separated list of one or more video resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a video resource, the snippet property contains the channelId, title, description, tags, and categoryId properties. As such, if you set *part=snippet*, the API response will contain all of those properties.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Return the videos that are in the specified chart.
          in: query
          name: chart
          schema:
            enum:
              - chartUnspecified
              - mostPopular
            type: string
        - description: Stands for "host language". Specifies the localization language of the metadata to be filled into snippet.localized. The field is filled with the default metadata if there is no localization in the specified language. The parameter value must be a language code included in the list returned by the i18nLanguages.list method (e.g. en_US, es_MX).
          in: query
          name: hl
          schema:
            type: string
        - description: Return videos with the given ids.
          explode: true
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: locale
          schema:
            type: string
        - in: query
          name: maxHeight
          schema:
            maximum: 8192
            minimum: 72
            type: integer
        - description: The *maxResults* parameter specifies the maximum number of items that should be returned in the result set. *Note:* This parameter is supported for use in conjunction with the myRating and chart parameters, but it is not supported for use in conjunction with the id parameter.
          in: query
          name: maxResults
          schema:
            maximum: 50
            minimum: 1
            type: integer
        - description: Return the player with maximum height specified in
          in: query
          name: maxWidth
          schema:
            maximum: 8192
            minimum: 72
            type: integer
        - description: Return videos liked/disliked by the authenticated user. Does not support RateType.RATED_TYPE_NONE.
          in: query
          name: myRating
          schema:
            enum:
              - none
              - like
              - dislike
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages that could be retrieved. *Note:* This parameter is supported for use in conjunction with the myRating and chart parameters, but it is not supported for use in conjunction with the id parameter.
          in: query
          name: pageToken
          schema:
            type: string
        - description: Use a chart that is specific to the specified region
          in: query
          name: regionCode
          schema:
            type: string
        - description: Use chart that is specific to the specified video category
          in: query
          name: videoCategoryId
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VideoListResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.readonly
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.readonly
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - videos
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Inserts a new resource into this collection.
      operationId: youtube.videos.insert
      parameters:
        - description: 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. Note that not all parts contain properties that can be set when inserting or updating a video. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Should auto-levels be applied to the upload.
          in: query
          name: autoLevels
          schema:
            type: boolean
        - description: Notify the channel subscribers about the new video. As default, the notification is enabled.
          in: query
          name: notifySubscribers
          schema:
            type: boolean
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
        - description: This parameter can only be used in a properly authorized request. *Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwnerChannel* parameter specifies the YouTube channel ID of the channel to which a video is being added. This parameter is required when a request specifies a value for the onBehalfOfContentOwner parameter, and it can only be used in conjunction with that parameter. In addition, the request must be authorized using a CMS account that is linked to the content owner that the onBehalfOfContentOwner parameter specifies. Finally, the channel that the onBehalfOfContentOwnerChannel parameter value specifies must be linked to the content owner that the onBehalfOfContentOwner parameter specifies. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and perform actions on behalf of the channel specified in the parameter value, without having to provide authentication credentials for each separate channel.
          in: query
          name: onBehalfOfContentOwnerChannel
          schema:
            type: string
        - description: Should stabilize be applied to the upload.
          in: query
          name: stabilize
          schema:
            type: boolean
      requestBody:
        content:
          application/octet-stream:
            schema:
              $ref: "#/components/schemas/Video"
          video/1d-interleaved-parityfec:
            schema:
              $ref: "#/components/schemas/Video"
          video/3gpp:
            schema:
              $ref: "#/components/schemas/Video"
          video/3gpp-tt:
            schema:
              $ref: "#/components/schemas/Video"
          video/3gpp2:
            schema:
              $ref: "#/components/schemas/Video"
          video/av1:
            schema:
              $ref: "#/components/schemas/Video"
          video/bmpeg:
            schema:
              $ref: "#/components/schemas/Video"
          video/bt656:
            schema:
              $ref: "#/components/schemas/Video"
          video/celb:
            schema:
              $ref: "#/components/schemas/Video"
          video/dv:
            schema:
              $ref: "#/components/schemas/Video"
          video/encaprtp:
            schema:
              $ref: "#/components/schemas/Video"
          video/ffv1:
            schema:
              $ref: "#/components/schemas/Video"
          video/flexfec:
            schema:
              $ref: "#/components/schemas/Video"
          video/h261:
            schema:
              $ref: "#/components/schemas/Video"
          video/h263:
            schema:
              $ref: "#/components/schemas/Video"
          video/h263-1998:
            schema:
              $ref: "#/components/schemas/Video"
          video/h263-2000:
            schema:
              $ref: "#/components/schemas/Video"
          video/h264:
            schema:
              $ref: "#/components/schemas/Video"
          video/h264-rcdo:
            schema:
              $ref: "#/components/schemas/Video"
          video/h264-svc:
            schema:
              $ref: "#/components/schemas/Video"
          video/h265:
            schema:
              $ref: "#/components/schemas/Video"
          video/iso.segment:
            schema:
              $ref: "#/components/schemas/Video"
          video/jpeg:
            schema:
              $ref: "#/components/schemas/Video"
          video/jpeg2000:
            schema:
              $ref: "#/components/schemas/Video"
          video/jpm:
            schema:
              $ref: "#/components/schemas/Video"
          video/jxsv:
            schema:
              $ref: "#/components/schemas/Video"
          video/mj2:
            schema:
              $ref: "#/components/schemas/Video"
          video/mp1s:
            schema:
              $ref: "#/components/schemas/Video"
          video/mp2p:
            schema:
              $ref: "#/components/schemas/Video"
          video/mp2t:
            schema:
              $ref: "#/components/schemas/Video"
          video/mp4:
            schema:
              $ref: "#/components/schemas/Video"
          video/mp4v-es:
            schema:
              $ref: "#/components/schemas/Video"
          video/mpeg:
            schema:
              $ref: "#/components/schemas/Video"
          video/mpeg4-generic:
            schema:
              $ref: "#/components/schemas/Video"
          video/mpv:
            schema:
              $ref: "#/components/schemas/Video"
          video/nv:
            schema:
              $ref: "#/components/schemas/Video"
          video/ogg:
            schema:
              $ref: "#/components/schemas/Video"
          video/parityfec:
            schema:
              $ref: "#/components/schemas/Video"
          video/pointer:
            schema:
              $ref: "#/components/schemas/Video"
          video/quicktime:
            schema:
              $ref: "#/components/schemas/Video"
          video/raptorfec:
            schema:
              $ref: "#/components/schemas/Video"
          video/raw:
            schema:
              $ref: "#/components/schemas/Video"
          video/rtp-enc-aescm128:
            schema:
              $ref: "#/components/schemas/Video"
          video/rtploopback:
            schema:
              $ref: "#/components/schemas/Video"
          video/rtx:
            schema:
              $ref: "#/components/schemas/Video"
          video/scip:
            schema:
              $ref: "#/components/schemas/Video"
          video/smpte291:
            schema:
              $ref: "#/components/schemas/Video"
          video/smpte292m:
            schema:
              $ref: "#/components/schemas/Video"
          video/ulpfec:
            schema:
              $ref: "#/components/schemas/Video"
          video/vc1:
            schema:
              $ref: "#/components/schemas/Video"
          video/vc2:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.cctv:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.dece.hd:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.dece.mobile:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.dece.mp4:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.dece.pd:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.dece.sd:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.dece.video:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.directv.mpeg:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.directv.mpeg-tts:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.dlna.mpeg-tts:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.dvb.file:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.fvt:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.hns.video:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.iptvforum.1dparityfec-1010:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.iptvforum.1dparityfec-2005:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.iptvforum.2dparityfec-1010:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.iptvforum.2dparityfec-2005:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.iptvforum.ttsavc:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.iptvforum.ttsmpeg2:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.motorola.video:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.motorola.videop:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.mpegurl:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.ms-playready.media.pyv:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.nokia.interleaved-multimedia:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.nokia.mp4vr:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.nokia.videovoip:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.objectvideo:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.radgamettools.bink:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.radgamettools.smacker:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.sealed.mpeg1:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.sealed.mpeg4:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.sealed.swf:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.sealedmedia.softseal.mov:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.uvvu.mp4:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.vivo:
            schema:
              $ref: "#/components/schemas/Video"
          video/vnd.youtube.yt:
            schema:
              $ref: "#/components/schemas/Video"
          video/vp8:
            schema:
              $ref: "#/components/schemas/Video"
          video/vp9:
            schema:
              $ref: "#/components/schemas/Video"
          video/webm:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-f4v:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-fli:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-flv:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-m4v:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-matroska:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-mng:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-ms-asf:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-ms-vob:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-ms-wm:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-ms-wmv:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-ms-wmx:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-ms-wvx:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-msvideo:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-sgi-movie:
            schema:
              $ref: "#/components/schemas/Video"
          video/x-smv:
            schema:
              $ref: "#/components/schemas/Video"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Video"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.upload
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.upload
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - videos
    put:
      description: Updates an existing resource.
      operationId: youtube.videos.update
      parameters:
        - description: 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. Note that this method will override the existing values for all of the mutable properties that are contained in any parts that the parameter value specifies. For example, a video's privacy setting is contained in the status part. As such, if your request is updating a private video, and the request's part parameter value includes the status part, the video's privacy setting will be updated to whatever value the request body specifies. If the request body does not specify a value, the existing privacy setting will be removed and the video will revert to the default privacy setting. In addition, not all parts contain properties that can be set when inserting or updating a video. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response.
          explode: true
          in: query
          name: part
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Video"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Video"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - videos
  /youtube/v3/videos/getRating:
    get:
      description: Retrieves the ratings that the authorized user gave to a list of specified videos.
      operationId: youtube.videos.getRating
      parameters:
        - explode: true
          in: query
          name: id
          required: true
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VideoGetRatingResponse"
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - videos
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
  /youtube/v3/videos/rate:
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Adds a like or dislike rating to a video or removes a rating from a video.
      operationId: youtube.videos.rate
      parameters:
        - in: query
          name: id
          required: true
          schema:
            type: string
        - in: query
          name: rating
          required: true
          schema:
            enum:
              - none
              - like
              - dislike
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - videos
  /youtube/v3/videos/reportAbuse:
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Report abuse for a video.
      operationId: youtube.videos.reportAbuse
      parameters:
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/VideoAbuseReport"
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - videos
  /youtube/v3/watermarks/set:
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Allows upload of watermark image and setting it for a channel.
      operationId: youtube.watermarks.set
      parameters:
        - in: query
          name: channelId
          required: true
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      requestBody:
        content:
          application/octet-stream:
            schema:
              $ref: "#/components/schemas/InvideoBranding"
          image/jpeg:
            schema:
              $ref: "#/components/schemas/InvideoBranding"
          image/png:
            schema:
              $ref: "#/components/schemas/InvideoBranding"
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.upload
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.upload
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - watermarks
  /youtube/v3/watermarks/unset:
    parameters:
      - $ref: "#/components/parameters/_.xgafv"
      - $ref: "#/components/parameters/access_token"
      - $ref: "#/components/parameters/alt"
      - $ref: "#/components/parameters/callback"
      - $ref: "#/components/parameters/fields"
      - $ref: "#/components/parameters/key"
      - $ref: "#/components/parameters/oauth_token"
      - $ref: "#/components/parameters/prettyPrint"
      - $ref: "#/components/parameters/quotaUser"
      - $ref: "#/components/parameters/upload_protocol"
      - $ref: "#/components/parameters/uploadType"
    post:
      description: Allows removal of channel watermark.
      operationId: youtube.watermarks.unset
      parameters:
        - in: query
          name: channelId
          required: true
          schema:
            type: string
        - description: "*Note:* This parameter is intended exclusively for YouTube content partners. The *onBehalfOfContentOwner* parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner."
          in: query
          name: onBehalfOfContentOwner
          schema:
            type: string
      responses:
        "200":
          description: Successful response
      security:
        - Oauth2:
            - https://www.googleapis.com/auth/youtube
          Oauth2c:
            - https://www.googleapis.com/auth/youtube
        - Oauth2:
            - https://www.googleapis.com/auth/youtube.force-ssl
          Oauth2c:
            - https://www.googleapis.com/auth/youtube.force-ssl
        - Oauth2:
            - https://www.googleapis.com/auth/youtubepartner
          Oauth2c:
            - https://www.googleapis.com/auth/youtubepartner
      tags:
        - watermarks
components:
  parameters:
    _.xgafv:
      description: V1 error format.
      in: query
      name: $.xgafv
      schema:
        enum:
          - "1"
          - "2"
        type: string
    access_token:
      description: OAuth access token.
      in: query
      name: access_token
      schema:
        type: string
    alt:
      description: Data format for response.
      in: query
      name: alt
      schema:
        enum:
          - json
          - media
          - proto
        type: string
    callback:
      description: JSONP
      in: query
      name: callback
      schema:
        type: string
    fields:
      description: Selector specifying which fields to include in a partial response.
      in: query
      name: fields
      schema:
        type: string
    key:
      description: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
      in: query
      name: key
      schema:
        type: string
    oauth_token:
      description: OAuth 2.0 token for the current user.
      in: query
      name: oauth_token
      schema:
        type: string
    prettyPrint:
      description: Returns response with indentations and line breaks.
      in: query
      name: prettyPrint
      schema:
        type: boolean
    quotaUser:
      description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
      in: query
      name: quotaUser
      schema:
        type: string
    uploadType:
      description: Legacy upload protocol for media (e.g. "media", "multipart").
      in: query
      name: uploadType
      schema:
        type: string
    upload_protocol:
      description: Upload protocol for media (e.g. "raw", "multipart").
      in: query
      name: upload_protocol
      schema:
        type: string
  schemas:
    AbuseReport:
      properties:
        abuseTypes:
          items:
            $ref: "#/components/schemas/AbuseType"
          type: array
        description:
          type: string
        relatedEntities:
          items:
            $ref: "#/components/schemas/RelatedEntity"
          type: array
        subject:
          $ref: "#/components/schemas/Entity"
      type: object
    AbuseType:
      properties:
        id:
          type: string
      type: object
    AccessPolicy:
      description: Rights management policy for YouTube resources.
      properties:
        allowed:
          description: The value of allowed indicates whether the access to the policy is allowed or denied by default.
          type: boolean
        exception:
          description: A list of region codes that identify countries where the default policy do not apply.
          items:
            type: string
          type: array
      type: object
    Activity:
      description: An *activity* resource contains information about an action that a particular channel, or user, has taken on YouTube.The actions reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, commenting on a video, uploading a video, and so forth. Each activity resource identifies the type of action, the channel associated with the action, and the resource(s) associated with the action, such as the video that was rated or uploaded.
      properties:
        contentDetails:
          $ref: "#/components/schemas/ActivityContentDetails"
          description: The contentDetails object contains information about the content associated with the activity. For example, if the snippet.type value is videoRated, then the contentDetails object's content identifies the rated video.
        etag:
          description: Etag of this resource
          type: string
        id:
          description: The ID that YouTube uses to uniquely identify the activity.
          type: string
        kind:
          default: youtube#activity
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#activity".'
          type: string
        snippet:
          $ref: "#/components/schemas/ActivitySnippet"
          description: The snippet object contains basic details about the activity, including the activity's type and group ID.
      type: object
    ActivityContentDetails:
      description: "Details about the content of an activity: the video that was shared, the channel that was subscribed to, etc."
      properties:
        bulletin:
          $ref: "#/components/schemas/ActivityContentDetailsBulletin"
          description: The bulletin object contains details about a channel bulletin post. This object is only present if the snippet.type is bulletin.
        channelItem:
          $ref: "#/components/schemas/ActivityContentDetailsChannelItem"
          description: The channelItem object contains details about a resource which was added to a channel. This property is only present if the snippet.type is channelItem.
        comment:
          $ref: "#/components/schemas/ActivityContentDetailsComment"
          description: The comment object contains information about a resource that received a comment. This property is only present if the snippet.type is comment.
        favorite:
          $ref: "#/components/schemas/ActivityContentDetailsFavorite"
          description: The favorite object contains information about a video that was marked as a favorite video. This property is only present if the snippet.type is favorite.
        like:
          $ref: "#/components/schemas/ActivityContentDetailsLike"
          description: The like object contains information about a resource that received a positive (like) rating. This property is only present if the snippet.type is like.
        playlistItem:
          $ref: "#/components/schemas/ActivityContentDetailsPlaylistItem"
          description: The playlistItem object contains information about a new playlist item. This property is only present if the snippet.type is playlistItem.
        promotedItem:
          $ref: "#/components/schemas/ActivityContentDetailsPromotedItem"
          description: The promotedItem object contains details about a resource which is being promoted. This property is only present if the snippet.type is promotedItem.
        recommendation:
          $ref: "#/components/schemas/ActivityContentDetailsRecommendation"
          description: The recommendation object contains information about a recommended resource. This property is only present if the snippet.type is recommendation.
        social:
          $ref: "#/components/schemas/ActivityContentDetailsSocial"
          description: The social object contains details about a social network post. This property is only present if the snippet.type is social.
        subscription:
          $ref: "#/components/schemas/ActivityContentDetailsSubscription"
          description: The subscription object contains information about a channel that a user subscribed to. This property is only present if the snippet.type is subscription.
        upload:
          $ref: "#/components/schemas/ActivityContentDetailsUpload"
          description: The upload object contains information about the uploaded video. This property is only present if the snippet.type is upload.
      type: object
    ActivityContentDetailsBulletin:
      description: Details about a channel bulletin post.
      properties:
        resourceId:
          $ref: "#/components/schemas/ResourceId"
          description: The resourceId object contains information that identifies the resource associated with a bulletin post. @mutable youtube.activities.insert
      type: object
    ActivityContentDetailsChannelItem:
      description: Details about a resource which was added to a channel.
      properties:
        resourceId:
          $ref: "#/components/schemas/ResourceId"
          description: The resourceId object contains information that identifies the resource that was added to the channel.
      type: object
    ActivityContentDetailsComment:
      description: Information about a resource that received a comment.
      properties:
        resourceId:
          $ref: "#/components/schemas/ResourceId"
          description: The resourceId object contains information that identifies the resource associated with the comment.
      type: object
    ActivityContentDetailsFavorite:
      description: Information about a video that was marked as a favorite video.
      properties:
        resourceId:
          $ref: "#/components/schemas/ResourceId"
          description: The resourceId object contains information that identifies the resource that was marked as a favorite.
      type: object
    ActivityContentDetailsLike:
      description: Information about a resource that received a positive (like) rating.
      properties:
        resourceId:
          $ref: "#/components/schemas/ResourceId"
          description: The resourceId object contains information that identifies the rated resource.
      type: object
    ActivityContentDetailsPlaylistItem:
      description: Information about a new playlist item.
      properties:
        playlistId:
          description: The value that YouTube uses to uniquely identify the playlist.
          type: string
        playlistItemId:
          description: ID of the item within the playlist.
          type: string
        resourceId:
          $ref: "#/components/schemas/ResourceId"
          description: The resourceId object contains information about the resource that was added to the playlist.
      type: object
    ActivityContentDetailsPromotedItem:
      description: Details about a resource which is being promoted.
      properties:
        adTag:
          description: The URL the client should fetch to request a promoted item.
          type: string
        clickTrackingUrl:
          description: The URL the client should ping to indicate that the user clicked through on this promoted item.
          type: string
        creativeViewUrl:
          description: The URL the client should ping to indicate that the user was shown this promoted item.
          type: string
        ctaType:
          description: The type of call-to-action, a message to the user indicating action that can be taken.
          enum:
            - ctaTypeUnspecified
            - visitAdvertiserSite
          type: string
        customCtaButtonText:
          description: The custom call-to-action button text. If specified, it will override the default button text for the cta_type.
          type: string
        descriptionText:
          description: The text description to accompany the promoted item.
          type: string
        destinationUrl:
          description: The URL the client should direct the user to, if the user chooses to visit the advertiser's website.
          type: string
        forecastingUrl:
          description: The list of forecasting URLs. The client should ping all of these URLs when a promoted item is not available, to indicate that a promoted item could have been shown.
          items:
            type: string
          type: array
        impressionUrl:
          description: The list of impression URLs. The client should ping all of these URLs to indicate that the user was shown this promoted item.
          items:
            type: string
          type: array
        videoId:
          description: The ID that YouTube uses to uniquely identify the promoted video.
          type: string
      type: object
    ActivityContentDetailsRecommendation:
      description: Information that identifies the recommended resource.
      properties:
        reason:
          description: The reason that the resource is recommended to the user.
          enum:
            - reasonUnspecified
            - videoFavorited
            - videoLiked
            - videoWatched
          type: string
        resourceId:
          $ref: "#/components/schemas/ResourceId"
          description: The resourceId object contains information that identifies the recommended resource.
        seedResourceId:
          $ref: "#/components/schemas/ResourceId"
          description: The seedResourceId object contains information about the resource that caused the recommendation.
      type: object
    ActivityContentDetailsSocial:
      description: Details about a social network post.
      properties:
        author:
          description: The author of the social network post.
          type: string
        imageUrl:
          description: An image of the post's author.
          type: string
        referenceUrl:
          description: The URL of the social network post.
          type: string
        resourceId:
          $ref: "#/components/schemas/ResourceId"
          description: The resourceId object encapsulates information that identifies the resource associated with a social network post.
        type:
          description: The name of the social network.
          enum:
            - unspecified
            - googlePlus
            - facebook
            - twitter
          type: string
      type: object
    ActivityContentDetailsSubscription:
      description: Information about a channel that a user subscribed to.
      properties:
        resourceId:
          $ref: "#/components/schemas/ResourceId"
          description: The resourceId object contains information that identifies the resource that the user subscribed to.
      type: object
    ActivityContentDetailsUpload:
      description: Information about the uploaded video.
      properties:
        videoId:
          description: The ID that YouTube uses to uniquely identify the uploaded video.
          type: string
      type: object
    ActivityListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          items:
            $ref: "#/components/schemas/Activity"
          type: array
        kind:
          default: youtube#activityListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#activityListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
          description: General pagination information.
        prevPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
          type: string
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    ActivitySnippet:
      description: "Basic details about an activity, including title, description, thumbnails, activity type and group. Next ID: 12"
      properties:
        channelId:
          description: The ID that YouTube uses to uniquely identify the channel associated with the activity.
          type: string
        channelTitle:
          description: Channel title for the channel responsible for this activity
          type: string
        description:
          description: The description of the resource primarily associated with the activity. @mutable youtube.activities.insert
          type: string
        groupId:
          description: The group ID associated with the activity. A group ID identifies user events that are associated with the same user and resource. For example, if a user rates a video and marks the same video as a favorite, the entries for those events would have the same group ID in the user's activity feed. In your user interface, you can avoid repetition by grouping events with the same groupId value.
          type: string
        publishedAt:
          description: The date and time that the video was uploaded.
          format: date-time
          type: string
        thumbnails:
          $ref: "#/components/schemas/ThumbnailDetails"
          description: A map of thumbnail images associated with the resource that is primarily associated with the activity. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
        title:
          description: The title of the resource primarily associated with the activity.
          type: string
        type:
          description: The type of activity that the resource describes.
          enum:
            - typeUnspecified
            - upload
            - like
            - favorite
            - comment
            - subscription
            - playlistItem
            - recommendation
            - bulletin
            - social
            - channelItem
            - promotedItem
          type: string
      type: object
    Caption:
      description: A *caption* resource represents a YouTube caption track. A caption track is associated with exactly one YouTube video.
      properties:
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube uses to uniquely identify the caption track.
          type: string
        kind:
          default: youtube#caption
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#caption".'
          type: string
        snippet:
          $ref: "#/components/schemas/CaptionSnippet"
          description: The snippet object contains basic details about the caption.
      type: object
    CaptionListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of captions that match the request criteria.
          items:
            $ref: "#/components/schemas/Caption"
          type: array
        kind:
          default: youtube#captionListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#captionListResponse".'
          type: string
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    CaptionSnippet:
      description: Basic details about a caption track, such as its language and name.
      properties:
        audioTrackType:
          description: The type of audio track associated with the caption track.
          enum:
            - unknown
            - primary
            - commentary
            - descriptive
          type: string
        failureReason:
          description: The reason that YouTube failed to process the caption track. This property is only present if the state property's value is failed.
          enum:
            - unknownFormat
            - unsupportedFormat
            - processingFailed
          type: string
        isAutoSynced:
          description: Indicates whether YouTube synchronized the caption track to the audio track in the video. The value will be true if a sync was explicitly requested when the caption track was uploaded. For example, when calling the captions.insert or captions.update methods, you can set the sync parameter to true to instruct YouTube to sync the uploaded track to the video. If the value is false, YouTube uses the time codes in the uploaded caption track to determine when to display captions.
          type: boolean
        isCC:
          description: Indicates whether the track contains closed captions for the deaf and hard of hearing. The default value is false.
          type: boolean
        isDraft:
          description: Indicates whether the caption track is a draft. If the value is true, then the track is not publicly visible. The default value is false. @mutable youtube.captions.insert youtube.captions.update
          type: boolean
        isEasyReader:
          description: Indicates whether caption track is formatted for "easy reader," meaning it is at a third-grade level for language learners. The default value is false.
          type: boolean
        isLarge:
          description: Indicates whether the caption track uses large text for the vision-impaired. The default value is false.
          type: boolean
        language:
          description: The language of the caption track. The property value is a BCP-47 language tag.
          type: string
        lastUpdated:
          description: The date and time when the caption track was last updated.
          format: date-time
          type: string
        name:
          description: The name of the caption track. The name is intended to be visible to the user as an option during playback.
          type: string
        status:
          description: The caption track's status.
          enum:
            - serving
            - syncing
            - failed
          type: string
        trackKind:
          description: The caption track's type.
          enum:
            - standard
            - ASR
            - forced
          type: string
        videoId:
          description: The ID that YouTube uses to uniquely identify the video associated with the caption track. @mutable youtube.captions.insert
          type: string
      type: object
    CdnSettings:
      description: Brief description of the live stream cdn settings.
      properties:
        format:
          deprecated: true
          description: "The format of the video stream that you are sending to Youtube. "
          type: string
        frameRate:
          description: The frame rate of the inbound video data.
          enum:
            - 30fps
            - 60fps
            - variable
          type: string
        ingestionInfo:
          $ref: "#/components/schemas/IngestionInfo"
          description: The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
        ingestionType:
          description: " The method or protocol used to transmit the video stream."
          enum:
            - rtmp
            - dash
            - webrtc
            - hls
          type: string
        resolution:
          description: The resolution of the inbound video data.
          enum:
            - 240p
            - 360p
            - 480p
            - 720p
            - 1080p
            - 1440p
            - 2160p
            - variable
          type: string
      type: object
    Channel:
      description: A *channel* resource contains information about a YouTube channel.
      properties:
        auditDetails:
          $ref: "#/components/schemas/ChannelAuditDetails"
          description: The auditionDetails object encapsulates channel data that is relevant for YouTube Partners during the audition process.
        brandingSettings:
          $ref: "#/components/schemas/ChannelBrandingSettings"
          description: The brandingSettings object encapsulates information about the branding of the channel.
        contentDetails:
          $ref: "#/components/schemas/ChannelContentDetails"
          description: The contentDetails object encapsulates information about the channel's content.
        contentOwnerDetails:
          $ref: "#/components/schemas/ChannelContentOwnerDetails"
          description: The contentOwnerDetails object encapsulates channel data that is relevant for YouTube Partners linked with the channel.
        conversionPings:
          $ref: "#/components/schemas/ChannelConversionPings"
          deprecated: true
          description: The conversionPings object encapsulates information about conversion pings that need to be respected by the channel.
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube uses to uniquely identify the channel.
          type: string
        kind:
          default: youtube#channel
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#channel".'
          type: string
        localizations:
          additionalProperties:
            $ref: "#/components/schemas/ChannelLocalization"
          description: Localizations for different languages
          type: object
        snippet:
          $ref: "#/components/schemas/ChannelSnippet"
          description: The snippet object contains basic details about the channel, such as its title, description, and thumbnail images.
        statistics:
          $ref: "#/components/schemas/ChannelStatistics"
          description: The statistics object encapsulates statistics for the channel.
        status:
          $ref: "#/components/schemas/ChannelStatus"
          description: The status object encapsulates information about the privacy status of the channel.
        topicDetails:
          $ref: "#/components/schemas/ChannelTopicDetails"
          description: The topicDetails object encapsulates information about Freebase topics associated with the channel.
      type: object
    ChannelAuditDetails:
      description: The auditDetails object encapsulates channel data that is relevant for YouTube Partners during the audit process.
      properties:
        communityGuidelinesGoodStanding:
          description: Whether or not the channel respects the community guidelines.
          type: boolean
        contentIdClaimsGoodStanding:
          description: Whether or not the channel has any unresolved claims.
          type: boolean
        copyrightStrikesGoodStanding:
          description: Whether or not the channel has any copyright strikes.
          type: boolean
      type: object
    ChannelBannerResource:
      description: A channel banner returned as the response to a channel_banner.insert call.
      properties:
        etag:
          type: string
        kind:
          default: youtube#channelBannerResource
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#channelBannerResource".'
          type: string
        url:
          description: The URL of this banner image.
          type: string
      type: object
    ChannelBrandingSettings:
      description: Branding properties of a YouTube channel.
      properties:
        channel:
          $ref: "#/components/schemas/ChannelSettings"
          description: Branding properties for the channel view.
        hints:
          deprecated: true
          description: Additional experimental branding properties.
          items:
            $ref: "#/components/schemas/PropertyValue"
          type: array
        image:
          $ref: "#/components/schemas/ImageSettings"
          description: Branding properties for branding images.
        watch:
          $ref: "#/components/schemas/WatchSettings"
          deprecated: true
          description: Branding properties for the watch page.
      type: object
    ChannelContentDetails:
      description: Details about the content of a channel.
      properties:
        relatedPlaylists:
          properties:
            favorites:
              deprecated: true
              description: The ID of the playlist that contains the channel"s favorite videos. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.
              type: string
            likes:
              description: The ID of the playlist that contains the channel"s liked videos. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.
              type: string
            uploads:
              description: The ID of the playlist that contains the channel"s uploaded videos. Use the videos.insert method to upload new videos and the videos.delete method to delete previously uploaded videos.
              type: string
            watchHistory:
              deprecated: true
              description: The ID of the playlist that contains the channel"s watch history. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.
              type: string
            watchLater:
              deprecated: true
              description: The ID of the playlist that contains the channel"s watch later playlist. Use the playlistItems.insert and playlistItems.delete to add or remove items from that list.
              type: string
          type: object
      type: object
    ChannelContentOwnerDetails:
      description: The contentOwnerDetails object encapsulates channel data that is relevant for YouTube Partners linked with the channel.
      properties:
        contentOwner:
          description: The ID of the content owner linked to the channel.
          type: string
        timeLinked:
          description: The date and time when the channel was linked to the content owner.
          format: date-time
          type: string
      type: object
    ChannelConversionPing:
      description: Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
      properties:
        context:
          description: Defines the context of the ping.
          enum:
            - subscribe
            - unsubscribe
            - cview
          type: string
        conversionUrl:
          description: "The url (without the schema) that the player shall send the ping to. It's at caller's descretion to decide which schema to use (http vs https) Example of a returned url: //googleads.g.doubleclick.net/pagead/ viewthroughconversion/962985656/?data=path%3DtHe_path%3Btype%3D cview%3Butuid%3DGISQtTNGYqaYl4sKxoVvKA&labe=default The caller must append biscotti authentication (ms param in case of mobile, for example) to this ping."
          type: string
      type: object
    ChannelConversionPings:
      description: The conversionPings object encapsulates information about conversion pings that need to be respected by the channel.
      properties:
        pings:
          description: Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping.
          items:
            $ref: "#/components/schemas/ChannelConversionPing"
          type: array
      type: object
    ChannelListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          items:
            $ref: "#/components/schemas/Channel"
          type: array
        kind:
          default: youtube#channelListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#channelListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
          description: General pagination information.
        prevPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
          type: string
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    ChannelLocalization:
      description: Channel localization setting
      properties:
        description:
          description: The localized strings for channel's description.
          type: string
        title:
          description: The localized strings for channel's title.
          type: string
      type: object
    ChannelProfileDetails:
      properties:
        channelId:
          description: The YouTube channel ID.
          type: string
        channelUrl:
          description: The channel's URL.
          type: string
        displayName:
          description: The channel's display name.
          type: string
        profileImageUrl:
          description: The channels's avatar URL.
          type: string
      type: object
    ChannelSection:
      properties:
        contentDetails:
          $ref: "#/components/schemas/ChannelSectionContentDetails"
          description: The contentDetails object contains details about the channel section content, such as a list of playlists or channels featured in the section.
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube uses to uniquely identify the channel section.
          type: string
        kind:
          default: youtube#channelSection
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#channelSection".'
          type: string
        localizations:
          additionalProperties:
            $ref: "#/components/schemas/ChannelSectionLocalization"
          deprecated: true
          description: Localizations for different languages
          type: object
        snippet:
          $ref: "#/components/schemas/ChannelSectionSnippet"
          description: The snippet object contains basic details about the channel section, such as its type, style and title.
        targeting:
          $ref: "#/components/schemas/ChannelSectionTargeting"
          deprecated: true
          description: The targeting object contains basic targeting settings about the channel section.
      type: object
    ChannelSectionContentDetails:
      description: Details about a channelsection, including playlists and channels.
      properties:
        channels:
          description: The channel ids for type multiple_channels.
          items:
            type: string
          type: array
        playlists:
          description: The playlist ids for type single_playlist and multiple_playlists. For singlePlaylist, only one playlistId is allowed.
          items:
            type: string
          type: array
      type: object
    ChannelSectionListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of ChannelSections that match the request criteria.
          items:
            $ref: "#/components/schemas/ChannelSection"
          type: array
        kind:
          default: youtube#channelSectionListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#channelSectionListResponse".'
          type: string
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    ChannelSectionLocalization:
      description: ChannelSection localization setting
      properties:
        title:
          deprecated: true
          description: The localized strings for channel section's title.
          type: string
      type: object
    ChannelSectionSnippet:
      description: Basic details about a channel section, including title, style and position.
      properties:
        channelId:
          description: The ID that YouTube uses to uniquely identify the channel that published the channel section.
          type: string
        defaultLanguage:
          deprecated: true
          description: The language of the channel section's default title and description.
          type: string
        localized:
          $ref: "#/components/schemas/ChannelSectionLocalization"
          deprecated: true
          description: Localized title, read-only.
        position:
          description: The position of the channel section in the channel.
          format: uint32
          type: integer
        style:
          deprecated: true
          description: The style of the channel section.
          enum:
            - channelsectionStyleUnspecified
            - horizontalRow
            - verticalList
          type: string
        title:
          description: The channel section's title for multiple_playlists and multiple_channels.
          type: string
        type:
          description: The type of the channel section.
          enum:
            - channelsectionTypeUndefined
            - singlePlaylist
            - multiplePlaylists
            - popularUploads
            - recentUploads
            - likes
            - allPlaylists
            - likedPlaylists
            - recentPosts
            - recentActivity
            - liveEvents
            - upcomingEvents
            - completedEvents
            - multipleChannels
            - postedVideos
            - postedPlaylists
            - subscriptions
          type: string
          x-enumDeprecated:
            - false
            - false
            - false
            - false
            - false
            - true
            - false
            - true
            - true
            - true
            - false
            - false
            - false
            - false
            - true
            - true
            - false
      type: object
    ChannelSectionTargeting:
      description: ChannelSection targeting setting.
      properties:
        countries:
          deprecated: true
          description: The country the channel section is targeting.
          items:
            type: string
          type: array
        languages:
          deprecated: true
          description: The language the channel section is targeting.
          items:
            type: string
          type: array
        regions:
          deprecated: true
          description: The region the channel section is targeting.
          items:
            type: string
          type: array
      type: object
    ChannelSettings:
      description: Branding properties for the channel view.
      properties:
        country:
          description: The country of the channel.
          type: string
        defaultLanguage:
          type: string
        defaultTab:
          deprecated: true
          description: Which content tab users should see when viewing the channel.
          type: string
        description:
          description: Specifies the channel description.
          type: string
        featuredChannelsTitle:
          deprecated: true
          description: Title for the featured channels tab.
          type: string
        featuredChannelsUrls:
          deprecated: true
          description: The list of featured channels.
          items:
            type: string
          type: array
        keywords:
          description: Lists keywords associated with the channel, comma-separated.
          type: string
        moderateComments:
          description: Whether user-submitted comments left on the channel page need to be approved by the channel owner to be publicly visible.
          type: boolean
        profileColor:
          deprecated: true
          description: A prominent color that can be rendered on this channel page.
          type: string
        showBrowseView:
          deprecated: true
          description: Whether the tab to browse the videos should be displayed.
          type: boolean
        showRelatedChannels:
          deprecated: true
          description: Whether related channels should be proposed.
          type: boolean
        title:
          description: Specifies the channel title.
          type: string
        trackingAnalyticsAccountId:
          description: The ID for a Google Analytics account to track and measure traffic to the channels.
          type: string
        unsubscribedTrailer:
          description: The trailer of the channel, for users that are not subscribers.
          type: string
      type: object
    ChannelSnippet:
      description: Basic details about a channel, including title, description and thumbnails.
      properties:
        country:
          description: The country of the channel.
          type: string
        customUrl:
          description: The custom url of the channel.
          type: string
        defaultLanguage:
          description: The language of the channel's default title and description.
          type: string
        description:
          description: The description of the channel.
          type: string
        localized:
          $ref: "#/components/schemas/ChannelLocalization"
          description: Localized title and description, read-only.
        publishedAt:
          description: The date and time that the channel was created.
          format: date-time
          type: string
        thumbnails:
          $ref: "#/components/schemas/ThumbnailDetails"
          description: A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail. When displaying thumbnails in your application, make sure that your code uses the image URLs exactly as they are returned in API responses. For example, your application should not use the http domain instead of the https domain in a URL returned in an API response. Beginning in July 2018, channel thumbnail URLs will only be available in the https domain, which is how the URLs appear in API responses. After that time, you might see broken images in your application if it tries to load YouTube images from the http domain. Thumbnail images might be empty for newly created channels and might take up to one day to populate.
        title:
          description: The channel's title.
          type: string
      type: object
    ChannelStatistics:
      description: "Statistics about a channel: number of subscribers, number of videos in the channel, etc."
      properties:
        commentCount:
          description: The number of comments for the channel.
          format: uint64
          type: string
        hiddenSubscriberCount:
          description: Whether or not the number of subscribers is shown for this user.
          type: boolean
        subscriberCount:
          description: The number of subscribers that the channel has.
          format: uint64
          type: string
        videoCount:
          description: The number of videos uploaded to the channel.
          format: uint64
          type: string
        viewCount:
          description: The number of times the channel has been viewed.
          format: uint64
          type: string
      type: object
    ChannelStatus:
      description: JSON template for the status part of a channel.
      properties:
        isLinked:
          description: If true, then the user is linked to either a YouTube username or G+ account. Otherwise, the user doesn't have a public YouTube identity.
          type: boolean
        longUploadsStatus:
          description: The long uploads status of this channel. See https://support.google.com/youtube/answer/71673 for more information.
          enum:
            - longUploadsUnspecified
            - allowed
            - eligible
            - disallowed
          type: string
        madeForKids:
          type: boolean
        privacyStatus:
          description: Privacy status of the channel.
          enum:
            - public
            - unlisted
            - private
          type: string
        selfDeclaredMadeForKids:
          type: boolean
      type: object
    ChannelToStoreLinkDetails:
      description: Information specific to a store on a merchandising platform linked to a YouTube channel.
      properties:
        billingDetails:
          $ref: "#/components/schemas/ChannelToStoreLinkDetailsBillingDetails"
          description: Information specific to billing (read-only).
        merchantId:
          description: Google Merchant Center id of the store.
          format: uint64
          type: string
        storeName:
          description: Name of the store.
          type: string
        storeUrl:
          description: Landing page of the store.
          type: string
      type: object
    ChannelToStoreLinkDetailsBillingDetails:
      description: Information specific to billing.
      properties:
        billingStatus:
          description: The current billing profile status.
          enum:
            - billingStatusUnspecified
            - billingStatusPending
            - billingStatusActive
            - billingStatusInactive
          type: string
      type: object
    ChannelTopicDetails:
      description: Freebase topic information related to the channel.
      properties:
        topicCategories:
          description: A list of Wikipedia URLs that describe the channel's content.
          items:
            type: string
          type: array
        topicIds:
          deprecated: true
          description: A list of Freebase topic IDs associated with the channel. You can retrieve information about each topic using the Freebase Topic API.
          items:
            type: string
          type: array
      type: object
    Comment:
      description: A *comment* represents a single YouTube comment.
      properties:
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube uses to uniquely identify the comment.
          type: string
        kind:
          default: youtube#comment
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#comment".'
          type: string
        snippet:
          $ref: "#/components/schemas/CommentSnippet"
          description: The snippet object contains basic details about the comment.
      type: object
    CommentListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of comments that match the request criteria.
          items:
            $ref: "#/components/schemas/Comment"
          type: array
        kind:
          default: youtube#commentListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#commentListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
          description: General pagination information.
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    CommentSnippet:
      description: Basic details about a comment, such as its author and text.
      properties:
        authorChannelId:
          $ref: "#/components/schemas/CommentSnippetAuthorChannelId"
        authorChannelUrl:
          description: Link to the author's YouTube channel, if any.
          type: string
        authorDisplayName:
          description: The name of the user who posted the comment.
          type: string
        authorProfileImageUrl:
          description: The URL for the avatar of the user who posted the comment.
          type: string
        canRate:
          description: Whether the current viewer can rate this comment.
          type: boolean
        channelId:
          description: The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video comment it's the video's channel.
          type: string
        likeCount:
          description: The total number of likes this comment has received.
          format: uint32
          type: integer
        moderationStatus:
          description: The comment's moderation status. Will not be set if the comments were requested through the id filter.
          enum:
            - published
            - heldForReview
            - likelySpam
            - rejected
          type: string
        parentId:
          description: The unique id of the parent comment, only set for replies.
          type: string
        publishedAt:
          description: The date and time when the comment was originally published.
          format: date-time
          type: string
        textDisplay:
          description: The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
          type: string
        textOriginal:
          description: The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
          type: string
        updatedAt:
          description: The date and time when the comment was last updated.
          format: date-time
          type: string
        videoId:
          description: The ID of the video the comment refers to, if any.
          type: string
        viewerRating:
          description: The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
          enum:
            - none
            - like
            - dislike
          type: string
      type: object
    CommentSnippetAuthorChannelId:
      description: The id of the author's YouTube channel, if any.
      properties:
        value:
          type: string
      type: object
    CommentThread:
      description: A *comment thread* represents information that applies to a top level comment and all its replies. It can also include the top level comment itself and some of the replies.
      properties:
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube uses to uniquely identify the comment thread.
          type: string
        kind:
          default: youtube#commentThread
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#commentThread".'
          type: string
        replies:
          $ref: "#/components/schemas/CommentThreadReplies"
          description: The replies object contains a limited number of replies (if any) to the top level comment found in the snippet.
        snippet:
          $ref: "#/components/schemas/CommentThreadSnippet"
          description: The snippet object contains basic details about the comment thread and also the top level comment.
      type: object
    CommentThreadListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of comment threads that match the request criteria.
          items:
            $ref: "#/components/schemas/CommentThread"
          type: array
        kind:
          default: youtube#commentThreadListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#commentThreadListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
          description: General pagination information.
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    CommentThreadReplies:
      description: Comments written in (direct or indirect) reply to the top level comment.
      properties:
        comments:
          description: A limited number of replies. Unless the number of replies returned equals total_reply_count in the snippet the returned replies are only a subset of the total number of replies.
          items:
            $ref: "#/components/schemas/Comment"
          type: array
      type: object
    CommentThreadSnippet:
      description: Basic details about a comment thread.
      properties:
        canReply:
          description: Whether the current viewer of the thread can reply to it. This is viewer specific - other viewers may see a different value for this field.
          type: boolean
        channelId:
          description: The YouTube channel the comments in the thread refer to or the channel with the video the comments refer to. If video_id isn't set the comments refer to the channel itself.
          type: string
        isPublic:
          description: Whether the thread (and therefore all its comments) is visible to all YouTube users.
          type: boolean
        topLevelComment:
          $ref: "#/components/schemas/Comment"
          description: The top level comment of this thread.
        totalReplyCount:
          description: The total number of replies (not including the top level comment).
          format: uint32
          type: integer
        videoId:
          description: The ID of the video the comments refer to, if any. No video_id implies a channel discussion comment.
          type: string
      type: object
    ContentRating:
      description: Ratings schemes. The country-specific ratings are mostly for movies and shows. LINT.IfChange
      properties:
        acbRating:
          description: The video's Australian Classification Board (ACB) or Australian Communications and Media Authority (ACMA) rating. ACMA ratings are used to classify children's television programming.
          enum:
            - acbUnspecified
            - acbE
            - acbP
            - acbC
            - acbG
            - acbPg
            - acbM
            - acbMa15plus
            - acbR18plus
            - acbUnrated
          type: string
        agcomRating:
          description: The video's rating from Italy's Autorità per le Garanzie nelle Comunicazioni (AGCOM).
          enum:
            - agcomUnspecified
            - agcomT
            - agcomVm14
            - agcomVm18
            - agcomUnrated
          type: string
        anatelRating:
          description: The video's Anatel (Asociación Nacional de Televisión) rating for Chilean television.
          enum:
            - anatelUnspecified
            - anatelF
            - anatelI
            - anatelI7
            - anatelI10
            - anatelI12
            - anatelR
            - anatelA
            - anatelUnrated
          type: string
        bbfcRating:
          description: The video's British Board of Film Classification (BBFC) rating.
          enum:
            - bbfcUnspecified
            - bbfcU
            - bbfcPg
            - bbfc12a
            - bbfc12
            - bbfc15
            - bbfc18
            - bbfcR18
            - bbfcUnrated
          type: string
        bfvcRating:
          description: The video's rating from Thailand's Board of Film and Video Censors.
          enum:
            - bfvcUnspecified
            - bfvcG
            - bfvcE
            - bfvc13
            - bfvc15
            - bfvc18
            - bfvc20
            - bfvcB
            - bfvcUnrated
          type: string
        bmukkRating:
          description: The video's rating from the Austrian Board of Media Classification (Bundesministerium für Unterricht, Kunst und Kultur).
          enum:
            - bmukkUnspecified
            - bmukkAa
            - bmukk6
            - bmukk8
            - bmukk10
            - bmukk12
            - bmukk14
            - bmukk16
            - bmukkUnrated
          type: string
        catvRating:
          description: Rating system for Canadian TV - Canadian TV Classification System The video's rating from the Canadian Radio-Television and Telecommunications Commission (CRTC) for Canadian English-language broadcasts. For more information, see the Canadian Broadcast Standards Council website.
          enum:
            - catvUnspecified
            - catvC
            - catvC8
            - catvG
            - catvPg
            - catv14plus
            - catv18plus
            - catvUnrated
            - catvE
          type: string
        catvfrRating:
          description: The video's rating from the Canadian Radio-Television and Telecommunications Commission (CRTC) for Canadian French-language broadcasts. For more information, see the Canadian Broadcast Standards Council website.
          enum:
            - catvfrUnspecified
            - catvfrG
            - catvfr8plus
            - catvfr13plus
            - catvfr16plus
            - catvfr18plus
            - catvfrUnrated
            - catvfrE
          type: string
        cbfcRating:
          description: The video's Central Board of Film Certification (CBFC - India) rating.
          enum:
            - cbfcUnspecified
            - cbfcU
            - cbfcUA
            - cbfcUA7plus
            - cbfcUA13plus
            - cbfcUA16plus
            - cbfcA
            - cbfcS
            - cbfcUnrated
          type: string
        cccRating:
          description: The video's Consejo de Calificación Cinematográfica (Chile) rating.
          enum:
            - cccUnspecified
            - cccTe
            - ccc6
            - ccc14
            - ccc18
            - ccc18v
            - ccc18s
            - cccUnrated
          type: string
        cceRating:
          description: The video's rating from Portugal's Comissão de Classificação de Espect´culos.
          enum:
            - cceUnspecified
            - cceM4
            - cceM6
            - cceM12
            - cceM16
            - cceM18
            - cceUnrated
            - cceM14
          type: string
        chfilmRating:
          description: The video's rating in Switzerland.
          enum:
            - chfilmUnspecified
            - chfilm0
            - chfilm6
            - chfilm12
            - chfilm16
            - chfilm18
            - chfilmUnrated
          type: string
        chvrsRating:
          description: The video's Canadian Home Video Rating System (CHVRS) rating.
          enum:
            - chvrsUnspecified
            - chvrsG
            - chvrsPg
            - chvrs14a
            - chvrs18a
            - chvrsR
            - chvrsE
            - chvrsUnrated
          type: string
        cicfRating:
          description: The video's rating from the Commission de Contrôle des Films (Belgium).
          enum:
            - cicfUnspecified
            - cicfE
            - cicfKtEa
            - cicfKntEna
            - cicfUnrated
          type: string
        cnaRating:
          description: The video's rating from Romania's CONSILIUL NATIONAL AL AUDIOVIZUALULUI (CNA).
          enum:
            - cnaUnspecified
            - cnaAp
            - cna12
            - cna15
            - cna18
            - cna18plus
            - cnaUnrated
          type: string
        cncRating:
          description: Rating system in France - Commission de classification cinematographique
          enum:
            - cncUnspecified
            - cncT
            - cnc10
            - cnc12
            - cnc16
            - cnc18
            - cncE
            - cncInterdiction
            - cncUnrated
          type: string
        csaRating:
          description: The video's rating from France's Conseil supérieur de l’audiovisuel, which rates broadcast content.
          enum:
            - csaUnspecified
            - csaT
            - csa10
            - csa12
            - csa16
            - csa18
            - csaInterdiction
            - csaUnrated
          type: string
        cscfRating:
          description: The video's rating from Luxembourg's Commission de surveillance de la classification des films (CSCF).
          enum:
            - cscfUnspecified
            - cscfAl
            - cscfA
            - cscf6
            - cscf9
            - cscf12
            - cscf16
            - cscf18
            - cscfUnrated
          type: string
        czfilmRating:
          description: The video's rating in the Czech Republic.
          enum:
            - czfilmUnspecified
            - czfilmU
            - czfilm12
            - czfilm14
            - czfilm18
            - czfilmUnrated
          type: string
        djctqRating:
          description: The video's Departamento de Justiça, Classificação, Qualificação e Títulos (DJCQT - Brazil) rating.
          enum:
            - djctqUnspecified
            - djctqL
            - djctq10
            - djctq12
            - djctq14
            - djctq16
            - djctq18
            - djctqEr
            - djctqL10
            - djctqL12
            - djctqL14
            - djctqL16
            - djctqL18
            - djctq1012
            - djctq1014
            - djctq1016
            - djctq1018
            - djctq1214
            - djctq1216
            - djctq1218
            - djctq1416
            - djctq1418
            - djctq1618
            - djctqUnrated
          type: string
        djctqRatingReasons:
          description: Reasons that explain why the video received its DJCQT (Brazil) rating.
          items:
            enum:
              - djctqRatingReasonUnspecified
              - djctqViolence
              - djctqExtremeViolence
              - djctqSexualContent
              - djctqNudity
              - djctqSex
              - djctqExplicitSex
              - djctqDrugs
              - djctqLegalDrugs
              - djctqIllegalDrugs
              - djctqInappropriateLanguage
              - djctqCriminalActs
              - djctqImpactingContent
            type: string
          type: array
        ecbmctRating:
          description: Rating system in Turkey - Evaluation and Classification Board of the Ministry of Culture and Tourism
          enum:
            - ecbmctUnspecified
            - ecbmctG
            - ecbmct7a
            - ecbmct7plus
            - ecbmct13a
            - ecbmct13plus
            - ecbmct15a
            - ecbmct15plus
            - ecbmct18plus
            - ecbmctUnrated
          type: string
        eefilmRating:
          description: The video's rating in Estonia.
          enum:
            - eefilmUnspecified
            - eefilmPere
            - eefilmL
            - eefilmMs6
            - eefilmK6
            - eefilmMs12
            - eefilmK12
            - eefilmK14
            - eefilmK16
            - eefilmUnrated
          type: string
        egfilmRating:
          description: The video's rating in Egypt.
          enum:
            - egfilmUnspecified
            - egfilmGn
            - egfilm18
            - egfilmBn
            - egfilmUnrated
          type: string
        eirinRating:
          description: The video's Eirin (映倫) rating. Eirin is the Japanese rating system.
          enum:
            - eirinUnspecified
            - eirinG
            - eirinPg12
            - eirinR15plus
            - eirinR18plus
            - eirinUnrated
          type: string
        fcbmRating:
          description: The video's rating from Malaysia's Film Censorship Board.
          enum:
            - fcbmUnspecified
            - fcbmU
            - fcbmPg13
            - fcbmP13
            - fcbm18
            - fcbm18sx
            - fcbm18pa
            - fcbm18sg
            - fcbm18pl
            - fcbmUnrated
          type: string
        fcoRating:
          description: The video's rating from Hong Kong's Office for Film, Newspaper and Article Administration.
          enum:
            - fcoUnspecified
            - fcoI
            - fcoIia
            - fcoIib
            - fcoIi
            - fcoIii
            - fcoUnrated
          type: string
        fmocRating:
          deprecated: true
          description: This property has been deprecated. Use the contentDetails.contentRating.cncRating instead.
          enum:
            - fmocUnspecified
            - fmocU
            - fmoc10
            - fmoc12
            - fmoc16
            - fmoc18
            - fmocE
            - fmocUnrated
          type: string
        fpbRating:
          description: The video's rating from South Africa's Film and Publication Board.
          enum:
            - fpbUnspecified
            - fpbA
            - fpbPg
            - fpb79Pg
            - fpb1012Pg
            - fpb13
            - fpb16
            - fpb18
            - fpbX18
            - fpbXx
            - fpbUnrated
            - fpb10
          type: string
        fpbRatingReasons:
          description: Reasons that explain why the video received its FPB (South Africa) rating.
          items:
            enum:
              - fpbRatingReasonUnspecified
              - fpbBlasphemy
              - fpbLanguage
              - fpbNudity
              - fpbPrejudice
              - fpbSex
              - fpbViolence
              - fpbDrugs
              - fpbSexualViolence
              - fpbHorror
              - fpbCriminalTechniques
              - fpbImitativeActsTechniques
            type: string
          type: array
        fskRating:
          description: The video's Freiwillige Selbstkontrolle der Filmwirtschaft (FSK - Germany) rating.
          enum:
            - fskUnspecified
            - fsk0
            - fsk6
            - fsk12
            - fsk16
            - fsk18
            - fskUnrated
          type: string
        grfilmRating:
          description: The video's rating in Greece.
          enum:
            - grfilmUnspecified
            - grfilmK
            - grfilmE
            - grfilmK12
            - grfilmK13
            - grfilmK15
            - grfilmK17
            - grfilmK18
            - grfilmUnrated
          type: string
        icaaRating:
          description: The video's Instituto de la Cinematografía y de las Artes Audiovisuales (ICAA - Spain) rating.
          enum:
            - icaaUnspecified
            - icaaApta
            - icaa7
            - icaa12
            - icaa13
            - icaa16
            - icaa18
            - icaaX
            - icaaUnrated
          type: string
        ifcoRating:
          description: The video's Irish Film Classification Office (IFCO - Ireland) rating. See the IFCO website for more information.
          enum:
            - ifcoUnspecified
            - ifcoG
            - ifcoPg
            - ifco12
            - ifco12a
            - ifco15
            - ifco15a
            - ifco16
            - ifco18
            - ifcoUnrated
          type: string
        ilfilmRating:
          description: The video's rating in Israel.
          enum:
            - ilfilmUnspecified
            - ilfilmAa
            - ilfilm12
            - ilfilm14
            - ilfilm16
            - ilfilm18
            - ilfilmUnrated
          type: string
        incaaRating:
          description: The video's INCAA (Instituto Nacional de Cine y Artes Audiovisuales - Argentina) rating.
          enum:
            - incaaUnspecified
            - incaaAtp
            - incaaSam13
            - incaaSam16
            - incaaSam18
            - incaaC
            - incaaUnrated
          type: string
        kfcbRating:
          description: The video's rating from the Kenya Film Classification Board.
          enum:
            - kfcbUnspecified
            - kfcbG
            - kfcbPg
            - kfcb16plus
            - kfcbR
            - kfcbUnrated
          type: string
        kijkwijzerRating:
          description: The video's NICAM/Kijkwijzer rating from the Nederlands Instituut voor de Classificatie van Audiovisuele Media (Netherlands).
          enum:
            - kijkwijzerUnspecified
            - kijkwijzerAl
            - kijkwijzer6
            - kijkwijzer9
            - kijkwijzer12
            - kijkwijzer16
            - kijkwijzer18
            - kijkwijzerUnrated
          type: string
        kmrbRating:
          description: The video's Korea Media Rating Board (영상물등급위원회) rating. The KMRB rates videos in South Korea.
          enum:
            - kmrbUnspecified
            - kmrbAll
            - kmrb12plus
            - kmrb15plus
            - kmrbTeenr
            - kmrbR
            - kmrbUnrated
          type: string
        lsfRating:
          description: The video's rating from Indonesia's Lembaga Sensor Film.
          enum:
            - lsfUnspecified
            - lsfSu
            - lsfA
            - lsfBo
            - lsf13
            - lsfR
            - lsf17
            - lsfD
            - lsf21
            - lsfUnrated
          type: string
          x-enumDeprecated:
            - false
            - false
            - false
            - true
            - false
            - true
            - false
            - true
            - false
            - true
        mccaaRating:
          description: The video's rating from Malta's Film Age-Classification Board.
          enum:
            - mccaaUnspecified
            - mccaaU
            - mccaaPg
            - mccaa12a
            - mccaa12
            - mccaa14
            - mccaa15
            - mccaa16
            - mccaa18
            - mccaaUnrated
          type: string
        mccypRating:
          description: The video's rating from the Danish Film Institute's (Det Danske Filminstitut) Media Council for Children and Young People.
          enum:
            - mccypUnspecified
            - mccypA
            - mccyp7
            - mccyp11
            - mccyp15
            - mccypUnrated
          type: string
        mcstRating:
          description: The video's rating system for Vietnam - MCST
          enum:
            - mcstUnspecified
            - mcstP
            - mcst0
            - mcstC13
            - mcstC16
            - mcst16plus
            - mcstC18
            - mcstGPg
            - mcstUnrated
          type: string
        mdaRating:
          description: The video's rating from Singapore's Media Development Authority (MDA) and, specifically, it's Board of Film Censors (BFC).
          enum:
            - mdaUnspecified
            - mdaG
            - mdaPg
            - mdaPg13
            - mdaNc16
            - mdaM18
            - mdaR21
            - mdaUnrated
          type: string
        medietilsynetRating:
          description: The video's rating from Medietilsynet, the Norwegian Media Authority.
          enum:
            - medietilsynetUnspecified
            - medietilsynetA
            - medietilsynet6
            - medietilsynet7
            - medietilsynet9
            - medietilsynet11
            - medietilsynet12
            - medietilsynet15
            - medietilsynet18
            - medietilsynetUnrated
          type: string
        mekuRating:
          description: The video's rating from Finland's Kansallinen Audiovisuaalinen Instituutti (National Audiovisual Institute).
          enum:
            - mekuUnspecified
            - mekuS
            - meku7
            - meku12
            - meku16
            - meku18
            - mekuUnrated
          type: string
        menaMpaaRating:
          description: The rating system for MENA countries, a clone of MPAA. It is needed to prevent titles go live w/o additional QC check, since some of them can be inappropriate for the countries at all. See b/33408548 for more details.
          enum:
            - menaMpaaUnspecified
            - menaMpaaG
            - menaMpaaPg
            - menaMpaaPg13
            - menaMpaaR
            - menaMpaaUnrated
          type: string
        mibacRating:
          description: The video's rating from the Ministero dei Beni e delle Attività Culturali e del Turismo (Italy).
          enum:
            - mibacUnspecified
            - mibacT
            - mibacVap
            - mibacVm6
            - mibacVm12
            - mibacVm14
            - mibacVm16
            - mibacVm18
            - mibacUnrated
          type: string
        mocRating:
          description: The video's Ministerio de Cultura (Colombia) rating.
          enum:
            - mocUnspecified
            - mocE
            - mocT
            - moc7
            - moc12
            - moc15
            - moc18
            - mocX
            - mocBanned
            - mocUnrated
          type: string
        moctwRating:
          description: The video's rating from Taiwan's Ministry of Culture (文化部).
          enum:
            - moctwUnspecified
            - moctwG
            - moctwP
            - moctwPg
            - moctwR
            - moctwUnrated
            - moctwR12
            - moctwR15
          type: string
        mpaaRating:
          description: The video's Motion Picture Association of America (MPAA) rating.
          enum:
            - mpaaUnspecified
            - mpaaG
            - mpaaPg
            - mpaaPg13
            - mpaaR
            - mpaaNc17
            - mpaaX
            - mpaaUnrated
          type: string
        mpaatRating:
          description: The rating system for trailer, DVD, and Ad in the US. See http://movielabs.com/md/ratings/v2.3/html/US_MPAAT_Ratings.html.
          enum:
            - mpaatUnspecified
            - mpaatGb
            - mpaatRb
          type: string
        mtrcbRating:
          description: The video's rating from the Movie and Television Review and Classification Board (Philippines).
          enum:
            - mtrcbUnspecified
            - mtrcbG
            - mtrcbPg
            - mtrcbR13
            - mtrcbR16
            - mtrcbR18
            - mtrcbX
            - mtrcbUnrated
          type: string
        nbcRating:
          description: The video's rating from the Maldives National Bureau of Classification.
          enum:
            - nbcUnspecified
            - nbcG
            - nbcPg
            - nbc12plus
            - nbc15plus
            - nbc18plus
            - nbc18plusr
            - nbcPu
            - nbcUnrated
          type: string
        nbcplRating:
          description: The video's rating in Poland.
          enum:
            - nbcplUnspecified
            - nbcplI
            - nbcplIi
            - nbcplIii
            - nbcplIv
            - nbcpl18plus
            - nbcplUnrated
          type: string
        nfrcRating:
          description: The video's rating from the Bulgarian National Film Center.
          enum:
            - nfrcUnspecified
            - nfrcA
            - nfrcB
            - nfrcC
            - nfrcD
            - nfrcX
            - nfrcUnrated
          type: string
        nfvcbRating:
          description: The video's rating from Nigeria's National Film and Video Censors Board.
          enum:
            - nfvcbUnspecified
            - nfvcbG
            - nfvcbPg
            - nfvcb12
            - nfvcb12a
            - nfvcb15
            - nfvcb18
            - nfvcbRe
            - nfvcbUnrated
          type: string
        nkclvRating:
          description: The video's rating from the Nacionãlais Kino centrs (National Film Centre of Latvia).
          enum:
            - nkclvUnspecified
            - nkclvU
            - nkclv7plus
            - nkclv12plus
            - nkclv16plus
            - nkclv18plus
            - nkclvUnrated
          type: string
        nmcRating:
          description: The National Media Council ratings system for United Arab Emirates.
          enum:
            - nmcUnspecified
            - nmcG
            - nmcPg
            - nmcPg13
            - nmcPg15
            - nmc15plus
            - nmc18plus
            - nmc18tc
            - nmcUnrated
          type: string
        oflcRating:
          description: The video's Office of Film and Literature Classification (OFLC - New Zealand) rating.
          enum:
            - oflcUnspecified
            - oflcG
            - oflcPg
            - oflcM
            - oflcR13
            - oflcR15
            - oflcR16
            - oflcR18
            - oflcUnrated
            - oflcRp13
            - oflcRp16
            - oflcRp18
          type: string
        pefilmRating:
          description: The video's rating in Peru.
          enum:
            - pefilmUnspecified
            - pefilmPt
            - pefilmPg
            - pefilm14
            - pefilm18
            - pefilmUnrated
          type: string
        rcnofRating:
          description: The video's rating from the Hungarian Nemzeti Filmiroda, the Rating Committee of the National Office of Film.
          enum:
            - rcnofUnspecified
            - rcnofI
            - rcnofIi
            - rcnofIii
            - rcnofIv
            - rcnofV
            - rcnofVi
            - rcnofUnrated
          type: string
        resorteviolenciaRating:
          description: The video's rating in Venezuela.
          enum:
            - resorteviolenciaUnspecified
            - resorteviolenciaA
            - resorteviolenciaB
            - resorteviolenciaC
            - resorteviolenciaD
            - resorteviolenciaE
            - resorteviolenciaUnrated
          type: string
        rtcRating:
          description: The video's General Directorate of Radio, Television and Cinematography (Mexico) rating.
          enum:
            - rtcUnspecified
            - rtcAa
            - rtcA
            - rtcB
            - rtcB15
            - rtcC
            - rtcD
            - rtcUnrated
          type: string
        rteRating:
          description: The video's rating from Ireland's Raidió Teilifís Éireann.
          enum:
            - rteUnspecified
            - rteGa
            - rteCh
            - rtePs
            - rteMa
            - rteUnrated
          type: string
        russiaRating:
          description: The video's National Film Registry of the Russian Federation (MKRF - Russia) rating.
          enum:
            - russiaUnspecified
            - russia0
            - russia6
            - russia12
            - russia16
            - russia18
            - russiaUnrated
          type: string
        skfilmRating:
          description: The video's rating in Slovakia.
          enum:
            - skfilmUnspecified
            - skfilmG
            - skfilmP2
            - skfilmP5
            - skfilmP8
            - skfilmUnrated
          type: string
        smaisRating:
          description: The video's rating in Iceland.
          enum:
            - smaisUnspecified
            - smaisL
            - smais7
            - smais12
            - smais14
            - smais16
            - smais18
            - smaisUnrated
          type: string
        smsaRating:
          description: The video's rating from Statens medieråd (Sweden's National Media Council).
          enum:
            - smsaUnspecified
            - smsaA
            - smsa7
            - smsa11
            - smsa15
            - smsaUnrated
          type: string
        tvpgRating:
          description: The video's TV Parental Guidelines (TVPG) rating.
          enum:
            - tvpgUnspecified
            - tvpgY
            - tvpgY7
            - tvpgY7Fv
            - tvpgG
            - tvpgPg
            - pg14
            - tvpgMa
            - tvpgUnrated
          type: string
        ytRating:
          description: A rating that YouTube uses to identify age-restricted content.
          enum:
            - ytUnspecified
            - ytAgeRestricted
          type: string
      type: object
    Cuepoint:
      description: Note that there may be a 5-second end-point resolution issue. For instance, if a cuepoint comes in for 22:03:27, we may stuff the cuepoint into 22:03:25 or 22:03:30, depending. This is an artifact of HLS.
      properties:
        cueType:
          enum:
            - cueTypeUnspecified
            - cueTypeAd
          type: string
        durationSecs:
          description: The duration of this cuepoint.
          format: uint32
          type: integer
        etag:
          type: string
        id:
          description: The identifier for cuepoint resource.
          type: string
        insertionOffsetTimeMs:
          description: The time when the cuepoint should be inserted by offset to the broadcast actual start time.
          format: int64
          type: string
        walltimeMs:
          description: The wall clock time at which the cuepoint should be inserted. Only one of insertion_offset_time_ms and walltime_ms may be set at a time.
          format: uint64
          type: string
      type: object
    CuepointSchedule:
      description: Schedule to insert cuepoints into a broadcast by ads automator.
      properties:
        enabled:
          description: This field is semantically required. If it is set false or not set, other fields in this message will be ignored.
          type: boolean
        pauseAdsUntil:
          description: If set, automatic cuepoint insertion is paused until this timestamp ("No Ad Zone"). The value is specified in ISO 8601 format.
          type: string
        repeatIntervalSecs:
          description: Interval frequency in seconds that api uses to insert cuepoints automatically.
          format: int32
          type: integer
        scheduleStrategy:
          description: The strategy to use when scheduling cuepoints.
          enum:
            - scheduleStrategyUnspecified
            - concurrent
            - nonConcurrent
          type: string
      type: object
    Entity:
      properties:
        id:
          type: string
        typeId:
          type: string
        url:
          type: string
      type: object
    GeoPoint:
      description: Geographical coordinates of a point, in WGS84.
      properties:
        altitude:
          description: Altitude above the reference ellipsoid, in meters.
          format: double
          type: number
        latitude:
          description: Latitude in degrees.
          format: double
          type: number
        longitude:
          description: Longitude in degrees.
          format: double
          type: number
      type: object
    I18nLanguage:
      description: An *i18nLanguage* resource identifies a UI language currently supported by YouTube.
      properties:
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube uses to uniquely identify the i18n language.
          type: string
        kind:
          default: youtube#i18nLanguage
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#i18nLanguage".'
          type: string
        snippet:
          $ref: "#/components/schemas/I18nLanguageSnippet"
          description: The snippet object contains basic details about the i18n language, such as language code and human-readable name.
      type: object
    I18nLanguageListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of supported i18n languages. In this map, the i18n language ID is the map key, and its value is the corresponding i18nLanguage resource.
          items:
            $ref: "#/components/schemas/I18nLanguage"
          type: array
        kind:
          default: youtube#i18nLanguageListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#i18nLanguageListResponse".'
          type: string
        visitorId:
          description: The visitorId identifies the visitor.
          type: string
      type: object
    I18nLanguageSnippet:
      description: Basic details about an i18n language, such as language code and human-readable name.
      properties:
        hl:
          description: A short BCP-47 code that uniquely identifies a language.
          type: string
        name:
          description: The human-readable name of the language in the language itself.
          type: string
      type: object
    I18nRegion:
      description: A *i18nRegion* resource identifies a region where YouTube is available.
      properties:
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube uses to uniquely identify the i18n region.
          type: string
        kind:
          default: youtube#i18nRegion
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#i18nRegion".'
          type: string
        snippet:
          $ref: "#/components/schemas/I18nRegionSnippet"
          description: The snippet object contains basic details about the i18n region, such as region code and human-readable name.
      type: object
    I18nRegionListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of regions where YouTube is available. In this map, the i18n region ID is the map key, and its value is the corresponding i18nRegion resource.
          items:
            $ref: "#/components/schemas/I18nRegion"
          type: array
        kind:
          default: youtube#i18nRegionListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#i18nRegionListResponse".'
          type: string
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    I18nRegionSnippet:
      description: Basic details about an i18n region, such as region code and human-readable name.
      properties:
        gl:
          description: The region code as a 2-letter ISO country code.
          type: string
        name:
          description: The human-readable name of the region.
          type: string
      type: object
    ImageSettings:
      description: Branding properties for images associated with the channel.
      properties:
        backgroundImageUrl:
          $ref: "#/components/schemas/LocalizedProperty"
          deprecated: true
          description: The URL for the background image shown on the video watch page. The image should be 1200px by 615px, with a maximum file size of 128k.
        bannerExternalUrl:
          description: This is generated when a ChannelBanner.Insert request has succeeded for the given channel.
          type: string
        bannerImageUrl:
          deprecated: true
          description: Banner image. Desktop size (1060x175).
          type: string
        bannerMobileExtraHdImageUrl:
          deprecated: true
          description: Banner image. Mobile size high resolution (1440x395).
          type: string
        bannerMobileHdImageUrl:
          deprecated: true
          description: Banner image. Mobile size high resolution (1280x360).
          type: string
        bannerMobileImageUrl:
          deprecated: true
          description: Banner image. Mobile size (640x175).
          type: string
        bannerMobileLowImageUrl:
          deprecated: true
          description: Banner image. Mobile size low resolution (320x88).
          type: string
        bannerMobileMediumHdImageUrl:
          deprecated: true
          description: Banner image. Mobile size medium/high resolution (960x263).
          type: string
        bannerTabletExtraHdImageUrl:
          deprecated: true
          description: Banner image. Tablet size extra high resolution (2560x424).
          type: string
        bannerTabletHdImageUrl:
          deprecated: true
          description: Banner image. Tablet size high resolution (2276x377).
          type: string
        bannerTabletImageUrl:
          deprecated: true
          description: Banner image. Tablet size (1707x283).
          type: string
        bannerTabletLowImageUrl:
          deprecated: true
          description: Banner image. Tablet size low resolution (1138x188).
          type: string
        bannerTvHighImageUrl:
          deprecated: true
          description: Banner image. TV size high resolution (1920x1080).
          type: string
        bannerTvImageUrl:
          deprecated: true
          description: Banner image. TV size extra high resolution (2120x1192).
          type: string
        bannerTvLowImageUrl:
          deprecated: true
          description: Banner image. TV size low resolution (854x480).
          type: string
        bannerTvMediumImageUrl:
          deprecated: true
          description: Banner image. TV size medium resolution (1280x720).
          type: string
        largeBrandedBannerImageImapScript:
          $ref: "#/components/schemas/LocalizedProperty"
          deprecated: true
          description: The image map script for the large banner image.
        largeBrandedBannerImageUrl:
          $ref: "#/components/schemas/LocalizedProperty"
          deprecated: true
          description: The URL for the 854px by 70px image that appears below the video player in the expanded video view of the video watch page.
        smallBrandedBannerImageImapScript:
          $ref: "#/components/schemas/LocalizedProperty"
          deprecated: true
          description: The image map script for the small banner image.
        smallBrandedBannerImageUrl:
          $ref: "#/components/schemas/LocalizedProperty"
          deprecated: true
          description: The URL for the 640px by 70px banner image that appears below the video player in the default view of the video watch page. The URL for the image that appears above the top-left corner of the video player. This is a 25-pixel-high image with a flexible width that cannot exceed 170 pixels.
        trackingImageUrl:
          deprecated: true
          description: The URL for a 1px by 1px tracking pixel that can be used to collect statistics for views of the channel or video pages.
          type: string
        watchIconImageUrl:
          deprecated: true
          type: string
      type: object
    IngestionInfo:
      description: Describes information necessary for ingesting an RTMP, HTTP, or SRT stream.
      properties:
        backupIngestionAddress:
          description: The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL.
          type: string
        ingestionAddress:
          description: "The primary ingestion URL that you should use to stream video to YouTube. You must stream video to this URL. Depending on which application or tool you use to encode your video stream, you may need to enter the stream URL and stream name separately or you may need to concatenate them in the following format: *STREAM_URL/STREAM_NAME* "
          type: string
        rtmpsBackupIngestionAddress:
          description: This ingestion url may be used instead of backupIngestionAddress in order to stream via RTMPS. Not applicable to non-RTMP streams.
          type: string
        rtmpsIngestionAddress:
          description: This ingestion url may be used instead of ingestionAddress in order to stream via RTMPS. Not applicable to non-RTMP streams.
          type: string
        streamName:
          description: The stream name that YouTube assigns to the video stream.
          type: string
      type: object
    InvideoBranding:
      description: LINT.IfChange Describes an invideo branding.
      properties:
        imageBytes:
          description: The bytes the uploaded image. Only used in api to youtube communication.
          format: byte
          type: string
        imageUrl:
          description: The url of the uploaded image. Only used in apiary to api communication.
          type: string
        position:
          $ref: "#/components/schemas/InvideoPosition"
          description: The spatial position within the video where the branding watermark will be displayed.
        targetChannelId:
          description: The channel to which this branding links. If not present it defaults to the current channel.
          type: string
        timing:
          $ref: "#/components/schemas/InvideoTiming"
          description: The temporal position within the video where watermark will be displayed.
      type: object
    InvideoPosition:
      description: Describes the spatial position of a visual widget inside a video. It is a union of various position types, out of which only will be set one.
      properties:
        cornerPosition:
          description: Describes in which corner of the video the visual widget will appear.
          enum:
            - topLeft
            - topRight
            - bottomLeft
            - bottomRight
          type: string
          x-enumDeprecated:
            - true
            - false
            - true
            - true
        type:
          description: Defines the position type.
          enum:
            - corner
          type: string
      type: object
    InvideoTiming:
      description: Describes a temporal position of a visual widget inside a video.
      properties:
        durationMs:
          description: Defines the duration in milliseconds for which the promotion should be displayed. If missing, the client should use the default.
          format: uint64
          type: string
        offsetMs:
          description: Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds.
          format: uint64
          type: string
        type:
          description: Describes a timing type. If the value is offsetFromStart, then the offsetMs field represents an offset from the start of the video. If the value is offsetFromEnd, then the offsetMs field represents an offset from the end of the video.
          enum:
            - offsetFromStart
            - offsetFromEnd
          type: string
      type: object
    LanguageTag:
      properties:
        value:
          type: string
      type: object
    LevelDetails:
      properties:
        displayName:
          description: The name that should be used when referring to this level.
          type: string
      type: object
    LiveBroadcast:
      description: A *liveBroadcast* resource represents an event that will be streamed, via live video, on YouTube.
      properties:
        contentDetails:
          $ref: "#/components/schemas/LiveBroadcastContentDetails"
          description: The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded.
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube assigns to uniquely identify the broadcast.
          type: string
        kind:
          default: youtube#liveBroadcast
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#liveBroadcast".'
          type: string
        monetizationDetails:
          $ref: "#/components/schemas/LiveBroadcastMonetizationDetails"
          description: The monetizationDetails object contains information about the event's monetization details.
        snippet:
          $ref: "#/components/schemas/LiveBroadcastSnippet"
          description: The snippet object contains basic details about the event, including its title, description, start time, and end time.
        statistics:
          $ref: "#/components/schemas/LiveBroadcastStatistics"
          description: The statistics object contains info about the event's current stats. These include concurrent viewers and total chat count. Statistics can change (in either direction) during the lifetime of an event. Statistics are only returned while the event is live.
        status:
          $ref: "#/components/schemas/LiveBroadcastStatus"
          description: The status object contains information about the event's status.
      type: object
    LiveBroadcastContentDetails:
      description: Detailed settings of a broadcast.
      properties:
        boundStreamId:
          description: This value uniquely identifies the live stream bound to the broadcast.
          type: string
        boundStreamLastUpdateTimeMs:
          description: The date and time that the live stream referenced by boundStreamId was last updated.
          format: date-time
          type: string
        closedCaptionsType:
          enum:
            - closedCaptionsTypeUnspecified
            - closedCaptionsDisabled
            - closedCaptionsHttpPost
            - closedCaptionsEmbedded
          type: string
        enableAutoStart:
          description: This setting indicates whether auto start is enabled for this broadcast. The default value for this property is false. This setting can only be used by Events.
          type: boolean
        enableAutoStop:
          description: This setting indicates whether auto stop is enabled for this broadcast. The default value for this property is false. This setting can only be used by Events.
          type: boolean
        enableClosedCaptions:
          deprecated: true
          description: This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST.
          type: boolean
        enableContentEncryption:
          description: This setting indicates whether YouTube should enable content encryption for the broadcast.
          type: boolean
        enableDvr:
          description: This setting determines whether viewers can access DVR controls while watching the video. DVR controls enable the viewer to control the video playback experience by pausing, rewinding, or fast forwarding content. The default value for this property is true. *Important:* You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends.
          type: boolean
        enableEmbed:
          description: This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video.
          type: boolean
        enableLowLatency:
          deprecated: true
          description: Indicates whether this broadcast has low latency enabled.
          type: boolean
        latencyPreference:
          description: If both this and enable_low_latency are set, they must match. LATENCY_NORMAL should match enable_low_latency=false LATENCY_LOW should match enable_low_latency=true LATENCY_ULTRA_LOW should have enable_low_latency omitted.
          enum:
            - latencyPreferenceUnspecified
            - normal
            - low
            - ultraLow
          type: string
        mesh:
          description: The mesh for projecting the video if projection is mesh. The mesh value must be a UTF-8 string containing the base-64 encoding of 3D mesh data that follows the Spherical Video V2 RFC specification for an mshp box, excluding the box size and type but including the following four reserved zero bytes for the version and flags.
          format: byte
          type: string
        monitorStream:
          $ref: "#/components/schemas/MonitorStreamInfo"
          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.
        projection:
          description: The projection format of this broadcast. This defaults to rectangular.
          enum:
            - projectionUnspecified
            - rectangular
            - "360"
            - mesh
          type: string
        recordFromStart:
          description: Automatically start recording after the event goes live. The default value for this property is true. *Important:* You must also set the enableDvr property's value to true if you want the playback to be available immediately after the broadcast ends. If you set this property's value to true but do not also set the enableDvr property to true, there may be a delay of around one day before the archived video will be available for playback.
          type: boolean
        startWithSlate:
          description: This setting indicates whether the broadcast should automatically begin with an in-stream slate when you update the broadcast's status to live. After updating the status, you then need to send a liveCuepoints.insert request that sets the cuepoint's eventState to end to remove the in-stream slate and make your broadcast stream visible to viewers.
          type: boolean
        stereoLayout:
          description: The 3D stereo layout of this broadcast. This defaults to mono.
          enum:
            - stereoLayoutUnspecified
            - mono
            - leftRight
            - topBottom
          type: string
      type: object
    LiveBroadcastListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of broadcasts that match the request criteria.
          items:
            $ref: "#/components/schemas/LiveBroadcast"
          type: array
        kind:
          default: youtube#liveBroadcastListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#liveBroadcastListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
          description: General pagination information.
        prevPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
          type: string
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    LiveBroadcastMonetizationDetails:
      description: Monetization settings of a broadcast.
      properties:
        cuepointSchedule:
          $ref: "#/components/schemas/CuepointSchedule"
      type: object
    LiveBroadcastSnippet:
      description: Basic broadcast information.
      properties:
        actualEndTime:
          description: The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete.
          format: date-time
          type: string
        actualStartTime:
          description: The date and time that the broadcast actually started. This information is only available once the broadcast's state is live.
          format: date-time
          type: string
        channelId:
          description: The ID that YouTube uses to uniquely identify the channel that is publishing the broadcast.
          type: string
        description:
          description: The broadcast's description. As with the title, you can set this field by modifying the broadcast resource or by setting the description field of the corresponding video resource.
          type: string
        isDefaultBroadcast:
          description: Indicates whether this broadcast is the default broadcast. Internal only.
          type: boolean
        liveChatId:
          description: The id of the live chat for this broadcast.
          type: string
        publishedAt:
          description: The date and time that the broadcast was added to YouTube's live broadcast schedule.
          format: date-time
          type: string
        scheduledEndTime:
          description: The date and time that the broadcast is scheduled to end.
          format: date-time
          type: string
        scheduledStartTime:
          description: The date and time that the broadcast is scheduled to start.
          format: date-time
          type: string
        thumbnails:
          $ref: "#/components/schemas/ThumbnailDetails"
          description: A map of thumbnail images associated with the broadcast. For each nested object in this object, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
        title:
          description: The broadcast's title. Note that the broadcast represents exactly one YouTube video. You can set this field by modifying the broadcast resource or by setting the title field of the corresponding video resource.
          type: string
      type: object
    LiveBroadcastStatistics:
      description: Statistics about the live broadcast. These represent a snapshot of the values at the time of the request. Statistics are only returned for live broadcasts.
      properties:
        concurrentViewers:
          description: The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
          format: uint64
          type: string
      type: object
    LiveBroadcastStatus:
      description: Live broadcast state.
      properties:
        lifeCycleStatus:
          description: The broadcast's status. The status can be updated using the API's liveBroadcasts.transition method.
          enum:
            - lifeCycleStatusUnspecified
            - created
            - ready
            - testing
            - live
            - complete
            - revoked
            - testStarting
            - liveStarting
          type: string
        liveBroadcastPriority:
          description: Priority of the live broadcast event (internal state).
          enum:
            - liveBroadcastPriorityUnspecified
            - low
            - normal
            - high
          type: string
        madeForKids:
          description: Whether the broadcast is made for kids or not, decided by YouTube instead of the creator. This field is read only.
          type: boolean
        privacyStatus:
          description: The broadcast's privacy status. Note that the broadcast represents exactly one YouTube video, so the privacy settings are identical to those supported for videos. In addition, you can set this field by modifying the broadcast resource or by setting the privacyStatus field of the corresponding video resource.
          enum:
            - public
            - unlisted
            - private
          type: string
        recordingStatus:
          description: The broadcast's recording status.
          enum:
            - liveBroadcastRecordingStatusUnspecified
            - notRecording
            - recording
            - recorded
          type: string
        selfDeclaredMadeForKids:
          description: "This field will be set to True if the creator declares the broadcast to be kids only: go/live-cw-work."
          type: boolean
      type: object
    LiveChatBan:
      description: A `__liveChatBan__` resource represents a ban for a YouTube live chat.
      properties:
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube assigns to uniquely identify the ban.
          type: string
        kind:
          default: youtube#liveChatBan
          description: 'Identifies what kind of resource this is. Value: the fixed string `"youtube#liveChatBan"`.'
          type: string
        snippet:
          $ref: "#/components/schemas/LiveChatBanSnippet"
          description: The `snippet` object contains basic details about the ban.
      type: object
    LiveChatBanSnippet:
      properties:
        banDurationSeconds:
          description: The duration of a ban, only filled if the ban has type TEMPORARY.
          format: uint64
          type: string
        bannedUserDetails:
          $ref: "#/components/schemas/ChannelProfileDetails"
        liveChatId:
          description: The chat this ban is pertinent to.
          type: string
        type:
          description: The type of ban.
          enum:
            - liveChatBanTypeUnspecified
            - permanent
            - temporary
          type: string
      type: object
    LiveChatFanFundingEventDetails:
      properties:
        amountDisplayString:
          description: A rendered string that displays the fund amount and currency to the user.
          type: string
        amountMicros:
          description: The amount of the fund.
          format: uint64
          type: string
        currency:
          description: The currency in which the fund was made.
          type: string
        userComment:
          description: The comment added by the user to this fan funding event.
          type: string
      type: object
    LiveChatGiftMembershipReceivedDetails:
      properties:
        associatedMembershipGiftingMessageId:
          description: The ID of the membership gifting message that is related to this gift membership. This ID will always refer to a message whose type is 'membershipGiftingEvent'.
          type: string
        gifterChannelId:
          description: The ID of the user that made the membership gifting purchase. This matches the `snippet.authorChannelId` of the associated membership gifting message.
          type: string
        memberLevelName:
          description: The name of the Level at which the viewer is a member. This matches the `snippet.membershipGiftingDetails.giftMembershipsLevelName` of the associated membership gifting message. The Level names are defined by the YouTube channel offering the Membership. In some situations this field isn't filled.
          type: string
      type: object
    LiveChatMemberMilestoneChatDetails:
      properties:
        memberLevelName:
          description: The name of the Level at which the viever is a member. The Level names are defined by the YouTube channel offering the Membership. In some situations this field isn't filled.
          type: string
        memberMonth:
          description: The total amount of months (rounded up) the viewer has been a member that granted them this Member Milestone Chat. This is the same number of months as is being displayed to YouTube users.
          format: uint32
          type: integer
        userComment:
          description: The comment added by the member to this Member Milestone Chat. This field is empty for messages without a comment from the member.
          type: string
      type: object
    LiveChatMembershipGiftingDetails:
      properties:
        giftMembershipsCount:
          description: The number of gift memberships purchased by the user.
          format: int32
          type: integer
        giftMembershipsLevelName:
          description: The name of the level of the gift memberships purchased by the user. The Level names are defined by the YouTube channel offering the Membership. In some situations this field isn't filled.
          type: string
      type: object
    LiveChatMessage:
      description: A *liveChatMessage* resource represents a chat message in a YouTube Live Chat.
      properties:
        authorDetails:
          $ref: "#/components/schemas/LiveChatMessageAuthorDetails"
          description: The authorDetails object contains basic details about the user that posted this message.
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube assigns to uniquely identify the message.
          type: string
        kind:
          default: youtube#liveChatMessage
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#liveChatMessage".'
          type: string
        snippet:
          $ref: "#/components/schemas/LiveChatMessageSnippet"
          description: The snippet object contains basic details about the message.
      type: object
    LiveChatMessageAuthorDetails:
      properties:
        channelId:
          description: The YouTube channel ID.
          type: string
        channelUrl:
          description: The channel's URL.
          type: string
        displayName:
          description: The channel's display name.
          type: string
        isChatModerator:
          description: Whether the author is a moderator of the live chat.
          type: boolean
        isChatOwner:
          description: Whether the author is the owner of the live chat.
          type: boolean
        isChatSponsor:
          description: Whether the author is a sponsor of the live chat.
          type: boolean
        isVerified:
          description: Whether the author's identity has been verified by YouTube.
          type: boolean
        profileImageUrl:
          description: The channels's avatar URL.
          type: string
      type: object
    LiveChatMessageDeletedDetails:
      properties:
        deletedMessageId:
          type: string
      type: object
    LiveChatMessageListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          items:
            $ref: "#/components/schemas/LiveChatMessage"
          type: array
        kind:
          default: youtube#liveChatMessageListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#liveChatMessageListResponse".'
          type: string
        nextPageToken:
          type: string
        offlineAt:
          description: The date and time when the underlying stream went offline.
          format: date-time
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
          description: General pagination information.
        pollingIntervalMillis:
          description: The amount of time the client should wait before polling again.
          format: uint32
          type: integer
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    LiveChatMessageRetractedDetails:
      properties:
        retractedMessageId:
          type: string
      type: object
    LiveChatMessageSnippet:
      description: "Next ID: 34"
      properties:
        authorChannelId:
          description: The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor memberMilestoneChatEvent - the member that sent the message membershipGiftingEvent - the user that made the purchase giftMembershipReceivedEvent - the user that received the gift membership messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action superChatEvent - the user that made the purchase superStickerEvent - the user that made the purchase pollEvent - the user that created the poll
          type: string
        displayMessage:
          description: Contains a string that can be displayed to the user. If this field is not present the message is silent, at the moment only messages of type TOMBSTONE and CHAT_ENDED_EVENT are silent.
          type: string
        fanFundingEventDetails:
          $ref: "#/components/schemas/LiveChatFanFundingEventDetails"
          deprecated: true
          description: Details about the funding event, this is only set if the type is 'fanFundingEvent'.
        giftMembershipReceivedDetails:
          $ref: "#/components/schemas/LiveChatGiftMembershipReceivedDetails"
          description: Details about the Gift Membership Received event, this is only set if the type is 'giftMembershipReceivedEvent'.
        hasDisplayContent:
          description: Whether the message has display content that should be displayed to users.
          type: boolean
        liveChatId:
          type: string
        memberMilestoneChatDetails:
          $ref: "#/components/schemas/LiveChatMemberMilestoneChatDetails"
          description: Details about the Member Milestone Chat event, this is only set if the type is 'memberMilestoneChatEvent'.
        membershipGiftingDetails:
          $ref: "#/components/schemas/LiveChatMembershipGiftingDetails"
          description: Details about the Membership Gifting event, this is only set if the type is 'membershipGiftingEvent'.
        messageDeletedDetails:
          $ref: "#/components/schemas/LiveChatMessageDeletedDetails"
        messageRetractedDetails:
          $ref: "#/components/schemas/LiveChatMessageRetractedDetails"
        newSponsorDetails:
          $ref: "#/components/schemas/LiveChatNewSponsorDetails"
          description: Details about the New Member Announcement event, this is only set if the type is 'newSponsorEvent'. Please note that "member" is the new term for "sponsor".
        pollDetails:
          $ref: "#/components/schemas/LiveChatPollDetails"
          description: Details about the poll event, this is only set if the type is 'pollEvent'.
        publishedAt:
          description: The date and time when the message was orignally published.
          format: date-time
          type: string
        superChatDetails:
          $ref: "#/components/schemas/LiveChatSuperChatDetails"
          description: Details about the Super Chat event, this is only set if the type is 'superChatEvent'.
        superStickerDetails:
          $ref: "#/components/schemas/LiveChatSuperStickerDetails"
          description: Details about the Super Sticker event, this is only set if the type is 'superStickerEvent'.
        textMessageDetails:
          $ref: "#/components/schemas/LiveChatTextMessageDetails"
          description: Details about the text message, this is only set if the type is 'textMessageEvent'.
        type:
          description: The type of message, this will always be present, it determines the contents of the message as well as which fields will be present.
          enum:
            - invalidType
            - textMessageEvent
            - tombstone
            - fanFundingEvent
            - chatEndedEvent
            - sponsorOnlyModeStartedEvent
            - sponsorOnlyModeEndedEvent
            - newSponsorEvent
            - memberMilestoneChatEvent
            - membershipGiftingEvent
            - giftMembershipReceivedEvent
            - messageDeletedEvent
            - messageRetractedEvent
            - userBannedEvent
            - superChatEvent
            - superStickerEvent
            - pollEvent
          type: string
        userBannedDetails:
          $ref: "#/components/schemas/LiveChatUserBannedMessageDetails"
      type: object
    LiveChatModerator:
      description: A *liveChatModerator* resource represents a moderator for a YouTube live chat. A chat moderator has the ability to ban/unban users from a chat, remove message, etc.
      properties:
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube assigns to uniquely identify the moderator.
          type: string
        kind:
          default: youtube#liveChatModerator
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#liveChatModerator".'
          type: string
        snippet:
          $ref: "#/components/schemas/LiveChatModeratorSnippet"
          description: The snippet object contains basic details about the moderator.
      type: object
    LiveChatModeratorListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of moderators that match the request criteria.
          items:
            $ref: "#/components/schemas/LiveChatModerator"
          type: array
        kind:
          default: youtube#liveChatModeratorListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#liveChatModeratorListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
          description: General pagination information.
        prevPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
          type: string
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    LiveChatModeratorSnippet:
      properties:
        liveChatId:
          description: The ID of the live chat this moderator can act on.
          type: string
        moderatorDetails:
          $ref: "#/components/schemas/ChannelProfileDetails"
          description: Details about the moderator.
      type: object
    LiveChatNewSponsorDetails:
      properties:
        isUpgrade:
          description: If the viewer just had upgraded from a lower level. For viewers that were not members at the time of purchase, this field is false.
          type: boolean
        memberLevelName:
          description: The name of the Level that the viewer just had joined. The Level names are defined by the YouTube channel offering the Membership. In some situations this field isn't filled.
          type: string
      type: object
    LiveChatPollDetails:
      properties:
        metadata:
          $ref: "#/components/schemas/LiveChatPollDetailsPollMetadata"
        status:
          enum:
            - unknown
            - active
            - closed
          type: string
      type: object
    LiveChatPollDetailsPollMetadata:
      properties:
        options:
          description: The options will be returned in the order that is displayed in 1P
          items:
            $ref: "#/components/schemas/LiveChatPollDetailsPollMetadataPollOption"
          type: array
        questionText:
          type: string
      type: object
    LiveChatPollDetailsPollMetadataPollOption:
      properties:
        optionText:
          type: string
        tally:
          format: int64
          type: string
      type: object
    LiveChatSuperChatDetails:
      properties:
        amountDisplayString:
          description: A rendered string that displays the fund amount and currency to the user.
          type: string
        amountMicros:
          description: The amount purchased by the user, in micros (1,750,000 micros = 1.75).
          format: uint64
          type: string
        currency:
          description: The currency in which the purchase was made.
          type: string
        tier:
          description: The tier in which the amount belongs. Lower amounts belong to lower tiers. The lowest tier is 1.
          format: uint32
          type: integer
        userComment:
          description: The comment added by the user to this Super Chat event.
          type: string
      type: object
    LiveChatSuperStickerDetails:
      properties:
        amountDisplayString:
          description: A rendered string that displays the fund amount and currency to the user.
          type: string
        amountMicros:
          description: The amount purchased by the user, in micros (1,750,000 micros = 1.75).
          format: uint64
          type: string
        currency:
          description: The currency in which the purchase was made.
          type: string
        superStickerMetadata:
          $ref: "#/components/schemas/SuperStickerMetadata"
          description: Information about the Super Sticker.
        tier:
          description: The tier in which the amount belongs. Lower amounts belong to lower tiers. The lowest tier is 1.
          format: uint32
          type: integer
      type: object
    LiveChatTextMessageDetails:
      properties:
        messageText:
          description: The user's message.
          type: string
      type: object
    LiveChatUserBannedMessageDetails:
      properties:
        banDurationSeconds:
          description: The duration of the ban. This property is only present if the banType is temporary.
          format: uint64
          type: string
        banType:
          description: The type of ban.
          enum:
            - permanent
            - temporary
          type: string
        bannedUserDetails:
          $ref: "#/components/schemas/ChannelProfileDetails"
          description: The details of the user that was banned.
      type: object
    LiveStream:
      description: A live stream describes a live ingestion point.
      properties:
        cdn:
          $ref: "#/components/schemas/CdnSettings"
          description: The cdn object defines the live stream's content delivery network (CDN) settings. These settings provide details about the manner in which you stream your content to YouTube.
        contentDetails:
          $ref: "#/components/schemas/LiveStreamContentDetails"
          description: The content_details object contains information about the stream, including the closed captions ingestion URL.
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube assigns to uniquely identify the stream.
          type: string
        kind:
          default: youtube#liveStream
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#liveStream".'
          type: string
        snippet:
          $ref: "#/components/schemas/LiveStreamSnippet"
          description: The snippet object contains basic details about the stream, including its channel, title, and description.
        status:
          $ref: "#/components/schemas/LiveStreamStatus"
          description: The status object contains information about live stream's status.
      type: object
    LiveStreamConfigurationIssue:
      properties:
        description:
          description: The long-form description of the issue and how to resolve it.
          type: string
        reason:
          description: The short-form reason for this issue.
          type: string
        severity:
          description: How severe this issue is to the stream.
          enum:
            - info
            - warning
            - error
          type: string
        type:
          description: The kind of error happening.
          enum:
            - gopSizeOver
            - gopSizeLong
            - gopSizeShort
            - openGop
            - badContainer
            - audioBitrateHigh
            - audioBitrateLow
            - audioSampleRate
            - bitrateHigh
            - bitrateLow
            - audioCodec
            - videoCodec
            - noAudioStream
            - noVideoStream
            - multipleVideoStreams
            - multipleAudioStreams
            - audioTooManyChannels
            - interlacedVideo
            - frameRateHigh
            - resolutionMismatch
            - videoCodecMismatch
            - videoInterlaceMismatch
            - videoProfileMismatch
            - videoBitrateMismatch
            - framerateMismatch
            - gopMismatch
            - audioSampleRateMismatch
            - audioStereoMismatch
            - audioCodecMismatch
            - audioBitrateMismatch
            - videoResolutionSuboptimal
            - videoResolutionUnsupported
            - videoIngestionStarved
            - videoIngestionFasterThanRealtime
          type: string
      type: object
    LiveStreamContentDetails:
      description: Detailed settings of a stream.
      properties:
        closedCaptionsIngestionUrl:
          description: The ingestion URL where the closed captions of this stream are sent.
          type: string
        isReusable:
          description: "Indicates whether the stream is reusable, which means that it can be bound to multiple broadcasts. It is common for broadcasters to reuse the same stream for many different broadcasts if those broadcasts occur at different times. If you set this value to false, then the stream will not be reusable, which means that it can only be bound to one broadcast. Non-reusable streams differ from reusable streams in the following ways: - A non-reusable stream can only be bound to one broadcast. - A non-reusable stream might be deleted by an automated process after the broadcast ends. - The liveStreams.list method does not list non-reusable streams if you call the method and set the mine parameter to true. The only way to use that method to retrieve the resource for a non-reusable stream is to use the id parameter to identify the stream. "
          type: boolean
      type: object
    LiveStreamHealthStatus:
      properties:
        configurationIssues:
          description: The configurations issues on this stream
          items:
            $ref: "#/components/schemas/LiveStreamConfigurationIssue"
          type: array
        lastUpdateTimeSeconds:
          description: The last time this status was updated (in seconds)
          format: uint64
          type: string
        status:
          description: The status code of this stream
          enum:
            - good
            - ok
            - bad
            - noData
            - revoked
          type: string
      type: object
    LiveStreamListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of live streams that match the request criteria.
          items:
            $ref: "#/components/schemas/LiveStream"
          type: array
        kind:
          default: youtube#liveStreamListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#liveStreamListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
        prevPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
          type: string
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    LiveStreamSnippet:
      properties:
        channelId:
          description: The ID that YouTube uses to uniquely identify the channel that is transmitting the stream.
          type: string
        description:
          description: The stream's description. The value cannot be longer than 10000 characters.
          type: string
        isDefaultStream:
          type: boolean
        publishedAt:
          description: The date and time that the stream was created.
          format: date-time
          type: string
        title:
          description: The stream's title. The value must be between 1 and 128 characters long.
          type: string
      type: object
    LiveStreamStatus:
      description: Brief description of the live stream status.
      properties:
        healthStatus:
          $ref: "#/components/schemas/LiveStreamHealthStatus"
          description: The health status of the stream.
        streamStatus:
          enum:
            - created
            - ready
            - active
            - inactive
            - error
          type: string
      type: object
    LocalizedProperty:
      properties:
        defaultLanguage:
          $ref: "#/components/schemas/LanguageTag"
          description: The language of the default property.
        localized:
          items:
            $ref: "#/components/schemas/LocalizedString"
          type: array
      type: object
    LocalizedString:
      properties:
        language:
          type: string
        value:
          type: string
      type: object
    Member:
      description: A *member* resource represents a member for a YouTube channel. A member provides recurring monetary support to a creator and receives special benefits.
      properties:
        etag:
          description: Etag of this resource.
          type: string
        kind:
          default: youtube#member
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#member".'
          type: string
        snippet:
          $ref: "#/components/schemas/MemberSnippet"
          description: The snippet object contains basic details about the member.
      type: object
    MemberListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of members that match the request criteria.
          items:
            $ref: "#/components/schemas/Member"
          type: array
        kind:
          default: youtube#memberListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#memberListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    MemberSnippet:
      properties:
        creatorChannelId:
          description: The id of the channel that's offering memberships.
          type: string
        memberDetails:
          $ref: "#/components/schemas/ChannelProfileDetails"
          description: Details about the member.
        membershipsDetails:
          $ref: "#/components/schemas/MembershipsDetails"
          description: Details about the user's membership.
      type: object
    MembershipsDetails:
      properties:
        accessibleLevels:
          description: Ids of all levels that the user has access to. This includes the currently active level and all other levels that are included because of a higher purchase.
          items:
            type: string
          type: array
        highestAccessibleLevel:
          description: Id of the highest level that the user has access to at the moment.
          type: string
        highestAccessibleLevelDisplayName:
          description: Display name for the highest level that the user has access to at the moment.
          type: string
        membershipsDuration:
          $ref: "#/components/schemas/MembershipsDuration"
          description: Data about memberships duration without taking into consideration pricing levels.
        membershipsDurationAtLevels:
          description: Data about memberships duration on particular pricing levels.
          items:
            $ref: "#/components/schemas/MembershipsDurationAtLevel"
          type: array
      type: object
    MembershipsDuration:
      properties:
        memberSince:
          description: The date and time when the user became a continuous member across all levels.
          type: string
        memberTotalDurationMonths:
          description: The cumulative time the user has been a member across all levels in complete months (the time is rounded down to the nearest integer).
          format: int32
          type: integer
      type: object
    MembershipsDurationAtLevel:
      properties:
        level:
          description: Pricing level ID.
          type: string
        memberSince:
          description: The date and time when the user became a continuous member for the given level.
          type: string
        memberTotalDurationMonths:
          description: The cumulative time the user has been a member for the given level in complete months (the time is rounded down to the nearest integer).
          format: int32
          type: integer
      type: object
    MembershipsLevel:
      description: A *membershipsLevel* resource represents an offer made by YouTube creators for their fans. Users can become members of the channel by joining one of the available levels. They will provide recurring monetary support and receives special benefits.
      properties:
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube assigns to uniquely identify the memberships level.
          type: string
        kind:
          default: youtube#membershipsLevel
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#membershipsLevelListResponse".'
          type: string
        snippet:
          $ref: "#/components/schemas/MembershipsLevelSnippet"
          description: The snippet object contains basic details about the level.
      type: object
    MembershipsLevelListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of pricing levels offered by a creator to the fans.
          items:
            $ref: "#/components/schemas/MembershipsLevel"
          type: array
        kind:
          default: youtube#membershipsLevelListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#membershipsLevelListResponse".'
          type: string
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    MembershipsLevelSnippet:
      properties:
        creatorChannelId:
          description: The id of the channel that's offering channel memberships.
          type: string
        levelDetails:
          $ref: "#/components/schemas/LevelDetails"
          description: Details about the pricing level.
      type: object
    MonitorStreamInfo:
      description: Settings and Info of the monitor stream
      properties:
        broadcastStreamDelayMs:
          description: If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay.
          format: uint32
          type: integer
        embedHtml:
          description: HTML code that embeds a player that plays the monitor stream.
          type: string
        enableMonitorStream:
          description: This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. You need to set this value to true if you intend to have a broadcast delay for your event. *Note:* This property cannot be updated once the broadcast is in the testing or live state.
          type: boolean
      type: object
    PageInfo:
      description: Paging details for lists of resources, including total number of items available and number of resources returned in a single page.
      properties:
        resultsPerPage:
          description: The number of results included in the API response.
          format: int32
          type: integer
        totalResults:
          description: The total number of results in the result set.
          format: int32
          type: integer
      type: object
    Playlist:
      description: "A *playlist* resource represents a YouTube playlist. A playlist is a collection of videos that can be viewed sequentially and shared with other users. A playlist can contain up to 200 videos, and YouTube does not limit the number of playlists that each user creates. By default, playlists are publicly visible to other users, but playlists can be public or private. YouTube also uses playlists to identify special collections of videos for a channel, such as: - uploaded videos - favorite videos - positively rated (liked) videos - watch history - watch later To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel. You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods."
      properties:
        contentDetails:
          $ref: "#/components/schemas/PlaylistContentDetails"
          description: The contentDetails object contains information like video count.
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube uses to uniquely identify the playlist.
          type: string
        kind:
          default: youtube#playlist
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#playlist".'
          type: string
        localizations:
          additionalProperties:
            $ref: "#/components/schemas/PlaylistLocalization"
          description: Localizations for different languages
          type: object
        player:
          $ref: "#/components/schemas/PlaylistPlayer"
          description: The player object contains information that you would use to play the playlist in an embedded player.
        snippet:
          $ref: "#/components/schemas/PlaylistSnippet"
          description: The snippet object contains basic details about the playlist, such as its title and description.
        status:
          $ref: "#/components/schemas/PlaylistStatus"
          description: The status object contains status information for the playlist.
      type: object
    PlaylistContentDetails:
      properties:
        itemCount:
          description: The number of videos in the playlist.
          format: uint32
          type: integer
      type: object
    PlaylistImage:
      properties:
        id:
          description: Identifies this resource (playlist id and image type).
          type: string
        kind:
          default: youtube#playlistImage
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#playlistImages".'
          type: string
        snippet:
          $ref: "#/components/schemas/PlaylistImageSnippet"
      type: object
    PlaylistImageListResponse:
      properties:
        items:
          items:
            $ref: "#/components/schemas/PlaylistImage"
          type: array
        kind:
          default: youtube#playlistImageListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#playlistImageListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
          description: General pagination information.
        prevPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
          type: string
      type: object
    PlaylistImageSnippet:
      description: "A *playlistImage* resource identifies another resource, such as a image, that is associated with a playlist. In addition, the playlistImage resource contains details about the included resource that pertain specifically to how that resource is used in that playlist. YouTube uses playlists to identify special collections of videos for a channel, such as: - uploaded videos - favorite videos - positively rated (liked) videos - watch history To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel. You can then use the playlistImages.list method to retrieve image data for any of those playlists. You can also add or remove images from those lists by calling the playlistImages.insert and playlistImages.delete methods."
      properties:
        height:
          description: The image height.
          format: int32
          type: integer
        playlistId:
          description: The Playlist ID of the playlist this image is associated with.
          type: string
        type:
          description: The image type.
          enum:
            - hero
          type: string
        width:
          description: The image width.
          format: int32
          type: integer
      type: object
    PlaylistItem:
      description: "A *playlistItem* resource identifies another resource, such as a video, that is included in a playlist. In addition, the playlistItem resource contains details about the included resource that pertain specifically to how that resource is used in that playlist. YouTube uses playlists to identify special collections of videos for a channel, such as: - uploaded videos - favorite videos - positively rated (liked) videos - watch history - watch later To be more specific, these lists are associated with a channel, which is a collection of a person, group, or company's videos, playlists, and other YouTube information. You can retrieve the playlist IDs for each of these lists from the channel resource for a given channel. You can then use the playlistItems.list method to retrieve any of those lists. You can also add or remove items from those lists by calling the playlistItems.insert and playlistItems.delete methods. For example, if a user gives a positive rating to a video, you would insert that video into the liked videos playlist for that user's channel."
      properties:
        contentDetails:
          $ref: "#/components/schemas/PlaylistItemContentDetails"
          description: The contentDetails object is included in the resource if the included item is a YouTube video. The object contains additional information about the video.
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube uses to uniquely identify the playlist item.
          type: string
        kind:
          default: youtube#playlistItem
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#playlistItem".'
          type: string
        snippet:
          $ref: "#/components/schemas/PlaylistItemSnippet"
          description: The snippet object contains basic details about the playlist item, such as its title and position in the playlist.
        status:
          $ref: "#/components/schemas/PlaylistItemStatus"
          description: The status object contains information about the playlist item's privacy status.
      type: object
    PlaylistItemContentDetails:
      properties:
        endAt:
          deprecated: true
          description: The time, measured in seconds from the start of the video, when the video should stop playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) By default, assume that the video.endTime is the end of the video.
          type: string
        note:
          description: A user-generated note for this item.
          type: string
        startAt:
          deprecated: true
          description: The time, measured in seconds from the start of the video, when the video should start playing. (The playlist owner can specify the times when the video should start and stop playing when the video is played in the context of the playlist.) The default value is 0.
          type: string
        videoId:
          description: The ID that YouTube uses to uniquely identify a video. To retrieve the video resource, set the id query parameter to this value in your API request.
          type: string
        videoPublishedAt:
          description: The date and time that the video was published to YouTube.
          format: date-time
          type: string
      type: object
    PlaylistItemListResponse:
      properties:
        etag:
          type: string
        eventId:
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of playlist items that match the request criteria.
          items:
            $ref: "#/components/schemas/PlaylistItem"
          type: array
        kind:
          default: youtube#playlistItemListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#playlistItemListResponse". Etag of this resource.'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
          description: General pagination information.
        prevPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
          type: string
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
        visitorId:
          description: The visitorId identifies the visitor.
          type: string
      type: object
    PlaylistItemSnippet:
      description: "Basic details about a playlist, including title, description and thumbnails. Basic details of a YouTube Playlist item provided by the author. Next ID: 15"
      properties:
        channelId:
          description: The ID that YouTube uses to uniquely identify the user that added the item to the playlist.
          type: string
        channelTitle:
          description: Channel title for the channel that the playlist item belongs to.
          type: string
        description:
          description: The item's description.
          type: string
        playlistId:
          description: The ID that YouTube uses to uniquely identify thGe playlist that the playlist item is in.
          type: string
        position:
          description: The order in which the item appears in the playlist. The value uses a zero-based index, so the first item has a position of 0, the second item has a position of 1, and so forth.
          format: uint32
          type: integer
        publishedAt:
          description: The date and time that the item was added to the playlist.
          format: date-time
          type: string
        resourceId:
          $ref: "#/components/schemas/ResourceId"
          description: The id object contains information that can be used to uniquely identify the resource that is included in the playlist as the playlist item.
        thumbnails:
          $ref: "#/components/schemas/ThumbnailDetails"
          description: A map of thumbnail images associated with the playlist item. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
        title:
          description: The item's title.
          type: string
        videoOwnerChannelId:
          description: Channel id for the channel this video belongs to.
          type: string
        videoOwnerChannelTitle:
          description: Channel title for the channel this video belongs to.
          type: string
      type: object
    PlaylistItemStatus:
      description: Information about the playlist item's privacy status.
      properties:
        privacyStatus:
          description: This resource's privacy status.
          enum:
            - public
            - unlisted
            - private
          type: string
      type: object
    PlaylistListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of playlists that match the request criteria
          items:
            $ref: "#/components/schemas/Playlist"
          type: array
        kind:
          default: youtube#playlistListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#playlistListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
          description: General pagination information.
        prevPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
          type: string
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    PlaylistLocalization:
      description: Playlist localization setting
      properties:
        description:
          description: The localized strings for playlist's description.
          type: string
        title:
          description: The localized strings for playlist's title.
          type: string
      type: object
    PlaylistPlayer:
      properties:
        embedHtml:
          description: An <iframe> tag that embeds a player that will play the playlist.
          type: string
      type: object
    PlaylistSnippet:
      description: Basic details about a playlist, including title, description and thumbnails.
      properties:
        channelId:
          description: The ID that YouTube uses to uniquely identify the channel that published the playlist.
          type: string
        channelTitle:
          description: The channel title of the channel that the video belongs to.
          type: string
        defaultLanguage:
          description: The language of the playlist's default title and description.
          type: string
        description:
          description: The playlist's description.
          type: string
        localized:
          $ref: "#/components/schemas/PlaylistLocalization"
          description: Localized title and description, read-only.
        publishedAt:
          description: The date and time that the playlist was created.
          format: date-time
          type: string
        tags:
          deprecated: true
          description: Keyword tags associated with the playlist.
          items:
            type: string
          type: array
        thumbnailVideoId:
          description: "Note: if the playlist has a custom thumbnail, this field will not be populated. The video id selected by the user that will be used as the thumbnail of this playlist. This field defaults to the first publicly viewable video in the playlist, if: 1. The user has never selected a video to be the thumbnail of the playlist. 2. The user selects a video to be the thumbnail, and then removes that video from the playlist. 3. The user selects a non-owned video to be the thumbnail, but that video becomes private, or gets deleted."
          type: string
        thumbnails:
          $ref: "#/components/schemas/ThumbnailDetails"
          description: A map of thumbnail images associated with the playlist. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
        title:
          description: The playlist's title.
          type: string
      type: object
    PlaylistStatus:
      properties:
        privacyStatus:
          description: The playlist's privacy status.
          enum:
            - public
            - unlisted
            - private
          type: string
      type: object
    PropertyValue:
      description: A pair Property / Value.
      properties:
        property:
          description: A property.
          type: string
        value:
          description: The property's value.
          type: string
      type: object
    RelatedEntity:
      properties:
        entity:
          $ref: "#/components/schemas/Entity"
      type: object
    ResourceId:
      description: A resource id is a generic reference that points to another YouTube resource.
      properties:
        channelId:
          description: The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
          type: string
        kind:
          description: The type of the API resource.
          type: string
        playlistId:
          description: The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
          type: string
        videoId:
          description: The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
          type: string
      type: object
    SearchListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: Pagination information for token pagination.
          items:
            $ref: "#/components/schemas/SearchResult"
          type: array
        kind:
          default: youtube#searchListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#searchListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
          description: General pagination information.
        prevPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
          type: string
        regionCode:
          type: string
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
        visitorId:
          description: The visitorId identifies the visitor.
          type: string
      type: object
    SearchResult:
      description: A search result contains information about a YouTube video, channel, or playlist that matches the search parameters specified in an API request. While a search result points to a uniquely identifiable resource, like a video, it does not have its own persistent data.
      properties:
        etag:
          description: Etag of this resource.
          type: string
        id:
          $ref: "#/components/schemas/ResourceId"
          description: The id object contains information that can be used to uniquely identify the resource that matches the search request.
        kind:
          default: youtube#searchResult
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#searchResult".'
          type: string
        snippet:
          $ref: "#/components/schemas/SearchResultSnippet"
          description: The snippet object contains basic details about a search result, such as its title or description. For example, if the search result is a video, then the title will be the video's title and the description will be the video's description.
      type: object
    SearchResultSnippet:
      description: Basic details about a search result, including title, description and thumbnails of the item referenced by the search result.
      properties:
        channelId:
          description: The value that YouTube uses to uniquely identify the channel that published the resource that the search result identifies.
          type: string
        channelTitle:
          description: The title of the channel that published the resource that the search result identifies.
          type: string
        description:
          description: A description of the search result.
          type: string
        liveBroadcastContent:
          description: It indicates if the resource (video or channel) has upcoming/active live broadcast content. Or it's "none" if there is not any upcoming/active live broadcasts.
          enum:
            - none
            - upcoming
            - live
            - completed
          type: string
        publishedAt:
          description: The creation date and time of the resource that the search result identifies.
          format: date-time
          type: string
        thumbnails:
          $ref: "#/components/schemas/ThumbnailDetails"
          description: A map of thumbnail images associated with the search result. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
        title:
          description: The title of the search result.
          type: string
      type: object
    Subscription:
      description: A *subscription* resource contains information about a YouTube user subscription. A subscription notifies a user when new videos are added to a channel or when another user takes one of several actions on YouTube, such as uploading a video, rating a video, or commenting on a video.
      properties:
        contentDetails:
          $ref: "#/components/schemas/SubscriptionContentDetails"
          description: The contentDetails object contains basic statistics about the subscription.
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube uses to uniquely identify the subscription.
          type: string
        kind:
          default: youtube#subscription
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#subscription".'
          type: string
        snippet:
          $ref: "#/components/schemas/SubscriptionSnippet"
          description: The snippet object contains basic details about the subscription, including its title and the channel that the user subscribed to.
        subscriberSnippet:
          $ref: "#/components/schemas/SubscriptionSubscriberSnippet"
          description: The subscriberSnippet object contains basic details about the subscriber.
      type: object
    SubscriptionContentDetails:
      description: Details about the content to witch a subscription refers.
      properties:
        activityType:
          description: The type of activity this subscription is for (only uploads, everything).
          enum:
            - subscriptionActivityTypeUnspecified
            - all
            - uploads
          type: string
        newItemCount:
          description: The number of new items in the subscription since its content was last read.
          format: uint32
          type: integer
        totalItemCount:
          description: The approximate number of items that the subscription points to.
          format: uint32
          type: integer
      type: object
    SubscriptionListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of subscriptions that match the request criteria.
          items:
            $ref: "#/components/schemas/Subscription"
          type: array
        kind:
          default: youtube#subscriptionListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#subscriptionListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
        prevPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
          type: string
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    SubscriptionSnippet:
      description: Basic details about a subscription, including title, description and thumbnails of the subscribed item.
      properties:
        channelId:
          description: The ID that YouTube uses to uniquely identify the subscriber's channel.
          type: string
        channelTitle:
          description: Channel title for the channel that the subscription belongs to.
          type: string
        description:
          description: The subscription's details.
          type: string
        publishedAt:
          description: The date and time that the subscription was created.
          format: date-time
          type: string
        resourceId:
          $ref: "#/components/schemas/ResourceId"
          description: The id object contains information about the channel that the user subscribed to.
        thumbnails:
          $ref: "#/components/schemas/ThumbnailDetails"
          description: A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
        title:
          description: The subscription's title.
          type: string
      type: object
    SubscriptionSubscriberSnippet:
      description: Basic details about a subscription's subscriber including title, description, channel ID and thumbnails.
      properties:
        channelId:
          description: The channel ID of the subscriber.
          type: string
        description:
          description: The description of the subscriber.
          type: string
        thumbnails:
          $ref: "#/components/schemas/ThumbnailDetails"
          description: Thumbnails for this subscriber.
        title:
          description: The title of the subscriber.
          type: string
      type: object
    SuperChatEvent:
      description: A `__superChatEvent__` resource represents a Super Chat purchase on a YouTube channel.
      properties:
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube assigns to uniquely identify the Super Chat event.
          type: string
        kind:
          default: youtube#superChatEvent
          description: 'Identifies what kind of resource this is. Value: the fixed string `"youtube#superChatEvent"`.'
          type: string
        snippet:
          $ref: "#/components/schemas/SuperChatEventSnippet"
          description: The `snippet` object contains basic details about the Super Chat event.
      type: object
    SuperChatEventListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of Super Chat purchases that match the request criteria.
          items:
            $ref: "#/components/schemas/SuperChatEvent"
          type: array
        kind:
          default: youtube#superChatEventListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#superChatEventListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    SuperChatEventSnippet:
      properties:
        amountMicros:
          description: The purchase amount, in micros of the purchase currency. e.g., 1 is represented as 1000000.
          format: uint64
          type: string
        channelId:
          description: Channel id where the event occurred.
          type: string
        commentText:
          description: The text contents of the comment left by the user.
          type: string
        createdAt:
          description: The date and time when the event occurred.
          format: date-time
          type: string
        currency:
          description: The currency in which the purchase was made. ISO 4217.
          type: string
        displayString:
          description: A rendered string that displays the purchase amount and currency (e.g., "$1.00"). The string is rendered for the given language.
          type: string
        isSuperStickerEvent:
          description: True if this event is a Super Sticker event.
          type: boolean
        messageType:
          description: The tier for the paid message, which is based on the amount of money spent to purchase the message.
          format: uint32
          type: integer
        superStickerMetadata:
          $ref: "#/components/schemas/SuperStickerMetadata"
          description: If this event is a Super Sticker event, this field will contain metadata about the Super Sticker.
        supporterDetails:
          $ref: "#/components/schemas/ChannelProfileDetails"
          description: Details about the supporter.
      type: object
    SuperStickerMetadata:
      properties:
        altText:
          description: Internationalized alt text that describes the sticker image and any animation associated with it.
          type: string
        altTextLanguage:
          description: Specifies the localization language in which the alt text is returned.
          type: string
        stickerId:
          description: Unique identifier of the Super Sticker. This is a shorter form of the alt_text that includes pack name and a recognizable characteristic of the sticker.
          type: string
      type: object
    TestItem:
      properties:
        featuredPart:
          type: boolean
        gaia:
          format: int64
          type: string
        id:
          type: string
        snippet:
          $ref: "#/components/schemas/TestItemTestItemSnippet"
      type: object
    TestItemTestItemSnippet:
      properties: {}
      type: object
    ThirdPartyLink:
      description: A *third party account link* resource represents a link between a YouTube account or a channel and an account on a third-party service.
      properties:
        etag:
          description: Etag of this resource
          type: string
        kind:
          default: youtube#thirdPartyLink
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#thirdPartyLink".'
          type: string
        linkingToken:
          description: The linking_token identifies a YouTube account and channel with which the third party account is linked.
          type: string
        snippet:
          $ref: "#/components/schemas/ThirdPartyLinkSnippet"
          description: The snippet object contains basic details about the third- party account link.
        status:
          $ref: "#/components/schemas/ThirdPartyLinkStatus"
          description: The status object contains information about the status of the link.
      type: object
    ThirdPartyLinkListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        items:
          items:
            $ref: "#/components/schemas/ThirdPartyLink"
          type: array
        kind:
          default: youtube#thirdPartyLinkListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#thirdPartyLinkListResponse".'
          type: string
      type: object
    ThirdPartyLinkSnippet:
      description: Basic information about a third party account link, including its type and type-specific information.
      properties:
        channelToStoreLink:
          $ref: "#/components/schemas/ChannelToStoreLinkDetails"
          description: Information specific to a link between a channel and a store on a merchandising platform.
        type:
          description: Type of the link named after the entities that are being linked.
          enum:
            - linkUnspecified
            - channelToStoreLink
          type: string
      type: object
    ThirdPartyLinkStatus:
      description: The third-party link status object contains information about the status of the link.
      properties:
        linkStatus:
          enum:
            - unknown
            - failed
            - pending
            - linked
          type: string
      type: object
    Thumbnail:
      description: A thumbnail is an image representing a YouTube resource.
      properties:
        height:
          description: (Optional) Height of the thumbnail image.
          format: uint32
          type: integer
        url:
          description: The thumbnail image's URL.
          type: string
        width:
          description: (Optional) Width of the thumbnail image.
          format: uint32
          type: integer
      type: object
    ThumbnailDetails:
      description: Internal representation of thumbnails for a YouTube resource.
      properties:
        high:
          $ref: "#/components/schemas/Thumbnail"
          description: The high quality image for this resource.
        maxres:
          $ref: "#/components/schemas/Thumbnail"
          description: The maximum resolution quality image for this resource.
        medium:
          $ref: "#/components/schemas/Thumbnail"
          description: The medium quality image for this resource.
        standard:
          $ref: "#/components/schemas/Thumbnail"
          description: The standard quality image for this resource.
      type: object
    ThumbnailSetResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of thumbnails.
          items:
            $ref: "#/components/schemas/ThumbnailDetails"
          type: array
        kind:
          default: youtube#thumbnailSetResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#thumbnailSetResponse".'
          type: string
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    TokenPagination:
      description: Stub token pagination template to suppress results.
      properties: {}
      type: object
    Video:
      description: A *video* resource represents a YouTube video.
      properties:
        ageGating:
          $ref: "#/components/schemas/VideoAgeGating"
          description: Age restriction details related to a video. This data can only be retrieved by the video owner.
        contentDetails:
          $ref: "#/components/schemas/VideoContentDetails"
          description: The contentDetails object contains information about the video content, including the length of the video and its aspect ratio.
        etag:
          description: Etag of this resource.
          type: string
        fileDetails:
          $ref: "#/components/schemas/VideoFileDetails"
          description: The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner.
        id:
          description: The ID that YouTube uses to uniquely identify the video.
          type: string
        kind:
          default: youtube#video
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#video".'
          type: string
        liveStreamingDetails:
          $ref: "#/components/schemas/VideoLiveStreamingDetails"
          description: The liveStreamingDetails object contains metadata about a live video broadcast. The object will only be present in a video resource if the video is an upcoming, live, or completed live broadcast.
        localizations:
          additionalProperties:
            $ref: "#/components/schemas/VideoLocalization"
          description: The localizations object contains localized versions of the basic details about the video, such as its title and description.
          type: object
        monetizationDetails:
          $ref: "#/components/schemas/VideoMonetizationDetails"
          description: The monetizationDetails object encapsulates information about the monetization status of the video.
        player:
          $ref: "#/components/schemas/VideoPlayer"
          description: The player object contains information that you would use to play the video in an embedded player.
        processingDetails:
          $ref: "#/components/schemas/VideoProcessingDetails"
          description: The processingDetails object encapsulates information about YouTube's progress in processing the uploaded video file. The properties in the object identify the current processing status and an estimate of the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video. The processingProgress object is designed to be polled so that the video uploaded can track the progress that YouTube has made in processing the uploaded video file. This data can only be retrieved by the video owner.
        projectDetails:
          $ref: "#/components/schemas/VideoProjectDetails"
          deprecated: true
          description: "The projectDetails object contains information about the project specific video metadata. b/157517979: This part was never populated after it was added. However, it sees non-zero traffic because there is generated client code in the wild that refers to it [1]. We keep this field and do NOT remove it because otherwise V3 would return an error when this part gets requested [2]. [1] https://developers.google.com/resources/api-libraries/documentation/youtube/v3/csharp/latest/classGoogle_1_1Apis_1_1YouTube_1_1v3_1_1Data_1_1VideoProjectDetails.html [2] http://google3/video/youtube/src/python/servers/data_api/common.py?l=1565-1569&rcl=344141677"
        recordingDetails:
          $ref: "#/components/schemas/VideoRecordingDetails"
          description: The recordingDetails object encapsulates information about the location, date and address where the video was recorded.
        snippet:
          $ref: "#/components/schemas/VideoSnippet"
          description: The snippet object contains basic details about the video, such as its title, description, and category.
        statistics:
          $ref: "#/components/schemas/VideoStatistics"
          description: The statistics object contains statistics about the video.
        status:
          $ref: "#/components/schemas/VideoStatus"
          description: The status object contains information about the video's uploading, processing, and privacy statuses.
        suggestions:
          $ref: "#/components/schemas/VideoSuggestions"
          description: The suggestions object encapsulates suggestions that identify opportunities to improve the video quality or the metadata for the uploaded video. This data can only be retrieved by the video owner.
        topicDetails:
          $ref: "#/components/schemas/VideoTopicDetails"
          description: The topicDetails object encapsulates information about Freebase topics associated with the video.
      type: object
    VideoAbuseReport:
      properties:
        comments:
          description: Additional comments regarding the abuse report.
          type: string
        language:
          description: The language that the content was viewed in.
          type: string
        reasonId:
          description: The high-level, or primary, reason that the content is abusive. The value is an abuse report reason ID.
          type: string
        secondaryReasonId:
          description: The specific, or secondary, reason that this content is abusive (if available). The value is an abuse report reason ID that is a valid secondary reason for the primary reason.
          type: string
        videoId:
          description: The ID that YouTube uses to uniquely identify the video.
          type: string
      type: object
    VideoAbuseReportReason:
      description: A `__videoAbuseReportReason__` resource identifies a reason that a video could be reported as abusive. Video abuse report reasons are used with `video.ReportAbuse`.
      properties:
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID of this abuse report reason.
          type: string
        kind:
          default: youtube#videoAbuseReportReason
          description: 'Identifies what kind of resource this is. Value: the fixed string `"youtube#videoAbuseReportReason"`.'
          type: string
        snippet:
          $ref: "#/components/schemas/VideoAbuseReportReasonSnippet"
          description: The `snippet` object contains basic details about the abuse report reason.
      type: object
    VideoAbuseReportReasonListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of valid abuse reasons that are used with `video.ReportAbuse`.
          items:
            $ref: "#/components/schemas/VideoAbuseReportReason"
          type: array
        kind:
          default: youtube#videoAbuseReportReasonListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string `"youtube#videoAbuseReportReasonListResponse"`.'
          type: string
        visitorId:
          deprecated: true
          description: The `visitorId` identifies the visitor.
          type: string
      type: object
    VideoAbuseReportReasonSnippet:
      description: Basic details about a video category, such as its localized title.
      properties:
        label:
          description: The localized label belonging to this abuse report reason.
          type: string
        secondaryReasons:
          description: The secondary reasons associated with this reason, if any are available. (There might be 0 or more.)
          items:
            $ref: "#/components/schemas/VideoAbuseReportSecondaryReason"
          type: array
      type: object
    VideoAbuseReportSecondaryReason:
      properties:
        id:
          description: The ID of this abuse report secondary reason.
          type: string
        label:
          description: The localized label for this abuse report secondary reason.
          type: string
      type: object
    VideoAgeGating:
      properties:
        alcoholContent:
          description: Indicates whether or not the video has alcoholic beverage content. Only users of legal purchasing age in a particular country, as identified by ICAP, can view the content.
          type: boolean
        restricted:
          description: Age-restricted trailers. For redband trailers and adult-rated video-games. Only users aged 18+ can view the content. The the field is true the content is restricted to viewers aged 18+. Otherwise The field won't be present.
          type: boolean
        videoGameRating:
          description: Video game rating, if any.
          enum:
            - anyone
            - m15Plus
            - m16Plus
            - m17Plus
          type: string
      type: object
    VideoCategory:
      description: A *videoCategory* resource identifies a category that has been or could be associated with uploaded videos.
      properties:
        etag:
          description: Etag of this resource.
          type: string
        id:
          description: The ID that YouTube uses to uniquely identify the video category.
          type: string
        kind:
          default: youtube#videoCategory
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#videoCategory".'
          type: string
        snippet:
          $ref: "#/components/schemas/VideoCategorySnippet"
          description: The snippet object contains basic details about the video category, including its title.
      type: object
    VideoCategoryListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of video categories that can be associated with YouTube videos. In this map, the video category ID is the map key, and its value is the corresponding videoCategory resource.
          items:
            $ref: "#/components/schemas/VideoCategory"
          type: array
        kind:
          default: youtube#videoCategoryListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#videoCategoryListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
          description: General pagination information.
        prevPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
          type: string
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    VideoCategorySnippet:
      description: Basic details about a video category, such as its localized title.
      properties:
        assignable:
          type: boolean
        channelId:
          default: UCBR8-60-B28hp2BmDPdntcQ
          description: The YouTube channel that created the video category.
          type: string
        title:
          description: The video category's title.
          type: string
      type: object
    VideoContentDetails:
      description: Details about the content of a YouTube Video.
      properties:
        caption:
          description: The value of captions indicates whether the video has captions or not.
          enum:
            - "true"
            - "false"
          type: string
        contentRating:
          $ref: "#/components/schemas/ContentRating"
          description: Specifies the ratings that the video received under various rating schemes.
        countryRestriction:
          $ref: "#/components/schemas/AccessPolicy"
          description: The countryRestriction object contains information about the countries where a video is (or is not) viewable.
        definition:
          description: The value of definition indicates whether the video is available in high definition or only in standard definition.
          enum:
            - sd
            - hd
          type: string
        dimension:
          description: The value of dimension indicates whether the video is available in 3D or in 2D.
          type: string
        duration:
          description: "The length of the video. The tag value is an ISO 8601 duration in the format PT#M#S, in which the letters PT indicate that the value specifies a period of time, and the letters M and S refer to length in minutes and seconds, respectively. The # characters preceding the M and S letters are both integers that specify the number of minutes (or seconds) of the video. For example, a value of PT15M51S indicates that the video is 15 minutes and 51 seconds long."
          type: string
        hasCustomThumbnail:
          description: Indicates whether the video uploader has provided a custom thumbnail image for the video. This property is only visible to the video uploader.
          type: boolean
        licensedContent:
          description: The value of is_license_content indicates whether the video is licensed content.
          type: boolean
        projection:
          description: Specifies the projection format of the video.
          enum:
            - rectangular
            - "360"
          type: string
        regionRestriction:
          $ref: "#/components/schemas/VideoContentDetailsRegionRestriction"
          deprecated: true
          description: The regionRestriction object contains information about the countries where a video is (or is not) viewable. The object will contain either the contentDetails.regionRestriction.allowed property or the contentDetails.regionRestriction.blocked property.
      type: object
    VideoContentDetailsRegionRestriction:
      description: DEPRECATED Region restriction of the video.
      properties:
        allowed:
          description: A list of region codes that identify countries where the video is viewable. If this property is present and a country is not listed in its value, then the video is blocked from appearing in that country. If this property is present and contains an empty list, the video is blocked in all countries.
          items:
            type: string
          type: array
        blocked:
          description: A list of region codes that identify countries where the video is blocked. If this property is present and a country is not listed in its value, then the video is viewable in that country. If this property is present and contains an empty list, the video is viewable in all countries.
          items:
            type: string
          type: array
      type: object
    VideoFileDetails:
      description: Describes original video file properties, including technical details about audio and video streams, but also metadata information like content length, digitization time, or geotagging information.
      properties:
        audioStreams:
          description: A list of audio streams contained in the uploaded video file. Each item in the list contains detailed metadata about an audio stream.
          items:
            $ref: "#/components/schemas/VideoFileDetailsAudioStream"
          type: array
        bitrateBps:
          description: The uploaded video file's combined (video and audio) bitrate in bits per second.
          format: uint64
          type: string
        container:
          description: The uploaded video file's container format.
          type: string
        creationTime:
          description: "The date and time when the uploaded video file was created. The value is specified in ISO 8601 format. Currently, the following ISO 8601 formats are supported: - Date only: YYYY-MM-DD - Naive time: YYYY-MM-DDTHH:MM:SS - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM "
          type: string
        durationMs:
          description: The length of the uploaded video in milliseconds.
          format: uint64
          type: string
        fileName:
          description: The uploaded file's name. This field is present whether a video file or another type of file was uploaded.
          type: string
        fileSize:
          description: The uploaded file's size in bytes. This field is present whether a video file or another type of file was uploaded.
          format: uint64
          type: string
        fileType:
          description: The uploaded file's type as detected by YouTube's video processing engine. Currently, YouTube only processes video files, but this field is present whether a video file or another type of file was uploaded.
          enum:
            - video
            - audio
            - image
            - archive
            - document
            - project
            - other
          type: string
        videoStreams:
          description: A list of video streams contained in the uploaded video file. Each item in the list contains detailed metadata about a video stream.
          items:
            $ref: "#/components/schemas/VideoFileDetailsVideoStream"
          type: array
      type: object
    VideoFileDetailsAudioStream:
      description: Information about an audio stream.
      properties:
        bitrateBps:
          description: The audio stream's bitrate, in bits per second.
          format: uint64
          type: string
        channelCount:
          description: The number of audio channels that the stream contains.
          format: uint32
          type: integer
        codec:
          description: The audio codec that the stream uses.
          type: string
        vendor:
          description: A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
          type: string
      type: object
    VideoFileDetailsVideoStream:
      description: Information about a video stream.
      properties:
        aspectRatio:
          description: The video content's display aspect ratio, which specifies the aspect ratio in which the video should be displayed.
          format: double
          type: number
        bitrateBps:
          description: The video stream's bitrate, in bits per second.
          format: uint64
          type: string
        codec:
          description: The video codec that the stream uses.
          type: string
        frameRateFps:
          description: The video stream's frame rate, in frames per second.
          format: double
          type: number
        heightPixels:
          description: The encoded video content's height in pixels.
          format: uint32
          type: integer
        rotation:
          description: The amount that YouTube needs to rotate the original source content to properly display the video.
          enum:
            - none
            - clockwise
            - upsideDown
            - counterClockwise
            - other
          type: string
        vendor:
          description: A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
          type: string
        widthPixels:
          description: The encoded video content's width in pixels. You can calculate the video's encoding aspect ratio as width_pixels / height_pixels.
          format: uint32
          type: integer
      type: object
    VideoGetRatingResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          description: A list of ratings that match the request criteria.
          items:
            $ref: "#/components/schemas/VideoRating"
          type: array
        kind:
          default: youtube#videoGetRatingResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#videoGetRatingResponse".'
          type: string
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    VideoListResponse:
      properties:
        etag:
          description: Etag of this resource.
          type: string
        eventId:
          deprecated: true
          description: Serialized EventId of the request which produced this response.
          type: string
        items:
          items:
            $ref: "#/components/schemas/Video"
          type: array
        kind:
          default: youtube#videoListResponse
          description: 'Identifies what kind of resource this is. Value: the fixed string "youtube#videoListResponse".'
          type: string
        nextPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
          type: string
        pageInfo:
          $ref: "#/components/schemas/PageInfo"
          description: General pagination information.
        prevPageToken:
          description: The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
          type: string
        tokenPagination:
          $ref: "#/components/schemas/TokenPagination"
          deprecated: true
        visitorId:
          deprecated: true
          description: The visitorId identifies the visitor.
          type: string
      type: object
    VideoLiveStreamingDetails:
      description: Details about the live streaming metadata.
      properties:
        activeLiveChatId:
          description: The ID of the currently active live chat attached to this video. This field is filled only if the video is a currently live broadcast that has live chat. Once the broadcast transitions to complete this field will be removed and the live chat closed down. For persistent broadcasts that live chat id will no longer be tied to this video but rather to the new video being displayed at the persistent page.
          type: string
        actualEndTime:
          description: The time that the broadcast actually ended. This value will not be available until the broadcast is over.
          format: date-time
          type: string
        actualStartTime:
          description: The time that the broadcast actually started. This value will not be available until the broadcast begins.
          format: date-time
          type: string
        concurrentViewers:
          description: The number of viewers currently watching the broadcast. The property and its value will be present if the broadcast has current viewers and the broadcast owner has not hidden the viewcount for the video. Note that YouTube stops tracking the number of concurrent viewers for a broadcast when the broadcast ends. So, this property would not identify the number of viewers watching an archived video of a live broadcast that already ended.
          format: uint64
          type: string
        scheduledEndTime:
          description: The time that the broadcast is scheduled to end. If the value is empty or the property is not present, then the broadcast is scheduled to contiue indefinitely.
          format: date-time
          type: string
        scheduledStartTime:
          description: The time that the broadcast is scheduled to begin.
          format: date-time
          type: string
      type: object
    VideoLocalization:
      description: Localized versions of certain video properties (e.g. title).
      properties:
        description:
          description: Localized version of the video's description.
          type: string
        title:
          description: Localized version of the video's title.
          type: string
      type: object
    VideoMonetizationDetails:
      description: Details about monetization of a YouTube Video.
      properties:
        access:
          $ref: "#/components/schemas/AccessPolicy"
          description: The value of access indicates whether the video can be monetized or not.
      type: object
    VideoPlayer:
      description: Player to be used for a video playback.
      properties:
        embedHeight:
          format: int64
          type: string
        embedHtml:
          description: An <iframe> tag that embeds a player that will play the video.
          type: string
        embedWidth:
          description: The embed width
          format: int64
          type: string
      type: object
    VideoProcessingDetails:
      description: Describes processing status and progress and availability of some other Video resource parts.
      properties:
        editorSuggestionsAvailability:
          description: This value indicates whether video editing suggestions, which might improve video quality or the playback experience, are available for the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
          type: string
        fileDetailsAvailability:
          description: This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request.
          type: string
        processingFailureReason:
          description: The reason that YouTube failed to process the video. This property will only have a value if the processingStatus property's value is failed.
          enum:
            - uploadFailed
            - transcodeFailed
            - streamingFailed
            - other
          type: string
        processingIssuesAvailability:
          description: This value indicates whether the video processing engine has generated suggestions that might improve YouTube's ability to process the the video, warnings that explain video processing problems, or errors that cause video processing problems. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
          type: string
        processingProgress:
          $ref: "#/components/schemas/VideoProcessingDetailsProcessingProgress"
          description: The processingProgress object contains information about the progress YouTube has made in processing the video. The values are really only relevant if the video's processing status is processing.
        processingStatus:
          description: The video's processing status. This value indicates whether YouTube was able to process the video or if the video is still being processed.
          enum:
            - processing
            - succeeded
            - failed
            - terminated
          type: string
        tagSuggestionsAvailability:
          description: This value indicates whether keyword (tag) suggestions are available for the video. Tags can be added to a video's metadata to make it easier for other users to find the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
          type: string
        thumbnailsAvailability:
          description: This value indicates whether thumbnail images have been generated for the video.
          type: string
      type: object
    VideoProcessingDetailsProcessingProgress:
      description: Video processing progress and completion time estimate.
      properties:
        partsProcessed:
          description: "The number of parts of the video that YouTube has already processed. You can estimate the percentage of the video that YouTube has already processed by calculating: 100 * parts_processed / parts_total Note that since the estimated number of parts could increase without a corresponding increase in the number of parts that have already been processed, it is possible that the calculated progress could periodically decrease while YouTube processes a video."
          format: uint64
          type: string
        partsTotal:
          description: An estimate of the total number of parts that need to be processed for the video. The number may be updated with more precise estimates while YouTube processes the video.
          format: uint64
          type: string
        timeLeftMs:
          description: An estimate of the amount of time, in millseconds, that YouTube needs to finish processing the video.
          format: uint64
          type: string
      type: object
    VideoProjectDetails:
      description: "DEPRECATED. b/157517979: This part was never populated after it was added. However, it sees non-zero traffic because there is generated client code in the wild that refers to it [1]. We keep this field and do NOT remove it because otherwise V3 would return an error when this part gets requested [2]. [1] https://developers.google.com/resources/api-libraries/documentation/youtube/v3/csharp/latest/classGoogle_1_1Apis_1_1YouTube_1_1v3_1_1Data_1_1VideoProjectDetails.html [2] http://google3/video/youtube/src/python/servers/data_api/common.py?l=1565-1569&rcl=344141677"
      properties: {}
      type: object
    VideoRating:
      description: Basic details about rating of a video.
      properties:
        rating:
          description: Rating of a video.
          enum:
            - none
            - like
            - dislike
          type: string
        videoId:
          description: The ID that YouTube uses to uniquely identify the video.
          type: string
      type: object
    VideoRecordingDetails:
      description: Recording information associated with the video.
      properties:
        location:
          $ref: "#/components/schemas/GeoPoint"
          description: The geolocation information associated with the video.
        locationDescription:
          description: The text description of the location where the video was recorded.
          type: string
        recordingDate:
          description: The date and time when the video was recorded.
          format: date-time
          type: string
      type: object
    VideoSnippet:
      description: Basic details about a video, including title, description, uploader, thumbnails and category.
      properties:
        categoryId:
          description: The YouTube video category associated with the video.
          type: string
        channelId:
          description: The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
          type: string
        channelTitle:
          description: Channel title for the channel that the video belongs to.
          type: string
        defaultAudioLanguage:
          description: The default_audio_language property specifies the language spoken in the video's default audio track.
          type: string
        defaultLanguage:
          description: The language of the videos's default snippet.
          type: string
        description:
          description: The video's description. @mutable youtube.videos.insert youtube.videos.update
          type: string
        liveBroadcastContent:
          description: Indicates if the video is an upcoming/active live broadcast. Or it's "none" if the video is not an upcoming/active live broadcast.
          enum:
            - none
            - upcoming
            - live
            - completed
          type: string
        localized:
          $ref: "#/components/schemas/VideoLocalization"
          description: Localized snippet selected with the hl parameter. If no such localization exists, this field is populated with the default snippet. (Read-only)
        publishedAt:
          description: The date and time when the video was uploaded.
          format: date-time
          type: string
        tags:
          description: A list of keyword tags associated with the video. Tags may contain spaces.
          items:
            type: string
          type: array
        thumbnails:
          $ref: "#/components/schemas/ThumbnailDetails"
          description: A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
        title:
          description: The video's title. @mutable youtube.videos.insert youtube.videos.update
          type: string
      type: object
    VideoStatistics:
      description: Statistics about the video, such as the number of times the video was viewed or liked.
      properties:
        commentCount:
          description: The number of comments for the video.
          format: uint64
          type: string
        dislikeCount:
          description: The number of users who have indicated that they disliked the video by giving it a negative rating.
          format: uint64
          type: string
        favoriteCount:
          deprecated: true
          description: The number of users who currently have the video marked as a favorite video.
          format: uint64
          type: string
        likeCount:
          description: The number of users who have indicated that they liked the video by giving it a positive rating.
          format: uint64
          type: string
        viewCount:
          description: The number of times the video has been viewed.
          format: uint64
          type: string
      type: object
    VideoStatus:
      description: "Basic details about a video category, such as its localized title. Next Id: 18"
      properties:
        embeddable:
          description: This value indicates if the video can be embedded on another website. @mutable youtube.videos.insert youtube.videos.update
          type: boolean
        failureReason:
          description: This value explains why a video failed to upload. This property is only present if the uploadStatus property indicates that the upload failed.
          enum:
            - conversion
            - invalidFile
            - emptyFile
            - tooSmall
            - codec
            - uploadAborted
          type: string
        license:
          description: The video's license. @mutable youtube.videos.insert youtube.videos.update
          enum:
            - youtube
            - creativeCommon
          type: string
        madeForKids:
          type: boolean
        privacyStatus:
          description: The video's privacy status.
          enum:
            - public
            - unlisted
            - private
          type: string
        publicStatsViewable:
          description: This value indicates if the extended video statistics on the watch page can be viewed by everyone. Note that the view count, likes, etc will still be visible if this is disabled. @mutable youtube.videos.insert youtube.videos.update
          type: boolean
        publishAt:
          description: The date and time when the video is scheduled to publish. It can be set only if the privacy status of the video is private..
          format: date-time
          type: string
        rejectionReason:
          description: This value explains why YouTube rejected an uploaded video. This property is only present if the uploadStatus property indicates that the upload was rejected.
          enum:
            - copyright
            - inappropriate
            - duplicate
            - termsOfUse
            - uploaderAccountSuspended
            - length
            - claim
            - uploaderAccountClosed
            - trademark
            - legal
          type: string
        selfDeclaredMadeForKids:
          type: boolean
        uploadStatus:
          description: The status of the uploaded video.
          enum:
            - uploaded
            - processed
            - failed
            - rejected
            - deleted
          type: string
      type: object
    VideoSuggestions:
      description: Specifies suggestions on how to improve video content, including encoding hints, tag suggestions, and editor suggestions.
      properties:
        editorSuggestions:
          description: A list of video editing operations that might improve the video quality or playback experience of the uploaded video.
          items:
            enum:
              - videoAutoLevels
              - videoStabilize
              - videoCrop
              - audioQuietAudioSwap
            type: string
          type: array
        processingErrors:
          description: A list of errors that will prevent YouTube from successfully processing the uploaded video video. These errors indicate that, regardless of the video's current processing status, eventually, that status will almost certainly be failed.
          items:
            enum:
              - audioFile
              - imageFile
              - projectFile
              - notAVideoFile
              - docFile
              - archiveFile
              - unsupportedSpatialAudioLayout
            type: string
          type: array
        processingHints:
          description: A list of suggestions that may improve YouTube's ability to process the video.
          items:
            enum:
              - nonStreamableMov
              - sendBestQualityVideo
              - sphericalVideo
              - spatialAudio
              - vrVideo
              - hdrVideo
            type: string
          type: array
        processingWarnings:
          description: A list of reasons why YouTube may have difficulty transcoding the uploaded video or that might result in an erroneous transcoding. These warnings are generated before YouTube actually processes the uploaded video file. In addition, they identify issues that are unlikely to cause the video processing to fail but that might cause problems such as sync issues, video artifacts, or a missing audio track.
          items:
            enum:
              - unknownContainer
              - unknownVideoCodec
              - unknownAudioCodec
              - inconsistentResolution
              - hasEditlist
              - problematicVideoCodec
              - problematicAudioCodec
              - unsupportedVrStereoMode
              - unsupportedSphericalProjectionType
              - unsupportedHdrPixelFormat
              - unsupportedHdrColorMetadata
              - problematicHdrLookupTable
            type: string
          type: array
        tagSuggestions:
          description: A list of keyword tags that could be added to the video's metadata to increase the likelihood that users will locate your video when searching or browsing on YouTube.
          items:
            $ref: "#/components/schemas/VideoSuggestionsTagSuggestion"
          type: array
      type: object
    VideoSuggestionsTagSuggestion:
      description: A single tag suggestion with it's relevance information.
      properties:
        categoryRestricts:
          description: A set of video categories for which the tag is relevant. You can use this information to display appropriate tag suggestions based on the video category that the video uploader associates with the video. By default, tag suggestions are relevant for all categories if there are no restricts defined for the keyword.
          items:
            type: string
          type: array
        tag:
          description: The keyword tag suggested for the video.
          type: string
      type: object
    VideoTopicDetails:
      description: Freebase topic information related to the video.
      properties:
        relevantTopicIds:
          description: Similar to topic_id, except that these topics are merely relevant to the video. These are topics that may be mentioned in, or appear in the video. You can retrieve information about each topic using Freebase Topic API.
          items:
            type: string
          type: array
        topicCategories:
          description: A list of Wikipedia URLs that provide a high-level description of the video's content.
          items:
            type: string
          type: array
        topicIds:
          description: A list of Freebase topic IDs that are centrally associated with the video. These are topics that are centrally featured in the video, and it can be said that the video is mainly about each of these. You can retrieve information about each topic using the < a href="http://wiki.freebase.com/wiki/Topic_API">Freebase Topic API.
          items:
            type: string
          type: array
      type: object
    WatchSettings:
      description: Branding properties for the watch. All deprecated.
      properties:
        backgroundColor:
          description: The text color for the video watch page's branded area.
          type: string
        featuredPlaylistId:
          description: An ID that uniquely identifies a playlist that displays next to the video player.
          type: string
        textColor:
          description: The background color for the video watch page's branded area.
          type: string
      type: object
  securitySchemes:
    Oauth2:
      description: Oauth 2.0 implicit authentication
      flows:
        implicit:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          scopes:
            https://www.googleapis.com/auth/youtube: Manage your YouTube account
            https://www.googleapis.com/auth/youtube.channel-memberships.creator: See a list of your current active channel members, their current level, and when they became a member
            https://www.googleapis.com/auth/youtube.force-ssl: See, edit, and permanently delete your YouTube videos, ratings, comments and captions
            https://www.googleapis.com/auth/youtube.readonly: View your YouTube account
            https://www.googleapis.com/auth/youtube.upload: Manage your YouTube videos
            https://www.googleapis.com/auth/youtubepartner: View and manage your assets and associated content on YouTube
            https://www.googleapis.com/auth/youtubepartner-channel-audit: View private information of your YouTube channel relevant during the audit process with a YouTube partner
      type: oauth2
    Oauth2c:
      description: Oauth 2.0 authorizationCode authentication
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          scopes:
            https://www.googleapis.com/auth/youtube: Manage your YouTube account
            https://www.googleapis.com/auth/youtube.channel-memberships.creator: See a list of your current active channel members, their current level, and when they became a member
            https://www.googleapis.com/auth/youtube.force-ssl: See, edit, and permanently delete your YouTube videos, ratings, comments and captions
            https://www.googleapis.com/auth/youtube.readonly: View your YouTube account
            https://www.googleapis.com/auth/youtube.upload: Manage your YouTube videos
            https://www.googleapis.com/auth/youtubepartner: View and manage your assets and associated content on YouTube
            https://www.googleapis.com/auth/youtubepartner-channel-audit: View private information of your YouTube channel relevant during the audit process with a YouTube partner
          tokenUrl: https://accounts.google.com/o/oauth2/token
      type: oauth2
