{
  "discoveryVersion": "v1",
  "rootUrl": "https://www.googleapis.com/",
  "baseUrl": "https://www.googleapis.com/",
  "parameters": {
    "oauth_token": {
      "location": "query",
      "description": "OAuth 2.0 token for the current user.",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "callback": {
      "location": "query",
      "type": "string",
      "description": "JSONP"
    },
    "alt": {
      "description": "Data format for response.",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string",
      "default": "json",
      "location": "query",
      "enum": [
        "json",
        "media",
        "proto"
      ]
    },
    "prettyPrint": {
      "type": "boolean",
      "default": "true",
      "location": "query",
      "description": "Returns response with indentations and line breaks."
    },
    "key": {
      "location": "query",
      "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.",
      "type": "string"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "description": "V1 error format.",
      "location": "query",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "type": "string"
    },
    "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.",
      "type": "string",
      "location": "query"
    }
  },
  "mtlsRootUrl": "https://www.mtls.googleapis.com/",
  "protocol": "rest",
  "title": "YouTube Content ID API",
  "ownerDomain": "google.com",
  "schemas": {
    "AssetLicensability": {
      "properties": {
        "licensabilityState": {
          "type": "string",
          "description": "The licensability state of the asset."
        },
        "unlicensableReason": {
          "description": "The reason for why the asset is not licensable.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "licensable": {
          "description": "Whether the reconciled asset is licensable.",
          "type": "boolean"
        }
      },
      "type": "object",
      "id": "AssetLicensability",
      "description": "Asset licensability information."
    },
    "AssetLabelListResponse": {
      "type": "object",
      "properties": {
        "pageInfo": {
          "$ref": "PageInfo",
          "description": "The `pageInfo` object encapsulates paging information for the result set."
        },
        "items": {
          "items": {
            "$ref": "AssetLabel"
          },
          "type": "array",
          "description": "A list of `assetLabel` resources that match the request criteria."
        },
        "nextPageToken": {
          "type": "string",
          "description": "The token that can be used as the value of the `pageToken` parameter to retrieve the next page of results."
        },
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#assetLabelList`.",
          "type": "string"
        }
      },
      "description": "A paginated list of `assetLabel` resources returned in response to a `assetLabel.list` request.",
      "id": "AssetLabelListResponse"
    },
    "Reference": {
      "description": "A reference represents the actual content of an asset. YouTube compares newly uploaded videos to a library of references for the purpose of automatically generating [claims](https://developers.google.com/youtube/partner/reference/rest/v1/claims) for the asset's owner(s).",
      "properties": {
        "id": {
          "type": "string",
          "description": "A value that YouTube assigns and uses to uniquely identify a reference."
        },
        "ignoreFpMatch": {
          "description": "Set this value to `true` to indicate that the reference should not be used to generate claims. This field is only used on AudioSwap references.",
          "type": "boolean"
        },
        "contentType": {
          "type": "string",
          "description": "The type of content that the reference represents."
        },
        "excludedIntervals": {
          "items": {
            "$ref": "ExcludedInterval"
          },
          "description": "The list of time intervals from this reference that will be ignored during the match process.",
          "type": "array"
        },
        "status": {
          "description": "The reference's status.",
          "type": "string"
        },
        "assetId": {
          "description": "The ID that uniquely identifies the asset that the reference is associated with.",
          "type": "string"
        },
        "audioswapEnabled": {
          "description": "Set this field's value to `true` to indicate that the reference content should be included in YouTube's AudioSwap program.",
          "type": "boolean"
        },
        "duplicateLeader": {
          "description": "The ID that uniquely identifies the reference that this reference duplicates. This field is only present if the reference's status is `inactive` with reason `REASON_DUPLICATE_FOR_OWNERS`.",
          "type": "string"
        },
        "claimId": {
          "description": "This field is present if the reference was created by associating an asset with an existing YouTube video that was uploaded to a YouTube channel linked to your CMS account. In that case, this field contains the ID of the claim representing the resulting association between the asset and the video.",
          "type": "string"
        },
        "videoId": {
          "description": "This field is present if the reference was created by associating an asset with an existing YouTube video that was uploaded to a YouTube channel linked to your CMS account. In that case, this field contains the ID of the source video.",
          "type": "string"
        },
        "length": {
          "type": "number",
          "description": "The length of the reference in seconds.",
          "format": "double"
        },
        "kind": {
          "description": "The type of the API resource. For `reference` resources, the value is `youtubePartner#reference`.",
          "type": "string"
        },
        "fpDirect": {
          "description": "When uploading a reference, set this value to `true` to indicate that the reference is a pre-generated fingerprint.",
          "type": "boolean"
        },
        "hashCode": {
          "type": "string",
          "description": "The MD5 hashcode of the reference content. Deprecated! This is no longer populated."
        },
        "urgent": {
          "description": "Set this value to `true` to indicate that YouTube should prioritize Content ID processing for a video file. YouTube processes urgent video files before other files that are not marked as urgent. This setting is primarily used for videos of live events or other videos that require time-sensitive processing. The sooner YouTube completes Content ID processing for a video, the sooner YouTube can match user-uploaded videos to that video. Marking all of your files as urgent could delay processing for those files.",
          "type": "boolean"
        },
        "statusReason": {
          "description": "An explanation of how a reference entered its current state. This value is only present if the reference's status is either `inactive` or `deleted`.",
          "type": "string"
        },
        "origination": {
          "description": "The `origination` object contains information that describes the reference source.",
          "$ref": "Origination"
        }
      },
      "type": "object",
      "id": "Reference"
    },
    "CuepointSettings": {
      "type": "object",
      "description": "A cuepoint settings resource includes all of the detailed settings for a cuepoint.",
      "properties": {
        "durationSecs": {
          "type": "integer",
          "format": "uint32",
          "description": "The cuepoint's duration, in seconds. This value must be specified if the [`cueType`](https://developers.google.com/youtube/partner/reference/rest/v1/liveCuepoints#CuepointSettings.FIELDS.cue_type) is `ad` and is ignored otherwise."
        },
        "walltime": {
          "description": "This value specifies the wall clock time at which the cuepoint should be inserted. The value is specified in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) (`YYYY-MM-DDThh:mm:ss.sssZ`) format.",
          "type": "string"
        },
        "offsetTimeMs": {
          "format": "int64",
          "type": "string",
          "description": "This value specifies a point in time in the video when viewers should see an ad or [in-stream slate](https://developers.google.com/youtube/v3/live/getting-started#Displaying_Slates). The property value identifies a time offset, in milliseconds, from the beginning of the monitor stream. Though measured in milliseconds, the value is actually an approximation, and YouTube will insert the cuepoint as closely as possible to that time. You should not specify a value for this parameter if your broadcast does not have a monitor stream. This property's default value is `0`, which indicates that the cuepoint should be inserted as soon as possible. If your broadcast stream is not delayed, then `0` is also the only valid value. However, if your broadcast stream is delayed, then the property value can specify the time when the cuepoint should be inserted. See the [Getting started](https://developers.google.com/youtube/v3/live/getting-started#Setting_Time_Offsets) guide for more details. **Note:** If your broadcast had a testing phase, the offset is measured from the time that the testing phase began."
        },
        "cueType": {
          "type": "string",
          "description": "The cuepoint's type. See the [Getting started](https://developers.google.com/youtube/v3/live/getting-started#Inserting_Cuepoints) guide for an explanation of the different types of cuepoints. Also see the [Life of a broadcast](https://developers.google.com/youtube/v3/live/life-of-a-broadcast#Insert_Cuepoints) document for best practices about inserting cuepoints during your broadcast."
        }
      },
      "id": "CuepointSettings"
    },
    "TotalMatch": {
      "properties": {
        "userVideoDurationSecs": {
          "description": "The total amount of content in the user video which matched the reference in seconds.",
          "format": "uint64",
          "type": "string"
        },
        "referenceDurationSecs": {
          "description": "The total amount of content in the reference which matched the user video in seconds.",
          "type": "string",
          "format": "uint64"
        }
      },
      "type": "object",
      "description": "Total claim match.",
      "id": "TotalMatch"
    },
    "Origination": {
      "id": "Origination",
      "properties": {
        "owner": {
          "type": "string",
          "description": "The content owner who provided the metadata or ownership information."
        },
        "source": {
          "description": "The mechanism by which the piece of metadata, ownership or relationship information was provided.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "This object contains information that describes the source of the metadata or ownership data."
    },
    "OwnershipHistoryListResponse": {
      "description": "A list of `ownershipHistory` resources associated with an asset.",
      "properties": {
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#ownershipHistoryList`."
        },
        "items": {
          "items": {
            "$ref": "RightsOwnershipHistory"
          },
          "description": "A list of ownership history (`youtubePartner#ownershipHistory`) resources that match the request criteria.",
          "type": "array"
        }
      },
      "id": "OwnershipHistoryListResponse",
      "type": "object"
    },
    "DesiredArtist": {
      "id": "DesiredArtist",
      "description": "The desired artist for reconciliation, as specified by a partner.",
      "properties": {
        "newArtist": {
          "type": "boolean",
          "description": "True iff there is no existing artist to associate with the release. channel_id should be unset if this is true."
        },
        "channelId": {
          "type": "string",
          "description": "The channel ID of the desired artist."
        },
        "supplementalInfo": {
          "description": "Generic supplemental information.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IncorrectPlayability": {
      "id": "IncorrectPlayability",
      "properties": {
        "supplementalInfo": {
          "description": "Generic supplemental information.",
          "type": "string"
        },
        "surfaces": {
          "items": {
            "enum": [
              "CHANGE_REQUEST_SURFACE_UNSPECIFIED",
              "YOUTUBE_MUSIC",
              "YOUTUBE"
            ],
            "type": "string",
            "enumDescriptions": [
              "Default value. This value is unused.",
              "YouTube Music App.",
              "YouTube Main."
            ]
          },
          "type": "array",
          "description": "The surfaces to which the reported change request applies."
        },
        "territorySet": {
          "description": "The territories to which the reported change request applies.",
          "$ref": "TerritorySet"
        },
        "rightsTypes": {
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Default value. This value is unused.",
              "Ad-based video on demand.",
              "Subscription-based video on demand."
            ],
            "enum": [
              "CHANGE_REQUEST_RIGHTS_TYPE_UNSPECIFIED",
              "AVOD",
              "SVOD"
            ]
          },
          "description": "The rights types to which the reported change request applies.",
          "type": "array"
        }
      },
      "type": "object",
      "description": "Corresponds to the '(Release / Art track) is not playable or visible as expected in product' option."
    },
    "TerritorySet": {
      "id": "TerritorySet",
      "description": "A collection of regions.",
      "type": "object",
      "properties": {
        "regionCodes": {
          "description": "List of regions with Unicode CLDR.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "everywhereComplement": {
          "description": "If true, this forms the complement of the below set of region_codes. Note that if this is true and region_codes is empty it means everywhere.",
          "type": "boolean"
        }
      }
    },
    "SpreadsheetTemplate": {
      "type": "object",
      "properties": {
        "templateType": {
          "type": "string",
          "description": "The template type."
        },
        "templateContent": {
          "type": "string",
          "description": "The template content."
        },
        "templateName": {
          "description": "The template name.",
          "type": "string"
        },
        "kind": {
          "description": "The type of the API resource. For spreadsheet template resources, the value is `youtubePartner#spreadsheetTemplate`.",
          "type": "string"
        },
        "status": {
          "description": "The template status.",
          "type": "string"
        }
      },
      "description": "This resource represents a spreadsheet template for a content owner.",
      "id": "SpreadsheetTemplate"
    },
    "ExcludedInterval": {
      "description": "Defines a time window within the reference that will be ignored during the match process.",
      "properties": {
        "origin": {
          "description": "The source of the request to exclude the interval from Content ID matching.",
          "type": "string"
        },
        "low": {
          "type": "number",
          "description": "The start (inclusive) time in seconds of the time window. The value can be any value between `0` and `high`. Every interval must specify a value for this field.",
          "format": "double"
        },
        "timeCreated": {
          "description": "The date and time that the exclusion was created. The value is specified in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) (`YYYY-MM-DDThh:mm:ss.000Z`) format.",
          "type": "string"
        },
        "high": {
          "type": "number",
          "format": "double",
          "description": "The end (inclusive) time in seconds of the time window. The value can be any value greater than `low`. If `high` is greater than the length of the reference, the interval between `low` and the end of the reference will be excluded. Every interval must specify a value for this field."
        }
      },
      "id": "ExcludedInterval",
      "type": "object"
    },
    "AssetRelationship": {
      "description": "An `assetRelationship` resource identifies two related assets in which one asset is treated as a parent (containing) asset and the other is a child (contained) asset. For example, a composition asserted asset contains sound recording assets, and each sound recording asset contains music video assets.",
      "id": "AssetRelationship",
      "properties": {
        "childAssetId": {
          "description": "The ID of the child (contained) asset.",
          "type": "string"
        },
        "kind": {
          "description": "The type of the API resource. For this resource, the value is `youtubePartner#assetRelationship`.",
          "type": "string"
        },
        "id": {
          "description": "A value that YouTube assigns and uses to uniquely identify the asset relationship.",
          "type": "string"
        },
        "parentAssetId": {
          "type": "string",
          "description": "The ID of the parent (containing) asset."
        }
      },
      "type": "object"
    },
    "ValidateResponse": {
      "type": "object",
      "id": "ValidateResponse",
      "properties": {
        "errors": {
          "type": "array",
          "description": "The list of errors and/or warnings.",
          "items": {
            "$ref": "ValidateError"
          }
        },
        "status": {
          "description": "The validation status.",
          "type": "string"
        },
        "kind": {
          "description": "The type of the API resource. For this operation, the value is `youtubePartner#validateResponse`.",
          "type": "string"
        }
      },
      "description": "Response from validation request."
    },
    "Segment": {
      "properties": {
        "duration": {
          "type": "string",
          "format": "uint64",
          "description": "The duration of the segment in milliseconds."
        },
        "start": {
          "format": "uint64",
          "type": "string",
          "description": "The start time of the segment, measured in milliseconds from the beginning."
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For segment resources, the value is `youtubePartner#segment`."
        }
      },
      "type": "object",
      "id": "Segment",
      "description": "This resource represents a simple segment with start and finish time formatted as a \"hh:mm:ss.mmm\" string."
    },
    "VideoAdvertisingOption": {
      "properties": {
        "kind": {
          "description": "The type of the API resource. For this resource, the value is `youtubePartner#videoAdvertisingOption`.",
          "type": "string"
        },
        "adFormats": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of ad formats that the video is allowed to show. Note: as of November 2023, only `third_party` can be enabled/disabled in this column. See [support article](https://support.google.com/youtube/thread/233723152) for more information. The following ad format controls are no longer available and should not be included in the API request: `instream_standard`, `display`, `preroll`, `postroll`."
        },
        "tpAdServerVideoId": {
          "description": "A value that uniquely identifies the video to the third-party ad server.",
          "type": "string"
        },
        "adBreaks": {
          "description": "A list of times when YouTube can show an in-stream advertisement during playback of the video.",
          "type": "array",
          "items": {
            "$ref": "AdBreak"
          }
        },
        "id": {
          "type": "string",
          "description": "The ID that YouTube uses to uniquely identify the video associated with the advertising settings."
        },
        "tpUrlParameters": {
          "description": "A parameter string to append to the end of the request to the third-party ad server.",
          "type": "string"
        },
        "autoGeneratedBreaks": {
          "type": "boolean",
          "description": "Enables this video for automatically generated midroll breaks. If autoGeneratedBreaks is set to true on a video with adBreaks defined, our systems will identify places to show ads in addition to your manually placed ad slots."
        },
        "tpTargetingUrl": {
          "description": "The base URL for a third-party ad server from which YouTube can retrieve in-stream ads for the video.",
          "type": "string"
        },
        "breakPosition": {
          "items": {
            "type": "string"
          },
          "description": "The point at which the break occurs during the video playback.",
          "type": "array"
        }
      },
      "id": "VideoAdvertisingOption",
      "description": "The advertising settings for a video. The settings identify the types of ads that can run during the video as well as the times when ads are allowed to run during the video.",
      "type": "object"
    },
    "PromotedContent": {
      "description": "This object contains the links as the promotional target of a campaign.",
      "properties": {
        "link": {
          "type": "array",
          "items": {
            "$ref": "CampaignTargetLink"
          },
          "description": "A list of link targets that will be used to generate the annotation link that appears on videos included in the [campaign](https://support.google.com/youtube/answer/6078374?ref_topic=4515467). If more than one link is specified, the link that is displayed to viewers will be randomly selected from the list."
        }
      },
      "type": "object",
      "id": "PromotedContent"
    },
    "ReferenceListResponse": {
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "The token that can be used as the value of the `pageToken` parameter to retrieve the next page in the result set."
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "Reference"
          },
          "description": "A list of references that match the request criteria."
        },
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#referenceList`."
        },
        "pageInfo": {
          "$ref": "PageInfo",
          "description": "The `pageInfo` object encapsulates paging information for the result set."
        }
      },
      "id": "ReferenceListResponse",
      "type": "object",
      "description": "A paginated list of resources returned in response to a `references.list` request."
    },
    "ValidateStatusRequest": {
      "type": "object",
      "id": "ValidateStatusRequest",
      "properties": {
        "kind": {
          "description": "The type of the API resource. For this operation, the value is `youtubePartner#validateStatusRequest`.",
          "type": "string"
        },
        "validationId": {
          "description": "The validation ID.",
          "type": "string"
        },
        "locale": {
          "type": "string",
          "description": "The desired locale of the error messages as defined in BCP 47 (http: //tools.ietf.org/html/bcp47). For example, \"en-US\" or \"de\". If not specified we will return the error messages in English (\"en\")."
        }
      },
      "description": "Request to validate the status of a validation request."
    },
    "TerritoryCondition": {
      "id": "TerritoryCondition",
      "properties": {
        "type": {
          "description": "This field indicates whether the associated policy rule is or is not valid in the specified territories.",
          "type": "string"
        },
        "territories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of territories. Each territory is an [ISO 3166 two-letter country code](http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm)."
        }
      },
      "description": "Territory condition used by policy rule's conditions.",
      "type": "object"
    },
    "Segment2": {
      "type": "object",
      "properties": {
        "finish": {
          "description": "The finish time of the segment, measured in milliseconds from the beginning.",
          "type": "string"
        },
        "start": {
          "description": "The start time of the segment, measured in milliseconds from the beginning.",
          "type": "string"
        },
        "kind": {
          "description": "The type of the API resource. For segment resources, the value is `youtubePartner#segment`.",
          "type": "string"
        }
      },
      "id": "Segment2",
      "description": "This resource represents a another simple segment with start and finish time formatted as a \"hh:mm:ss.mmm\" string."
    },
    "AssetLabel": {
      "id": "AssetLabel",
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For `assetLabel` resources, this value is `youtubePartner#assetLabel`."
        },
        "labelName": {
          "description": "Name of the asset label.",
          "type": "string"
        }
      },
      "description": "An `assetLabel` resource represents an Asset Label for a certain content owner."
    },
    "ValidateAsyncResponse": {
      "description": "Response to a `validator.validateAsync` request.",
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For this operation, the value is `youtubePartner#validateAsyncResponse`."
        },
        "validationId": {
          "description": "The validation ID.",
          "type": "string"
        },
        "status": {
          "type": "string",
          "description": "The validation status."
        }
      },
      "id": "ValidateAsyncResponse"
    },
    "MusicRelease": {
      "type": "object",
      "id": "MusicRelease",
      "description": "A representation of a music release.",
      "properties": {
        "title": {
          "type": "string",
          "description": "The title of this release."
        },
        "name": {
          "description": "The resource name of the music release. Format: releases/{release}",
          "type": "string"
        },
        "hasOpenChangeRequest": {
          "description": "The release has at least one ChangeRequest in open status.",
          "type": "boolean"
        },
        "artists": {
          "description": "List of artists for the release.",
          "type": "array",
          "items": {
            "$ref": "Artist"
          }
        },
        "playlistId": {
          "type": "string",
          "description": "The OMV-preferred playlist."
        }
      }
    },
    "AdBreak": {
      "properties": {
        "position": {
          "description": "The point at which the break occurs during the video playback.",
          "type": "string"
        },
        "midrollSeconds": {
          "description": "The time of the ad break specified as the number of seconds after the start of the video when the break occurs.",
          "format": "int32",
          "type": "integer"
        }
      },
      "id": "AdBreak",
      "description": "An `adBreak` resource contains information about a time when YouTube can show an in-stream advertisement during video playback.",
      "type": "object"
    },
    "Uploader": {
      "properties": {
        "uploaderName": {
          "type": "string",
          "description": "The uploader name."
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For uploader resources, the value is `youtubePartner#uploader`."
        }
      },
      "type": "object",
      "description": "Represents a uploader for a content owner.",
      "id": "Uploader"
    },
    "ListMusicReleasesResponse": {
      "properties": {
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "releases": {
          "description": "The requested music releases.",
          "type": "array",
          "items": {
            "$ref": "MusicRelease"
          }
        }
      },
      "type": "object",
      "id": "ListMusicReleasesResponse",
      "description": "A response to list music releases."
    },
    "Asset": {
      "type": "object",
      "description": "An `asset` resource represents a piece of intellectual property, such as a sound recording or television episode. If an asset is already owned by another content owner, you must add your ownership to the asset (using the `ownership.update` or `ownership.patch` method) before you can update its metadata (using `assets.update` or `assets.patch`) or its match policy (using `assetMatchPolicy.update` or `assetMatchPolicy.patch`).",
      "id": "Asset",
      "properties": {
        "matchPolicyMine": {
          "$ref": "AssetMatchPolicy"
        },
        "licensability": {
          "$ref": "AssetLicensability",
          "description": "Asset licensability information."
        },
        "ownershipMine": {
          "$ref": "RightsOwnership"
        },
        "metadataMine": {
          "$ref": "Metadata"
        },
        "status": {
          "description": "The asset's status.",
          "type": "string"
        },
        "ownership": {
          "description": "The `ownership` object identifies an asset's owners and provides additional details about their ownership, such as the territories where they own the asset.",
          "$ref": "RightsOwnership"
        },
        "aliasId": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "A list of asset IDs that can be used to refer to the asset. The list contains values if the asset represents multiple constituent assets that have been merged. In that case, any of the asset IDs originally assigned to the constituent assets could be used to update the master, or synthesized, asset."
        },
        "label": {
          "description": "A list of asset labels on the asset.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "metadata": {
          "$ref": "Metadata",
          "description": "The `metadata` object contains information that identifies and describes the asset. This information could be used to search for the asset or to eliminate duplication within YouTube's database."
        },
        "ownershipConflicts": {
          "$ref": "OwnershipConflicts",
          "description": "The `ownershipConflicts` object contains information about the asset's ownership conflicts."
        },
        "id": {
          "description": "An ID that YouTube assigns and uses to uniquely identify the asset.",
          "type": "string"
        },
        "matchPolicy": {
          "description": "The `matchPolicy` object contains information about the asset's match policy, which YouTube applies to user-uploaded videos that match the asset.",
          "$ref": "AssetMatchPolicy"
        },
        "type": {
          "description": "The asset's type. This value determines the metadata fields that you can set for the asset. In addition, certain API functions may only be supported for specific types of assets. For example, composition assets may have more complex ownership data than other types of assets. Valid values for this property are: * `art_track_video` * `composition` * `episode` * `general` * `movie` * `music_video` * `season` * `show` * `sound_recording` * `video_game` * `web`",
          "type": "string"
        },
        "nWayRevenueSharing": {
          "description": "N way revenue sharing (Pangea) information.",
          "$ref": "NWayRevenueSharing"
        },
        "kind": {
          "description": "The type of the API resource. For `asset` resources, the value is `youtubePartner#asset`.",
          "type": "string"
        },
        "ownershipEffective": {
          "$ref": "RightsOwnership"
        },
        "matchPolicyEffective": {
          "$ref": "AssetMatchPolicy"
        },
        "metadataEffective": {
          "$ref": "Metadata"
        },
        "timeCreated": {
          "description": "The date and time the asset was created. The value is specified in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) (`YYYY-MM-DDThh:mm:ss.000Z`) format.",
          "type": "string"
        }
      }
    },
    "DesiredMusicVideo": {
      "description": "The desired music video to associate with an Art Track, as specified by a partner.",
      "id": "DesiredMusicVideo",
      "properties": {
        "supplementalInfo": {
          "type": "string",
          "description": "Generic supplemental information."
        },
        "noMusicVideo": {
          "description": "True iff no music video should be associated with the track. video_id should be unset if this is true.",
          "type": "boolean"
        },
        "videoId": {
          "description": "The video ID of the desired music video to associate with the track.",
          "type": "string"
        },
        "territorySet": {
          "description": "The territories where this music video association should apply.",
          "$ref": "TerritorySet"
        }
      },
      "type": "object"
    },
    "TerritoriesIneligibleForNWayRevenueSharing": {
      "description": "Information about territories where an asset is not eligible for n-way revshare.",
      "type": "object",
      "id": "TerritoriesIneligibleForNWayRevenueSharing",
      "properties": {
        "reason": {
          "type": "string",
          "description": "Ineligibility reason for teritorries listed below."
        },
        "territories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Each country is represented by its two-letter ISO country code (ISO 3166-1 alpha-2)."
        }
      }
    },
    "IntervalCondition": {
      "description": "Identifies the minimum and maximum values associated with a match condition. If a potential match falls within the specified range, then the condition is satisfied.",
      "properties": {
        "high": {
          "type": "number",
          "format": "double",
          "description": "The maximum (inclusive) allowed value for the condition to be satisfied. The default value is `∞`."
        },
        "low": {
          "description": "The minimum (inclusive) allowed value for the condition to be satisfied. The default value is `-∞`.",
          "format": "double",
          "type": "number"
        }
      },
      "id": "IntervalCondition",
      "type": "object"
    },
    "Artist": {
      "type": "object",
      "description": "Info of the artist, such as name and isni.",
      "id": "Artist",
      "properties": {
        "isni": {
          "type": "string",
          "description": "The unique identifier of the artist."
        },
        "displayName": {
          "type": "string",
          "description": "The name of the artist."
        }
      }
    },
    "ValidateStatusResponse": {
      "id": "ValidateStatusResponse",
      "type": "object",
      "properties": {
        "isMetadataOnly": {
          "type": "boolean",
          "description": "If this is a metadata-only package."
        },
        "kind": {
          "description": "The type of the API resource. For this operation, the value is `youtubePartner#validateStatusResponse`.",
          "type": "string"
        },
        "errors": {
          "type": "array",
          "description": "The list of errors and/or warnings.",
          "items": {
            "$ref": "ValidateError"
          }
        },
        "status": {
          "type": "string",
          "description": "The validation status."
        }
      },
      "description": "Response to a `validator.validateAsyncStatus` request."
    },
    "AssetSnippet": {
      "type": "object",
      "description": "The asset search collection enables you to search within the set of all assets. Each search result contains a snippet that provides key details about an asset. Note that the asset metadata returned in search results may be slightly out of date. If you intend to [update](https://developers.google.com/youtube/v3/docs/assets/update) an asset in the search result set, you should first retrieve the asset's complete and up-to-date metadata using either the [`assets.get()`](https://developers.google.com/youtube/partner/docs/v1/assets/get) method or the [`assets.list()`](https://developers.google.com/youtube/partner/docs/v1/assets/list) method.",
      "id": "AssetSnippet",
      "properties": {
        "id": {
          "description": "An ID that YouTube assigns and uses to uniquely identify the asset.",
          "type": "string"
        },
        "kind": {
          "description": "The type of the API resource. For this operation, the value is `youtubePartner#assetSnippet`.",
          "type": "string"
        },
        "iswc": {
          "description": "The ISWC (International Standard Musical Work Code) for this asset.",
          "type": "string"
        },
        "isrcs": {
          "description": "The ISRCs (International Standard Recording Code) for this asset.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "title": {
          "type": "string",
          "description": "Title of this asset."
        },
        "type": {
          "description": "The asset's type. This value determines which metadata fields might be included in the `metadata` object.",
          "type": "string"
        },
        "isrc": {
          "description": "The ISRC (International Standard Recording Code) for this asset.",
          "type": "string"
        },
        "customId": {
          "type": "string",
          "description": "Custom ID assigned by the content owner to this asset."
        },
        "iswcs": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "The ISWCs (International Standard Musical Work Code) for this asset."
        },
        "timeCreated": {
          "type": "string",
          "description": "The date and time the asset was created. The value is specified in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) (`YYYY-MM-DDThh:mm:ss.000Z`) format."
        }
      }
    },
    "PageInfo": {
      "id": "PageInfo",
      "type": "object",
      "description": "Contains details about the total number of results for an API response as well as the number of results returned in the response.",
      "properties": {
        "startIndex": {
          "format": "int32",
          "type": "integer",
          "description": "The index of the first item in the API response."
        },
        "totalResults": {
          "description": "The total number of results in the result set.",
          "type": "integer",
          "format": "int32"
        },
        "resultsPerPage": {
          "type": "integer",
          "description": "The number of results included in the API response.",
          "format": "int32"
        }
      }
    },
    "TerritoryConflicts": {
      "id": "TerritoryConflicts",
      "type": "object",
      "description": "Method to look up territories with ownership conflicts.",
      "properties": {
        "conflictingOwnership": {
          "description": "A list of conflicting ownerships.",
          "type": "array",
          "items": {
            "$ref": "ConflictingOwnership"
          }
        },
        "territory": {
          "description": "Territories where the ownership conflict is present. A territory is an [ISO 3166 two-letter country code](http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm).",
          "type": "string"
        }
      }
    },
    "MetadataHistoryListResponse": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#metadataHistoryList`."
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "MetadataHistory"
          },
          "description": "A list of metadata history (`youtubePartner#metadataHistory`) resources that match the request criteria."
        }
      },
      "description": "A list of metadata history resources associated with an asset.",
      "id": "MetadataHistoryListResponse"
    },
    "TerritoryOwners": {
      "properties": {
        "owner": {
          "description": "The name of the asset's owner or rights administrator.",
          "type": "string"
        },
        "publisher": {
          "description": "The name of the asset's publisher. This field is only used for composition assets, and it is used when the asset owner is not known to have a formal relationship established with YouTube.",
          "type": "string"
        },
        "ratio": {
          "format": "double",
          "description": "The percentage of the asset that the owner controls or administers. For composition assets, the value can be any value between `0` and `100` inclusive. For all other assets, the only valid values are `100`, which indicates that the owner completely owns the asset in the specified territories, and `0`, which indicates that you are removing ownership of the asset in the specified territories.",
          "type": "number"
        },
        "type": {
          "description": "This field indicates whether the ownership data applies or does not apply in the specified territories.",
          "type": "string"
        },
        "territories": {
          "description": "A list of territories where the owner owns (or does not own) the asset. Each territory is an [ISO 3166](http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm).",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object",
      "description": "Represents ownership conflict in a single territory.",
      "id": "TerritoryOwners"
    },
    "ContentOwner": {
      "id": "ContentOwner",
      "description": "A `contentOwner` resource represents an organization or other entity that owns content or administers content on YouTube.",
      "properties": {
        "kind": {
          "description": "The type of the API resource. For content owner resources, the value is `youtubePartner#contentOwner`.",
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "description": "The content owner's display name."
        },
        "conflictNotificationEmail": {
          "description": "The email address visible to other partners for use in managing asset ownership conflicts.",
          "type": "string"
        },
        "id": {
          "description": "A unique ID that YouTube uses to identify the content owner.",
          "type": "string"
        },
        "primaryNotificationEmails": {
          "items": {
            "type": "string"
          },
          "description": "The email address(es) to which YouTube sends CMS account details and report notifications.",
          "type": "array"
        },
        "disputeNotificationEmails": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The email address(es) to which YouTube sends claim dispute notifications and possible claim notifications."
        },
        "fingerprintReportNotificationEmails": {
          "type": "array",
          "description": "The email address(es) to which YouTube sends fingerprint reports.",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object"
    },
    "ClaimSnippet": {
      "properties": {
        "origin": {
          "$ref": "YoutubePartnerApiProtoFrontendV1Origin"
        },
        "videoViews": {
          "description": "Number of engaged views for the claimed video.",
          "format": "uint64",
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "The ID that YouTube assigns and uses to uniquely identify the claim."
        },
        "videoTitle": {
          "type": "string",
          "description": "The title of the claimed video."
        },
        "studioInfo": {
          "$ref": "StudioInfo",
          "description": "Contains URLs linking back to claim-related pages in Studio."
        },
        "engagedViews": {
          "type": "string",
          "description": "Number of engaged views for the claimed video.",
          "format": "int64"
        },
        "assetId": {
          "description": "The unique YouTube asset ID that identifies the asset associated with the claim.",
          "type": "string"
        },
        "timeStatusLastModified": {
          "type": "string",
          "description": "The time the claim status and/or status detail was last modified."
        },
        "contentType": {
          "type": "string",
          "description": "This value indicates whether the claim covers the audio, video, or audiovisual portion of the claimed content."
        },
        "isPartnerUploaded": {
          "type": "boolean",
          "description": "Indicates whether or not the claim is a partner uploaded claim."
        },
        "thirdPartyClaim": {
          "type": "boolean",
          "description": "Indicates that this is a third party claim."
        },
        "status": {
          "type": "string",
          "description": "The claim's status."
        },
        "videoId": {
          "description": "The unique YouTube video ID that identifies the video associated with the claim.",
          "type": "string"
        },
        "isVideoShortsEligible": {
          "description": "Indicates whether or not the claim is on a video that is eligible for YouTube Shorts.",
          "type": "boolean"
        },
        "timeCreated": {
          "type": "string",
          "description": "The time the claim was created."
        },
        "kind": {
          "description": "The type of the API resource. For this operation, the value is `youtubePartner#claimSnippet`.",
          "type": "string"
        }
      },
      "description": "The claim search collection lets you search within the set of your claims for claims that are associated with a specific asset ID or video ID or that match a specified query string.",
      "type": "object",
      "id": "ClaimSnippet"
    },
    "ReferenceConflict": {
      "description": "A `referenceConflict` resource identifies a conflict between two reference files and lists the matches that existed between those files when the conflict was identified.",
      "properties": {
        "status": {
          "type": "string",
          "description": "The referenceConflict's status."
        },
        "matches": {
          "items": {
            "$ref": "ReferenceConflictMatch"
          },
          "description": "The list of matches between conflicting and original references at the time of conflict creation.",
          "type": "array"
        },
        "conflictingReferenceId": {
          "description": "An id of a conflicting reference.",
          "type": "string"
        },
        "expiryTime": {
          "description": "Conflict review expiry time.",
          "type": "string"
        },
        "originalReferenceId": {
          "type": "string",
          "description": "An id of an original reference."
        },
        "kind": {
          "description": "The type of the API resource. For `referenceConflict` resources, the value is `youtubePartner#referenceConflict`.",
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "A value that YouTube assigns and uses to uniquely identify a reference conflict."
        }
      },
      "type": "object",
      "id": "ReferenceConflict"
    },
    "NWayRevenueSharing": {
      "type": "object",
      "description": "Information asset's n-way revshare.",
      "properties": {
        "eligibleTerritories": {
          "description": "Each country is represented by its two-letter ISO country code (ISO 3166-1 alpha-2).",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ineligibleTerritories": {
          "type": "array",
          "description": "Information about teritorries in which an asset is ineligible for n-way revenue sharing.",
          "items": {
            "$ref": "TerritoriesIneligibleForNWayRevenueSharing"
          }
        },
        "status": {
          "type": "string",
          "description": "Status of n-way revenue sharing."
        }
      },
      "id": "NWayRevenueSharing"
    },
    "PolicyRule": {
      "id": "PolicyRule",
      "type": "object",
      "description": "This object represents a policy rule, which specifies a set of conditions that must be met and the action that YouTube should take when those conditions are met. For a rule to be valid, all of the rule's conditions must be satisfied.",
      "properties": {
        "subaction": {
          "description": "A list of additional actions that YouTube should take if the conditions in the rule are met.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "conditions": {
          "description": "A set of conditions that must be met for the rule's action (and subactions) to be enforced. For a rule to be valid, all of its conditions must be met.",
          "$ref": "Conditions"
        },
        "action": {
          "type": "string",
          "description": "The policy that YouTube should enforce if the rule's conditions are all valid for an asset or for an attempt to view that asset on YouTube."
        }
      }
    },
    "ClaimSearchResponse": {
      "type": "object",
      "id": "ClaimSearchResponse",
      "properties": {
        "items": {
          "description": "A list of claims that match the request criteria.",
          "type": "array",
          "items": {
            "$ref": "ClaimSnippet"
          }
        },
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#claimSnippetList`.",
          "type": "string"
        },
        "nextPageToken": {
          "type": "string",
          "description": "The token that can be used as the value of the `pageToken` parameter to retrieve the next page in the result set."
        },
        "pageInfo": {
          "$ref": "PageInfo",
          "description": "The `pageInfo` object encapsulates paging information for the result set."
        },
        "previousPageToken": {
          "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"
        }
      },
      "description": "A paginated list of claim snippets returned in response to a `claimSearch.list` call."
    },
    "LiveCuepoint": {
      "type": "object",
      "id": "LiveCuepoint",
      "properties": {
        "kind": {
          "description": "The type of the API resource. For `liveCuepoint` resources, the value is `youtubePartner#liveCuepoint`.",
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "A value that YouTube assigns to uniquely identify the cuepoint."
        },
        "broadcastId": {
          "type": "string",
          "description": "The ID that YouTube assigns to uniquely identify the broadcast into which the cuepoint is being inserted."
        },
        "settings": {
          "description": "The `settings` object defines the cuepoint's settings.",
          "$ref": "CuepointSettings"
        }
      },
      "description": "A cuepoint resource represents a specific marker at a certain time of the live broadcast, which can trigger a given event, for example, showing an ad or a slate."
    },
    "ListMusicChangeRequestsResponse": {
      "properties": {
        "changeRequests": {
          "type": "array",
          "items": {
            "$ref": "MusicChangeRequest"
          },
          "description": "The requested music change requests."
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        }
      },
      "type": "object",
      "id": "ListMusicChangeRequestsResponse",
      "description": "A response to list music change requests."
    },
    "Metadata": {
      "id": "Metadata",
      "description": "The metadata for an asset. Some metadata fields are only valid for certain types of assets.",
      "properties": {
        "showTitle": {
          "type": "string",
          "description": "The name of the show that an episode asset is associated with. **Note:** This tag is only used for and valid for episodes that are not associated with show assets and enables those assets to still display a show title in the asset metadata section of CMS. This field has a maximum length of 120 bytes."
        },
        "infoUrl": {
          "description": "An official URL associated with the asset. This field has a maximum length of 1536 bytes. Please do not submit a 1537-byte URL. Your efforts would be futile.",
          "type": "string"
        },
        "description": {
          "description": "A description of the asset. The description may be displayed on YouTube or in CMS. This field has a maximum length of 5,000 bytes.",
          "type": "string"
        },
        "tmsId": {
          "description": "TMS (Tribune Media Systems) ID for the asset.",
          "type": "string"
        },
        "actor": {
          "description": "A list that identifies actors associated with the asset. You can specify up to 50 actors for an asset.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "totalEpisodesExpected": {
          "format": "uint32",
          "description": "Specifies the total number of full-length episodes in the season. This value is used only for season assets.",
          "type": "integer"
        },
        "hfa": {
          "type": "string",
          "description": "The six-character Harry Fox Agency (HFA) song code issued to uniquely identify a composition. This value is only valid for composition assets."
        },
        "label": {
          "description": "The record label that released a sound recording asset. This field is only valid for sound recording assets and has a maximum length of 255 bytes.",
          "type": "string"
        },
        "releaseDate": {
          "description": "The date that an asset was publicly released. For season assets, this value specifies the first date that the season aired. Dates prior to the year 1902 are not supported. This value is valid for episode, season, movie, music video, and sound recording assets. It is required for the assets listed below and otherwise optional: * Episode assets that are linked to a show * Movie assets that appear in YouTube's [Movies](http://www.youtube.com/movies) category",
          "$ref": "Date"
        },
        "producer": {
          "type": "array",
          "description": "A list that identifies producers of the asset. You can specify up to 50 producers for an asset.",
          "items": {
            "type": "string"
          }
        },
        "album": {
          "description": "The album on which a sound recording asset is included. This field is only valid for sound recording assets and has a maximum length of 255 bytes.",
          "type": "string"
        },
        "notes": {
          "description": "Additional information that does not map directly to one of the other metadata fields. This field has a maximum length of 255 bytes.",
          "type": "string"
        },
        "writer": {
          "items": {
            "type": "string"
          },
          "description": "A list that identifies writers associated with the asset. You can specify up to 50 writers for an asset.",
          "type": "array"
        },
        "episodesAreUntitled": {
          "type": "boolean",
          "description": "This value indicates that the episodes associated with a particular show asset or a particular season asset are untitled. An untitled show (or season) has episodes which are identified by their episode number or date. If this field is set to `true`, then YouTube will optimize the title displayed for associated episodes."
        },
        "endYear": {
          "description": "The last year that a television show aired. This value is only used for show assets, for which it is optional. Do not specify a value if new show episodes are still being created.",
          "format": "uint32",
          "type": "integer"
        },
        "copyrightDate": {
          "$ref": "Date",
          "description": "The date copyright for this asset was established. *"
        },
        "isrc": {
          "description": "The ISRC (International Standard Recording Code) of a music video or sound recording asset. This field's value must contain exactly 12 alphanumeric characters.",
          "type": "string"
        },
        "episodeNumber": {
          "description": "The episode number associated with an episode asset. This field is required for and only used for episode assets that are linked to show assets. It has a maximum length of 5 bytes.",
          "type": "string"
        },
        "grid": {
          "type": "string",
          "description": "The GRID (Global Release Identifier) of a music video or sound recording. This field's value must contain exactly 18 alphanumeric characters."
        },
        "title": {
          "type": "string",
          "description": "The asset's title or name. The value has a maximum length of 255 bytes. This value is required for the assets listed below and optional for all other assets: * Show assets * Episode assets that are linked to a show * Movie assets that appear in YouTube's [Movies](http://www.youtube.com/movies) category * Sound recordings included in the AudioSwap program"
        },
        "upc": {
          "description": "The UPC (Universal Product Code) associated with the asset.",
          "type": "string"
        },
        "seasonNumber": {
          "description": "The season number that identifies a season asset, or the season number that is associated with an episode asset. This field has a maximum length of 5 bytes.",
          "type": "string"
        },
        "spokenLanguage": {
          "type": "string",
          "description": "The video's primary spoken language. The value can be any [ISO 639-1 two-letter language code](http://www.loc.gov/standards/iso639-2/php/code_list.php). This value is only used for episode and movie assets and is not valid for other types of assets."
        },
        "contentType": {
          "description": "The type of video content that the asset represents. This field is only valid for movie and episode assets, and is required for the following types of those assets: * Episode assets that are linked to a show * Movie assets that appear in YouTube's [Movies](http://www.youtube.com/movies) category",
          "type": "string"
        },
        "broadcaster": {
          "type": "array",
          "description": "Identifies the network or channel that originally broadcast a show or a season of a show. This field should only be included for an asset if the broadcaster associated with the asset is different from the partner uploading the asset to YouTube. Note that a show may have multiple broadcasters; for example, a show may switch networks between seasons.",
          "items": {
            "type": "string"
          }
        },
        "director": {
          "description": "A list that identifies directors associated with the asset. You can specify up to 50 directors for an asset.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ratings": {
          "items": {
            "$ref": "Rating"
          },
          "description": "A list of ratings that an asset received. The rating must be valid under the specified rating system.",
          "type": "array"
        },
        "artist": {
          "items": {
            "type": "string"
          },
          "description": "The artist associated with a music video or sound recording asset. This field is only valid for music video and sound recording assets. It is required for sound recordings included in the AudioSwap program.",
          "type": "array"
        },
        "subtitledLanguage": {
          "type": "array",
          "description": "A list of languages for which the video has either a separate caption track or burnt-in captions that are part of the video. Each value in the list should be an [ISO 639-1 two-letter language code](http://www.loc.gov/standards/iso639-2/php/code_list.php). This value is only used for episode and movie assets and is not valid for other types of assets.",
          "items": {
            "type": "string"
          }
        },
        "customId": {
          "description": "A unique value that you, the metadata provider, use to identify an asset. The value could be a unique ID that you created for the asset or a standard identifier, such as an ISRC. The value has a maximum length of 64 bytes and may contain alphanumeric characters, hyphens (`-`), underscores (`_`), periods (`.`), \"at\" symbols (`@`), or forward slashes (`/`).",
          "type": "string"
        },
        "keyword": {
          "description": "A list of up to 100 keywords associated with a show asset. This field is required for and also only used for show assets.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "isan": {
          "type": "string",
          "description": "The ISAN (International Standard Audiovisual Number) for the asset. This value is only used for episode and movie assets and is optional in both cases. The value contains 26 characters, which includes the 24 hexadecimal characters of the ISAN as well as two check characters, in the following format: * The first 16 characters in the tag value contain hexadecimal characters specifying the 'root' and 'episode' components of the ISAN. * The seventeenth character is a check character (a letter from A-Z). * Characters 18 to 25 are the remaining eight characters of the ISAN, which specify the 'version' component of the ISAN. * The twenty-sixth character is another check character (A-Z)."
        },
        "originalReleaseMedium": {
          "type": "string",
          "description": "The method by which people first had the opportunity to see a video asset. This value is only used for episode and movie assets. It is required for the assets listed below and otherwise optional: * Episode assets that are linked to a show * Movie assets that appear in YouTube's [Movies](http://www.youtube.com/movies) category"
        },
        "startYear": {
          "description": "The first year that a television show aired. This value is required for and also only used for show assets.",
          "type": "integer",
          "format": "uint32"
        },
        "iswc": {
          "description": "The ISWC (International Standard Musical Work Code) for a composition asset. The field's value must contain exactly 11 characters in the format of a letter (T) followed by 10 digits.",
          "type": "string"
        },
        "genre": {
          "description": "This field specifies a genre that can be used to categorize an asset. Assets may be categorized in more than one genre, and YouTube uses different sets of genres to categorize different types of assets. For example, `Soaps` might be a valid genre for a show but not for a movie or sound recording. * Show assets * Movie assets that appear in YouTube's [Movies](http://www.youtube.com/movies) category * Sound recordings included in the AudioSwap program",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "showCustomId": {
          "description": "The `customId` of the show asset that a season or episode asset is associated with. It is required for season and episode assets that appear in the [Shows](http://www.youtube.com/shows) category on YouTube, and it is not valid for other types of assets. This field has a maximum length of 64 bytes and may contain alphanumeric characters, hyphens (`-`), underscores (`_`), periods (`.`), \"at\" symbols (`@`), or forward slashes (`/`).",
          "type": "string"
        },
        "eidr": {
          "type": "string",
          "description": "The Entertainment Identifier Registry (EIDR) assigned to an asset. This value is only used for episode and movie assets and is optional in both cases. The value contains a standard prefix for EIDR registry, followed by a forward slash, a 20-character hexadecimal string, and an alphanumeric (0-9A-Z) check character."
        },
        "category": {
          "description": "Category of this asset.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MatchInfo": {
      "id": "MatchInfo",
      "description": "Match information about the claim.",
      "type": "object",
      "properties": {
        "referenceId": {
          "type": "string",
          "description": "The [reference](https://developers.google.com/youtube/partner/reference/rest/v1/reference) ID that generated this match."
        },
        "longestMatch": {
          "description": "Details of the longest match between the reference and the user video.",
          "$ref": "LongestMatch"
        },
        "matchSegments": {
          "description": "Details about each match segment. Each item in the list contains information about one match segment associated with the claim. It is possible to have multiple match segments. For example, if the audio and video content of an uploaded video match that of a reference video, there would be two match segments. One segment would describe the audio match and the other would describe the video match.",
          "type": "array",
          "items": {
            "$ref": "MatchSegment"
          }
        },
        "totalMatch": {
          "description": "Details of the total amount of reference and user video content which matched each other. Note these two values may differ if either the reference or the user video contains a loop.",
          "$ref": "TotalMatch"
        }
      }
    },
    "CampaignSource": {
      "properties": {
        "sourceType": {
          "type": "string",
          "description": "The type of the campaign source."
        },
        "sourceValue": {
          "description": "A list of values of the campaign source.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "id": "CampaignSource",
      "description": "A `campaignSource` resource contains the type and values of the sources for a campaign that determine which videos will be promoted with promotional content.",
      "type": "object"
    },
    "ContentOwnerListResponse": {
      "id": "ContentOwnerListResponse",
      "properties": {
        "items": {
          "items": {
            "$ref": "ContentOwner"
          },
          "description": "A list of content owners that match the request criteria.",
          "type": "array"
        },
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#contentOwnerList`.",
          "type": "string"
        }
      },
      "description": "A list of content owners returned in response to a `contentOwners.list` call.",
      "type": "object"
    },
    "Claim": {
      "id": "Claim",
      "description": "A `claim` links a partner- or user-uploaded video to an [asset](https://developers.google.com/youtube/partner/reference/rest/v1/assets) that the video matches. The claim indicates whether the video matches the audio, video, or audiovisual (audio and video) components of the asset. The claim also specifies the policy that the rights owner wants YouTube to apply to the claimed video.",
      "properties": {
        "origin": {
          "$ref": "Origin"
        },
        "ugcType": {
          "type": "string",
          "description": "UGC type of the claim (standard, premium, song)."
        },
        "assetId": {
          "description": "The unique YouTube asset ID that identifies the asset associated with the claim.",
          "type": "string"
        },
        "studioInfo": {
          "$ref": "StudioInfo",
          "description": "Contains URLs linking back to claim-related pages in Studio."
        },
        "blockOutsideOwnership": {
          "description": "Indicates whether or not the claimed video should be blocked anywhere it is not explicitly owned.",
          "type": "boolean"
        },
        "isPartnerUploaded": {
          "description": "Indicates whether or not the claim is a partner uploaded claim.",
          "type": "boolean"
        },
        "timeCreated": {
          "type": "string",
          "description": "The time the claim was created."
        },
        "status": {
          "description": "The claim's status. When updating a claim, you can update its status from `active` to `inactive` to effectively release the claim, but the API does not support other updates to a claim's status.",
          "type": "string"
        },
        "id": {
          "description": "The ID that YouTube assigns and uses to uniquely identify the claim.",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For `claim` resources, this value is `youtubePartner#claim`."
        },
        "appliedPolicy": {
          "$ref": "Policy",
          "description": "The applied policy for the viewing owner on the claim. This might not be the same as the final claim policy on the video as it does not consider other partners' policy of the same claim."
        },
        "matchInfo": {
          "description": "If this claim was auto-generated based on a provided reference, this section will provide details of the match that generated the claim.",
          "$ref": "MatchInfo"
        },
        "policy": {
          "$ref": "Policy",
          "description": "The policy provided by the viewing owner on the claim."
        },
        "videoId": {
          "description": "The unique YouTube video ID that identifies the video associated with the claim.",
          "type": "string"
        },
        "timeStatusLastModified": {
          "type": "string",
          "description": "The time the claim status and/or status detail was last modified."
        },
        "contentType": {
          "type": "string",
          "description": "This value indicates whether the claim covers the audio, video, or audiovisual portion of the claimed content."
        }
      },
      "type": "object"
    },
    "OwnershipConflicts": {
      "type": "object",
      "description": "The `ownershipConflicts` resource represents information about asset's conflicting ownership.",
      "properties": {
        "kind": {
          "description": "The type of the API resource. For `ownershipConflicts` resources, the value is `youtubePartner#ownershipConflicts`.",
          "type": "string"
        },
        "performance": {
          "description": "A list that identifies ownership conflicts of the performance rights for a composition asset and the territories where conflicting ownership is inserted.",
          "items": {
            "$ref": "TerritoryConflicts"
          },
          "type": "array"
        },
        "synchronization": {
          "description": "A list that identifies ownership conflicts of the synchronization rights for a composition asset and the territories where conflicting ownership is inserted.",
          "type": "array",
          "items": {
            "$ref": "TerritoryConflicts"
          }
        },
        "general": {
          "items": {
            "$ref": "TerritoryConflicts"
          },
          "type": "array",
          "description": "A list that identifies ownership conflicts of an asset and the territories where conflicting ownership is inserted."
        },
        "mechanical": {
          "type": "array",
          "items": {
            "$ref": "TerritoryConflicts"
          },
          "description": "A list that identifies ownership conflicts of the mechanical rights for a composition asset and the territories where conflicting ownership is inserted."
        }
      },
      "id": "OwnershipConflicts"
    },
    "ConflictingOwnership": {
      "type": "object",
      "id": "ConflictingOwnership",
      "properties": {
        "ratio": {
          "type": "number",
          "description": "The percentage of the asset that the owner controls or administers.",
          "format": "double"
        },
        "owner": {
          "description": "The ID of the conflicting asset's owner.",
          "type": "string"
        }
      },
      "description": "Represents information about one of conflicting ownerships."
    },
    "MusicTrack": {
      "properties": {
        "title": {
          "type": "string",
          "description": "The title of this track."
        },
        "artists": {
          "type": "array",
          "items": {
            "$ref": "Artist"
          },
          "description": "List of artists for the track."
        },
        "hasOpenChangeRequest": {
          "type": "boolean",
          "description": "The track has at least one ChangeRequest in open status."
        },
        "name": {
          "type": "string",
          "description": "The resource name of the music track. Format: releases/{release}/tracks/{track}"
        },
        "externalVideoId": {
          "description": "The external videoId for the track.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "MusicTrack",
      "description": "A representation of a music track."
    },
    "CampaignTargetLink": {
      "properties": {
        "targetType": {
          "description": "Indicates whether the link target is a channel or video.",
          "type": "string"
        },
        "targetId": {
          "description": "The channel ID or video ID of the link target.",
          "type": "string"
        }
      },
      "id": "CampaignTargetLink",
      "type": "object",
      "description": "This object contains the type and target id of the link as the promotional target of a campaign.."
    },
    "StatusReport": {
      "description": "This object contains information that describes the source of the package status report.",
      "id": "StatusReport",
      "properties": {
        "statusContent": {
          "description": "The content of the report message. Used only in Hybrid.",
          "type": "string"
        },
        "statusFileName": {
          "description": "Status file name. Used only in Hybrid.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Whitelist": {
      "id": "Whitelist",
      "type": "object",
      "description": "A `whitelist` resource lets a content owner indicate that it does not want to claim any videos uploaded to a particular channel even though that channel is not owned or managed by the content owner. An `whitelist` resource represents a whitelisted channel for a content owner. Whitelisted channels are channels that are not owned or managed by you, but you would like to whitelist so that no claims from your assets are placed on videos uploaded to these channels.",
      "properties": {
        "title": {
          "type": "string",
          "description": "Title of the whitelisted YouTube channel."
        },
        "id": {
          "description": "The YouTube channel ID that uniquely identifies the whitelisted channel.",
          "type": "string"
        },
        "kind": {
          "description": "The type of the API resource. For `whitelist` resources, this value is `youtubePartner#whitelist`.",
          "type": "string"
        }
      }
    },
    "SpreadsheetTemplateListResponse": {
      "type": "object",
      "description": "A list of spreadsheet templates associated with a content owner.",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "SpreadsheetTemplate"
          },
          "description": "A list of spreadsheet templates (`youtubePartner#spreadsheetTemplate`) resources that match the request criteria."
        },
        "status": {
          "type": "string",
          "description": "The status of the API response."
        },
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#spreadsheetTemplateList`.",
          "type": "string"
        }
      },
      "id": "SpreadsheetTemplateListResponse"
    },
    "CountriesRestriction": {
      "type": "object",
      "properties": {
        "adFormats": {
          "items": {
            "type": "string"
          },
          "description": "A list of ad formats that can be used in the specified countries.",
          "type": "array"
        },
        "territories": {
          "items": {
            "type": "string"
          },
          "description": "A list of [ISO 3166-1 alpha-2 country codes](http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm) that identify the countries where ads are enabled.",
          "type": "array"
        }
      },
      "description": "Formats enabled in given countries, based on applied policy.",
      "id": "CountriesRestriction"
    },
    "Policy": {
      "description": "A `policy` resource specifies rules that define a particular usage or match policy that a partner can associate with an asset or claim.",
      "id": "Policy",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "A value that YouTube assigns and uses to uniquely identify the policy."
        },
        "kind": {
          "description": "Identifies this as a policy. Value: \"`youtubePartner#policy`\"",
          "type": "string"
        },
        "rules": {
          "items": {
            "$ref": "PolicyRule"
          },
          "type": "array",
          "description": "A list of rules that specify the action that YouTube should take and may optionally specify the conditions under which that action is enforced."
        },
        "name": {
          "description": "The policy's name.",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "The policy's description."
        },
        "timeUpdated": {
          "description": "The time the policy was updated.",
          "type": "string"
        }
      }
    },
    "ClaimEvent": {
      "description": "A `claimEvent` resource represents a single event in claim's life cycle.",
      "type": "object",
      "properties": {
        "kind": {
          "description": "The type of the API resource. For `claimEvent` resources, this value is `youtubePartner#claimEvent`.",
          "type": "string"
        },
        "typeDetails": {
          "description": "Details of event's type.",
          "$ref": "TypeDetails"
        },
        "reason": {
          "description": "Reason of the event.",
          "type": "string"
        },
        "time": {
          "description": "The time when the event occurred.",
          "type": "string"
        },
        "type": {
          "description": "Type of the event.",
          "type": "string"
        },
        "source": {
          "description": "Data related to source of the event.",
          "$ref": "Source"
        }
      },
      "id": "ClaimEvent"
    },
    "AssetRelationshipListResponse": {
      "properties": {
        "pageInfo": {
          "description": "The `pageInfo` object encapsulates paging information for the result set.",
          "$ref": "PageInfo"
        },
        "nextPageToken": {
          "description": "The token that can be used as the value of the `pageToken` parameter to retrieve the next page of results.",
          "type": "string"
        },
        "items": {
          "description": "A list of `assetRelationship` resources that match the request criteria.",
          "type": "array",
          "items": {
            "$ref": "AssetRelationship"
          }
        },
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#assetRelationshipList`."
        }
      },
      "id": "AssetRelationshipListResponse",
      "description": "A paginated list of `assetRelationship` resources returned in response to a `assetRelationships.list` request.",
      "type": "object"
    },
    "PackageInsertResponse": {
      "properties": {
        "errors": {
          "items": {
            "$ref": "ValidateError"
          },
          "description": "The list of errors and/or warnings.",
          "type": "array"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#packageInsert`."
        },
        "resource": {
          "description": "The `package` resource.",
          "$ref": "Package"
        },
        "status": {
          "description": "The package insert status. Indicates whether the insert operation completed successfully or identifies the general cause of failure. For most cases where the insert operation failed, the errors are described in the API response's `errors` object. However, if the operation failed because the package contained non-metadata files, the `errors` object is not included in the response.",
          "type": "string"
        }
      },
      "description": "A `package` resource and possible errors or warnings returned in response to `package.insert`request.",
      "id": "PackageInsertResponse",
      "type": "object"
    },
    "MetadataHistory": {
      "description": "This resource represents a set of metadata values provided for an asset.",
      "id": "MetadataHistory",
      "properties": {
        "origination": {
          "description": "The `origination` object contains information that describes the metadata source.",
          "$ref": "Origination"
        },
        "kind": {
          "description": "The type of the API resource. For metadata history resources, the value is `youtubePartner#metadataHistory`.",
          "type": "string"
        },
        "timeProvided": {
          "description": "The time the metadata was provided.",
          "type": "string"
        },
        "metadata": {
          "description": "The `metadata` object contains the metadata provided by the specified source (`origination`) at the specified time (`timeProvided`).",
          "$ref": "Metadata"
        }
      },
      "type": "object"
    },
    "RightsOwnership": {
      "description": "The `rightsOwnership` resource represents the ownership data for an asset. It identifies an asset's owners and provides additional details about their ownership, such as the territories where they own the asset. If you want to update an asset that is currently owned by another content owner, you must add your ownership to the asset (using the `ownership.update` or `ownership.patch` method) before you can update its metadata (using `assets.update` or `assets.patch`) or its match policy (using `assetMatchPolicy.update` or `assetMatchPolicy.patch`).",
      "properties": {
        "mechanical": {
          "items": {
            "$ref": "TerritoryOwners"
          },
          "type": "array",
          "description": "A list that identifies owners of the mechanical rights for a composition asset."
        },
        "synchronization": {
          "items": {
            "$ref": "TerritoryOwners"
          },
          "type": "array",
          "description": "A list that identifies owners of the synchronization rights for a composition asset."
        },
        "performance": {
          "items": {
            "$ref": "TerritoryOwners"
          },
          "type": "array",
          "description": "A list that identifies owners of the performance rights for a composition asset."
        },
        "kind": {
          "description": "The type of the API resource. For `rightsOwnership` resources, the value is `youtubePartner#rightsOwnership`.",
          "type": "string"
        },
        "general": {
          "description": "A list that identifies the owners of an asset and the territories where each owner has ownership. General asset ownership is used for all types of assets and is the only type of ownership data that can be provided for assets that are not compositions. You can't specify general ownership rights and also specify either mechanical, performance, or synchronization rights.",
          "type": "array",
          "items": {
            "$ref": "TerritoryOwners"
          }
        }
      },
      "type": "object",
      "id": "RightsOwnership"
    },
    "ValidateRequest": {
      "id": "ValidateRequest",
      "description": "Request to validate content.",
      "properties": {
        "locale": {
          "description": "The desired locale of the error messages as defined in BCP 47 (http: //tools.ietf.org/html/bcp47). For example, \"en-US\" or \"de\". If not specified we will return the error messages in English (\"en\").",
          "type": "string"
        },
        "content": {
          "type": "string",
          "description": "The metadata file contents."
        },
        "uploaderName": {
          "description": "The uploader name.",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For this operation, the value is `youtubePartner#validateRequest`."
        }
      },
      "type": "object"
    },
    "CampaignList": {
      "description": "List campaigns associated with the content owner.",
      "id": "CampaignList",
      "properties": {
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#campaignList`."
        },
        "items": {
          "description": "A list of campaigns.",
          "type": "array",
          "items": {
            "$ref": "Campaign"
          }
        }
      },
      "type": "object"
    },
    "WhitelistListResponse": {
      "description": "A paginated list `whitelist` resources returned in response to a `whitelist.list` request.",
      "id": "WhitelistListResponse",
      "properties": {
        "items": {
          "type": "array",
          "description": "A list of `whitelist` resources that match the request criteria.",
          "items": {
            "$ref": "Whitelist"
          }
        },
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#whitelistList`."
        },
        "nextPageToken": {
          "description": "The token that can be used as the value of the `pageToken` parameter to retrieve the next page of results.",
          "type": "string"
        },
        "pageInfo": {
          "$ref": "PageInfo",
          "description": "The `pageInfo` object encapsulates paging information for the result set."
        }
      },
      "type": "object"
    },
    "UndesiredDiscography": {
      "properties": {
        "undesiredPlaylistIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Playlist IDs of the undesired releases."
        },
        "supplementalInfo": {
          "description": "Generic supplemental information.",
          "type": "string"
        },
        "channelId": {
          "type": "string",
          "description": "Channel ID of the artist with the undesired release discography."
        }
      },
      "id": "UndesiredDiscography",
      "type": "object",
      "description": "Corresponds to the 'Another artist's release is incorrectly appearing on my artist's channel' option."
    },
    "ListMusicTracksResponse": {
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        },
        "tracks": {
          "description": "The requested music tracks.",
          "items": {
            "$ref": "MusicTrack"
          },
          "type": "array"
        }
      },
      "id": "ListMusicTracksResponse",
      "description": "A response to list music tracks.",
      "type": "object"
    },
    "TypeDetails": {
      "properties": {
        "appealExplanation": {
          "type": "string",
          "description": "Appeal explanations for `dispute_appeal` event."
        },
        "updateStatus": {
          "type": "string",
          "description": "Status that was a result of update for `claim_update` event."
        },
        "disputeNotes": {
          "description": "Dispute notes for `dispute_create` events.",
          "type": "string"
        },
        "disputeReason": {
          "type": "string",
          "description": "Dispute reason for `dispute_create` and `dispute_appeal` events."
        }
      },
      "description": "Details of event's type.",
      "type": "object",
      "id": "TypeDetails"
    },
    "ClaimHistory": {
      "description": "A `claimHistory` resource identifies the set of events that describe a claim's life cycle, such as the claim being created, updated, disputed, or closed.",
      "properties": {
        "kind": {
          "description": "The type of the API resource. For `claimHistory` resources, this value is `youtubePartner#claimHistory`.",
          "type": "string"
        },
        "event": {
          "items": {
            "$ref": "ClaimEvent"
          },
          "type": "array",
          "description": "A list of claim history events."
        },
        "id": {
          "description": "The ID that YouTube assigns and uses to uniquely identify the claim.",
          "type": "string"
        },
        "uploaderChannelId": {
          "description": "The external channel id of claimed video's uploader.",
          "type": "string"
        }
      },
      "id": "ClaimHistory",
      "type": "object"
    },
    "CampaignData": {
      "id": "CampaignData",
      "type": "object",
      "description": "This object contains detail information about a campaign such as the start and end date, the target and the source of a campaign.",
      "properties": {
        "expireTime": {
          "description": "The time at which the campaign should expire. Do not specify a value if the campaign has no expiration time.",
          "type": "string"
        },
        "campaignSource": {
          "$ref": "CampaignSource",
          "description": "The `campaignSource` object contains information about the assets for which the campaign will generate links."
        },
        "startTime": {
          "description": "The time at which the campaign should start. Do not specify a value if the campaign should start immediately.",
          "type": "string"
        },
        "promotedContent": {
          "items": {
            "$ref": "PromotedContent"
          },
          "description": "A list of videos or channels that will be linked to from claimed videos that are included in the campaign.",
          "type": "array"
        },
        "name": {
          "type": "string",
          "description": "The user-given name of the campaign."
        }
      }
    },
    "StudioInfo": {
      "id": "StudioInfo",
      "type": "object",
      "properties": {
        "videoUrl": {
          "description": "Links to the claimed video page in Studio.",
          "type": "string"
        },
        "claimUrl": {
          "description": "Links to the claim page in Studio. Note: this page loads differently depending on whether the claim has \"action required\" issue or not.",
          "type": "string"
        },
        "issueUrl": {
          "type": "string",
          "description": "When claim has an \"action required\" issue (guaranteed to be at most 1), links to the issue page in Studio."
        }
      },
      "description": "Contains URLs linking back to claim-related pages in Studio."
    },
    "MatchSegment": {
      "description": "Info about a single match segment on a claim.",
      "type": "object",
      "id": "MatchSegment",
      "properties": {
        "channel": {
          "type": "string",
          "description": "Identifies the manner in which the claimed video matches the reference video."
        },
        "reference_segment": {
          "$ref": "Segment",
          "description": "The `reference_segment` object contains information about the matched portion of the reference content."
        },
        "manual_segment": {
          "$ref": "Segment2",
          "description": "On insert operation of manual claims, the `manual_segment` object contains information about the specific portion of the video that is claimed to be matching."
        },
        "video_segment": {
          "$ref": "Segment",
          "description": "The `video_segment` object contains information about the matched portion of the claimed video."
        }
      }
    },
    "ValidateAsyncRequest": {
      "description": "Request to a `validator.validateAsync` metadata.",
      "type": "object",
      "properties": {
        "content": {
          "type": "string",
          "description": "The metadata file contents."
        },
        "uploaderName": {
          "description": "The uploader name.",
          "type": "string"
        },
        "kind": {
          "description": "The type of the API resource. For this operation, the value is `youtubePartner#validateAsyncRequest`.",
          "type": "string"
        }
      },
      "id": "ValidateAsyncRequest"
    },
    "Conditions": {
      "id": "Conditions",
      "properties": {
        "requiredTerritories": {
          "description": "This watch condition specifies where users are (or or not) allowed to watch (or listen to) an asset. YouTube determines whether the condition is satisfied based on the user's location.",
          "$ref": "TerritoryCondition"
        },
        "matchPercent": {
          "description": "This match condition specifies a percentage of the user- or partner-uploaded content that needs to match a reference file for the rule to apply.",
          "type": "array",
          "items": {
            "$ref": "IntervalCondition"
          }
        },
        "dateInterval": {
          "description": "Optional. This match condition indicates that the specified date range must match the user- or partner-uploaded content for the rule to apply.",
          "items": {
            "$ref": "IntervalCondition"
          },
          "type": "array"
        },
        "referencePercent": {
          "type": "array",
          "items": {
            "$ref": "IntervalCondition"
          },
          "description": "This match condition indicates that the specified percentage of a reference file must match the user- or partner-uploaded content for the rule to apply."
        },
        "matchDuration": {
          "description": "This match condition specifies an amount of time that the user- or partner- uploaded content needs to match a reference file for the rule to apply.",
          "items": {
            "$ref": "IntervalCondition"
          },
          "type": "array"
        },
        "referenceDuration": {
          "description": "This match condition indicates that the reference must be a certain duration for the rule to apply.",
          "items": {
            "$ref": "IntervalCondition"
          },
          "type": "array"
        },
        "contentMatchType": {
          "description": "This match condition specifies whether the user- or partner-uploaded content needs to match the audio, video or audiovisual content of a reference file for the rule to apply.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "description": "Represents conditions for a policy rule. YouTube enforces a rights policy if any of the rules specified for the policy are valid. For a rule to be valid, all of the rule's conditions must be satisfied, and a condition is true when all set parts are satisfied. Unset conditions are disregarded (or always satisfied) for a rule. For example, if a rule does not specify a `MatchDuration`, then the length of the actual match duration could not cause the rule to not be satisfied. If no conditions are set, the condition as a whole is always true.",
      "type": "object"
    },
    "VideoAdvertisingOptionGetEnabledAdsResponse": {
      "id": "VideoAdvertisingOptionGetEnabledAdsResponse",
      "description": "This resource identifies the ad settings for a claimed YouTube video. It identifies the video, the times when ads can run during the video, the countries where ads can run, and the types of ads allowed in those countries. It also indicates whether ads can run if the video plays in an embedded player.",
      "properties": {
        "kind": {
          "description": "The type of the API resource. For this resource, the value is `youtubePartner#videoAdvertisingOptionGetEnabledAds`.",
          "type": "string"
        },
        "adsOnEmbeds": {
          "description": "This field indicates whether YouTube can show ads when the video is played in an embedded player.",
          "type": "boolean"
        },
        "adBreaks": {
          "description": "A list of ad breaks that occur in a claimed YouTube video.",
          "items": {
            "$ref": "AdBreak"
          },
          "type": "array"
        },
        "countriesRestriction": {
          "type": "array",
          "description": "A list that identifies the countries where ads can run and the types of ads allowed in those countries.",
          "items": {
            "$ref": "CountriesRestriction"
          }
        },
        "id": {
          "type": "string",
          "description": "The ID that YouTube uses to uniquely identify the claimed video."
        }
      },
      "type": "object"
    },
    "UploaderListResponse": {
      "id": "UploaderListResponse",
      "type": "object",
      "description": "A list of uploaders associated with a content owner.",
      "properties": {
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#uploaderList`."
        },
        "items": {
          "items": {
            "$ref": "Uploader"
          },
          "type": "array",
          "description": "A list of uploader (`youtubePartner#uploader`) resources that match the request criteria."
        }
      }
    },
    "AssetSearchResponse": {
      "type": "object",
      "properties": {
        "pageInfo": {
          "description": "The `pageInfo` object encapsulates paging information for the result set.",
          "$ref": "PageInfo"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#assetSnippetList`."
        },
        "items": {
          "type": "array",
          "description": "A list of asset resources that match the request criteria.",
          "items": {
            "$ref": "AssetSnippet"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "The token that can be used as the value of the `pageToken` parameter to retrieve the next page of results."
        }
      },
      "description": "This response shows a list of YouTube assets matching a search query. Each item in the list contains an asset's metadata.",
      "id": "AssetSearchResponse"
    },
    "AssetShareListResponse": {
      "description": "A paginated list of `assetShare` resources returned in response to a `list` request.",
      "properties": {
        "pageInfo": {
          "description": "The `pageInfo` object encapsulates paging information for the result set.",
          "$ref": "PageInfo"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#assetShareList`."
        },
        "items": {
          "description": "An `assetShare` resource that matches the request criteria.",
          "type": "array",
          "items": {
            "$ref": "AssetShare"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "The token that can be used as the value of the `pageToken` parameter to retrieve the next page of results."
        }
      },
      "id": "AssetShareListResponse",
      "type": "object"
    },
    "IncorrectMetadata": {
      "id": "IncorrectMetadata",
      "properties": {
        "supplementalInfo": {
          "description": "Generic supplemental information.",
          "type": "string"
        }
      },
      "description": "Corresponds to the '(Release / Art track) I delivered has incorrect spelling, formatting, or translation' and '(Release / Art track) I delivered has the wrong primary or featured artist' options.",
      "type": "object"
    },
    "Campaign": {
      "properties": {
        "status": {
          "type": "string",
          "description": "The status of the campaign."
        },
        "timeLastModified": {
          "description": "The time the campaign was last modified.",
          "type": "string"
        },
        "timeCreated": {
          "type": "string",
          "description": "The time the campaign was created."
        },
        "campaignData": {
          "description": "The `campaignData` object contains details like the campaign's start and end dates, target and source.",
          "$ref": "CampaignData"
        },
        "kind": {
          "description": "The type of the API resource. For `campaign` resources, this value is `youtubePartner#campaign`.",
          "type": "string"
        },
        "id": {
          "description": "The unique ID that YouTube uses to identify the campaign.",
          "type": "string"
        }
      },
      "description": "A `campaign` resource represents a specific [content owner campaign](https://support.google.com/youtube/answer/6078374?ref_topic=4515467), which allows the content owner to use annotations to promote content on claimed, user-uploaded videos. For example, a content owner could create a campaign that adds links to a movie's watch page for any claimed, user-uploaded videos that contain scenes from that movie. A YouTube content owner can create up to 5000 campaigns.",
      "type": "object",
      "id": "Campaign"
    },
    "Source": {
      "properties": {
        "userEmail": {
          "type": "string",
          "description": "Email of user who initiated the event."
        },
        "contentOwnerId": {
          "type": "string",
          "description": "Id of content owner that initiated the event."
        },
        "type": {
          "type": "string",
          "description": "Type of the event source."
        }
      },
      "type": "object",
      "description": "Claim source",
      "id": "Source"
    },
    "AssetShare": {
      "properties": {
        "viewId": {
          "type": "string",
          "description": "A value that YouTube assigns and uses to uniquely identify the asset view."
        },
        "shareId": {
          "type": "string",
          "description": "A value that YouTube assigns and uses to uniquely identify the asset share."
        },
        "kind": {
          "description": "The type of the API resource. For this resource, the value is `youtubePartner#assetShare`.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "AssetShare",
      "description": "An `assetShare` resource, which is only relevant to composition assets, identifies a relationship between two representations of an asset resource: * The `viewId`, or **composition view**, represents the composition asset that is embedded in a specific sound recording. The composition view is the canonical set of information that YouTube displays about the composition rights for a given recording and may synthesize information from multiple data providers: * Each sound recording asset maps to exactly one `viewId`. * Each `viewId` maps to one or more `shareIds`. However, a `viewId` only maps to multiple `shareIds` when a composition has multiple owners. From a single content owner's perspective, a `viewId` is associated with a single `shareId`. This is because the content owner can only retrieve the `shareIds` that represent data the content owner itself provided. It's possible for a single content owner using the API to represent multiple owners of a composition and, therefore, own multiple shares of that composition. For example, an aggregator of digital rights could obtain rights to the same composition from different parties in different territories. The aggregator would have discrete entities representing those rights, which would map to different composition shares in YouTube's model. The different composition shares could still be linked to the same composition view(s). * The `shareId`, or **composition share**, represents the information that a particular publisher provided for a composition asset. A `shareId` can be associated with many sound recordings. Many API methods enable you to retrieve or update information about an asset. The [Managing composition assets](https://developers.google.com/youtube/partner/guides/managing_composition_assets) guide explains how those methods handle requests depending on whether the provided asset IDs are `shareIds` or `viewIds`."
    },
    "Rating": {
      "description": "This object contains a content rating for an [asset](https://developers.google.com/youtube/partner/reference/rest/v1/assets).",
      "type": "object",
      "properties": {
        "ratingSystem": {
          "description": "The rating system associated with the rating.",
          "type": "string"
        },
        "rating": {
          "type": "string",
          "description": "The rating that the asset received."
        }
      },
      "id": "Rating"
    },
    "ValidateError": {
      "type": "object",
      "description": "A validation error identifies an issue in an XML or CSV metadata file that may cause an uploaded package that includes the file to fail. Note: You would upload the package via the Web, Aspera, or SFTP. The API call enables you to confirm that the metadata file is valid before uploading the package. See the [YouTube Help Center](https://support.google.com/youtube/topic/21002) for more information about uploading content, including metadata files, to YouTube.",
      "properties": {
        "messageCode": {
          "type": "integer",
          "description": "The code for the error message (if one exists).",
          "format": "int32"
        },
        "columnName": {
          "description": "The column name where the error occurred.",
          "type": "string"
        },
        "lineNumber": {
          "format": "int32",
          "type": "integer",
          "description": "The line number where the error occurred (1-based)."
        },
        "columnNumber": {
          "description": "The column number where the error occurred (1-based).",
          "format": "int32",
          "type": "integer"
        },
        "severity": {
          "description": "The error severity.",
          "type": "string"
        },
        "message": {
          "description": "The error message.",
          "type": "string"
        }
      },
      "id": "ValidateError"
    },
    "ReferenceConflictMatch": {
      "type": "object",
      "properties": {
        "conflicting_reference_offset_ms": {
          "type": "string",
          "description": "Conflicting reference offset in milliseconds.",
          "format": "int64"
        },
        "length_ms": {
          "type": "string",
          "description": "Match length in milliseconds.",
          "format": "int64"
        },
        "original_reference_offset_ms": {
          "format": "int64",
          "type": "string",
          "description": "Original reference offset in milliseconds."
        },
        "type": {
          "description": "The referenceConflictMatch's type.",
          "type": "string"
        }
      },
      "description": "Represents conflict between two references.",
      "id": "ReferenceConflictMatch"
    },
    "Origin": {
      "id": "Origin",
      "properties": {
        "source": {
          "type": "string"
        }
      },
      "type": "object",
      "description": "This object contains information that describes the source of the metadata or ownership data."
    },
    "Date": {
      "description": "This resource identifies a date, which is represented as its constituent parts (year, month, day).",
      "id": "Date",
      "type": "object",
      "properties": {
        "month": {
          "description": "The date's month. The value should be an integer between `1` and `12`.",
          "format": "uint32",
          "type": "integer"
        },
        "year": {
          "type": "integer",
          "format": "uint32",
          "description": "The date's year in the Gregorian Calendar. Assumed to be A.D."
        },
        "day": {
          "description": "The date's day. The value should be an integer between `1` and `31`. Note that some day-month combinations are not valid.",
          "type": "integer",
          "format": "uint32"
        }
      }
    },
    "YoutubePartnerApiProtoFrontendV1Origin": {
      "properties": {
        "source": {
          "type": "string"
        }
      },
      "type": "object",
      "id": "YoutubePartnerApiProtoFrontendV1Origin"
    },
    "AssetMatchPolicy": {
      "properties": {
        "policyId": {
          "type": "string",
          "description": "A value that uniquely identifies the `Policy` resource that YouTube applies to user-uploaded videos that match the asset."
        },
        "rules": {
          "description": "A list of rules that collectively define the policy that the content owner wants to apply to user-uploaded videos that match the asset. Each rule specifies the action that YouTube should take and may optionally specify the conditions under which that action is enforced.",
          "type": "array",
          "items": {
            "$ref": "PolicyRule"
          }
        },
        "kind": {
          "description": "The type of the API resource. Value: `youtubePartner#assetMatchPolicy`.",
          "type": "string"
        }
      },
      "description": "The `assetMatchPolicy` resource identifies an asset's match policy, which YouTube applies to user-uploaded videos that match the asset. If an asset is already owned by another content owner, you must add your ownership to the asset (using the `ownership.update` or `ownership.patch` method) before you can update its match policy (using `assetMatchPolicy.update` or `assetMatchPolicy.patch`) or its metadata (using `assets.update` or `assets.patch`).",
      "id": "AssetMatchPolicy",
      "type": "object"
    },
    "ClaimListResponse": {
      "type": "object",
      "properties": {
        "previousPageToken": {
          "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"
        },
        "pageInfo": {
          "$ref": "PageInfo",
          "description": "The `pageInfo` object encapsulates paging information for the result set."
        },
        "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"
        },
        "items": {
          "description": "A list of claims that match the request criteria.",
          "items": {
            "$ref": "Claim"
          },
          "type": "array"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#claimList`."
        }
      },
      "description": "A paginated list of claims returned in response to a `claims.list` call.",
      "id": "ClaimListResponse"
    },
    "Empty": {
      "type": "object",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "properties": {},
      "id": "Empty"
    },
    "MusicChangeRequest": {
      "id": "MusicChangeRequest",
      "type": "object",
      "description": "A representation of a music change request.",
      "properties": {
        "track": {
          "description": "Format: releases/{release}/tracks/{track}",
          "type": "string"
        },
        "incorrectPlayability": {
          "description": "Input only. Corresponds to the incorrectPlayability type.",
          "$ref": "IncorrectPlayability"
        },
        "misreconciledArtist": {
          "$ref": "DesiredArtist",
          "description": "Input only. Corresponds to the misreconciledArtist type."
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. Creation time of the change request.",
          "format": "google-datetime",
          "type": "string"
        },
        "release": {
          "description": "Format: releases/{release}",
          "type": "string"
        },
        "incorrectMetadata": {
          "$ref": "IncorrectMetadata",
          "description": "Input only. Corresponds to the incorrectMetadata type."
        },
        "name": {
          "description": "Output only. Identifier. The resource name of the change request. Format: changeRequests/{change_request}",
          "type": "string",
          "readOnly": true
        },
        "type": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Type of the change request. Possible values: misreconciledArtist, incorrectMetadata, incorrectArtists, undesiredReleaseDiscography, incorrectPlayability, incorrectTrackMusicVideo."
        },
        "incorrectMusicVideo": {
          "$ref": "DesiredMusicVideo",
          "description": "Input only. Corresponds to the incorrectTrackMusicVideo type."
        },
        "state": {
          "enumDescriptions": [
            "Default value. This value is unused.",
            "The change request is unresolved.",
            "An operator has closed the change request (perhaps without doing anything).",
            "The change request has been closed without operator resolution."
          ],
          "description": "Output only. Status of the change request.",
          "enum": [
            "STATE_UNSPECIFIED",
            "OPEN",
            "CLOSED",
            "EXPIRED"
          ],
          "readOnly": true,
          "type": "string"
        },
        "undesiredDiscography": {
          "description": "Input only. Corresponds to the undesiredReleaseDiscography type.",
          "$ref": "UndesiredDiscography"
        }
      }
    },
    "AssetListResponse": {
      "id": "AssetListResponse",
      "type": "object",
      "properties": {
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#assetList`.",
          "type": "string"
        },
        "items": {
          "items": {
            "$ref": "Asset"
          },
          "description": "A list of `asset` resources that match the request criteria.",
          "type": "array"
        }
      },
      "description": "A paginated list of `asset` resources returned in response to `assets.list` request."
    },
    "RightsOwnershipHistory": {
      "id": "RightsOwnershipHistory",
      "description": "This resource represents a set of ownership data provided for an asset.",
      "properties": {
        "timeProvided": {
          "description": "The time that the ownership data was provided.",
          "type": "string"
        },
        "ownership": {
          "description": "The `ownership` object contains the ownership data provided by the specified source (`origination`) at the specified time (`timeProvided`).",
          "$ref": "RightsOwnership"
        },
        "origination": {
          "description": "The `origination` object contains information that describes the metadata source.",
          "$ref": "Origination"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For ownership history resources, the value is `youtubePartner#rightsOwnershipHistory`."
        }
      },
      "type": "object"
    },
    "Package": {
      "properties": {
        "timeCreated": {
          "description": "The package creation time. The value is specified in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) (`YYYY-MM-DDThh:mm:ss.000Z`) format.",
          "type": "string"
        },
        "status": {
          "description": "The package status.",
          "type": "string"
        },
        "locale": {
          "type": "string",
          "description": "The desired locale of the error messages as defined in BCP 47 (http: //tools.ietf.org/html/bcp47). For example, \"en-US\" or \"de\". If not specified we will return the error messages in English (\"en\")."
        },
        "customIds": {
          "items": {
            "type": "string"
          },
          "description": "The list of customer IDs.",
          "type": "array"
        },
        "content": {
          "description": "The package's metadata file contents.",
          "type": "string"
        },
        "name": {
          "description": "The package name.",
          "type": "string"
        },
        "type": {
          "description": "The package type.",
          "type": "string"
        },
        "statusReports": {
          "description": "The package status reports.",
          "items": {
            "$ref": "StatusReport"
          },
          "type": "array"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For `package` resources, this value is `youtubePartner#package`."
        },
        "uploaderName": {
          "description": "The uploader name.",
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "An ID that YouTube assigns and uses to uniquely identify the package."
        }
      },
      "description": "A `package` resource represents a group of files that is delivered via the web, SFTP, or another delivery mechanism. The API currently supports the ability to upload a package containing exactly one metadata file or to retrieve information about a previously uploaded package.",
      "id": "Package",
      "type": "object"
    },
    "LongestMatch": {
      "properties": {
        "referenceOffset": {
          "description": "The offset in seconds into the reference at which the longest match began.",
          "format": "uint64",
          "type": "string"
        },
        "userVideoOffset": {
          "type": "string",
          "description": "The offset in seconds into the user video at which the longest match began.",
          "format": "uint64"
        },
        "durationSecs": {
          "format": "uint64",
          "type": "string",
          "description": "The duration of the longest match between the reference and the user video."
        }
      },
      "type": "object",
      "id": "LongestMatch",
      "description": "Longest claim match."
    },
    "ReferenceConflictListResponse": {
      "properties": {
        "items": {
          "items": {
            "$ref": "ReferenceConflict"
          },
          "description": "A list of reference conflicts that match the request criteria.",
          "type": "array"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#referenceConflictList`."
        },
        "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": {
          "description": "The `pageInfo` object encapsulates paging information for the result set.",
          "$ref": "PageInfo"
        }
      },
      "description": "A paginated list of resources returned in response to a `referenceConflict.list` request.",
      "type": "object",
      "id": "ReferenceConflictListResponse"
    },
    "PolicyList": {
      "properties": {
        "items": {
          "items": {
            "$ref": "Policy"
          },
          "type": "array",
          "description": "A list of saved policies."
        },
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#policyList`."
        }
      },
      "description": "A list of policies returned in response to a `policies.list` call.",
      "type": "object",
      "id": "PolicyList"
    }
  },
  "servicePath": "",
  "version": "v1",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/youtubepartner-content-owner-readonly": {
          "description": "View content owner account details from YouTube."
        },
        "https://www.googleapis.com/auth/youtubepartner": {
          "description": "View and manage your assets and associated content on YouTube"
        }
      }
    }
  },
  "documentationLink": "https://developers.google.com/youtube/partner",
  "description": "The YouTube Content ID API allows the management of YouTube assets along with their associated content, references, ownership, rights and policies.",
  "resources": {
    "liveCuepoints": {
      "methods": {
        "insert": {
          "path": "youtube/partner/v1/liveCuepoints",
          "parameterOrder": [
            "channelId"
          ],
          "description": "Inserts a cuepoint into a live broadcast.",
          "parameters": {
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners. You can obtain the content owner ID that will serve as the parameter value by calling the YouTube Content ID API's [`contentOwners.list`](https://developers.google.com/youtube/partner/reference/rest/v1/contentOwners/list) method.",
              "location": "query",
              "type": "string"
            },
            "channelId": {
              "type": "string",
              "description": "The `channelId` parameter identifies the channel that owns the broadcast into which the cuepoint is being inserted.",
              "location": "query",
              "required": true
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "request": {
            "$ref": "LiveCuepoint"
          },
          "httpMethod": "POST",
          "id": "youtubePartner.liveCuepoints.insert",
          "flatPath": "youtube/partner/v1/liveCuepoints",
          "response": {
            "$ref": "LiveCuepoint"
          }
        }
      }
    },
    "claimHistory": {
      "methods": {
        "get": {
          "parameters": {
            "claimId": {
              "description": "The `claimId` parameter specifies the YouTube claim ID of the claim for which you are retrieving the claim history.",
              "required": true,
              "type": "string",
              "location": "path"
            },
            "onBehalfOfContentOwner": {
              "location": "query",
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "parameterOrder": [
            "claimId"
          ],
          "httpMethod": "GET",
          "description": "Retrieves the claim history for a specified claim.",
          "id": "youtubePartner.claimHistory.get",
          "path": "youtube/partner/v1/claimHistory/{claimId}",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "flatPath": "youtube/partner/v1/claimHistory/{claimId}",
          "response": {
            "$ref": "ClaimHistory"
          }
        }
      }
    },
    "assetSearch": {
      "methods": {
        "list": {
          "id": "youtubePartner.assetSearch.list",
          "path": "youtube/partner/v1/assetSearch",
          "parameterOrder": [],
          "parameters": {
            "type": {
              "description": "The `type` parameter specifies the types of assets that you want to retrieve. The parameter value is a comma-separated list of asset types.",
              "location": "query",
              "type": "string"
            },
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            },
            "createdBefore": {
              "type": "string",
              "location": "query",
              "description": "The `createdBefore` parameter restricts the set of returned assets to ones originally created on or before the specified datetime. For example: `2015-01-29T23:00:00Z`"
            },
            "sort": {
              "description": "The `sort` parameter specifies how the search results should be sorted. Note that results are always sorted in descending order.",
              "enum": [
                "SORT_UNSPECIFIED",
                "CLAIMS",
                "TIME",
                "DAILY_ENGAGED_VIEWS"
              ],
              "location": "query",
              "type": "string",
              "enumDescriptions": [
                "Default value.",
                "Sort by the number of claims for each asset.",
                "Sort by the modification time for each asset. This is the default value.",
                "Sort by the approximate daily engaged views for each asset."
              ]
            },
            "labels": {
              "type": "string",
              "description": "The `labels` parameter specifies the assets with certain asset labels that you want to retrieve. The parameter value is a comma-separated list of asset labels.",
              "location": "query"
            },
            "pageToken": {
              "type": "string",
              "location": "query",
              "description": "The `pageToken` parameter specifies a token that identifies a particular page of results to return. Set this parameter to the value of the `nextPageToken` value from the previous API response to retrieve the next page of search results."
            },
            "ownershipRestriction": {
              "type": "string",
              "location": "query",
              "default": "RESTRICT_MINE",
              "enum": [
                "OWNERSHIP_RESTRICTION_UNSPECIFIED",
                "MINE",
                "NONE"
              ],
              "enumDescriptions": [
                "Default value.",
                "Find assets owned by the current user that match the search query. This is the default behavior.",
                "Find all assets that match the search query, regardless of owner."
              ],
              "description": "The `ownershipRestriction` parameter specifies the ownership filtering option for the search. By default the search is performed in the assets owned by currently authenticated user only."
            },
            "isrcs": {
              "location": "query",
              "description": "A comma-separated list of up to 50 ISRCs. If you specify a value for this parameter, the API server ignores any values set for the following parameters: `q`, `includeAnyProvidedLabel`, `hasConflicts`, `labels`, `metadataSearchFields`, `sort`, and `type`.",
              "type": "string"
            },
            "createdAfter": {
              "location": "query",
              "type": "string",
              "description": "The `createdAfter` parameter restricts the set of returned assets to ones originally created on or after the specified datetime. For example: `2015-01-29T23:00:00Z`"
            },
            "includeAnyProvidedlabel": {
              "location": "query",
              "type": "boolean",
              "description": "If `includeAnyProvidedlabel` parameter is set to true, will search for assets that contain any of the provided labels; else will search for assets that contain all the provided labels."
            },
            "hasConflicts": {
              "type": "boolean",
              "description": "The `hasConflicts` parameter enables you to only retrieve assets that have ownership conflicts. The only valid value is `true`. Setting the parameter value to `false` does not affect the results.",
              "location": "query"
            },
            "q": {
              "description": "YouTube searches within the `id`, `type`, and `customId` fields for all assets as well as in numerous other metadata fields - such as `actor`, `album`, `director`, `isrc`, and `tmsId` - that vary for different types of assets (movies, music videos, etc.).",
              "type": "string",
              "location": "query"
            },
            "metadataSearchFields": {
              "type": "string",
              "location": "query",
              "description": "The `metadataSearchField` parameter specifies which metadata fields to search by. It is a comma-separated list of metadata field and value pairs connected by colon(:). For example: customId:my_custom_id,artist:Dandexx"
            }
          },
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/assetSearch",
          "description": "Searches for assets based on asset metadata. The method can retrieve all assets or only assets owned by the content owner. This method mimics the functionality of the advanced search feature on the [Assets](https://cms.youtube.com/assets) page in CMS.",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "AssetSearchResponse"
          }
        }
      }
    },
    "ownership": {
      "methods": {
        "get": {
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "description": "Retrieves the ownership data provided for the specified asset by the content owner associated with the authenticated user.",
          "httpMethod": "GET",
          "parameters": {
            "assetId": {
              "location": "path",
              "required": true,
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID for which you are retrieving ownership data."
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "parameterOrder": [
            "assetId"
          ],
          "response": {
            "$ref": "RightsOwnership"
          },
          "id": "youtubePartner.ownership.get",
          "flatPath": "youtube/partner/v1/assets/{assetId}/ownership",
          "path": "youtube/partner/v1/assets/{assetId}/ownership"
        },
        "update": {
          "description": "Provides new ownership information for the specified asset. Note that YouTube may receive ownership information from multiple sources. For example, if an asset has multiple owners, each owner might send ownership data for the asset. YouTube algorithmically combines the ownership data received from all of those sources to generate the asset's canonical ownership data, which should provide the most comprehensive and accurate representation of the asset's ownership. If you want to update an asset that is currently owned by another content owner, you must add your ownership to the asset using this method before you can update its metadata (using [`assets.update`](https://developers.google.com/youtube/partner/reference/rest/v1/assets/update) or [`assets.patch`](https://developers.google.com/youtube/partner/reference/rest/v1/assets/patch)) or its match policy (using [`assetMatchPolicy.update`](https://developers.google.com/youtube/partner/reference/rest/v1/assetMatchPolicy/update) or [`assetMatchPolicy.patch`](https://developers.google.com/youtube/partner/reference/rest/v1/assetMatchPolicy/patch)).",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "httpMethod": "PUT",
          "id": "youtubePartner.ownership.update",
          "path": "youtube/partner/v1/assets/{assetId}/ownership",
          "parameterOrder": [
            "assetId"
          ],
          "request": {
            "$ref": "RightsOwnership"
          },
          "parameters": {
            "assetId": {
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset being updated.",
              "required": true,
              "location": "path",
              "type": "string"
            },
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            }
          },
          "flatPath": "youtube/partner/v1/assets/{assetId}/ownership",
          "response": {
            "$ref": "RightsOwnership"
          }
        },
        "patch": {
          "parameters": {
            "assetId": {
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset being updated.",
              "type": "string",
              "location": "path",
              "required": true
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "id": "youtubePartner.ownership.patch",
          "httpMethod": "PATCH",
          "description": "Provides new ownership information for the specified asset. Note that YouTube may receive ownership information from multiple sources. For example, if an asset has multiple owners, each owner might send ownership data for the asset. YouTube algorithmically combines the ownership data received from all of those sources to generate the asset's canonical ownership data, which should provide the most comprehensive and accurate representation of the asset's ownership. If you want to update an asset that is currently owned by another content owner, you must add your ownership to the asset using this method before you can update its metadata (using [`assets.update`](https://developers.google.com/youtube/partner/reference/rest/v1/assets/update) or [`assets.patch`](https://developers.google.com/youtube/partner/reference/rest/v1/assets/patch)) or its match policy (using [`assetMatchPolicy.update`](https://developers.google.com/youtube/partner/reference/rest/v1/assetMatchPolicy/update) or [`assetMatchPolicy.patch`](https://developers.google.com/youtube/partner/reference/rest/v1/assetMatchPolicy/patch)).",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "assetId"
          ],
          "response": {
            "$ref": "RightsOwnership"
          },
          "flatPath": "youtube/partner/v1/assets/{assetId}/ownership",
          "request": {
            "$ref": "RightsOwnership"
          },
          "path": "youtube/partner/v1/assets/{assetId}/ownership"
        }
      }
    },
    "assetMatchPolicy": {
      "methods": {
        "update": {
          "description": "Updates the asset's match policy. If an asset has multiple owners, each owner may set its own match policy for the asset. YouTube then computes the match policy that is actually applied for the asset based on the territories where each owner owns the asset. If the asset is already owned by another content owner, you must add your ownership to the asset (using the [`ownership.update`](https://developers.google.com/youtube/partner/reference/rest/v1/ownership/update) or [`ownership.patch`](https://developers.google.com/youtube/partner/reference/rest/v1/ownership/patch) method) before you can set or update its match policy. Otherwise, the request returns a `PERMISSION_DENIED` error.",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "request": {
            "$ref": "AssetMatchPolicy"
          },
          "path": "youtube/partner/v1/assets/{assetId}/matchPolicy",
          "parameterOrder": [
            "assetId"
          ],
          "flatPath": "youtube/partner/v1/assets/{assetId}/matchPolicy",
          "id": "youtubePartner.assetMatchPolicy.update",
          "response": {
            "$ref": "AssetMatchPolicy"
          },
          "httpMethod": "PUT",
          "parameters": {
            "onBehalfOfContentOwner": {
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string"
            },
            "assetId": {
              "location": "path",
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving the match policy.",
              "required": true
            }
          }
        },
        "patch": {
          "parameterOrder": [
            "assetId"
          ],
          "id": "youtubePartner.assetMatchPolicy.patch",
          "path": "youtube/partner/v1/assets/{assetId}/matchPolicy",
          "description": "Patches the asset's match policy. If an asset has multiple owners, each owner may set its own match policy for the asset. YouTube then computes the match policy that is actually applied for the asset based on the territories where each owner owns the asset. If the asset is already owned by another content owner, you must add your ownership to the asset (using the [`ownership.update`](https://developers.google.com/youtube/partner/reference/rest/v1/ownership/update) or [`ownership.patch`](https://developers.google.com/youtube/partner/reference/rest/v1/ownership/patch) method) before you can set or update its match policy. Otherwise, the request returns a `PERMISSION_DENIED` error.",
          "httpMethod": "PATCH",
          "response": {
            "$ref": "AssetMatchPolicy"
          },
          "flatPath": "youtube/partner/v1/assets/{assetId}/matchPolicy",
          "parameters": {
            "assetId": {
              "location": "path",
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving the match policy.",
              "required": true
            },
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "request": {
            "$ref": "AssetMatchPolicy"
          }
        },
        "get": {
          "httpMethod": "GET",
          "parameters": {
            "assetId": {
              "required": true,
              "type": "string",
              "location": "path",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving the match policy."
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "id": "youtubePartner.assetMatchPolicy.get",
          "path": "youtube/partner/v1/assets/{assetId}/matchPolicy",
          "description": "Retrieves the match policy assigned to the specified asset by the content owner associated with the authenticated user. This information is only accessible to an owner of the asset.",
          "parameterOrder": [
            "assetId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "AssetMatchPolicy"
          },
          "flatPath": "youtube/partner/v1/assets/{assetId}/matchPolicy"
        }
      }
    },
    "assets": {
      "methods": {
        "update": {
          "parameterOrder": [
            "assetId"
          ],
          "description": "Updates the metadata for the specified asset. If the asset is already owned by another content owner, you must add your ownership to the asset (using the [`ownership.update`](https://developers.google.com/youtube/partner/reference/rest/v1/ownership/update) or [`ownership.patch`](https://developers.google.com/youtube/partner/reference/rest/v1/ownership/patch) method) before you can update its metadata. Otherwise, the request returns a `PERMISSION_DENIED` error.",
          "request": {
            "$ref": "Asset"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "httpMethod": "PUT",
          "flatPath": "youtube/partner/v1/assets/{assetId}",
          "parameters": {
            "assetId": {
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset being updated.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "response": {
            "$ref": "Asset"
          },
          "path": "youtube/partner/v1/assets/{assetId}",
          "id": "youtubePartner.assets.update"
        },
        "patch": {
          "flatPath": "youtube/partner/v1/assets/{assetId}",
          "response": {
            "$ref": "Asset"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "description": "Patches the metadata for the specified asset. If the asset is already owned by another content owner, you must add your ownership to the asset (using the [`ownership.update`](https://developers.google.com/youtube/partner/reference/rest/v1/ownership/update) or [`ownership.patch`](https://developers.google.com/youtube/partner/reference/rest/v1/ownership/patch) method) before you can update its metadata. Otherwise, the request returns a `PERMISSION_DENIED` error.",
          "parameters": {
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            },
            "assetId": {
              "location": "path",
              "type": "string",
              "required": true,
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset being patched."
            }
          },
          "path": "youtube/partner/v1/assets/{assetId}",
          "parameterOrder": [
            "assetId"
          ],
          "httpMethod": "PATCH",
          "request": {
            "$ref": "Asset"
          },
          "id": "youtubePartner.assets.patch"
        },
        "list": {
          "parameterOrder": [
            "id"
          ],
          "id": "youtubePartner.assets.list",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "description": "Retrieves a list of assets based on asset metadata. The method can retrieve all assets or only assets owned by the content owner. In cases where duplicate assets have been merged, the API response only contains the synthesized asset. It does not contain the constituent assets that were merged into the synthesized asset.",
          "path": "youtube/partner/v1/assets",
          "response": {
            "$ref": "AssetListResponse"
          },
          "parameters": {
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            },
            "fetchOwnership": {
              "description": "The `fetchOwnership` parameter specifies the version of the asset's ownership data that should be returned in the API response. As with asset metadata, YouTube can receive asset ownership data from multiple sources. The `fetchOwnership` parameter specifies a comma-separated list of versions of the asset's ownership data that should be returned in the API response. As with asset metadata, YouTube can receive asset ownership data from multiple sources. The deprecated field `ownership` is only set if exactly one value of `fetchOwnership` is specified. Acceptable values are: * `canonical` - **This parameter has been deprecated**. See `effective`. * `effective` - Retrieve the ownership data that YouTube has algorithmically determined is the most accurate for the asset. * `mine` - Retrieve the ownership data provided by the default content owner associated with the currently authenticated user. * `none` - Do not retrieve any ownership data. This is the default value.",
              "type": "string",
              "location": "query"
            },
            "fetchMatchPolicy": {
              "description": "The `fetchMatchPolicy` parameter specifies the version of the asset's match policy that should be returned in the API response. The `fetchMatchPolicy` parameter specifies a comma-separated list of versions of the asset's match policy that should be returned in the API response. The deprecated field `matchPolicy` is only set if exactly one value of `fetchMatchPolicy` is specified. Acceptable values are: * `effective` - Retrieve the match policy that YouTube applies for the asset. * `mine` - Retrieve the match policy set by the default content owner for the currently authenticated user. * `none` - Do not retrieve the asset's match policy. This is the default value.",
              "type": "string",
              "location": "query"
            },
            "id": {
              "type": "string",
              "description": "The `id` parameter specifies a comma-separated list of YouTube Asset IDs that identify the assets you want to retrieve. As noted in the method description, if you try to retrieve an asset that YouTube identified as a duplicate and merged with another asset, the API response only returns the synthesized asset. In that case, the `aliasId` property in the `asset` resource specifies a list of other asset IDs that can be used to identify that asset. Also note that the API response does not contain duplicates. As such, if your request identifies three asset IDs, and all of those have been merged into a single asset, then the API response identifies one matching asset.",
              "location": "query",
              "required": true
            },
            "fetchOwnershipConflicts": {
              "description": "The `fetchOwnershipConflicts` parameter allows you to retrieve information about ownership conflicts.",
              "type": "boolean",
              "location": "query"
            },
            "fetchMetadata": {
              "type": "string",
              "location": "query",
              "description": "The `fetchMetadata` parameter specifies the version of the asset's metadata that should be returned in the API response. In some cases, YouTube receives metadata for an asset from multiple sources, such as when different partners own the asset in different territories."
            }
          },
          "flatPath": "youtube/partner/v1/assets",
          "httpMethod": "GET"
        },
        "insert": {
          "parameters": {
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            }
          },
          "request": {
            "$ref": "Asset"
          },
          "path": "youtube/partner/v1/assets",
          "httpMethod": "POST",
          "flatPath": "youtube/partner/v1/assets",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "Asset"
          },
          "parameterOrder": [],
          "description": "Inserts an asset with the specified metadata. After inserting an asset, you can set its [ownership data](https://developers.google.com/youtube/partner/reference/rest/v1/ownership/update) and [match policy](https://developers.google.com/youtube/partner/reference/rest/v1/assetMatchPolicy/update).",
          "id": "youtubePartner.assets.insert"
        },
        "get": {
          "flatPath": "youtube/partner/v1/assets/{assetId}",
          "response": {
            "$ref": "Asset"
          },
          "parameterOrder": [
            "assetId"
          ],
          "path": "youtube/partner/v1/assets/{assetId}",
          "parameters": {
            "onBehalfOfContentOwner": {
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string"
            },
            "fetchMetadata": {
              "description": "The `fetchMetadata` parameter specifies the version of the asset's metadata that should be returned in the API response. In some cases, YouTube receives metadata for an asset from multiple sources, such as when different partners own the asset in different territories.",
              "location": "query",
              "type": "string"
            },
            "assetId": {
              "location": "path",
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset being retrieved.",
              "required": true
            },
            "fetchOwnership": {
              "location": "query",
              "description": "The `fetchOwnership` parameter specifies the version of the asset's ownership data that should be returned in the API response. As with asset metadata, YouTube can receive asset ownership data from multiple sources. The `fetchOwnership` parameter specifies a comma-separated list of versions of the asset's ownership data that should be returned in the API response. As with asset metadata, YouTube can receive asset ownership data from multiple sources. The deprecated field `ownership` is only set if exactly one value of `fetchOwnership` is specified. Acceptable values are: * `canonical` - **This parameter has been deprecated**. See `effective`. * `effective` - Retrieve the ownership data that YouTube has algorithmically determined is the most accurate for the asset. * `mine` - Retrieve the ownership data provided by the default content owner associated with the currently authenticated user. * `none` - Do not retrieve any ownership data. This is the default value.",
              "type": "string"
            },
            "fetchMatchPolicy": {
              "type": "string",
              "location": "query",
              "description": "The `fetchMatchPolicy` parameter specifies the version of the asset's match policy that should be returned in the API response. The `fetchMatchPolicy` parameter specifies a comma-separated list of versions of the asset's match policy that should be returned in the API response. The deprecated field `matchPolicy` is only set if exactly one value of `fetchMatchPolicy` is specified. Acceptable values are: * `effective` - Retrieve the match policy that YouTube applies for the asset. * `mine` - Retrieve the match policy set by the default content owner for the currently authenticated user. * `none` - Do not retrieve the asset's match policy. This is the default value."
            },
            "fetchOwnershipConflicts": {
              "location": "query",
              "type": "boolean",
              "description": "The `fetchOwnershipConflicts` parameter allows you to retrieve information about ownership conflicts."
            }
          },
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "description": "Retrieves the metadata for the specified asset. Note that if the request identifies an asset that has been merged with another asset, meaning that YouTube identified the requested asset as a duplicate, then the request retrieves the merged, or synthesized, asset.",
          "id": "youtubePartner.assets.get"
        }
      }
    },
    "assetLabels": {
      "methods": {
        "insert": {
          "parameterOrder": [],
          "httpMethod": "POST",
          "path": "youtube/partner/v1/assetLabels",
          "parameters": {
            "onBehalfOfContentOwner": {
              "location": "query",
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "flatPath": "youtube/partner/v1/assetLabels",
          "id": "youtubePartner.assetLabels.insert",
          "request": {
            "$ref": "AssetLabel"
          },
          "response": {
            "$ref": "AssetLabel"
          },
          "description": "Insert an asset label for an owner.",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ]
        },
        "list": {
          "path": "youtube/partner/v1/assetLabels",
          "flatPath": "youtube/partner/v1/assetLabels",
          "parameters": {
            "pageToken": {
              "description": "The `pageToken` parameter specifies a token that identifies a particular page of results to return. Set this parameter to the value of the `nextPageToken` value from the previous API response to retrieve the next page of search results.",
              "location": "query",
              "type": "string"
            },
            "onBehalfOfContentOwner": {
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string"
            },
            "q": {
              "location": "query",
              "type": "string",
              "description": "The `q` parameter specifies the query string to use to filter search results. YouTube searches for the query string in the `labelName` field of asset labels."
            },
            "labelPrefix": {
              "location": "query",
              "description": "The `labelPrefix` parameter identifies the prefix of asset labels to retrieve.",
              "type": "string"
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "AssetLabelListResponse"
          },
          "httpMethod": "GET",
          "id": "youtubePartner.assetLabels.list",
          "parameterOrder": [],
          "description": "Retrieves a list of all asset labels for an owner."
        }
      }
    },
    "musicChangeRequests": {
      "methods": {
        "list": {
          "parameters": {
            "filter.parent": {
              "description": "Required. The parent of the change request. Could be a release or a track. Format: releases/{release} or releases/{release}/tracks/{track}",
              "type": "string",
              "location": "query"
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "description": "Identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query"
            },
            "pageToken": {
              "type": "string",
              "location": "query",
              "description": "A page token, received from a previous `ListTracks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTracks` must match the call that provided the page token."
            },
            "pageSize": {
              "type": "integer",
              "description": "The maximum number of change requests to return. The service may return fewer than this value. If unspecified, at most 30 change requests will be returned. The maximum value is 50; values above 50 will be coerced to 50.",
              "format": "int32",
              "location": "query"
            }
          },
          "httpMethod": "GET",
          "description": "Retrieves a list of music change requests reported to a release or a track.",
          "flatPath": "youtube/partner/v1/music/changeRequests",
          "response": {
            "$ref": "ListMusicChangeRequestsResponse"
          },
          "parameterOrder": [],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "id": "youtubePartner.musicChangeRequests.list",
          "path": "youtube/partner/v1/music/changeRequests"
        },
        "create": {
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "httpMethod": "POST",
          "id": "youtubePartner.musicChangeRequests.create",
          "parameters": {},
          "description": "Creates a music change request reported to a release or a track.",
          "request": {
            "$ref": "MusicChangeRequest"
          },
          "parameterOrder": [],
          "response": {
            "$ref": "MusicChangeRequest"
          },
          "flatPath": "youtube/partner/v1/music/changeRequests",
          "path": "youtube/partner/v1/music/changeRequests"
        }
      }
    },
    "assetRelationships": {
      "methods": {
        "list": {
          "response": {
            "$ref": "AssetRelationshipListResponse"
          },
          "parameterOrder": [
            "assetId"
          ],
          "flatPath": "youtube/partner/v1/assetRelationships",
          "id": "youtubePartner.assetRelationships.list",
          "description": "Retrieves a list of relationships for a given asset. The list contains relationships where the specified asset is either the parent (embedding) or child (embedded) asset in the relationship.",
          "path": "youtube/partner/v1/assetRelationships",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameters": {
            "assetId": {
              "location": "query",
              "type": "string",
              "description": "The `assetId` parameter specifies the asset ID of the asset for which you are retrieving relationships.",
              "required": true
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "The `pageToken` parameter specifies a token that identifies a particular page of results to return. Set this parameter to the value of the `nextPageToken` value from the previous API response to retrieve the next page of search results."
            },
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            }
          }
        },
        "insert": {
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameters": {
            "onBehalfOfContentOwner": {
              "location": "query",
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "request": {
            "$ref": "AssetRelationship"
          },
          "parameterOrder": [],
          "httpMethod": "POST",
          "path": "youtube/partner/v1/assetRelationships",
          "response": {
            "$ref": "AssetRelationship"
          },
          "description": "Creates a relationship that links two assets.",
          "flatPath": "youtube/partner/v1/assetRelationships",
          "id": "youtubePartner.assetRelationships.insert"
        },
        "delete": {
          "path": "youtube/partner/v1/assetRelationships/{assetRelationshipId}",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "assetRelationshipId"
          ],
          "flatPath": "youtube/partner/v1/assetRelationships/{assetRelationshipId}",
          "response": {
            "$ref": "Empty"
          },
          "description": "Deletes a relationship between two assets.",
          "parameters": {
            "assetRelationshipId": {
              "location": "path",
              "description": "The `assetRelationshipId` parameter specifies a value that uniquely identifies the relationship you are deleting.",
              "type": "string",
              "required": true
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query"
            }
          },
          "httpMethod": "DELETE",
          "id": "youtubePartner.assetRelationships.delete"
        }
      }
    },
    "ownershipHistory": {
      "methods": {
        "list": {
          "description": "Retrieves a list of the ownership data for an asset, regardless of which content owner provided the data. The list only includes the most recent ownership data for each content owner. However, if the content owner has submitted ownership data through multiple data sources (API, content feeds, etc.), the list will contain the most recent data for each content owner and data source.",
          "httpMethod": "GET",
          "parameters": {
            "onBehalfOfContentOwner": {
              "type": "string",
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            },
            "assetId": {
              "location": "query",
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving an ownership data history.",
              "required": true
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "flatPath": "youtube/partner/v1/ownershipHistory",
          "path": "youtube/partner/v1/ownershipHistory",
          "response": {
            "$ref": "OwnershipHistoryListResponse"
          },
          "id": "youtubePartner.ownershipHistory.list",
          "parameterOrder": [
            "assetId"
          ]
        }
      }
    },
    "validator": {
      "methods": {
        "validateAsyncStatus": {
          "description": "Get the asynchronous validation status.",
          "httpMethod": "POST",
          "request": {
            "$ref": "ValidateStatusRequest"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameters": {
            "onBehalfOfContentOwner": {
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query"
            }
          },
          "path": "youtube/partner/v1/validatorAsyncStatus",
          "id": "youtubePartner.validator.validateAsyncStatus",
          "parameterOrder": [],
          "response": {
            "$ref": "ValidateStatusResponse"
          },
          "flatPath": "youtube/partner/v1/validatorAsyncStatus"
        },
        "validate": {
          "response": {
            "$ref": "ValidateResponse"
          },
          "flatPath": "youtube/partner/v1/validator",
          "description": "Validate a metadata file.",
          "path": "youtube/partner/v1/validator",
          "parameterOrder": [],
          "request": {
            "$ref": "ValidateRequest"
          },
          "parameters": {
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string",
              "location": "query"
            }
          },
          "id": "youtubePartner.validator.validate",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "httpMethod": "POST"
        },
        "validateAsync": {
          "description": "Validate a metadata file asynchronously.",
          "id": "youtubePartner.validator.validateAsync",
          "path": "youtube/partner/v1/validatorAsync",
          "response": {
            "$ref": "ValidateAsyncResponse"
          },
          "flatPath": "youtube/partner/v1/validatorAsync",
          "parameterOrder": [],
          "request": {
            "$ref": "ValidateAsyncRequest"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "httpMethod": "POST",
          "parameters": {
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            }
          }
        }
      }
    },
    "campaigns": {
      "methods": {
        "list": {
          "parameterOrder": [],
          "path": "youtube/partner/v1/campaigns",
          "parameters": {
            "pageToken": {
              "location": "query",
              "description": "The `pageToken` parameter specifies a token that identifies a particular page of results to return. For example, set this parameter to the value of the `nextPageToken` value from the previous API response to retrieve the next page of search results.",
              "type": "string"
            },
            "onBehalfOfContentOwner": {
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string"
            }
          },
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "description": "Retrieves a list of campaigns for an owner.",
          "flatPath": "youtube/partner/v1/campaigns",
          "id": "youtubePartner.campaigns.list",
          "response": {
            "$ref": "CampaignList"
          }
        },
        "delete": {
          "description": "Deletes a specified campaign for an owner.",
          "parameterOrder": [
            "campaignId"
          ],
          "path": "youtube/partner/v1/campaigns/{campaignId}",
          "httpMethod": "DELETE",
          "parameters": {
            "campaignId": {
              "required": true,
              "location": "path",
              "description": "The `campaignId` parameter specifies the YouTube campaign ID of the campaign being deleted.",
              "type": "string"
            },
            "onBehalfOfContentOwner": {
              "location": "query",
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "response": {
            "$ref": "Empty"
          },
          "flatPath": "youtube/partner/v1/campaigns/{campaignId}",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "id": "youtubePartner.campaigns.delete"
        },
        "update": {
          "parameterOrder": [
            "campaignId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "description": "Update the data for a specific campaign.",
          "request": {
            "$ref": "Campaign"
          },
          "path": "youtube/partner/v1/campaigns/{campaignId}",
          "httpMethod": "PUT",
          "flatPath": "youtube/partner/v1/campaigns/{campaignId}",
          "response": {
            "$ref": "Campaign"
          },
          "parameters": {
            "onBehalfOfContentOwner": {
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query"
            },
            "campaignId": {
              "location": "path",
              "type": "string",
              "required": true,
              "description": "The `campaignId` parameter specifies the YouTube campaign ID of the campaign being retrieved."
            }
          },
          "id": "youtubePartner.campaigns.update"
        },
        "get": {
          "parameterOrder": [
            "campaignId"
          ],
          "id": "youtubePartner.campaigns.get",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "httpMethod": "GET",
          "description": "Retrieves a particular campaign for an owner.",
          "parameters": {
            "campaignId": {
              "location": "path",
              "type": "string",
              "description": "The `campaignId` parameter specifies the YouTube campaign ID of the campaign being retrieved.",
              "required": true
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query"
            }
          },
          "response": {
            "$ref": "Campaign"
          },
          "flatPath": "youtube/partner/v1/campaigns/{campaignId}",
          "path": "youtube/partner/v1/campaigns/{campaignId}"
        },
        "insert": {
          "id": "youtubePartner.campaigns.insert",
          "parameterOrder": [],
          "description": "Insert a new campaign for an owner using the specified campaign data.",
          "flatPath": "youtube/partner/v1/campaigns",
          "path": "youtube/partner/v1/campaigns",
          "response": {
            "$ref": "Campaign"
          },
          "parameters": {
            "onBehalfOfContentOwner": {
              "type": "string",
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "request": {
            "$ref": "Campaign"
          },
          "httpMethod": "POST"
        },
        "patch": {
          "path": "youtube/partner/v1/campaigns/{campaignId}",
          "response": {
            "$ref": "Campaign"
          },
          "description": "Patch the data for a specific campaign.",
          "flatPath": "youtube/partner/v1/campaigns/{campaignId}",
          "request": {
            "$ref": "Campaign"
          },
          "parameterOrder": [
            "campaignId"
          ],
          "parameters": {
            "campaignId": {
              "required": true,
              "description": "The `campaignId` parameter specifies the YouTube campaign ID of the campaign being retrieved.",
              "location": "path",
              "type": "string"
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "httpMethod": "PATCH",
          "id": "youtubePartner.campaigns.patch",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ]
        }
      }
    },
    "whitelists": {
      "methods": {
        "list": {
          "id": "youtubePartner.whitelists.list",
          "parameters": {
            "pageToken": {
              "location": "query",
              "description": "The `pageToken` parameter specifies a token that identifies a particular page of results to return. Set this parameter to the value of the `nextPageToken` value from the previous API response to retrieve the next page of results.",
              "type": "string"
            },
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string",
              "location": "query"
            },
            "id": {
              "type": "string",
              "location": "query",
              "description": "The `id` parameter specifies a comma-separated list of YouTube channel IDs that identify the whitelisted channels you want to retrieve."
            }
          },
          "httpMethod": "GET",
          "path": "youtube/partner/v1/whitelists",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "description": "Retrieves a list of whitelisted channels for a content owner.",
          "parameterOrder": [],
          "response": {
            "$ref": "WhitelistListResponse"
          },
          "flatPath": "youtube/partner/v1/whitelists"
        },
        "delete": {
          "description": "Removes a whitelisted channel for a content owner.",
          "flatPath": "youtube/partner/v1/whitelists/{id}",
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "path": "youtube/partner/v1/whitelists/{id}",
          "httpMethod": "DELETE",
          "parameterOrder": [
            "id"
          ],
          "parameters": {
            "onBehalfOfContentOwner": {
              "location": "query",
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            },
            "id": {
              "location": "path",
              "type": "string",
              "required": true,
              "description": "The `id` parameter specifies the YouTube channel ID of the channel being removed from whitelist."
            }
          },
          "id": "youtubePartner.whitelists.delete"
        },
        "insert": {
          "httpMethod": "POST",
          "description": "Whitelist a YouTube channel for your content owner. Whitelisted channels are channels that are not owned or managed by you, but you would like to whitelist so that no claims from your assets are placed on videos uploaded to these channels.",
          "parameters": {
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            }
          },
          "id": "youtubePartner.whitelists.insert",
          "response": {
            "$ref": "Whitelist"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "request": {
            "$ref": "Whitelist"
          },
          "flatPath": "youtube/partner/v1/whitelists",
          "parameterOrder": [],
          "path": "youtube/partner/v1/whitelists"
        },
        "get": {
          "response": {
            "$ref": "Whitelist"
          },
          "description": "Retrieves a specific whitelisted channel by ID.",
          "flatPath": "youtube/partner/v1/whitelists/{id}",
          "parameters": {
            "id": {
              "required": true,
              "description": "The `id` parameter specifies the YouTube channel ID of the whitelisted channel being retrieved.",
              "location": "path",
              "type": "string"
            },
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            }
          },
          "httpMethod": "GET",
          "path": "youtube/partner/v1/whitelists/{id}",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "id": "youtubePartner.whitelists.get",
          "parameterOrder": [
            "id"
          ]
        }
      }
    },
    "references": {
      "methods": {
        "get": {
          "description": "Retrieves information about the specified reference.",
          "httpMethod": "GET",
          "id": "youtubePartner.references.get",
          "parameters": {
            "referenceId": {
              "required": true,
              "description": "The `referenceId` parameter specifies the YouTube reference ID of the reference being retrieved.",
              "type": "string",
              "location": "path"
            },
            "onBehalfOfContentOwner": {
              "location": "query",
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "parameterOrder": [
            "referenceId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "Reference"
          },
          "flatPath": "youtube/partner/v1/references/{referenceId}",
          "path": "youtube/partner/v1/references/{referenceId}"
        },
        "update": {
          "path": "youtube/partner/v1/references/{referenceId}",
          "flatPath": "youtube/partner/v1/references/{referenceId}",
          "description": "Updates a reference.",
          "response": {
            "$ref": "Reference"
          },
          "parameters": {
            "releaseClaims": {
              "default": "false",
              "type": "boolean",
              "location": "query",
              "description": "The `releaseClaims` parameter indicates that you want to release all match claims associated with this reference. This parameter only works when the claim's status is being updated to 'inactive' - you can then set the parameter's value to `true` to release all match claims produced by this reference."
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query"
            },
            "referenceId": {
              "required": true,
              "location": "path",
              "type": "string",
              "description": "The `referenceId` parameter specifies the YouTube reference ID of the reference being updated."
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "httpMethod": "PUT",
          "parameterOrder": [
            "referenceId"
          ],
          "request": {
            "$ref": "Reference"
          },
          "id": "youtubePartner.references.update"
        },
        "insert": {
          "flatPath": "youtube/partner/v1/references",
          "description": "Creates a reference in one of the following ways: * If your request is uploading a reference file, YouTube creates the reference from the provided content. You can provide either a video/audio file or a pre-generated fingerprint. If you are providing a pre-generated fingerprint, set the `reference` resource's [fpDirect](https://developers.google.com/youtube/partner/reference/rest/v1/references#fpDirect) property to `true` in the request body. In this flow, you can use either the [multipart](https://developers.google.com/youtube/partner/guides/upload#multipart) or [resumable](https://developers.google.com/youtube/partner/guides/upload#resumable) upload flows to provide the reference content. * If you want to create a reference using a claimed video as the reference content, use the `claimId` parameter to identify the claim.",
          "httpMethod": "POST",
          "parameters": {
            "claimId": {
              "description": "The `claimId` parameter specifies the YouTube claim ID of an existing claim from which a reference should be created. (The claimed video is used as the reference content.)",
              "type": "string",
              "location": "query"
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query"
            }
          },
          "response": {
            "$ref": "Reference"
          },
          "id": "youtubePartner.references.insert",
          "request": {
            "$ref": "Reference"
          },
          "supportsMediaUpload": true,
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "mediaUpload": {
            "protocols": {
              "simple": {
                "path": "/upload/youtube/partner/v1/references",
                "multipart": true
              }
            },
            "maxSize": "21474836480",
            "accept": [
              "*/*"
            ]
          },
          "parameterOrder": [],
          "path": "youtube/partner/v1/references"
        },
        "patch": {
          "request": {
            "$ref": "Reference"
          },
          "response": {
            "$ref": "Reference"
          },
          "path": "youtube/partner/v1/references/{referenceId}",
          "flatPath": "youtube/partner/v1/references/{referenceId}",
          "description": "Patches a reference.",
          "id": "youtubePartner.references.patch",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "httpMethod": "PATCH",
          "parameterOrder": [
            "referenceId"
          ],
          "parameters": {
            "onBehalfOfContentOwner": {
              "location": "query",
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            },
            "referenceId": {
              "description": "The `referenceId` parameter specifies the YouTube reference ID of the reference being updated.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "releaseClaims": {
              "location": "query",
              "default": "false",
              "description": "The `releaseClaims` parameter indicates that you want to release all match claims associated with this reference. This parameter only works when the claim's status is being updated to 'inactive' - you can then set the parameter's value to `true` to release all match claims produced by this reference.",
              "type": "boolean"
            }
          }
        },
        "list": {
          "flatPath": "youtube/partner/v1/references",
          "parameterOrder": [],
          "path": "youtube/partner/v1/references",
          "response": {
            "$ref": "ReferenceListResponse"
          },
          "httpMethod": "GET",
          "id": "youtubePartner.references.list",
          "parameters": {
            "pageToken": {
              "type": "string",
              "location": "query",
              "description": "The `pageToken` parameter specifies a token that identifies a particular page of results to return. Set this parameter to the value of the `nextPageToken` value from the previous API response to retrieve the next page of search results."
            },
            "onBehalfOfContentOwner": {
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string"
            },
            "id": {
              "type": "string",
              "description": "The `id` parameter specifies a comma-separated list of YouTube reference IDs to retrieve.",
              "location": "query"
            },
            "assetId": {
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving references.",
              "location": "query"
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "description": "Retrieves a list of references by ID or the list of references for the specified asset."
        }
      }
    },
    "claimSearch": {
      "methods": {
        "list": {
          "parameters": {
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            },
            "origin": {
              "location": "query",
              "description": "The `origin` parameter specifies the origins you want to find claims for. It is a comma-separated list of origin values.",
              "type": "string"
            },
            "createdAfter": {
              "type": "string",
              "location": "query",
              "description": "The `createdAfter` parameter allows you to restrict the set of returned claims to ones created on or after the specified date (inclusive)."
            },
            "assetId": {
              "location": "query",
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving claims."
            },
            "q": {
              "type": "string",
              "description": "The `q` parameter specifies the query string to use to filter search results. YouTube searches for the query string in the following claim fields: * `video_title` * `video_keywords` * `user_name` * `isrc` * `iswc` * `grid` * `custom_id` * The content owner's email address",
              "location": "query"
            },
            "isVideoShortsEligible": {
              "type": "boolean",
              "location": "query",
              "description": "The `isVideoShortsEligible` parameter allows you to restrict the result set to only include claims that are on videos that are YouTube Shorts eligible, or to exclude them. If unspecified, no filtering will be performed based on YouTube Shorts eligibility."
            },
            "createdBefore": {
              "location": "query",
              "type": "string",
              "description": "The `createdBefore` parameter allows you to restrict the set of returned claims to ones created before the specified date (exclusive)."
            },
            "sort": {
              "location": "query",
              "enum": [
                "SORT_UNSPECIFIED",
                "DATE",
                "DAILY_ENGAGED_VIEWS",
                "LIFETIME_ENGAGED_VIEWS"
              ],
              "type": "string",
              "description": "The `sort` parameter specifies the method that will be used to order resources in the API response. The default value is `date`. However, if the `status` parameter value is either `appealed`, `disputed`, `pending`, `potential`, or `routedForReview`, then results will be sorted by the time that the claim review period expires.",
              "enumDescriptions": [
                "Default value.",
                "Resources are sorted in reverse chronological order (from newest to oldest) based on the dates they were created. This value is not applicable if the `status` parameter is set to any of the following values: `appealed`, `disputed`, `pending`, `potential`, or `routedForReview`.",
                "Resources are sorted from highest to lowest number of approximate daily engaged views for the claimed content. This value is not applicable if the `status` parameter is set to any of the following values: `appealed`, `disputed`, `pending`, `potential`, or `routedForReview`.",
                "Resources are sorted from highest to lowest number of approximate lifetime engaged views for the claimed content. This value is not applicable if the `status` parameter is set to any of the following values: `appealed`, `disputed`, `pending`, `potential`, or `routedForReview`."
              ]
            },
            "pageToken": {
              "type": "string",
              "description": "The `pageToken` parameter specifies a token that identifies a particular page of results to return. For example, set this parameter to the value of the `nextPageToken` value from the previous API response to retrieve the next page of search results.",
              "location": "query"
            },
            "statusModifiedAfter": {
              "type": "string",
              "description": "The `statusModifiedAfter` parameter allows you to restrict the result set to only include claims that have had their status modified on or after the specified date (inclusive). The date specified must be on or after June 30, 2016 (2016-06-30). The parameter value's format is `YYYY-MM-DD`.",
              "location": "query"
            },
            "status": {
              "type": "string",
              "enumDescriptions": [
                "Default value.",
                "Restrict results to claims with active status.",
                "Restrict results to claims with appealed status.",
                "Restrict results to claims with disputed status.",
                "Restrict results to claims with inactive status.",
                "Restrict results to claims with pending status.",
                "Restrict results to claims with potetial status.",
                "Restrict results to claims that require review based on a match policy rule.",
                "Restrict results to claims with takedown status.",
                "Restrict results to claims where the matching segment is too short for us to be confident that it should be made.",
                "Restrict results to claims about videos that were uploaded to a channel owned by a YT partner.",
                "Restrict results to claims with low confidence for various reasons, including low match score, low trust score, high view count, etc.",
                "Restrict results to 3rd claims that are suspected of being actually first party claims done through music aggregators (allowing creators to monetize without having to get into YPP).",
                "Restrict results to low confidence claims made as part of legacy block."
              ],
              "enum": [
                "STATUS_UNSPECIFIED",
                "ACTIVE",
                "APPEALED",
                "DISPUTED",
                "INACTIVE",
                "PENDING",
                "POTENTIAL",
                "ROUTED_FOR_REVIEW",
                "TAKEDOWN",
                "SHORT_MATCH",
                "YOUTUBE_PARTNER",
                "LOW_CONFIDENCE",
                "YT_MONETIZATION_POLICY",
                "RETROACTIVE_BLOCK"
              ],
              "description": "The `status` parameter restricts your results to only claims in the specified status.",
              "location": "query"
            },
            "contentType": {
              "type": "string",
              "description": "The `contentType` parameter specifies the content type of claims that you want to retrieve.",
              "enumDescriptions": [
                "Default value.",
                "Restrict results to audio-only claims.",
                "Restrict results to audiovisual claims.",
                "Restrict results to video-only claims."
              ],
              "location": "query",
              "enum": [
                "CONTENT_TYPE_UNSPECIFIED",
                "AUDIO",
                "AUDIOVISUAL",
                "VISUAL"
              ]
            },
            "partnerUploaded": {
              "type": "boolean",
              "location": "query",
              "description": "The `partnerUploaded` parameter specifies whether you want to filter your search results to only partner uploaded or non partner uploaded claims."
            },
            "includeThirdPartyClaims": {
              "description": "Used along with the `videoId` parameter this parameter determines whether or not to include third party claims in the search results.",
              "location": "query",
              "type": "boolean"
            },
            "inactiveReasons": {
              "type": "string",
              "description": "The `inactiveReasons` parameter allows you to specify what kind of inactive claims you want to find based on the reasons why the claims became inactive.",
              "location": "query"
            },
            "videoId": {
              "location": "query",
              "type": "string",
              "description": "The `videoId` parameter specifies comma-separated list of YouTube video IDs for which you are retrieving claims."
            },
            "referenceId": {
              "location": "query",
              "description": "The `referenceId` parameter specifies the YouTube reference ID of the reference for which you are retrieving claims.",
              "type": "string"
            },
            "statusModifiedBefore": {
              "type": "string",
              "location": "query",
              "description": "The `statusModifiedBefore` parameter allows you to restrict the result set to only include claims that have had their status modified before the specified date (exclusive). The date specified must be on or after July 1, 2016 (2016-07-01). The parameter value's format is `YYYY-MM-DD`."
            }
          },
          "response": {
            "$ref": "ClaimSearchResponse"
          },
          "flatPath": "youtube/partner/v1/claimSearch",
          "httpMethod": "GET",
          "description": "Retrieves a list of claims that match the search criteria. You can search for claims that are associated with a specific asset or video or that match a specified query string.",
          "id": "youtubePartner.claimSearch.list",
          "parameterOrder": [],
          "path": "youtube/partner/v1/claimSearch",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ]
        }
      }
    },
    "spreadsheetTemplate": {
      "methods": {
        "list": {
          "flatPath": "youtube/partner/v1/spreadsheetTemplate",
          "description": "Retrieves a list of spreadsheet templates for a content owner.",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "id": "youtubePartner.spreadsheetTemplate.list",
          "response": {
            "$ref": "SpreadsheetTemplateListResponse"
          },
          "parameters": {
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            },
            "locale": {
              "description": "The `locale` parameter identifies the desired language for templates in the API response. The value is a string that contains a BCP-47 language code. The default value is `en`.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "youtube/partner/v1/spreadsheetTemplate",
          "httpMethod": "GET",
          "parameterOrder": []
        }
      }
    },
    "musicReleases": {
      "methods": {
        "list": {
          "parameterOrder": [],
          "id": "youtubePartner.musicReleases.list",
          "httpMethod": "GET",
          "parameters": {
            "filter.titleMatches": {
              "description": "Tokenized search (case insensitive).",
              "location": "query",
              "type": "string"
            },
            "onBehalfOfContentOwner": {
              "description": "Identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string",
              "location": "query"
            },
            "pageToken": {
              "type": "string",
              "description": "A page token, received from a previous `ListReleases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleases` must match the call that provided the page token.",
              "location": "query"
            },
            "filter.hasClosedChangeRequest": {
              "type": "boolean",
              "location": "query",
              "description": "At least one ChangeRequest in closed status."
            },
            "filter.upcs": {
              "location": "query",
              "repeated": true,
              "description": "A list of case insensitive UPCs of the releases to be retrieved.",
              "type": "string"
            },
            "filter.hasOpenChangeRequest": {
              "type": "boolean",
              "location": "query",
              "description": "At least one ChangeRequest in open status."
            },
            "pageSize": {
              "type": "integer",
              "format": "int32",
              "description": "The maximum number of releases to return. The service may return fewer than this value. If unspecified, at most 30 releases will be returned. The maximum value is 50; values above 50 will be coerced to 50.",
              "location": "query"
            },
            "filter.artistNameMatches": {
              "description": "Tokenized search (case insensitive).",
              "type": "string",
              "location": "query"
            }
          },
          "description": "Retrieves a list of music releases.",
          "response": {
            "$ref": "ListMusicReleasesResponse"
          },
          "path": "youtube/partner/v1/music/releases",
          "flatPath": "youtube/partner/v1/music/releases",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ]
        }
      }
    },
    "videoAdvertisingOptions": {
      "methods": {
        "patch": {
          "response": {
            "$ref": "VideoAdvertisingOption"
          },
          "flatPath": "youtube/partner/v1/videoAdvertisingOptions/{videoId}",
          "path": "youtube/partner/v1/videoAdvertisingOptions/{videoId}",
          "httpMethod": "PATCH",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameters": {
            "videoId": {
              "required": true,
              "description": "The `videoId` parameter specifies the YouTube video ID of the video for which you are updating advertising settings.",
              "type": "string",
              "location": "path"
            },
            "onBehalfOfContentOwner": {
              "location": "query",
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "parameterOrder": [
            "videoId"
          ],
          "request": {
            "$ref": "VideoAdvertisingOption"
          },
          "description": "Patches the advertising settings for the specified video.",
          "id": "youtubePartner.videoAdvertisingOptions.patch"
        },
        "getEnabledAds": {
          "id": "youtubePartner.videoAdvertisingOptions.getEnabledAds",
          "parameterOrder": [
            "videoId"
          ],
          "description": "Retrieves details about the types of allowed ads for a specified partner- or user-uploaded video.",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "flatPath": "youtube/partner/v1/videoAdvertisingOptions/{videoId}/getEnabledAds",
          "response": {
            "$ref": "VideoAdvertisingOptionGetEnabledAdsResponse"
          },
          "parameters": {
            "videoId": {
              "type": "string",
              "required": true,
              "location": "path",
              "description": "The `videoId` parameter specifies the YouTube video ID of the video for which you are retrieving advertising options."
            },
            "onBehalfOfContentOwner": {
              "location": "query",
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "httpMethod": "GET",
          "path": "youtube/partner/v1/videoAdvertisingOptions/{videoId}/getEnabledAds"
        },
        "update": {
          "httpMethod": "PUT",
          "parameterOrder": [
            "videoId"
          ],
          "parameters": {
            "videoId": {
              "description": "The `videoId` parameter specifies the YouTube video ID of the video for which you are updating advertising settings.",
              "required": true,
              "type": "string",
              "location": "path"
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "flatPath": "youtube/partner/v1/videoAdvertisingOptions/{videoId}",
          "request": {
            "$ref": "VideoAdvertisingOption"
          },
          "response": {
            "$ref": "VideoAdvertisingOption"
          },
          "description": "Updates the advertising settings for the specified video.",
          "id": "youtubePartner.videoAdvertisingOptions.update",
          "path": "youtube/partner/v1/videoAdvertisingOptions/{videoId}",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ]
        },
        "get": {
          "response": {
            "$ref": "VideoAdvertisingOption"
          },
          "description": "Retrieves advertising settings for the specified video.",
          "httpMethod": "GET",
          "parameters": {
            "videoId": {
              "description": "The `videoId` parameter specifies the YouTube video ID of the video for which you are retrieving advertising settings.",
              "type": "string",
              "required": true,
              "location": "path"
            },
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string",
              "location": "query"
            }
          },
          "flatPath": "youtube/partner/v1/videoAdvertisingOptions/{videoId}",
          "id": "youtubePartner.videoAdvertisingOptions.get",
          "path": "youtube/partner/v1/videoAdvertisingOptions/{videoId}",
          "parameterOrder": [
            "videoId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ]
        }
      }
    },
    "package": {
      "methods": {
        "get": {
          "response": {
            "$ref": "Package"
          },
          "path": "youtube/partner/v1/package/{packageId}",
          "flatPath": "youtube/partner/v1/package/{packageId}",
          "description": "Retrieves information for the specified package.",
          "id": "youtubePartner.package.get",
          "parameterOrder": [
            "packageId"
          ],
          "httpMethod": "GET",
          "parameters": {
            "packageId": {
              "description": "The `packageId` parameter specifies the Content Delivery package ID of the package being retrieved.",
              "required": true,
              "type": "string",
              "location": "path"
            },
            "onBehalfOfContentOwner": {
              "location": "query",
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ]
        },
        "insert": {
          "path": "youtube/partner/v1/package",
          "response": {
            "$ref": "PackageInsertResponse"
          },
          "parameters": {
            "onBehalfOfContentOwner": {
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query"
            }
          },
          "id": "youtubePartner.package.insert",
          "parameterOrder": [],
          "httpMethod": "POST",
          "flatPath": "youtube/partner/v1/package",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "request": {
            "$ref": "Package"
          },
          "description": "Inserts a metadata-only package."
        }
      }
    },
    "musicTracks": {
      "methods": {
        "list": {
          "id": "youtubePartner.musicTracks.list",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "path": "youtube/partner/v1/music/{+parent}/tracks",
          "response": {
            "$ref": "ListMusicTracksResponse"
          },
          "parameters": {
            "parent": {
              "type": "string",
              "pattern": "^releases/[^/]+$",
              "location": "path",
              "required": true,
              "description": "Required. The parent release, which contains this list of tracks. Format: releases/{release}"
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "location": "query",
              "description": "Identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            },
            "filter.hasOpenChangeRequest": {
              "description": "At least one ChangeRequest in open status.",
              "location": "query",
              "type": "boolean"
            },
            "pageSize": {
              "type": "integer",
              "format": "int32",
              "description": "The maximum number of tracks to return. The service may return fewer than this value. If unspecified, at most 30 tracks will be returned. The maximum value is 50; values above 50 will be coerced to 50.",
              "location": "query"
            },
            "filter.titleMatches": {
              "description": "Tokenized search (case insensitive).",
              "type": "string",
              "location": "query"
            },
            "filter.upcs": {
              "repeated": true,
              "type": "string",
              "location": "query",
              "description": "A list of case insensitive UPCs of the tracks to be retrieved."
            },
            "pageToken": {
              "type": "string",
              "description": "A page token, received from a previous `ListTracks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTracks` must match the call that provided the page token.",
              "location": "query"
            },
            "filter.artistNameMatches": {
              "location": "query",
              "description": "Tokenized search (case insensitive).",
              "type": "string"
            },
            "filter.isrcs": {
              "location": "query",
              "type": "string",
              "description": "A list of case insensitive ISRCs of the tracks to be retrieved.",
              "repeated": true
            },
            "filter.externalVideoIds": {
              "location": "query",
              "description": "A list of case insensitive external videoIds of the tracks to be retrieved.",
              "repeated": true,
              "type": "string"
            },
            "filter.hasClosedChangeRequest": {
              "description": "At least one ChangeRequest in closed status.",
              "type": "boolean",
              "location": "query"
            }
          },
          "description": "Retrieves a list of music tracks.",
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/music/releases/{releasesId}/tracks",
          "parameterOrder": [
            "parent"
          ]
        }
      }
    },
    "contentOwners": {
      "methods": {
        "list": {
          "parameters": {
            "id": {
              "type": "string",
              "description": "The `id` parameter specifies a comma-separated list of YouTube content owner IDs to retrieve.",
              "location": "query"
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            },
            "fetchMine": {
              "description": "The `fetchMine` parameter restricts the result set to content owners associated with the currently authenticated API user.",
              "location": "query",
              "type": "boolean"
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner",
            "https://www.googleapis.com/auth/youtubepartner-content-owner-readonly"
          ],
          "path": "youtube/partner/v1/contentOwners",
          "httpMethod": "GET",
          "parameterOrder": [],
          "description": "Retrieves a list of [content owners](https://developers.google.com/youtube/partner/reference/rest/v1/contentOwners#resource) that match the request criteria.",
          "id": "youtubePartner.contentOwners.list",
          "flatPath": "youtube/partner/v1/contentOwners",
          "response": {
            "$ref": "ContentOwnerListResponse"
          }
        },
        "get": {
          "flatPath": "youtube/partner/v1/contentOwners/{contentOwnerId}",
          "httpMethod": "GET",
          "parameters": {
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string",
              "location": "query"
            },
            "contentOwnerId": {
              "required": true,
              "description": "The `contentOwnerId` parameter specifies a value that uniquely identifies the content owner.",
              "type": "string",
              "location": "path"
            }
          },
          "response": {
            "$ref": "ContentOwner"
          },
          "id": "youtubePartner.contentOwners.get",
          "description": "Retrieves information about the specified content owner.",
          "path": "youtube/partner/v1/contentOwners/{contentOwnerId}",
          "parameterOrder": [
            "contentOwnerId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ]
        }
      }
    },
    "claims": {
      "methods": {
        "get": {
          "flatPath": "youtube/partner/v1/claims/{claimId}",
          "response": {
            "$ref": "Claim"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "description": "Retrieves a specific claim by ID.",
          "parameterOrder": [
            "claimId"
          ],
          "path": "youtube/partner/v1/claims/{claimId}",
          "id": "youtubePartner.claims.get",
          "parameters": {
            "claimId": {
              "description": "The `claimId` parameter specifies the claim ID of the claim being retrieved.",
              "location": "path",
              "required": true,
              "type": "string"
            },
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string",
              "location": "query"
            }
          },
          "httpMethod": "GET"
        },
        "patch": {
          "id": "youtubePartner.claims.patch",
          "httpMethod": "PATCH",
          "description": "Patches an existing claim by either changing its policy or its status. You can update a claim's status from `active` to `inactive` to effectively release the claim.",
          "request": {
            "$ref": "Claim"
          },
          "parameterOrder": [
            "claimId"
          ],
          "parameters": {
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string",
              "location": "query"
            },
            "claimId": {
              "required": true,
              "description": "The `claimId` parameter specifies the claim ID of the claim being updated.",
              "type": "string",
              "location": "path"
            }
          },
          "response": {
            "$ref": "Claim"
          },
          "path": "youtube/partner/v1/claims/{claimId}",
          "flatPath": "youtube/partner/v1/claims/{claimId}",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ]
        },
        "update": {
          "response": {
            "$ref": "Claim"
          },
          "flatPath": "youtube/partner/v1/claims/{claimId}",
          "path": "youtube/partner/v1/claims/{claimId}",
          "request": {
            "$ref": "Claim"
          },
          "description": "Updates an existing claim by either changing its policy or its status. You can update a claim's status from `active` to `inactive` to effectively release the claim.",
          "parameterOrder": [
            "claimId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameters": {
            "onBehalfOfContentOwner": {
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string"
            },
            "claimId": {
              "location": "path",
              "description": "The `claimId` parameter specifies the claim ID of the claim being updated.",
              "required": true,
              "type": "string"
            }
          },
          "id": "youtubePartner.claims.update",
          "httpMethod": "PUT"
        },
        "list": {
          "parameterOrder": [],
          "id": "youtubePartner.claims.list",
          "path": "youtube/partner/v1/claims",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "ClaimListResponse"
          },
          "flatPath": "youtube/partner/v1/claims",
          "description": "Retrieves a list of claims administered by the content owner associated with the currently authenticated user. Results are sorted in descending order of creation time.",
          "parameters": {
            "videoId": {
              "description": "Use the `claimSearch.list` method's [`videoId`](https://developers.google.com/youtube/partner/reference/rest/v1/claimSearch/list#videoId) parameter to search for claim snippets by video ID. You can then retrieve the `claim` resources for those claims by using this method's `id` parameter to specify a comma-separated list of claim IDs.",
              "location": "query",
              "type": "string"
            },
            "assetId": {
              "location": "query",
              "description": "Use the `claimSearch.list` method's [`assetId`](https://developers.google.com/youtube/partner/reference/rest/v1/claimSearch/list#assetId) parameter to search for claim snippets by asset ID. You can then retrieve the `claim` resources for those claims by using this method's `id` parameter to specify a comma-separated list of claim IDs.",
              "type": "string"
            },
            "pageToken": {
              "location": "query",
              "description": "The `pageToken` parameter specifies a token that identifies a particular page of results to return. For example, set this parameter to the value of the `nextPageToken` value from the previous API response to retrieve the next page of search results.",
              "type": "string"
            },
            "q": {
              "description": "Use the `claimSearch.list` method's [`q`](https://developers.google.com/youtube/partner/reference/rest/v1/claimSearch/list#q) parameter to search for claim snippets that match a particular query string. You can then retrieve the `claim` resources for those claims by using this method's `id` parameter to specify a comma-separated list of claim IDs.",
              "location": "query",
              "type": "string"
            },
            "onBehalfOfContentOwner": {
              "location": "query",
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            },
            "id": {
              "type": "string",
              "location": "query",
              "description": "The `id` parameter specifies a list of comma-separated YouTube claim IDs to retrieve."
            }
          },
          "httpMethod": "GET"
        },
        "insert": {
          "request": {
            "$ref": "Claim"
          },
          "description": "Creates a claim. The video being claimed must have been uploaded to a channel associated with the same content owner as the API user sending the request. You can set the claim's policy in any of the following ways: * Use the `claim` resource's `policy` property to identify a saved policy by its unique ID. * Use the `claim` resource's `policy` property to specify a custom set of rules.",
          "response": {
            "$ref": "Claim"
          },
          "path": "youtube/partner/v1/claims",
          "flatPath": "youtube/partner/v1/claims",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "httpMethod": "POST",
          "parameters": {
            "isManualClaim": {
              "location": "query",
              "description": "restricted",
              "type": "boolean"
            },
            "onBehalfOfContentOwner": {
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query"
            }
          },
          "id": "youtubePartner.claims.insert"
        }
      }
    },
    "policies": {
      "methods": {
        "patch": {
          "parameters": {
            "onBehalfOfContentOwner": {
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string"
            },
            "policyId": {
              "description": "The `policyId` parameter specifies a value that uniquely identifies the policy being updated.",
              "location": "path",
              "type": "string",
              "required": true
            }
          },
          "request": {
            "$ref": "Policy"
          },
          "parameterOrder": [
            "policyId"
          ],
          "id": "youtubePartner.policies.patch",
          "description": "Patches the specified saved policy.",
          "httpMethod": "PATCH",
          "flatPath": "youtube/partner/v1/policies/{policyId}",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "Policy"
          },
          "path": "youtube/partner/v1/policies/{policyId}"
        },
        "list": {
          "flatPath": "youtube/partner/v1/policies",
          "id": "youtubePartner.policies.list",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "PolicyList"
          },
          "parameters": {
            "onBehalfOfContentOwner": {
              "type": "string",
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            },
            "sort": {
              "enum": [
                "SORT_UNSPECIFIED",
                "TIME_UPDATED_ASC",
                "TIME_UPDATED_DESC"
              ],
              "location": "query",
              "enumDescriptions": [
                "Default value.",
                "Sort by the update time ascending.",
                "Sort by the update time descending."
              ],
              "type": "string",
              "description": "The `sort` parameter specifies how the search results should be sorted."
            },
            "id": {
              "location": "query",
              "type": "string",
              "description": "The `id` parameter specifies a comma-separated list of saved policy IDs to retrieve. Only policies belonging to the currently authenticated content owner will be available."
            }
          },
          "httpMethod": "GET",
          "path": "youtube/partner/v1/policies",
          "description": "Retrieves a list of the content owner's saved policies.",
          "parameterOrder": []
        },
        "get": {
          "parameterOrder": [
            "policyId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameters": {
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            },
            "policyId": {
              "required": true,
              "type": "string",
              "description": "The `policyId` parameter specifies a value that uniquely identifies the policy being retrieved.",
              "location": "path"
            }
          },
          "id": "youtubePartner.policies.get",
          "description": "Retrieves the specified saved policy.",
          "httpMethod": "GET",
          "path": "youtube/partner/v1/policies/{policyId}",
          "response": {
            "$ref": "Policy"
          },
          "flatPath": "youtube/partner/v1/policies/{policyId}"
        },
        "insert": {
          "id": "youtubePartner.policies.insert",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "request": {
            "$ref": "Policy"
          },
          "flatPath": "youtube/partner/v1/policies",
          "response": {
            "$ref": "Policy"
          },
          "parameterOrder": [],
          "description": "Creates a saved policy.",
          "path": "youtube/partner/v1/policies",
          "httpMethod": "POST",
          "parameters": {
            "onBehalfOfContentOwner": {
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query",
              "type": "string"
            }
          }
        },
        "update": {
          "httpMethod": "PUT",
          "parameters": {
            "policyId": {
              "location": "path",
              "type": "string",
              "required": true,
              "description": "The `policyId` parameter specifies a value that uniquely identifies the policy being updated."
            },
            "onBehalfOfContentOwner": {
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string"
            }
          },
          "request": {
            "$ref": "Policy"
          },
          "parameterOrder": [
            "policyId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "id": "youtubePartner.policies.update",
          "path": "youtube/partner/v1/policies/{policyId}",
          "response": {
            "$ref": "Policy"
          },
          "flatPath": "youtube/partner/v1/policies/{policyId}",
          "description": "Updates the specified saved policy."
        }
      }
    },
    "assetShares": {
      "methods": {
        "list": {
          "parameterOrder": [
            "assetId"
          ],
          "id": "youtubePartner.assetShares.list",
          "path": "youtube/partner/v1/assetShares",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameters": {
            "assetId": {
              "description": "The `assetId` parameter specifies the asset ID for which you are retrieving data. The parameter can be an asset view ID or an asset share ID: * If the value is an asset view ID, the API response identifies any asset share ids mapped to the asset view. * If the value is an asset share ID, the API response identifies any asset view ids that maps to that asset share.",
              "location": "query",
              "type": "string",
              "required": true
            },
            "pageToken": {
              "location": "query",
              "description": "The `pageToken` parameter specifies a token that identifies a particular page of results to return. Set this parameter to the value of the `nextPageToken` value from the previous API response to retrieve the next page of search results.",
              "type": "string"
            },
            "onBehalfOfContentOwner": {
              "location": "query",
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "httpMethod": "GET",
          "description": "This method either retrieves a list of asset shares the partner owns and that map to a specified asset view ID *or* it retrieves a list of asset views associated with a specified asset share ID owned by the partner.",
          "flatPath": "youtube/partner/v1/assetShares",
          "response": {
            "$ref": "AssetShareListResponse"
          }
        }
      }
    },
    "referenceConflicts": {
      "methods": {
        "list": {
          "flatPath": "youtube/partner/v1/referenceConflicts",
          "response": {
            "$ref": "ReferenceConflictListResponse"
          },
          "id": "youtubePartner.referenceConflicts.list",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "parameters": {
            "pageToken": {
              "type": "string",
              "description": "The `pageToken` parameter specifies a token that identifies a particular page of results to return. Set this parameter to the value of the `nextPageToken` value from the previous API response to retrieve the next page of search results.",
              "location": "query"
            },
            "onBehalfOfContentOwner": {
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "type": "string"
            }
          },
          "httpMethod": "GET",
          "description": "Retrieves a list of unresolved reference conflicts.",
          "path": "youtube/partner/v1/referenceConflicts"
        },
        "get": {
          "parameterOrder": [
            "referenceConflictId"
          ],
          "id": "youtubePartner.referenceConflicts.get",
          "parameters": {
            "onBehalfOfContentOwner": {
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners.",
              "location": "query"
            },
            "referenceConflictId": {
              "description": "The `referenceConflictId` parameter specifies the YouTube reference conflict ID of the reference conflict being retrieved.",
              "required": true,
              "type": "string",
              "location": "path"
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "description": "Retrieves information about the specified reference conflict.",
          "httpMethod": "GET",
          "response": {
            "$ref": "ReferenceConflict"
          },
          "path": "youtube/partner/v1/referenceConflicts/{referenceConflictId}",
          "flatPath": "youtube/partner/v1/referenceConflicts/{referenceConflictId}"
        }
      }
    },
    "uploader": {
      "methods": {
        "list": {
          "path": "youtube/partner/v1/uploader",
          "httpMethod": "GET",
          "parameters": {
            "onBehalfOfContentOwner": {
              "location": "query",
              "type": "string",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            }
          },
          "description": "Retrieves a list of uploaders for a content owner.",
          "response": {
            "$ref": "UploaderListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "flatPath": "youtube/partner/v1/uploader",
          "id": "youtubePartner.uploader.list",
          "parameterOrder": []
        }
      }
    },
    "metadataHistory": {
      "methods": {
        "list": {
          "path": "youtube/partner/v1/metadataHistory",
          "parameters": {
            "onBehalfOfContentOwner": {
              "type": "string",
              "location": "query",
              "description": "The `onBehalfOfContentOwner` parameter identifies the content owner that the user is acting on behalf of. This parameter supports users whose accounts are associated with multiple content owners."
            },
            "assetId": {
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving a metadata history.",
              "required": true,
              "type": "string",
              "location": "query"
            }
          },
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "description": "Retrieves a list of all metadata provided for an asset, regardless of which content owner provided the data.",
          "response": {
            "$ref": "MetadataHistoryListResponse"
          },
          "parameterOrder": [
            "assetId"
          ],
          "id": "youtubePartner.metadataHistory.list",
          "flatPath": "youtube/partner/v1/metadataHistory"
        }
      }
    }
  },
  "id": "youtubePartner:v1",
  "batchPath": "batch/youtubePartner/v1",
  "basePath": "",
  "name": "youtubePartner",
  "canonicalName": "YouTube Partner",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "kind": "discovery#restDescription",
  "revision": "20260829",
  "version_module": true,
  "ownerName": "Google"
}
