{
  "name": "youtubePartner",
  "title": "YouTube Content ID API",
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "mtlsRootUrl": "https://www.mtls.googleapis.com/",
  "servicePath": "",
  "documentationLink": "https://developers.google.com/youtube/partner",
  "canonicalName": "YouTube Partner",
  "ownerDomain": "google.com",
  "batchPath": "batch/youtubePartner/v1",
  "resources": {
    "ownership": {
      "methods": {
        "get": {
          "id": "youtubePartner.ownership.get",
          "flatPath": "youtube/partner/v1/assets/{assetId}/ownership",
          "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": {
              "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": "RightsOwnership"
          },
          "description": "Retrieves the ownership data provided for the specified asset by the content owner associated with the authenticated user.",
          "parameterOrder": [
            "assetId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "path": "youtube/partner/v1/assets/{assetId}/ownership",
          "httpMethod": "GET"
        },
        "patch": {
          "path": "youtube/partner/v1/assets/{assetId}/ownership",
          "httpMethod": "PATCH",
          "request": {
            "$ref": "RightsOwnership"
          },
          "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.",
          "response": {
            "$ref": "RightsOwnership"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "assetId"
          ],
          "flatPath": "youtube/partner/v1/assets/{assetId}/ownership",
          "parameters": {
            "assetId": {
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset being updated.",
              "location": "path",
              "required": true,
              "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": "youtubePartner.ownership.patch"
        },
        "update": {
          "path": "youtube/partner/v1/assets/{assetId}/ownership",
          "httpMethod": "PUT",
          "request": {
            "$ref": "RightsOwnership"
          },
          "response": {
            "$ref": "RightsOwnership"
          },
          "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.",
          "parameterOrder": [
            "assetId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "id": "youtubePartner.ownership.update",
          "flatPath": "youtube/partner/v1/assets/{assetId}/ownership",
          "parameters": {
            "assetId": {
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset being updated.",
              "location": "path",
              "required": true,
              "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."
            }
          }
        }
      }
    },
    "videoAdvertisingOptions": {
      "methods": {
        "get": {
          "path": "youtube/partner/v1/videoAdvertisingOptions/{videoId}",
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/videoAdvertisingOptions/{videoId}",
          "parameters": {
            "videoId": {
              "location": "path",
              "required": true,
              "type": "string",
              "description": "The `videoId` parameter specifies the YouTube video ID of the video for which you are retrieving advertising settings."
            },
            "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.videoAdvertisingOptions.get",
          "description": "Retrieves advertising settings for the specified video.",
          "response": {
            "$ref": "VideoAdvertisingOption"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "videoId"
          ]
        },
        "update": {
          "path": "youtube/partner/v1/videoAdvertisingOptions/{videoId}",
          "httpMethod": "PUT",
          "request": {
            "$ref": "VideoAdvertisingOption"
          },
          "flatPath": "youtube/partner/v1/videoAdvertisingOptions/{videoId}",
          "parameters": {
            "videoId": {
              "description": "The `videoId` parameter specifies the YouTube video ID of the video for which you are updating advertising settings.",
              "location": "path",
              "required": true,
              "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": "youtubePartner.videoAdvertisingOptions.update",
          "description": "Updates the advertising settings for the specified video.",
          "response": {
            "$ref": "VideoAdvertisingOption"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "videoId"
          ]
        },
        "getEnabledAds": {
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "videoId"
          ],
          "description": "Retrieves details about the types of allowed ads for a specified partner- or user-uploaded video.",
          "response": {
            "$ref": "VideoAdvertisingOptionGetEnabledAdsResponse"
          },
          "flatPath": "youtube/partner/v1/videoAdvertisingOptions/{videoId}/getEnabledAds",
          "parameters": {
            "videoId": {
              "description": "The `videoId` parameter specifies the YouTube video ID of the video for which you are retrieving advertising options.",
              "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.",
              "location": "query",
              "type": "string"
            }
          },
          "id": "youtubePartner.videoAdvertisingOptions.getEnabledAds",
          "path": "youtube/partner/v1/videoAdvertisingOptions/{videoId}/getEnabledAds",
          "httpMethod": "GET"
        },
        "patch": {
          "request": {
            "$ref": "VideoAdvertisingOption"
          },
          "path": "youtube/partner/v1/videoAdvertisingOptions/{videoId}",
          "httpMethod": "PATCH",
          "flatPath": "youtube/partner/v1/videoAdvertisingOptions/{videoId}",
          "parameters": {
            "videoId": {
              "description": "The `videoId` parameter specifies the YouTube video ID of the video for which you are updating advertising settings.",
              "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.",
              "location": "query",
              "type": "string"
            }
          },
          "id": "youtubePartner.videoAdvertisingOptions.patch",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "videoId"
          ],
          "description": "Patches the advertising settings for the specified video.",
          "response": {
            "$ref": "VideoAdvertisingOption"
          }
        }
      }
    },
    "contentOwners": {
      "methods": {
        "get": {
          "path": "youtube/partner/v1/contentOwners/{contentOwnerId}",
          "httpMethod": "GET",
          "id": "youtubePartner.contentOwners.get",
          "flatPath": "youtube/partner/v1/contentOwners/{contentOwnerId}",
          "parameters": {
            "contentOwnerId": {
              "description": "The `contentOwnerId` parameter specifies a value that uniquely identifies the content owner.",
              "location": "path",
              "required": true,
              "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": "ContentOwner"
          },
          "description": "Retrieves information about the specified content owner.",
          "parameterOrder": [
            "contentOwnerId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ]
        },
        "list": {
          "path": "youtube/partner/v1/contentOwners",
          "httpMethod": "GET",
          "parameterOrder": [],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner",
            "https://www.googleapis.com/auth/youtubepartner-content-owner-readonly"
          ],
          "response": {
            "$ref": "ContentOwnerListResponse"
          },
          "description": "Retrieves a list of content owners that match the request criteria.",
          "id": "youtubePartner.contentOwners.list",
          "flatPath": "youtube/partner/v1/contentOwners",
          "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"
            },
            "fetchMine": {
              "location": "query",
              "type": "boolean",
              "description": "The `fetchMine` parameter restricts the result set to content owners associated with the currently authenticated API user."
            },
            "id": {
              "location": "query",
              "type": "string",
              "description": "The `id` parameter specifies a comma-separated list of YouTube content owner IDs to retrieve."
            }
          }
        }
      }
    },
    "assetShares": {
      "methods": {
        "list": {
          "flatPath": "youtube/partner/v1/assetShares",
          "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."
            },
            "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"
            },
            "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",
              "required": true,
              "type": "string"
            }
          },
          "id": "youtubePartner.assetShares.list",
          "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.",
          "response": {
            "$ref": "AssetShareListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "assetId"
          ],
          "path": "youtube/partner/v1/assetShares",
          "httpMethod": "GET"
        }
      }
    },
    "assetLabels": {
      "methods": {
        "insert": {
          "response": {
            "$ref": "AssetLabel"
          },
          "description": "Insert an asset label for an owner.",
          "parameterOrder": [],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "id": "youtubePartner.assetLabels.insert",
          "flatPath": "youtube/partner/v1/assetLabels",
          "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"
            }
          },
          "path": "youtube/partner/v1/assetLabels",
          "httpMethod": "POST",
          "request": {
            "$ref": "AssetLabel"
          }
        },
        "list": {
          "flatPath": "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."
            },
            "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."
            },
            "labelPrefix": {
              "location": "query",
              "type": "string",
              "description": "The `labelPrefix` parameter identifies the prefix of asset labels to retrieve."
            },
            "q": {
              "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.",
              "location": "query",
              "type": "string"
            }
          },
          "id": "youtubePartner.assetLabels.list",
          "description": "Retrieves a list of all asset labels for an owner.",
          "response": {
            "$ref": "AssetLabelListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "path": "youtube/partner/v1/assetLabels",
          "httpMethod": "GET"
        }
      }
    },
    "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.",
          "response": {
            "$ref": "OwnershipHistoryListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "assetId"
          ],
          "flatPath": "youtube/partner/v1/ownershipHistory",
          "parameters": {
            "assetId": {
              "location": "query",
              "required": true,
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving an ownership data history."
            },
            "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.ownershipHistory.list",
          "path": "youtube/partner/v1/ownershipHistory",
          "httpMethod": "GET"
        }
      }
    },
    "liveCuepoints": {
      "methods": {
        "insert": {
          "description": "Inserts a cuepoint into a live broadcast.",
          "response": {
            "$ref": "LiveCuepoint"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "channelId"
          ],
          "flatPath": "youtube/partner/v1/liveCuepoints",
          "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 method.",
              "location": "query",
              "type": "string"
            },
            "channelId": {
              "location": "query",
              "required": true,
              "type": "string",
              "description": "The `channelId` parameter identifies the channel that owns the broadcast into which the cuepoint is being inserted."
            }
          },
          "id": "youtubePartner.liveCuepoints.insert",
          "path": "youtube/partner/v1/liveCuepoints",
          "httpMethod": "POST",
          "request": {
            "$ref": "LiveCuepoint"
          }
        }
      }
    },
    "referenceConflicts": {
      "methods": {
        "get": {
          "id": "youtubePartner.referenceConflicts.get",
          "flatPath": "youtube/partner/v1/referenceConflicts/{referenceConflictId}",
          "parameters": {
            "referenceConflictId": {
              "description": "The `referenceConflictId` parameter specifies the YouTube reference conflict ID of the reference conflict being retrieved.",
              "location": "path",
              "required": true,
              "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."
            }
          },
          "parameterOrder": [
            "referenceConflictId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "ReferenceConflict"
          },
          "description": "Retrieves information about the specified reference conflict.",
          "path": "youtube/partner/v1/referenceConflicts/{referenceConflictId}",
          "httpMethod": "GET"
        },
        "list": {
          "path": "youtube/partner/v1/referenceConflicts",
          "httpMethod": "GET",
          "id": "youtubePartner.referenceConflicts.list",
          "flatPath": "youtube/partner/v1/referenceConflicts",
          "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"
            },
            "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"
            }
          },
          "response": {
            "$ref": "ReferenceConflictListResponse"
          },
          "description": "Retrieves a list of unresolved reference conflicts.",
          "parameterOrder": [],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ]
        }
      }
    },
    "metadataHistory": {
      "methods": {
        "list": {
          "response": {
            "$ref": "MetadataHistoryListResponse"
          },
          "description": "Retrieves a list of all metadata provided for an asset, regardless of which content owner provided the data.",
          "parameterOrder": [
            "assetId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "id": "youtubePartner.metadataHistory.list",
          "flatPath": "youtube/partner/v1/metadataHistory",
          "parameters": {
            "assetId": {
              "location": "query",
              "required": true,
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving a metadata history."
            },
            "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"
            }
          },
          "path": "youtube/partner/v1/metadataHistory",
          "httpMethod": "GET"
        }
      }
    },
    "assetMatchPolicy": {
      "methods": {
        "get": {
          "path": "youtube/partner/v1/assets/{assetId}/matchPolicy",
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/assets/{assetId}/matchPolicy",
          "parameters": {
            "assetId": {
              "location": "path",
              "required": true,
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving the match policy."
            },
            "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": "youtubePartner.assetMatchPolicy.get",
          "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.",
          "response": {
            "$ref": "AssetMatchPolicy"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "assetId"
          ]
        },
        "patch": {
          "request": {
            "$ref": "AssetMatchPolicy"
          },
          "path": "youtube/partner/v1/assets/{assetId}/matchPolicy",
          "httpMethod": "PATCH",
          "flatPath": "youtube/partner/v1/assets/{assetId}/matchPolicy",
          "parameters": {
            "assetId": {
              "location": "path",
              "required": true,
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving the match policy."
            },
            "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.assetMatchPolicy.patch",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "assetId"
          ],
          "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.",
          "response": {
            "$ref": "AssetMatchPolicy"
          }
        },
        "update": {
          "parameterOrder": [
            "assetId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "AssetMatchPolicy"
          },
          "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.",
          "id": "youtubePartner.assetMatchPolicy.update",
          "flatPath": "youtube/partner/v1/assets/{assetId}/matchPolicy",
          "parameters": {
            "assetId": {
              "location": "path",
              "required": true,
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving the match policy."
            },
            "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": "AssetMatchPolicy"
          },
          "path": "youtube/partner/v1/assets/{assetId}/matchPolicy",
          "httpMethod": "PUT"
        }
      }
    },
    "policies": {
      "methods": {
        "get": {
          "path": "youtube/partner/v1/policies/{policyId}",
          "httpMethod": "GET",
          "parameterOrder": [
            "policyId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "Policy"
          },
          "description": "Retrieves the specified saved policy.",
          "id": "youtubePartner.policies.get",
          "flatPath": "youtube/partner/v1/policies/{policyId}",
          "parameters": {
            "policyId": {
              "description": "The `policyId` parameter specifies a value that uniquely identifies the policy being retrieved.",
              "location": "path",
              "required": true,
              "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."
            }
          }
        },
        "list": {
          "path": "youtube/partner/v1/policies",
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/policies",
          "parameters": {
            "id": {
              "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.",
              "location": "query",
              "type": "string"
            },
            "sort": {
              "type": "string",
              "enumDescriptions": [
                "Default value.",
                "Sort by the update time ascending.",
                "Sort by the update time descending."
              ],
              "location": "query",
              "description": "The `sort` parameter specifies how the search results should be sorted.",
              "enum": [
                "SORT_UNSPECIFIED",
                "TIME_UPDATED_ASC",
                "TIME_UPDATED_DESC"
              ]
            },
            "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.policies.list",
          "description": "Retrieves a list of the content owner's saved policies.",
          "response": {
            "$ref": "PolicyList"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": []
        },
        "patch": {
          "request": {
            "$ref": "Policy"
          },
          "path": "youtube/partner/v1/policies/{policyId}",
          "httpMethod": "PATCH",
          "id": "youtubePartner.policies.patch",
          "flatPath": "youtube/partner/v1/policies/{policyId}",
          "parameters": {
            "policyId": {
              "description": "The `policyId` parameter specifies a value that uniquely identifies the policy being updated.",
              "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.",
              "location": "query",
              "type": "string"
            }
          },
          "parameterOrder": [
            "policyId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "Policy"
          },
          "description": "Patches the specified saved policy."
        },
        "insert": {
          "id": "youtubePartner.policies.insert",
          "flatPath": "youtube/partner/v1/policies",
          "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"
            }
          },
          "response": {
            "$ref": "Policy"
          },
          "description": "Creates a saved policy.",
          "parameterOrder": [],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "path": "youtube/partner/v1/policies",
          "httpMethod": "POST",
          "request": {
            "$ref": "Policy"
          }
        },
        "update": {
          "flatPath": "youtube/partner/v1/policies/{policyId}",
          "parameters": {
            "policyId": {
              "description": "The `policyId` parameter specifies a value that uniquely identifies the policy being updated.",
              "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.",
              "location": "query",
              "type": "string"
            }
          },
          "id": "youtubePartner.policies.update",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "policyId"
          ],
          "description": "Updates the specified saved policy.",
          "response": {
            "$ref": "Policy"
          },
          "request": {
            "$ref": "Policy"
          },
          "path": "youtube/partner/v1/policies/{policyId}",
          "httpMethod": "PUT"
        }
      }
    },
    "musicReleases": {
      "methods": {
        "list": {
          "path": "youtube/partner/v1/music/releases",
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/music/releases",
          "parameters": {
            "onBehalfOfContentOwner": {
              "location": "query",
              "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."
            },
            "filter.upcs": {
              "description": "A list of case insensitive UPCs of the releases to be retrieved.",
              "repeated": true,
              "location": "query",
              "type": "string"
            },
            "filter.artistNameMatches": {
              "location": "query",
              "type": "string",
              "description": "Tokenized search (case insensitive)."
            },
            "filter.hasOpenChangeRequest": {
              "location": "query",
              "type": "boolean",
              "description": "At least one ChangeRequest in open status."
            },
            "pageSize": {
              "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.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "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",
              "type": "string"
            },
            "filter.titleMatches": {
              "description": "Tokenized search (case insensitive).",
              "location": "query",
              "type": "string"
            },
            "filter.hasClosedChangeRequest": {
              "location": "query",
              "type": "boolean",
              "description": "At least one ChangeRequest in closed status."
            }
          },
          "id": "youtubePartner.musicReleases.list",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "description": "Retrieves a list of music releases.",
          "response": {
            "$ref": "ListMusicReleasesResponse"
          }
        }
      }
    },
    "musicChangeRequests": {
      "methods": {
        "list": {
          "path": "youtube/partner/v1/music/changeRequests",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "description": "Retrieves a list of music change requests reported to a release or a track.",
          "response": {
            "$ref": "ListMusicChangeRequestsResponse"
          },
          "flatPath": "youtube/partner/v1/music/changeRequests",
          "parameters": {
            "pageToken": {
              "location": "query",
              "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."
            },
            "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.",
              "location": "query",
              "type": "string"
            },
            "filter.parent": {
              "location": "query",
              "type": "string",
              "description": "Required. The parent of the change request. Could be a release or a track. Format: releases/{release} or releases/{release}/tracks/{track}"
            },
            "pageSize": {
              "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",
              "type": "integer"
            }
          },
          "id": "youtubePartner.musicChangeRequests.list"
        },
        "create": {
          "request": {
            "$ref": "MusicChangeRequest"
          },
          "path": "youtube/partner/v1/music/changeRequests",
          "httpMethod": "POST",
          "flatPath": "youtube/partner/v1/music/changeRequests",
          "parameters": {},
          "id": "youtubePartner.musicChangeRequests.create",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "description": "Creates a music change request reported to a release or a track.",
          "response": {
            "$ref": "MusicChangeRequest"
          }
        }
      }
    },
    "assets": {
      "methods": {
        "insert": {
          "request": {
            "$ref": "Asset"
          },
          "path": "youtube/partner/v1/assets",
          "httpMethod": "POST",
          "flatPath": "youtube/partner/v1/assets",
          "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": "youtubePartner.assets.insert",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "description": "Inserts an asset with the specified metadata. After inserting an asset, you can set its ownership data and match policy.",
          "response": {
            "$ref": "Asset"
          }
        },
        "update": {
          "path": "youtube/partner/v1/assets/{assetId}",
          "httpMethod": "PUT",
          "request": {
            "$ref": "Asset"
          },
          "id": "youtubePartner.assets.update",
          "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": {
              "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"
            }
          },
          "response": {
            "$ref": "Asset"
          },
          "description": "Updates the metadata for the specified asset.",
          "parameterOrder": [
            "assetId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ]
        },
        "patch": {
          "request": {
            "$ref": "Asset"
          },
          "path": "youtube/partner/v1/assets/{assetId}",
          "httpMethod": "PATCH",
          "parameterOrder": [
            "assetId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "Asset"
          },
          "description": "Patches the metadata for the specified asset.",
          "id": "youtubePartner.assets.patch",
          "flatPath": "youtube/partner/v1/assets/{assetId}",
          "parameters": {
            "assetId": {
              "location": "path",
              "required": true,
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset being patched."
            },
            "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."
            }
          }
        },
        "get": {
          "path": "youtube/partner/v1/assets/{assetId}",
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/assets/{assetId}",
          "parameters": {
            "fetchMatchPolicy": {
              "location": "query",
              "type": "string",
              "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."
            },
            "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"
            },
            "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.",
              "location": "query",
              "type": "string"
            },
            "fetchOwnershipConflicts": {
              "description": "The `fetchOwnershipConflicts` parameter allows you to retrieve information about ownership conflicts.",
              "location": "query",
              "type": "boolean"
            },
            "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",
              "required": true,
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset being retrieved."
            }
          },
          "id": "youtubePartner.assets.get",
          "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.",
          "response": {
            "$ref": "Asset"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "assetId"
          ]
        },
        "list": {
          "parameterOrder": [
            "id"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "AssetListResponse"
          },
          "description": "Retrieves a list of assets based on asset metadata. The method can retrieve all assets or only assets owned by the content owner. Note that 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.)",
          "id": "youtubePartner.assets.list",
          "flatPath": "youtube/partner/v1/assets",
          "parameters": {
            "id": {
              "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,
              "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.",
              "location": "query",
              "type": "string"
            },
            "fetchOwnershipConflicts": {
              "description": "The `fetchOwnershipConflicts` parameter allows you to retrieve information about ownership conflicts.",
              "location": "query",
              "type": "boolean"
            },
            "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."
            },
            "fetchMetadata": {
              "location": "query",
              "type": "string",
              "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."
            },
            "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.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "youtube/partner/v1/assets",
          "httpMethod": "GET"
        }
      }
    },
    "whitelists": {
      "methods": {
        "delete": {
          "response": {
            "$ref": "Empty"
          },
          "description": "Removes a whitelisted channel for a content owner.",
          "parameterOrder": [
            "id"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "id": "youtubePartner.whitelists.delete",
          "flatPath": "youtube/partner/v1/whitelists/{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": {
              "description": "The `id` parameter specifies the YouTube channel ID of the channel being removed from whitelist.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "youtube/partner/v1/whitelists/{id}",
          "httpMethod": "DELETE"
        },
        "get": {
          "path": "youtube/partner/v1/whitelists/{id}",
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/whitelists/{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": {
              "description": "The `id` parameter specifies the YouTube channel ID of the whitelisted channel being retrieved.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "id": "youtubePartner.whitelists.get",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "id"
          ],
          "description": "Retrieves a specific whitelisted channel by ID.",
          "response": {
            "$ref": "Whitelist"
          }
        },
        "list": {
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "description": "Retrieves a list of whitelisted channels for a content owner.",
          "response": {
            "$ref": "WhitelistListResponse"
          },
          "flatPath": "youtube/partner/v1/whitelists",
          "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."
            },
            "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 results.",
              "location": "query",
              "type": "string"
            },
            "id": {
              "location": "query",
              "type": "string",
              "description": "The `id` parameter specifies a comma-separated list of YouTube channel IDs that identify the whitelisted channels you want to retrieve."
            }
          },
          "id": "youtubePartner.whitelists.list",
          "path": "youtube/partner/v1/whitelists",
          "httpMethod": "GET"
        },
        "insert": {
          "id": "youtubePartner.whitelists.insert",
          "flatPath": "youtube/partner/v1/whitelists",
          "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."
            }
          },
          "response": {
            "$ref": "Whitelist"
          },
          "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.",
          "parameterOrder": [],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "path": "youtube/partner/v1/whitelists",
          "httpMethod": "POST",
          "request": {
            "$ref": "Whitelist"
          }
        }
      }
    },
    "assetSearch": {
      "methods": {
        "list": {
          "path": "youtube/partner/v1/assetSearch",
          "httpMethod": "GET",
          "parameterOrder": [],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "AssetSearchResponse"
          },
          "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 page in CMS.",
          "id": "youtubePartner.assetSearch.list",
          "flatPath": "youtube/partner/v1/assetSearch",
          "parameters": {
            "createdBefore": {
              "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`",
              "location": "query",
              "type": "string"
            },
            "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."
            },
            "isrcs": {
              "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`.",
              "location": "query",
              "type": "string"
            },
            "sort": {
              "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."
              ],
              "type": "string",
              "enum": [
                "SORT_UNSPECIFIED",
                "CLAIMS",
                "TIME",
                "DAILY_ENGAGED_VIEWS"
              ],
              "description": "The `sort` parameter specifies how the search results should be sorted. Note that results are always sorted in descending order.",
              "location": "query"
            },
            "includeAnyProvidedlabel": {
              "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.",
              "location": "query",
              "type": "boolean"
            },
            "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."
            },
            "ownershipRestriction": {
              "enum": [
                "OWNERSHIP_RESTRICTION_UNSPECIFIED",
                "MINE",
                "NONE"
              ],
              "location": "query",
              "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.",
              "default": "RESTRICT_MINE",
              "type": "string",
              "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."
              ]
            },
            "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`"
            },
            "hasConflicts": {
              "location": "query",
              "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."
            },
            "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.).",
              "location": "query",
              "type": "string"
            },
            "labels": {
              "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",
              "type": "string"
            },
            "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"
            },
            "metadataSearchFields": {
              "location": "query",
              "type": "string",
              "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"
            }
          }
        }
      }
    },
    "spreadsheetTemplate": {
      "methods": {
        "list": {
          "path": "youtube/partner/v1/spreadsheetTemplate",
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/spreadsheetTemplate",
          "parameters": {
            "locale": {
              "location": "query",
              "type": "string",
              "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`."
            },
            "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": "youtubePartner.spreadsheetTemplate.list",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "description": "Retrieves a list of spreadsheet templates for a content owner.",
          "response": {
            "$ref": "SpreadsheetTemplateListResponse"
          }
        }
      }
    },
    "assetRelationships": {
      "methods": {
        "insert": {
          "request": {
            "$ref": "AssetRelationship"
          },
          "path": "youtube/partner/v1/assetRelationships",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "description": "Creates a relationship that links two assets.",
          "response": {
            "$ref": "AssetRelationship"
          },
          "flatPath": "youtube/partner/v1/assetRelationships",
          "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.assetRelationships.insert"
        },
        "delete": {
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "assetRelationshipId"
          ],
          "description": "Deletes a relationship between two assets.",
          "response": {
            "$ref": "Empty"
          },
          "flatPath": "youtube/partner/v1/assetRelationships/{assetRelationshipId}",
          "parameters": {
            "assetRelationshipId": {
              "location": "path",
              "required": true,
              "type": "string",
              "description": "The `assetRelationshipId` parameter specifies a value that uniquely identifies the relationship you are deleting."
            },
            "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.assetRelationships.delete",
          "path": "youtube/partner/v1/assetRelationships/{assetRelationshipId}",
          "httpMethod": "DELETE"
        },
        "list": {
          "id": "youtubePartner.assetRelationships.list",
          "flatPath": "youtube/partner/v1/assetRelationships",
          "parameters": {
            "assetId": {
              "description": "The `assetId` parameter specifies the asset ID of the asset for which you are retrieving relationships.",
              "location": "query",
              "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.",
              "location": "query",
              "type": "string"
            },
            "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."
            }
          },
          "parameterOrder": [
            "assetId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "AssetRelationshipListResponse"
          },
          "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"
        }
      }
    },
    "references": {
      "methods": {
        "get": {
          "flatPath": "youtube/partner/v1/references/{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": {
              "location": "path",
              "required": true,
              "type": "string",
              "description": "The `referenceId` parameter specifies the YouTube reference ID of the reference being retrieved."
            }
          },
          "id": "youtubePartner.references.get",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "referenceId"
          ],
          "description": "Retrieves information about the specified reference.",
          "response": {
            "$ref": "Reference"
          },
          "path": "youtube/partner/v1/references/{referenceId}",
          "httpMethod": "GET"
        },
        "list": {
          "path": "youtube/partner/v1/references",
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/references",
          "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"
            },
            "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"
            },
            "assetId": {
              "location": "query",
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving references."
            },
            "id": {
              "description": "The `id` parameter specifies a comma-separated list of YouTube reference IDs to retrieve.",
              "location": "query",
              "type": "string"
            }
          },
          "id": "youtubePartner.references.list",
          "description": "Retrieves a list of references by ID or the list of references for the specified asset.",
          "response": {
            "$ref": "ReferenceListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": []
        },
        "patch": {
          "flatPath": "youtube/partner/v1/references/{referenceId}",
          "parameters": {
            "releaseClaims": {
              "location": "query",
              "type": "boolean",
              "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.",
              "default": "false"
            },
            "referenceId": {
              "location": "path",
              "required": true,
              "type": "string",
              "description": "The `referenceId` parameter specifies the YouTube reference ID of the reference being updated."
            },
            "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": "youtubePartner.references.patch",
          "description": "Patches a reference.",
          "response": {
            "$ref": "Reference"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "referenceId"
          ],
          "path": "youtube/partner/v1/references/{referenceId}",
          "httpMethod": "PATCH",
          "request": {
            "$ref": "Reference"
          }
        },
        "insert": {
          "request": {
            "$ref": "Reference"
          },
          "path": "youtube/partner/v1/references",
          "httpMethod": "POST",
          "parameterOrder": [],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "mediaUpload": {
            "protocols": {
              "simple": {
                "multipart": true,
                "path": "/upload/youtube/partner/v1/references"
              }
            },
            "accept": [
              "*/*"
            ],
            "maxSize": "21474836480"
          },
          "response": {
            "$ref": "Reference"
          },
          "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 property to `true` in the request body. In this flow, you can use either the multipart or 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. ",
          "supportsMediaUpload": true,
          "id": "youtubePartner.references.insert",
          "flatPath": "youtube/partner/v1/references",
          "parameters": {
            "claimId": {
              "location": "query",
              "type": "string",
              "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.)"
            },
            "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": {
          "path": "youtube/partner/v1/references/{referenceId}",
          "httpMethod": "PUT",
          "request": {
            "$ref": "Reference"
          },
          "description": "Updates a reference.",
          "response": {
            "$ref": "Reference"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "referenceId"
          ],
          "flatPath": "youtube/partner/v1/references/{referenceId}",
          "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"
            },
            "releaseClaims": {
              "location": "query",
              "type": "boolean",
              "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.",
              "default": "false"
            },
            "referenceId": {
              "description": "The `referenceId` parameter specifies the YouTube reference ID of the reference being updated.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "id": "youtubePartner.references.update"
        }
      }
    },
    "campaigns": {
      "methods": {
        "insert": {
          "description": "Insert a new campaign for an owner using the specified campaign data.",
          "response": {
            "$ref": "Campaign"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "flatPath": "youtube/partner/v1/campaigns",
          "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": "youtubePartner.campaigns.insert",
          "path": "youtube/partner/v1/campaigns",
          "httpMethod": "POST",
          "request": {
            "$ref": "Campaign"
          }
        },
        "update": {
          "path": "youtube/partner/v1/campaigns/{campaignId}",
          "httpMethod": "PUT",
          "request": {
            "$ref": "Campaign"
          },
          "flatPath": "youtube/partner/v1/campaigns/{campaignId}",
          "parameters": {
            "campaignId": {
              "description": "The `campaignId` parameter specifies the YouTube campaign ID of the campaign 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.",
              "location": "query",
              "type": "string"
            }
          },
          "id": "youtubePartner.campaigns.update",
          "description": "Update the data for a specific campaign.",
          "response": {
            "$ref": "Campaign"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "campaignId"
          ]
        },
        "patch": {
          "request": {
            "$ref": "Campaign"
          },
          "path": "youtube/partner/v1/campaigns/{campaignId}",
          "httpMethod": "PATCH",
          "flatPath": "youtube/partner/v1/campaigns/{campaignId}",
          "parameters": {
            "campaignId": {
              "description": "The `campaignId` parameter specifies the YouTube campaign ID of the campaign being retrieved.",
              "location": "path",
              "required": true,
              "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": "youtubePartner.campaigns.patch",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "campaignId"
          ],
          "description": "Patch the data for a specific campaign.",
          "response": {
            "$ref": "Campaign"
          }
        },
        "delete": {
          "id": "youtubePartner.campaigns.delete",
          "flatPath": "youtube/partner/v1/campaigns/{campaignId}",
          "parameters": {
            "campaignId": {
              "description": "The `campaignId` parameter specifies the YouTube campaign ID of the campaign being deleted.",
              "location": "path",
              "required": true,
              "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"
          },
          "description": "Deletes a specified campaign for an owner.",
          "parameterOrder": [
            "campaignId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "path": "youtube/partner/v1/campaigns/{campaignId}",
          "httpMethod": "DELETE"
        },
        "get": {
          "path": "youtube/partner/v1/campaigns/{campaignId}",
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/campaigns/{campaignId}",
          "parameters": {
            "campaignId": {
              "location": "path",
              "required": true,
              "type": "string",
              "description": "The `campaignId` parameter specifies the YouTube campaign ID of the campaign being retrieved."
            },
            "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.campaigns.get",
          "description": "Retrieves a particular campaign for an owner.",
          "response": {
            "$ref": "Campaign"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "campaignId"
          ]
        },
        "list": {
          "path": "youtube/partner/v1/campaigns",
          "httpMethod": "GET",
          "id": "youtubePartner.campaigns.list",
          "flatPath": "youtube/partner/v1/campaigns",
          "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"
            },
            "pageToken": {
              "location": "query",
              "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."
            }
          },
          "parameterOrder": [],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "CampaignList"
          },
          "description": "Retrieves a list of campaigns for an owner."
        }
      }
    },
    "uploader": {
      "methods": {
        "list": {
          "path": "youtube/partner/v1/uploader",
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/uploader",
          "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.uploader.list",
          "description": "Retrieves a list of uploaders for a content owner.",
          "response": {
            "$ref": "UploaderListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": []
        }
      }
    },
    "package": {
      "methods": {
        "get": {
          "path": "youtube/partner/v1/package/{packageId}",
          "httpMethod": "GET",
          "parameterOrder": [
            "packageId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "Package"
          },
          "description": "Retrieves information for the specified package.",
          "id": "youtubePartner.package.get",
          "flatPath": "youtube/partner/v1/package/{packageId}",
          "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."
            },
            "packageId": {
              "location": "path",
              "required": true,
              "type": "string",
              "description": "The `packageId` parameter specifies the Content Delivery package ID of the package being retrieved."
            }
          }
        },
        "insert": {
          "description": "Inserts a metadata-only package.",
          "response": {
            "$ref": "PackageInsertResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "flatPath": "youtube/partner/v1/package",
          "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": "youtubePartner.package.insert",
          "path": "youtube/partner/v1/package",
          "httpMethod": "POST",
          "request": {
            "$ref": "Package"
          }
        }
      }
    },
    "claims": {
      "methods": {
        "patch": {
          "id": "youtubePartner.claims.patch",
          "flatPath": "youtube/partner/v1/claims/{claimId}",
          "parameters": {
            "claimId": {
              "description": "The `claimId` parameter specifies the claim ID of the claim being updated.",
              "location": "path",
              "required": true,
              "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": "Claim"
          },
          "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.",
          "parameterOrder": [
            "claimId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "path": "youtube/partner/v1/claims/{claimId}",
          "httpMethod": "PATCH",
          "request": {
            "$ref": "Claim"
          }
        },
        "insert": {
          "path": "youtube/partner/v1/claims",
          "httpMethod": "POST",
          "request": {
            "$ref": "Claim"
          },
          "response": {
            "$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. ",
          "parameterOrder": [],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "id": "youtubePartner.claims.insert",
          "flatPath": "youtube/partner/v1/claims",
          "parameters": {
            "isManualClaim": {
              "location": "query",
              "type": "boolean",
              "description": "restricted"
            },
            "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": {
          "request": {
            "$ref": "Claim"
          },
          "path": "youtube/partner/v1/claims/{claimId}",
          "httpMethod": "PUT",
          "id": "youtubePartner.claims.update",
          "flatPath": "youtube/partner/v1/claims/{claimId}",
          "parameters": {
            "claimId": {
              "location": "path",
              "required": true,
              "type": "string",
              "description": "The `claimId` parameter specifies the claim ID of the claim being updated."
            },
            "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"
            }
          },
          "parameterOrder": [
            "claimId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$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."
        },
        "get": {
          "path": "youtube/partner/v1/claims/{claimId}",
          "httpMethod": "GET",
          "response": {
            "$ref": "Claim"
          },
          "description": "Retrieves a specific claim by ID.",
          "parameterOrder": [
            "claimId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "id": "youtubePartner.claims.get",
          "flatPath": "youtube/partner/v1/claims/{claimId}",
          "parameters": {
            "claimId": {
              "location": "path",
              "required": true,
              "type": "string",
              "description": "The `claimId` parameter specifies the claim ID of the claim being retrieved."
            },
            "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"
            }
          }
        },
        "list": {
          "path": "youtube/partner/v1/claims",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "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.",
          "response": {
            "$ref": "ClaimListResponse"
          },
          "flatPath": "youtube/partner/v1/claims",
          "parameters": {
            "pageToken": {
              "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",
              "type": "string"
            },
            "videoId": {
              "location": "query",
              "type": "string",
              "description": "Use the `claimSearch.list` method's 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."
            },
            "assetId": {
              "description": "Use the `claimSearch.list` method's 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.",
              "location": "query",
              "type": "string"
            },
            "q": {
              "description": "Use the `claimSearch.list` method's 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"
            },
            "id": {
              "description": "The `id` parameter specifies a list of comma-separated YouTube claim IDs to retrieve.",
              "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": "youtubePartner.claims.list"
        }
      }
    },
    "claimSearch": {
      "methods": {
        "list": {
          "path": "youtube/partner/v1/claimSearch",
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/claimSearch",
          "parameters": {
            "partnerUploaded": {
              "location": "query",
              "type": "boolean",
              "description": "The `partnerUploaded` parameter specifies whether you want to filter your search results to only partner uploaded or non partner uploaded claims."
            },
            "q": {
              "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`, and in the content owner's email address.",
              "location": "query",
              "type": "string"
            },
            "createdAfter": {
              "description": "The `createdAfter` parameter allows you to restrict the set of returned claims to ones created on or after the specified date (inclusive).",
              "location": "query",
              "type": "string"
            },
            "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"
            },
            "status": {
              "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",
              "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."
              ],
              "type": "string"
            },
            "referenceId": {
              "description": "The `referenceId` parameter specifies the YouTube reference ID of the reference for which you are retrieving claims.",
              "location": "query",
              "type": "string"
            },
            "statusModifiedBefore": {
              "location": "query",
              "type": "string",
              "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`."
            },
            "contentType": {
              "type": "string",
              "enumDescriptions": [
                "Default value.",
                "Restrict results to audio-only claims.",
                "Restrict results to audiovisual claims.",
                "Restrict results to video-only claims."
              ],
              "location": "query",
              "description": "The `contentType` parameter specifies the content type of claims that you want to retrieve.",
              "enum": [
                "CONTENT_TYPE_UNSPECIFIED",
                "AUDIO",
                "AUDIOVISUAL",
                "VISUAL"
              ]
            },
            "origin": {
              "description": "The `origin` parameter specifies the origins you want to find claims for. It is a comma-separated list of origin values.",
              "location": "query",
              "type": "string"
            },
            "isVideoShortsEligible": {
              "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.",
              "location": "query",
              "type": "boolean"
            },
            "statusModifiedAfter": {
              "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",
              "type": "string"
            },
            "pageToken": {
              "location": "query",
              "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."
            },
            "inactiveReasons": {
              "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",
              "type": "string"
            },
            "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)."
            },
            "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."
            },
            "assetId": {
              "location": "query",
              "type": "string",
              "description": "The `assetId` parameter specifies the YouTube asset ID of the asset for which you are retrieving claims."
            },
            "videoId": {
              "description": "The `videoId` parameter specifies comma-separated list of YouTube video IDs for which you are retrieving claims.",
              "location": "query",
              "type": "string"
            },
            "sort": {
              "location": "query",
              "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.",
              "enum": [
                "SORT_UNSPECIFIED",
                "DATE",
                "DAILY_ENGAGED_VIEWS",
                "LIFETIME_ENGAGED_VIEWS"
              ],
              "type": "string",
              "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`."
              ]
            }
          },
          "id": "youtubePartner.claimSearch.list",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "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.",
          "response": {
            "$ref": "ClaimSearchResponse"
          }
        }
      }
    },
    "claimHistory": {
      "methods": {
        "get": {
          "id": "youtubePartner.claimHistory.get",
          "flatPath": "youtube/partner/v1/claimHistory/{claimId}",
          "parameters": {
            "claimId": {
              "description": "The `claimId` parameter specifies the YouTube claim ID of the claim for which you are retrieving the claim history.",
              "location": "path",
              "required": true,
              "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."
            }
          },
          "parameterOrder": [
            "claimId"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "response": {
            "$ref": "ClaimHistory"
          },
          "description": "Retrieves the claim history for a specified claim.",
          "path": "youtube/partner/v1/claimHistory/{claimId}",
          "httpMethod": "GET"
        }
      }
    },
    "musicTracks": {
      "methods": {
        "list": {
          "path": "youtube/partner/v1/music/{+parent}/tracks",
          "httpMethod": "GET",
          "flatPath": "youtube/partner/v1/music/releases/{releasesId}/tracks",
          "parameters": {
            "filter.hasClosedChangeRequest": {
              "location": "query",
              "type": "boolean",
              "description": "At least one ChangeRequest in closed status."
            },
            "filter.externalVideoIds": {
              "location": "query",
              "type": "string",
              "description": "A list of case insensitive external videoIds of the tracks to be retrieved.",
              "repeated": true
            },
            "filter.isrcs": {
              "location": "query",
              "type": "string",
              "description": "A list of case insensitive ISRCs of the tracks to be retrieved.",
              "repeated": true
            },
            "parent": {
              "pattern": "^releases/[^/]+$",
              "required": true,
              "type": "string",
              "description": "Required. The parent release, which contains this list of tracks. Format: releases/{release}",
              "location": "path"
            },
            "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.",
              "location": "query",
              "type": "string"
            },
            "filter.upcs": {
              "description": "A list of case insensitive UPCs of the tracks to be retrieved.",
              "repeated": true,
              "location": "query",
              "type": "string"
            },
            "filter.artistNameMatches": {
              "location": "query",
              "type": "string",
              "description": "Tokenized search (case insensitive)."
            },
            "pageToken": {
              "location": "query",
              "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."
            },
            "filter.titleMatches": {
              "location": "query",
              "type": "string",
              "description": "Tokenized search (case insensitive)."
            },
            "pageSize": {
              "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.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "filter.hasOpenChangeRequest": {
              "description": "At least one ChangeRequest in open status.",
              "location": "query",
              "type": "boolean"
            }
          },
          "id": "youtubePartner.musicTracks.list",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [
            "parent"
          ],
          "description": "Retrieves a list of music tracks.",
          "response": {
            "$ref": "ListMusicTracksResponse"
          }
        }
      }
    },
    "validator": {
      "methods": {
        "validateAsyncStatus": {
          "path": "youtube/partner/v1/validatorAsyncStatus",
          "httpMethod": "POST",
          "request": {
            "$ref": "ValidateStatusRequest"
          },
          "description": "Get the asynchronous validation status.",
          "response": {
            "$ref": "ValidateStatusResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "flatPath": "youtube/partner/v1/validatorAsyncStatus",
          "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": "youtubePartner.validator.validateAsyncStatus"
        },
        "validate": {
          "flatPath": "youtube/partner/v1/validator",
          "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": "youtubePartner.validator.validate",
          "description": "Validate a metadata file.",
          "response": {
            "$ref": "ValidateResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "path": "youtube/partner/v1/validator",
          "httpMethod": "POST",
          "request": {
            "$ref": "ValidateRequest"
          }
        },
        "validateAsync": {
          "request": {
            "$ref": "ValidateAsyncRequest"
          },
          "path": "youtube/partner/v1/validatorAsync",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/youtubepartner"
          ],
          "parameterOrder": [],
          "description": "Validate a metadata file asynchronously.",
          "response": {
            "$ref": "ValidateAsyncResponse"
          },
          "flatPath": "youtube/partner/v1/validatorAsync",
          "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": "youtubePartner.validator.validateAsync"
        }
      }
    }
  },
  "protocol": "rest",
  "discoveryVersion": "v1",
  "kind": "discovery#restDescription",
  "id": "youtubePartner:v1",
  "schemas": {
    "CampaignData": {
      "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": {
        "name": {
          "type": "string",
          "description": "The user-given name of the campaign."
        },
        "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": {
          "description": "The `campaignSource` object contains information about the assets for which the campaign will generate links.",
          "$ref": "CampaignSource"
        },
        "startTime": {
          "type": "string",
          "description": "The time at which the campaign should start. Do not specify a value if the campaign should start immediately."
        },
        "promotedContent": {
          "type": "array",
          "description": "A list of videos or channels that will be linked to from claimed videos that are included in the campaign.",
          "items": {
            "$ref": "PromotedContent"
          }
        }
      },
      "id": "CampaignData",
      "type": "object"
    },
    "OwnershipHistoryListResponse": {
      "id": "OwnershipHistoryListResponse",
      "type": "object",
      "description": "A list of `ownershipHistory` resources associated with an asset.",
      "properties": {
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#ownershipHistoryList`.",
          "type": "string"
        },
        "items": {
          "description": "A list of ownership history (`youtubePartner#ownershipHistory`) resources that match the request criteria.",
          "items": {
            "$ref": "RightsOwnershipHistory"
          },
          "type": "array"
        }
      }
    },
    "TerritoryConflicts": {
      "description": "Method to look up terrories with ownership conflicts.",
      "properties": {
        "conflictingOwnership": {
          "type": "array",
          "description": "A list of conflicting ownerships.",
          "items": {
            "$ref": "ConflictingOwnership"
          }
        },
        "territory": {
          "type": "string",
          "description": "A territories where the ownership conflict is present. Territory is an ISO 3166 two-letter country code.."
        }
      },
      "id": "TerritoryConflicts",
      "type": "object"
    },
    "OwnershipConflicts": {
      "description": "The `ownershipConflicts` resource represents information about asset's conflicting ownership.",
      "properties": {
        "mechanical": {
          "description": "A list that identifies ownership conflicts of the mechanical 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.",
          "items": {
            "$ref": "TerritoryConflicts"
          },
          "type": "array"
        },
        "general": {
          "description": "A list that identifies ownership conflicts of an asset and the territories where conflicting ownership is inserted.",
          "items": {
            "$ref": "TerritoryConflicts"
          },
          "type": "array"
        },
        "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"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For `ownershipConflicts` resources, the value is `youtubePartner#ownershipConflicts`."
        }
      },
      "id": "OwnershipConflicts",
      "type": "object"
    },
    "TotalMatch": {
      "id": "TotalMatch",
      "type": "object",
      "description": "Total claim match.",
      "properties": {
        "referenceDurationSecs": {
          "type": "string",
          "description": "The total amount of content in the reference which matched the user video in seconds.",
          "format": "uint64"
        },
        "userVideoDurationSecs": {
          "description": "The total amount of content in the user video which matched the reference in seconds.",
          "format": "uint64",
          "type": "string"
        }
      }
    },
    "AdBreak": {
      "id": "AdBreak",
      "type": "object",
      "description": "An `adBreak` resource contains information about a time when YouTube can show an in-stream advertisement during video playback.",
      "properties": {
        "position": {
          "type": "string",
          "description": "The point at which the break occurs during the video playback."
        },
        "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"
        }
      }
    },
    "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.",
      "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",
      "type": "object"
    },
    "Source": {
      "description": "Claim source",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of the event source."
        },
        "contentOwnerId": {
          "description": "Id of content owner that initiated the event.",
          "type": "string"
        },
        "userEmail": {
          "type": "string",
          "description": "Email of user who initiated the event."
        }
      },
      "id": "Source",
      "type": "object"
    },
    "PackageInsertResponse": {
      "description": "A `package` resource and possible errors or warnings returned in response to `package.insert`request.",
      "properties": {
        "status": {
          "type": "string",
          "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."
        },
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#packageInsert`.",
          "type": "string"
        },
        "errors": {
          "description": "The list of errors and/or warnings.",
          "items": {
            "$ref": "ValidateError"
          },
          "type": "array"
        },
        "resource": {
          "description": "The `package` resource.",
          "$ref": "Package"
        }
      },
      "id": "PackageInsertResponse",
      "type": "object"
    },
    "VideoAdvertisingOptionGetEnabledAdsResponse": {
      "id": "VideoAdvertisingOptionGetEnabledAdsResponse",
      "type": "object",
      "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": {
        "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"
          }
        },
        "adsOnEmbeds": {
          "type": "boolean",
          "description": "This field indicates whether YouTube can show ads when the video is played in an embedded player."
        },
        "kind": {
          "description": "The type of the API resource. For this resource, the value is `youtubePartner#videoAdvertisingOptionGetEnabledAds`.",
          "type": "string"
        },
        "adBreaks": {
          "type": "array",
          "description": "A list of ad breaks that occur in a claimed YouTube video.",
          "items": {
            "$ref": "AdBreak"
          }
        },
        "id": {
          "description": "The ID that YouTube uses to uniquely identify the claimed video.",
          "type": "string"
        }
      }
    },
    "ClaimListResponse": {
      "id": "ClaimListResponse",
      "type": "object",
      "description": "A paginated list of claims returned in response to a `claims.list` call.",
      "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."
        },
        "pageInfo": {
          "description": "The `pageInfo` object encapsulates paging information for the result set.",
          "$ref": "PageInfo"
        },
        "previousPageToken": {
          "type": "string",
          "description": "The token that can be used as the value of the `pageToken` parameter to retrieve the previous page in the result set."
        },
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#claimList`."
        },
        "items": {
          "description": "A list of claims that match the request criteria.",
          "items": {
            "$ref": "Claim"
          },
          "type": "array"
        }
      }
    },
    "ReferenceConflictMatch": {
      "description": "Represents conflict between two references.",
      "properties": {
        "type": {
          "type": "string",
          "description": "The referenceConflictMatch's type."
        },
        "conflicting_reference_offset_ms": {
          "description": "Conflicting reference offset in milliseconds.",
          "format": "int64",
          "type": "string"
        },
        "length_ms": {
          "description": "Match length in milliseconds.",
          "format": "int64",
          "type": "string"
        },
        "original_reference_offset_ms": {
          "description": "Original reference offset in milliseconds.",
          "format": "int64",
          "type": "string"
        }
      },
      "id": "ReferenceConflictMatch",
      "type": "object"
    },
    "ExcludedInterval": {
      "id": "ExcludedInterval",
      "type": "object",
      "description": "Defines a time window within the reference that will be ignored during the match process.",
      "properties": {
        "timeCreated": {
          "type": "string",
          "description": "The date and time that the exclusion was created. The value is specified in RFC 3339 (`YYYY-MM-DDThh:mm:ss.000Z`) format."
        },
        "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"
        },
        "high": {
          "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.",
          "format": "double",
          "type": "number"
        },
        "origin": {
          "type": "string",
          "description": "The source of the request to exclude the interval from Content ID matching."
        }
      }
    },
    "CampaignList": {
      "description": "List campaigns associated with the content owner.",
      "properties": {
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#campaignList`.",
          "type": "string"
        },
        "items": {
          "type": "array",
          "description": "A list of campaigns.",
          "items": {
            "$ref": "Campaign"
          }
        }
      },
      "id": "CampaignList",
      "type": "object"
    },
    "StatusReport": {
      "description": "This object contains information that describes the source of the package status report.",
      "properties": {
        "statusContent": {
          "description": "The content of the report message. Used only in Hybrid.",
          "type": "string"
        },
        "statusFileName": {
          "type": "string",
          "description": "Status file name. Used only in Hybrid."
        }
      },
      "id": "StatusReport",
      "type": "object"
    },
    "IncorrectPlayability": {
      "description": "Corresponds to the '(Release / Art track) is not playable or visible as expected in product' option.",
      "properties": {
        "rightsTypes": {
          "description": "The rights types to which the reported change request applies.",
          "items": {
            "enum": [
              "CHANGE_REQUEST_RIGHTS_TYPE_UNSPECIFIED",
              "AVOD",
              "SVOD"
            ],
            "type": "string",
            "enumDescriptions": [
              "Default value. This value is unused.",
              "Ad-based video on demand.",
              "Subscription-based video on demand."
            ]
          },
          "type": "array"
        },
        "territorySet": {
          "description": "The territories to which the reported change request applies.",
          "$ref": "TerritorySet"
        },
        "surfaces": {
          "type": "array",
          "description": "The surfaces to which the reported change request applies.",
          "items": {
            "enum": [
              "CHANGE_REQUEST_SURFACE_UNSPECIFIED",
              "YOUTUBE_MUSIC",
              "YOUTUBE"
            ],
            "enumDescriptions": [
              "Default value. This value is unused.",
              "YouTube Music App.",
              "YouTube Main."
            ],
            "type": "string"
          }
        },
        "supplementalInfo": {
          "type": "string",
          "description": "Generic supplemental information."
        }
      },
      "id": "IncorrectPlayability",
      "type": "object"
    },
    "Conditions": {
      "id": "Conditions",
      "type": "object",
      "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.",
      "properties": {
        "referenceDuration": {
          "description": "This match condition indicates that the reference must be a certain duration for the rule to apply.",
          "items": {
            "$ref": "IntervalCondition"
          },
          "type": "array"
        },
        "referencePercent": {
          "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.",
          "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"
        },
        "matchPercent": {
          "type": "array",
          "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.",
          "items": {
            "$ref": "IntervalCondition"
          }
        },
        "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"
        },
        "matchDuration": {
          "type": "array",
          "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"
          }
        },
        "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"
        }
      }
    },
    "TerritoryCondition": {
      "id": "TerritoryCondition",
      "type": "object",
      "description": "Territory condition used by policy rule's conditions.",
      "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",
          "description": "A list of territories. Each territory is an ISO 3166 two-letter country code..",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "ListMusicTracksResponse": {
      "id": "ListMusicTracksResponse",
      "type": "object",
      "description": "A response to list music tracks.",
      "properties": {
        "tracks": {
          "type": "array",
          "description": "The requested music tracks.",
          "items": {
            "$ref": "MusicTrack"
          }
        },
        "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"
        }
      }
    },
    "ValidateAsyncResponse": {
      "description": "Response to a `validator.validateAsync` request.",
      "properties": {
        "status": {
          "description": "The validation status.",
          "type": "string"
        },
        "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"
        }
      },
      "id": "ValidateAsyncResponse",
      "type": "object"
    },
    "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.",
      "properties": {
        "tpUrlParameters": {
          "type": "string",
          "description": "A parameter string to append to the end of the request to the third-party ad server."
        },
        "adBreaks": {
          "description": "A list of times when YouTube can show an in-stream advertisement during playback of the video.",
          "items": {
            "$ref": "AdBreak"
          },
          "type": "array"
        },
        "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": {
          "description": "The point at which the break occurs during the video playback.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "The ID that YouTube uses to uniquely identify the video associated with the advertising settings.",
          "type": "string"
        },
        "tpAdServerVideoId": {
          "description": "A value that uniquely identifies the video to the third-party ad server.",
          "type": "string"
        },
        "adFormats": {
          "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 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`.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "kind": {
          "description": "The type of the API resource. For this resource, the value is `youtubePartner#videoAdvertisingOption`.",
          "type": "string"
        }
      },
      "id": "VideoAdvertisingOption",
      "type": "object"
    },
    "AssetListResponse": {
      "id": "AssetListResponse",
      "type": "object",
      "description": "A paginated list of `asset` resources returned in response to `assets.list` request.",
      "properties": {
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#assetList`.",
          "type": "string"
        },
        "items": {
          "type": "array",
          "description": "A list of `asset` resources that match the request criteria.",
          "items": {
            "$ref": "Asset"
          }
        }
      }
    },
    "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.",
      "properties": {
        "rules": {
          "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.",
          "items": {
            "$ref": "PolicyRule"
          }
        },
        "name": {
          "type": "string",
          "description": "The policy's name."
        },
        "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"
        },
        "description": {
          "description": "The policy's description.",
          "type": "string"
        },
        "timeUpdated": {
          "description": "The time the policy was updated.",
          "type": "string"
        }
      },
      "id": "Policy",
      "type": "object"
    },
    "AssetRelationshipListResponse": {
      "description": "A paginated list of `assetRelationship` resources returned in response to a `assetRelationships.list` request.",
      "properties": {
        "nextPageToken": {
          "description": "The token that can be used as the value of the `pageToken` parameter to retrieve the next page of results.",
          "type": "string"
        },
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#assetRelationshipList`.",
          "type": "string"
        },
        "pageInfo": {
          "description": "The `pageInfo` object encapsulates paging information for the result set.",
          "$ref": "PageInfo"
        },
        "items": {
          "description": "A list of `assetRelationship` resources that match the request criteria.",
          "items": {
            "$ref": "AssetRelationship"
          },
          "type": "array"
        }
      },
      "id": "AssetRelationshipListResponse",
      "type": "object"
    },
    "YoutubePartnerApiProtoFrontendV1Origin": {
      "id": "YoutubePartnerApiProtoFrontendV1Origin",
      "type": "object",
      "properties": {
        "source": {
          "type": "string"
        }
      }
    },
    "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": {
        "low": {
          "description": "The minimum (inclusive) allowed value for the condition to be satisfied. The default value is `-∞`.",
          "format": "double",
          "type": "number"
        },
        "high": {
          "description": "The maximum (inclusive) allowed value for the condition to be satisfied. The default value is `∞`.",
          "format": "double",
          "type": "number"
        }
      },
      "id": "IntervalCondition",
      "type": "object"
    },
    "LongestMatch": {
      "id": "LongestMatch",
      "type": "object",
      "description": "Longest claim match.",
      "properties": {
        "durationSecs": {
          "description": "The duration of the longest match between the reference and the user video.",
          "format": "uint64",
          "type": "string"
        },
        "userVideoOffset": {
          "type": "string",
          "description": "The offset in seconds into the user video at which the longest match began.",
          "format": "uint64"
        },
        "referenceOffset": {
          "type": "string",
          "description": "The offset in seconds into the reference at which the longest match began.",
          "format": "uint64"
        }
      }
    },
    "DesiredArtist": {
      "description": "The desired artist for reconciliation, as specified by a partner.",
      "properties": {
        "channelId": {
          "description": "The channel ID of the desired artist.",
          "type": "string"
        },
        "newArtist": {
          "description": "True iff there is no existing artist to associate with the release. channel_id should be unset if this is true.",
          "type": "boolean"
        },
        "supplementalInfo": {
          "description": "Generic supplemental information.",
          "type": "string"
        }
      },
      "id": "DesiredArtist",
      "type": "object"
    },
    "ConflictingOwnership": {
      "description": "Represents information about one of conflicting ownerships.",
      "properties": {
        "ratio": {
          "description": "The percentage of the asset that the owner controls or administers.",
          "format": "double",
          "type": "number"
        },
        "owner": {
          "description": "The ID of the conflicting asset's owner.",
          "type": "string"
        }
      },
      "id": "ConflictingOwnership",
      "type": "object"
    },
    "AssetShareListResponse": {
      "description": "A paginated list of `assetShare` resources returned in response to a `list` request.",
      "properties": {
        "items": {
          "description": "An `assetShare` resource that matches the request criteria.",
          "items": {
            "$ref": "AssetShare"
          },
          "type": "array"
        },
        "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": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#assetShareList`."
        },
        "pageInfo": {
          "description": "The `pageInfo` object encapsulates paging information for the result set.",
          "$ref": "PageInfo"
        }
      },
      "id": "AssetShareListResponse",
      "type": "object"
    },
    "StudioInfo": {
      "id": "StudioInfo",
      "type": "object",
      "description": "Contains URLs linking back to claim-related pages in Studio.",
      "properties": {
        "videoUrl": {
          "description": "Links to the claimed video page in Studio.",
          "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."
        },
        "claimUrl": {
          "type": "string",
          "description": "Links to the claim page in Studio. Note: this page loads differently depending on whether the claim has \"action required\" issue or not."
        }
      }
    },
    "Claim": {
      "description": "A `claim` links a partner- or user-uploaded video to an [asset](/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": {
        "ugcType": {
          "type": "string",
          "description": "UGC type of the claim (standard, premium, song)."
        },
        "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"
        },
        "timeCreated": {
          "type": "string",
          "description": "The time the claim was created."
        },
        "contentType": {
          "description": "This value indicates whether the claim covers the audio, video, or audiovisual portion of the claimed content.",
          "type": "string"
        },
        "appliedPolicy": {
          "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.",
          "$ref": "Policy"
        },
        "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"
        },
        "isPartnerUploaded": {
          "type": "boolean",
          "description": "Indicates whether or not the claim is a partner uploaded claim."
        },
        "id": {
          "description": "The ID that YouTube assigns and uses to uniquely identify the claim.",
          "type": "string"
        },
        "studioInfo": {
          "description": "Contains URLs linking back to claim-related pages in Studio.",
          "$ref": "StudioInfo"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For `claim` resources, this value is `youtubePartner#claim`."
        },
        "videoId": {
          "description": "The unique YouTube video ID that identifies the video associated with the claim.",
          "type": "string"
        },
        "assetId": {
          "description": "The unique YouTube asset ID that identifies the asset associated with the claim.",
          "type": "string"
        },
        "timeStatusLastModified": {
          "description": "The time the claim status and/or status detail was last modified.",
          "type": "string"
        },
        "blockOutsideOwnership": {
          "type": "boolean",
          "description": "Indicates whether or not the claimed video should be blocked anywhere it is not explicitly owned."
        },
        "policy": {
          "description": "The policy provided by the viewing owner on the claim.",
          "$ref": "Policy"
        },
        "origin": {
          "$ref": "Origin"
        }
      },
      "id": "Claim",
      "type": "object"
    },
    "Segment": {
      "id": "Segment",
      "type": "object",
      "description": "This resource represents a simple segment with start and finish time formatted as a \"hh:mm:ss.mmm\" string.",
      "properties": {
        "duration": {
          "type": "string",
          "description": "The duration of the segment in milliseconds.",
          "format": "uint64"
        },
        "start": {
          "description": "The start time of the segment, measured in milliseconds from the beginning.",
          "format": "uint64",
          "type": "string"
        },
        "kind": {
          "description": "The type of the API resource. For segment resources, the value is `youtubePartner#segment`.",
          "type": "string"
        }
      }
    },
    "ReferenceConflictListResponse": {
      "id": "ReferenceConflictListResponse",
      "type": "object",
      "description": "A paginated list of resources returned in response to a `referenceConflict.list` request.",
      "properties": {
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#referenceConflictList`.",
          "type": "string"
        },
        "pageInfo": {
          "description": "The `pageInfo` object encapsulates paging information for the result set.",
          "$ref": "PageInfo"
        },
        "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",
          "description": "A list of reference conflicts that match the request criteria.",
          "items": {
            "$ref": "ReferenceConflict"
          }
        }
      }
    },
    "RightsOwnership": {
      "id": "RightsOwnership",
      "type": "object",
      "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.",
      "properties": {
        "performance": {
          "type": "array",
          "description": "A list that identifies owners of the performance rights for a composition asset.",
          "items": {
            "$ref": "TerritoryOwners"
          }
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For `rightsOwnership` resources, the value is `youtubePartner#rightsOwnership`."
        },
        "synchronization": {
          "description": "A list that identifies owners of the synchronization rights for a composition asset.",
          "items": {
            "$ref": "TerritoryOwners"
          },
          "type": "array"
        },
        "general": {
          "type": "array",
          "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. **Note:** You cannot specify general ownership rights and also specify either mechanical, performance, or synchronization rights.",
          "items": {
            "$ref": "TerritoryOwners"
          }
        },
        "mechanical": {
          "description": "A list that identifies owners of the mechanical rights for a composition asset.",
          "items": {
            "$ref": "TerritoryOwners"
          },
          "type": "array"
        }
      }
    },
    "Package": {
      "id": "Package",
      "type": "object",
      "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.",
      "properties": {
        "uploaderName": {
          "type": "string",
          "description": "The uploader name."
        },
        "name": {
          "description": "The package name.",
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "An ID that YouTube assigns and uses to uniquely identify the package."
        },
        "status": {
          "type": "string",
          "description": "The package status."
        },
        "customIds": {
          "type": "array",
          "description": "The list of customer IDs.",
          "items": {
            "type": "string"
          }
        },
        "content": {
          "type": "string",
          "description": "The package's metadata file contents."
        },
        "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"
        },
        "timeCreated": {
          "type": "string",
          "description": "The package creation time. The value is specified in RFC 3339 (`YYYY-MM-DDThh:mm:ss.000Z`) format."
        },
        "type": {
          "type": "string",
          "description": "The package type."
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For `package` resources, this value is `youtubePartner#package`."
        },
        "statusReports": {
          "type": "array",
          "description": "The package status reports.",
          "items": {
            "$ref": "StatusReport"
          }
        }
      }
    },
    "ClaimHistory": {
      "id": "ClaimHistory",
      "type": "object",
      "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": {
        "event": {
          "type": "array",
          "description": "A list of claim history events.",
          "items": {
            "$ref": "ClaimEvent"
          }
        },
        "id": {
          "description": "The ID that YouTube assigns and uses to uniquely identify the claim.",
          "type": "string"
        },
        "uploaderChannelId": {
          "type": "string",
          "description": "The external channel id of claimed video's uploader."
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For `claimHistory` resources, this value is `youtubePartner#claimHistory`."
        }
      }
    },
    "AssetLabel": {
      "description": "An `assetLabel` resource represents an Asset Label for a certain content owner.",
      "properties": {
        "labelName": {
          "type": "string",
          "description": "Name of the asset label."
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For `assetLabel` resources, this value is `youtubePartner#assetLabel`."
        }
      },
      "id": "AssetLabel",
      "type": "object"
    },
    "Rating": {
      "id": "Rating",
      "type": "object",
      "description": "This object contains a content rating for an [asset](/youtube/partner/reference/rest/v1/assets).",
      "properties": {
        "rating": {
          "description": "The rating that the asset received.",
          "type": "string"
        },
        "ratingSystem": {
          "description": "The rating system associated with the rating.",
          "type": "string"
        }
      }
    },
    "TerritoriesIneligibleForNWayRevenueSharing": {
      "description": "Information about territories where an asset is not eligible for n-way revshare.",
      "properties": {
        "reason": {
          "description": "Ineligibility reason for teritorries listed below.",
          "type": "string"
        },
        "territories": {
          "type": "array",
          "description": "Each country is represented by its two-letter ISO country code (ISO 3166-1 alpha-2).",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "TerritoriesIneligibleForNWayRevenueSharing",
      "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": {
          "description": "Title of the whitelisted YouTube channel.",
          "type": "string"
        },
        "kind": {
          "description": "The type of the API resource. For `whitelist` resources, this value is `youtubePartner#whitelist`.",
          "type": "string"
        },
        "id": {
          "description": "The YouTube channel ID that uniquely identifies the whitelisted channel.",
          "type": "string"
        }
      }
    },
    "ReferenceConflict": {
      "id": "ReferenceConflict",
      "type": "object",
      "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": {
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For `referenceConflict` resources, the value is `youtubePartner#referenceConflict`."
        },
        "status": {
          "type": "string",
          "description": "The referenceConflict's status."
        },
        "expiryTime": {
          "type": "string",
          "description": "Conflict review expiry time."
        },
        "conflictingReferenceId": {
          "description": "An id of a conflicting reference.",
          "type": "string"
        },
        "originalReferenceId": {
          "type": "string",
          "description": "An id of an original reference."
        },
        "matches": {
          "type": "array",
          "description": "The list of matches between conflicting and original references at the time of conflict creation.",
          "items": {
            "$ref": "ReferenceConflictMatch"
          }
        },
        "id": {
          "description": "A value that YouTube assigns and uses to uniquely identify a reference conflict.",
          "type": "string"
        }
      }
    },
    "UndesiredDiscography": {
      "description": "Corresponds to the 'Another artist's release is incorrectly appearing on my artist's channel' option.",
      "properties": {
        "channelId": {
          "description": "Channel ID of the artist with the undesired release discography.",
          "type": "string"
        },
        "undesiredPlaylistIds": {
          "description": "Playlist IDs of the undesired releases.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "supplementalInfo": {
          "type": "string",
          "description": "Generic supplemental information."
        }
      },
      "id": "UndesiredDiscography",
      "type": "object"
    },
    "AssetMatchPolicy": {
      "description": "The `assetMatchPolicy` resource identifies an asset's match policy, which YouTube applies to user-uploaded videos that match the asset.",
      "properties": {
        "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.",
          "items": {
            "$ref": "PolicyRule"
          },
          "type": "array"
        },
        "kind": {
          "description": "The type of the API resource. Value: `youtubePartner#assetMatchPolicy`.",
          "type": "string"
        },
        "policyId": {
          "type": "string",
          "description": "A value that uniquely identifies the `Policy` resource that YouTube applies to user-uploaded videos that match the asset."
        }
      },
      "id": "AssetMatchPolicy",
      "type": "object"
    },
    "PromotedContent": {
      "id": "PromotedContent",
      "type": "object",
      "description": "This object contains the links as the promotional target of a campaign.",
      "properties": {
        "link": {
          "type": "array",
          "description": "A list of link targets that will be used to generate the annotation link that appears on videos included in the campaign. If more than one link is specified, the link that is displayed to viewers will be randomly selected from the list.",
          "items": {
            "$ref": "CampaignTargetLink"
          }
        }
      }
    },
    "LiveCuepoint": {
      "id": "LiveCuepoint",
      "type": "object",
      "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.",
      "properties": {
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For `liveCuepoint` resources, the value is `youtubePartner#liveCuepoint`."
        },
        "settings": {
          "description": "The `settings` object defines the cuepoint's settings.",
          "$ref": "CuepointSettings"
        },
        "broadcastId": {
          "description": "The ID that YouTube assigns to uniquely identify the broadcast into which the cuepoint is being inserted.",
          "type": "string"
        },
        "id": {
          "description": "A value that YouTube assigns to uniquely identify the cuepoint.",
          "type": "string"
        }
      }
    },
    "AssetSearchResponse": {
      "id": "AssetSearchResponse",
      "type": "object",
      "description": "This response shows a list of YouTube assets matching a search query. Each item in the list contains an asset's metadata.",
      "properties": {
        "items": {
          "description": "A list of asset resources that match the request criteria.",
          "items": {
            "$ref": "AssetSnippet"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "The token that can be used as the value of the `pageToken` parameter to retrieve the next page of results.",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#assetSnippetList`."
        },
        "pageInfo": {
          "description": "The `pageInfo` object encapsulates paging information for the result set.",
          "$ref": "PageInfo"
        }
      }
    },
    "UploaderListResponse": {
      "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": {
          "type": "array",
          "description": "A list of uploader (`youtubePartner#uploader`) resources that match the request criteria.",
          "items": {
            "$ref": "Uploader"
          }
        }
      },
      "id": "UploaderListResponse",
      "type": "object"
    },
    "ListMusicChangeRequestsResponse": {
      "id": "ListMusicChangeRequestsResponse",
      "type": "object",
      "description": "A response to list music change requests.",
      "properties": {
        "changeRequests": {
          "description": "The requested music change requests.",
          "items": {
            "$ref": "MusicChangeRequest"
          },
          "type": "array"
        },
        "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"
        }
      }
    },
    "DesiredMusicVideo": {
      "description": "The desired music video to associate with an Art Track, as specified by a partner.",
      "properties": {
        "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"
        },
        "noMusicVideo": {
          "description": "True iff no music video should be associated with the track. video_id should be unset if this is true.",
          "type": "boolean"
        },
        "supplementalInfo": {
          "description": "Generic supplemental information.",
          "type": "string"
        }
      },
      "id": "DesiredMusicVideo",
      "type": "object"
    },
    "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": {
        "totalResults": {
          "description": "The total number of results in the result set.",
          "format": "int32",
          "type": "integer"
        },
        "resultsPerPage": {
          "description": "The number of results included in the API response.",
          "format": "int32",
          "type": "integer"
        },
        "startIndex": {
          "type": "integer",
          "description": "The index of the first item in the API response.",
          "format": "int32"
        }
      }
    },
    "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": {
        "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."
        },
        "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"
        },
        "subaction": {
          "description": "A list of additional actions that YouTube should take if the conditions in the rule are met.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "SpreadsheetTemplate": {
      "description": "This resource represents a spreadsheet template for a content owner.",
      "properties": {
        "templateType": {
          "type": "string",
          "description": "The template type."
        },
        "templateName": {
          "type": "string",
          "description": "The template name."
        },
        "status": {
          "description": "The template status.",
          "type": "string"
        },
        "templateContent": {
          "description": "The template content.",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For spreadsheet template resources, the value is `youtubePartner#spreadsheetTemplate`."
        }
      },
      "id": "SpreadsheetTemplate",
      "type": "object"
    },
    "AssetRelationship": {
      "id": "AssetRelationship",
      "type": "object",
      "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.",
      "properties": {
        "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."
        },
        "childAssetId": {
          "type": "string",
          "description": "The ID of the child (contained) asset."
        }
      }
    },
    "ClaimSearchResponse": {
      "id": "ClaimSearchResponse",
      "type": "object",
      "description": "A paginated list of claim snippets returned in response to a `claimSearch.list` call.",
      "properties": {
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#claimSnippetList`."
        },
        "items": {
          "description": "A list of claims that match the request criteria.",
          "items": {
            "$ref": "ClaimSnippet"
          },
          "type": "array"
        },
        "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"
        },
        "previousPageToken": {
          "type": "string",
          "description": "The token that can be used as the value of the `pageToken` parameter to retrieve the previous page in the result set."
        }
      }
    },
    "MusicRelease": {
      "id": "MusicRelease",
      "type": "object",
      "description": "A representation of a music release.",
      "properties": {
        "artists": {
          "type": "array",
          "description": "List of artists for the release.",
          "items": {
            "$ref": "Artist"
          }
        },
        "name": {
          "type": "string",
          "description": "The resource name of the music release. Format: releases/{release}"
        },
        "playlistId": {
          "description": "The OMV-preferred playlist.",
          "type": "string"
        },
        "title": {
          "type": "string",
          "description": "The title of this release."
        },
        "hasOpenChangeRequest": {
          "description": "The release has at least one ChangeRequest in open status.",
          "type": "boolean"
        }
      }
    },
    "ContentOwnerListResponse": {
      "id": "ContentOwnerListResponse",
      "type": "object",
      "description": "A list of content owners returned in response to a `contentOwners.list` call.",
      "properties": {
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#contentOwnerList`."
        },
        "items": {
          "type": "array",
          "description": "A list of content owners that match the request criteria.",
          "items": {
            "$ref": "ContentOwner"
          }
        }
      }
    },
    "ListMusicReleasesResponse": {
      "id": "ListMusicReleasesResponse",
      "type": "object",
      "description": "A response to list music releases.",
      "properties": {
        "releases": {
          "type": "array",
          "description": "The requested music releases.",
          "items": {
            "$ref": "MusicRelease"
          }
        },
        "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."
        }
      }
    },
    "TerritorySet": {
      "description": "A collection of regions.",
      "properties": {
        "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"
        },
        "regionCodes": {
          "type": "array",
          "description": "List of regions with Unicode CLDR.",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "TerritorySet",
      "type": "object"
    },
    "ValidateResponse": {
      "id": "ValidateResponse",
      "type": "object",
      "description": "Response from validation request.",
      "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"
        }
      }
    },
    "Artist": {
      "id": "Artist",
      "type": "object",
      "description": "Info of the artist, such as name and isni.",
      "properties": {
        "displayName": {
          "description": "The name of the artist.",
          "type": "string"
        },
        "isni": {
          "description": "The unique identifier of the artist.",
          "type": "string"
        }
      }
    },
    "TerritoryOwners": {
      "description": "Represents ownership conflict in a single territory.",
      "properties": {
        "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"
        },
        "territories": {
          "description": "A list of territories where the owner owns (or does not own) the asset. Each territory is an ISO 3166 two-letter country code..",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "type": {
          "type": "string",
          "description": "This field indicates whether the ownership data applies or does not apply in the specified territories."
        },
        "owner": {
          "type": "string",
          "description": "The name of the asset's owner or rights administrator."
        },
        "ratio": {
          "type": "number",
          "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.",
          "format": "double"
        }
      },
      "id": "TerritoryOwners",
      "type": "object"
    },
    "TypeDetails": {
      "id": "TypeDetails",
      "type": "object",
      "description": "Details of event's type.",
      "properties": {
        "disputeNotes": {
          "description": "Dispute notes for `dispute_create` events.",
          "type": "string"
        },
        "disputeReason": {
          "type": "string",
          "description": "Dispute reason for `dispute_create` and `dispute_appeal` events."
        },
        "appealExplanation": {
          "description": "Appeal explanations for `dispute_appeal` event.",
          "type": "string"
        },
        "updateStatus": {
          "description": "Status that was a result of update for `claim_update` event.",
          "type": "string"
        }
      }
    },
    "Reference": {
      "id": "Reference",
      "type": "object",
      "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](/youtube/partner/reference/rest/v1/claims) for the asset's owner(s).",
      "properties": {
        "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"
        },
        "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"
        },
        "kind": {
          "description": "The type of the API resource. For `reference` resources, the value is `youtubePartner#reference`.",
          "type": "string"
        },
        "excludedIntervals": {
          "description": "The list of time intervals from this reference that will be ignored during the match process.",
          "items": {
            "$ref": "ExcludedInterval"
          },
          "type": "array"
        },
        "videoId": {
          "type": "string",
          "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."
        },
        "origination": {
          "description": "The `origination` object contains information that describes the reference source.",
          "$ref": "Origination"
        },
        "ignoreFpMatch": {
          "type": "boolean",
          "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."
        },
        "assetId": {
          "description": "The ID that uniquely identifies the asset that the reference is associated with.",
          "type": "string"
        },
        "hashCode": {
          "type": "string",
          "description": "The MD5 hashcode of the reference content. Deprecated! This is no longer populated."
        },
        "status": {
          "type": "string",
          "description": "The reference's status."
        },
        "length": {
          "type": "number",
          "description": "The length of the reference in seconds.",
          "format": "double"
        },
        "id": {
          "description": "A value that YouTube assigns and uses to uniquely identify a reference.",
          "type": "string"
        },
        "statusReason": {
          "type": "string",
          "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`."
        },
        "urgent": {
          "type": "boolean",
          "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. Note that marking all of your files as urgent could delay processing for those files."
        },
        "contentType": {
          "description": "The type of content that the reference represents.",
          "type": "string"
        },
        "fpDirect": {
          "type": "boolean",
          "description": "When uploading a reference, set this value to `true` to indicate that the reference is a pre-generated fingerprint."
        },
        "duplicateLeader": {
          "type": "string",
          "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`."
        }
      }
    },
    "ValidateRequest": {
      "description": "Request to validate content.",
      "properties": {
        "content": {
          "description": "The metadata file contents.",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For this operation, the value is `youtubePartner#validateRequest`."
        },
        "uploaderName": {
          "type": "string",
          "description": "The uploader name."
        },
        "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"
        }
      },
      "id": "ValidateRequest",
      "type": "object"
    },
    "MusicChangeRequest": {
      "description": "A representation of a music change request.",
      "properties": {
        "incorrectMusicVideo": {
          "description": "Input only. Corresponds to the incorrectTrackMusicVideo type.",
          "$ref": "DesiredMusicVideo"
        },
        "release": {
          "description": "Format: releases/{release}",
          "type": "string"
        },
        "incorrectPlayability": {
          "description": "Input only. Corresponds to the incorrectPlayability type.",
          "$ref": "IncorrectPlayability"
        },
        "incorrectMetadata": {
          "description": "Input only. Corresponds to the incorrectMetadata type.",
          "$ref": "IncorrectMetadata"
        },
        "name": {
          "description": "Output only. Identifier. The resource name of the change request. Format: changeRequests/{change_request}",
          "type": "string",
          "readOnly": true
        },
        "state": {
          "description": "Output only. Status of the change request.",
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "OPEN",
            "CLOSED",
            "EXPIRED"
          ],
          "type": "string",
          "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."
          ]
        },
        "misreconciledArtist": {
          "description": "Input only. Corresponds to the misreconciledArtist type.",
          "$ref": "DesiredArtist"
        },
        "undesiredDiscography": {
          "description": "Input only. Corresponds to the undesiredReleaseDiscography type.",
          "$ref": "UndesiredDiscography"
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. Creation time of the change request.",
          "format": "google-datetime",
          "type": "string"
        },
        "track": {
          "type": "string",
          "description": "Format: releases/{release}/tracks/{track}"
        },
        "type": {
          "description": "Output only. Type of the change request. Possible values: misreconciledArtist, incorrectMetadata, incorrectArtists, undesiredReleaseDiscography, incorrectPlayability, incorrectTrackMusicVideo.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "MusicChangeRequest",
      "type": "object"
    },
    "AssetLabelListResponse": {
      "id": "AssetLabelListResponse",
      "type": "object",
      "description": "A paginated list of `assetLabel` resources returned in response to a `assetLabel.list` request.",
      "properties": {
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#assetLabelList`.",
          "type": "string"
        },
        "pageInfo": {
          "description": "The `pageInfo` object encapsulates paging information for the result set.",
          "$ref": "PageInfo"
        },
        "nextPageToken": {
          "type": "string",
          "description": "The token that can be used as the value of the `pageToken` parameter to retrieve the next page of results."
        },
        "items": {
          "type": "array",
          "description": "A list of `assetLabel` resources that match the request criteria.",
          "items": {
            "$ref": "AssetLabel"
          }
        }
      }
    },
    "CampaignTargetLink": {
      "description": "This object contains the type and target id of the link as the promotional target of a campaign..",
      "properties": {
        "targetType": {
          "type": "string",
          "description": "Indicates whether the link target is a channel or video."
        },
        "targetId": {
          "description": "The channel ID or video ID of the link target.",
          "type": "string"
        }
      },
      "id": "CampaignTargetLink",
      "type": "object"
    },
    "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. Note that 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 guide explains how those methods handle requests depending on whether the provided asset IDs are `shareIds` or `viewIds`.",
      "properties": {
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For this resource, the value is `youtubePartner#assetShare`."
        },
        "shareId": {
          "description": "A value that YouTube assigns and uses to uniquely identify the asset share.",
          "type": "string"
        },
        "viewId": {
          "description": "A value that YouTube assigns and uses to uniquely identify the asset view.",
          "type": "string"
        }
      },
      "id": "AssetShare",
      "type": "object"
    },
    "Campaign": {
      "id": "Campaign",
      "type": "object",
      "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.",
      "properties": {
        "timeLastModified": {
          "type": "string",
          "description": "The time the campaign was last modified."
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For `campaign` resources, this value is `youtubePartner#campaign`."
        },
        "status": {
          "description": "The status of the campaign.",
          "type": "string"
        },
        "id": {
          "description": "The unique ID that YouTube uses to identify the campaign.",
          "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"
        }
      }
    },
    "ValidateError": {
      "id": "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 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"
        },
        "lineNumber": {
          "description": "The line number where the error occurred (1-based).",
          "format": "int32",
          "type": "integer"
        },
        "columnNumber": {
          "description": "The column number where the error occurred (1-based).",
          "format": "int32",
          "type": "integer"
        },
        "message": {
          "description": "The error message.",
          "type": "string"
        },
        "columnName": {
          "description": "The column name where the error occurred.",
          "type": "string"
        },
        "severity": {
          "type": "string",
          "description": "The error severity."
        }
      }
    },
    "AssetSnippet": {
      "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](/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()`](/youtube/partner/docs/v1/assets/get) method or the [`assets.list()`](/youtube/partner/docs/v1/assets/list) method.",
      "properties": {
        "timeCreated": {
          "type": "string",
          "description": "The date and time the asset was created. The value is specified in RFC 3339 (`YYYY-MM-DDThh:mm:ss.000Z`) format."
        },
        "type": {
          "type": "string",
          "description": "The asset's type. This value determines which metadata fields might be included in the `metadata` object."
        },
        "customId": {
          "description": "Custom ID assigned by the content owner to this asset.",
          "type": "string"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For this operation, the value is `youtubePartner#assetSnippet`."
        },
        "iswc": {
          "description": "The ISWC (International Standard Musical Work Code) for this asset.",
          "type": "string"
        },
        "id": {
          "type": "string",
          "description": "An ID that YouTube assigns and uses to uniquely identify the asset."
        },
        "isrcs": {
          "type": "array",
          "description": "The ISRCs (International Standard Recording Code) for this asset.",
          "items": {
            "type": "string"
          }
        },
        "title": {
          "description": "Title of this asset.",
          "type": "string"
        },
        "isrc": {
          "type": "string",
          "description": "The ISRC (International Standard Recording Code) for this asset."
        },
        "iswcs": {
          "description": "The ISWCs (International Standard Musical Work Code) for this asset.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "id": "AssetSnippet",
      "type": "object"
    },
    "Empty": {
      "id": "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": {}
    },
    "Date": {
      "id": "Date",
      "type": "object",
      "description": "This resource identifies a date, which is represented as its constituent parts (year, month, day).",
      "properties": {
        "month": {
          "description": "The date's month. The value should be an integer between `1` and `12`.",
          "format": "uint32",
          "type": "integer"
        },
        "year": {
          "type": "integer",
          "description": "The date's year in the Gregorian Calendar. Assumed to be A.D.",
          "format": "uint32"
        },
        "day": {
          "type": "integer",
          "description": "The date's day. The value should be an integer between `1` and `31`. Note that some day-month combinations are not valid.",
          "format": "uint32"
        }
      }
    },
    "ValidateStatusRequest": {
      "id": "ValidateStatusRequest",
      "type": "object",
      "description": "Request to validate the status of a validation request.",
      "properties": {
        "validationId": {
          "type": "string",
          "description": "The validation ID."
        },
        "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"
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For this operation, the value is `youtubePartner#validateStatusRequest`."
        }
      }
    },
    "Asset": {
      "id": "Asset",
      "type": "object",
      "description": "An `asset` resource represents a piece of intellectual property, such as a sound recording or television episode.",
      "properties": {
        "ownershipEffective": {
          "$ref": "RightsOwnership"
        },
        "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"
        },
        "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"
        },
        "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"
        },
        "id": {
          "type": "string",
          "description": "An ID that YouTube assigns and uses to uniquely identify the asset."
        },
        "label": {
          "description": "A list of asset labels on the asset.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ownershipMine": {
          "$ref": "RightsOwnership"
        },
        "aliasId": {
          "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "status": {
          "type": "string",
          "description": "The asset's status."
        },
        "metadataMine": {
          "$ref": "Metadata"
        },
        "licensability": {
          "description": "Asset licensability information.",
          "$ref": "AssetLicensability"
        },
        "timeCreated": {
          "type": "string",
          "description": "The date and time the asset was created. The value is specified in RFC 3339 (`YYYY-MM-DDThh:mm:ss.000Z`) format."
        },
        "matchPolicyEffective": {
          "$ref": "AssetMatchPolicy"
        },
        "type": {
          "type": "string",
          "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 "
        },
        "matchPolicyMine": {
          "$ref": "AssetMatchPolicy"
        },
        "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.",
          "$ref": "Metadata"
        },
        "metadataEffective": {
          "$ref": "Metadata"
        },
        "ownershipConflicts": {
          "description": "The `ownershipConflicts` object contains information about the asset's ownership conflicts.",
          "$ref": "OwnershipConflicts"
        }
      }
    },
    "AssetLicensability": {
      "description": "Asset licensability information.",
      "properties": {
        "licensabilityState": {
          "type": "string",
          "description": "The licensability state of the asset."
        },
        "unlicensableReason": {
          "description": "The reason for why the asset is not licensable.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "licensable": {
          "description": "Whether the reconciled asset is licensable.",
          "type": "boolean"
        }
      },
      "id": "AssetLicensability",
      "type": "object"
    },
    "Origin": {
      "id": "Origin",
      "type": "object",
      "description": "This object contains information that describes the source of the metadata or ownership data.",
      "properties": {
        "source": {
          "type": "string"
        }
      }
    },
    "PolicyList": {
      "id": "PolicyList",
      "type": "object",
      "description": "A list of policies returned in response to a `policies.list` call.",
      "properties": {
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#policyList`."
        },
        "items": {
          "description": "A list of saved policies.",
          "items": {
            "$ref": "Policy"
          },
          "type": "array"
        }
      }
    },
    "ReferenceListResponse": {
      "description": "A paginated list of resources returned in response to a `references.list` request.",
      "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."
        },
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#referenceList`.",
          "type": "string"
        },
        "pageInfo": {
          "description": "The `pageInfo` object encapsulates paging information for the result set.",
          "$ref": "PageInfo"
        },
        "items": {
          "description": "A list of references that match the request criteria.",
          "items": {
            "$ref": "Reference"
          },
          "type": "array"
        }
      },
      "id": "ReferenceListResponse",
      "type": "object"
    },
    "ContentOwner": {
      "id": "ContentOwner",
      "type": "object",
      "description": "A `contentOwner` resource represents an organization or other entity that owns content or administers content on YouTube.",
      "properties": {
        "disputeNotificationEmails": {
          "description": "The email address(es) to which YouTube sends claim dispute notifications and possible claim notifications.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "fingerprintReportNotificationEmails": {
          "type": "array",
          "description": "The email address(es) to which YouTube sends fingerprint reports.",
          "items": {
            "type": "string"
          }
        },
        "displayName": {
          "description": "The content owner's display name.",
          "type": "string"
        },
        "conflictNotificationEmail": {
          "type": "string",
          "description": "The email address visible to other partners for use in managing asset ownership conflicts."
        },
        "id": {
          "type": "string",
          "description": "A unique ID that YouTube uses to identify the content owner."
        },
        "kind": {
          "type": "string",
          "description": "The type of the API resource. For content owner resources, the value is `youtubePartner#contentOwner`."
        },
        "primaryNotificationEmails": {
          "type": "array",
          "description": "The email address(es) to which YouTube sends CMS account details and report notifications.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "ClaimEvent": {
      "description": "A `claimEvent` resource represents a single event in claim's life cycle.",
      "properties": {
        "typeDetails": {
          "description": "Details of event's type.",
          "$ref": "TypeDetails"
        },
        "kind": {
          "description": "The type of the API resource. For `claimEvent` resources, this value is `youtubePartner#claimEvent`.",
          "type": "string"
        },
        "source": {
          "description": "Data related to source of the event.",
          "$ref": "Source"
        },
        "time": {
          "type": "string",
          "description": "The time when the event occurred."
        },
        "type": {
          "type": "string",
          "description": "Type of the event."
        },
        "reason": {
          "type": "string",
          "description": "Reason of the event."
        }
      },
      "id": "ClaimEvent",
      "type": "object"
    },
    "MusicTrack": {
      "id": "MusicTrack",
      "type": "object",
      "description": "A representation of a music track.",
      "properties": {
        "artists": {
          "type": "array",
          "description": "List of artists for the track.",
          "items": {
            "$ref": "Artist"
          }
        },
        "name": {
          "type": "string",
          "description": "The resource name of the music track. Format: releases/{release}/tracks/{track}"
        },
        "externalVideoId": {
          "type": "string",
          "description": "The external videoId for the track."
        },
        "title": {
          "type": "string",
          "description": "The title of this track."
        },
        "hasOpenChangeRequest": {
          "type": "boolean",
          "description": "The track has at least one ChangeRequest in open status."
        }
      }
    },
    "MatchSegment": {
      "description": "Info about a single match segment on a claim.",
      "properties": {
        "channel": {
          "description": "Identifies the manner in which the claimed video matches the reference video.",
          "type": "string"
        },
        "video_segment": {
          "description": "The `video_segment` object contains information about the matched portion of the claimed video.",
          "$ref": "Segment"
        },
        "reference_segment": {
          "description": "The `reference_segment` object contains information about the matched portion of the reference content.",
          "$ref": "Segment"
        },
        "manual_segment": {
          "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.",
          "$ref": "Segment2"
        }
      },
      "id": "MatchSegment",
      "type": "object"
    },
    "MetadataHistory": {
      "description": "This resource represents a set of metadata values provided for an asset.",
      "properties": {
        "kind": {
          "description": "The type of the API resource. For metadata history resources, the value is `youtubePartner#metadataHistory`.",
          "type": "string"
        },
        "origination": {
          "description": "The `origination` object contains information that describes the metadata source.",
          "$ref": "Origination"
        },
        "metadata": {
          "description": "The `metadata` object contains the metadata provided by the specified source (`origination`) at the specified time (`timeProvided`).",
          "$ref": "Metadata"
        },
        "timeProvided": {
          "description": "The time the metadata was provided.",
          "type": "string"
        }
      },
      "id": "MetadataHistory",
      "type": "object"
    },
    "SpreadsheetTemplateListResponse": {
      "id": "SpreadsheetTemplateListResponse",
      "type": "object",
      "description": "A list of spreadsheet templates associated with a content owner.",
      "properties": {
        "items": {
          "description": "A list of spreadsheet templates (`youtubePartner#spreadsheetTemplate`) resources that match the request criteria.",
          "items": {
            "$ref": "SpreadsheetTemplate"
          },
          "type": "array"
        },
        "status": {
          "type": "string",
          "description": "The status of the API response."
        },
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#spreadsheetTemplateList`."
        }
      }
    },
    "Metadata": {
      "id": "Metadata",
      "type": "object",
      "description": "The metadata for an asset. Some metadata fields are only valid for certain types of assets.",
      "properties": {
        "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"
        },
        "upc": {
          "description": "The UPC (Universal Product Code) associated with the asset.",
          "type": "string"
        },
        "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 category "
        },
        "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"
        },
        "keyword": {
          "type": "array",
          "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"
          }
        },
        "producer": {
          "description": "A list that identifies producers of the asset. You can specify up to 50 producers for an asset.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "artist": {
          "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.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "episodeNumber": {
          "type": "string",
          "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."
        },
        "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."
        },
        "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. This value is only used for episode and movie assets and is not valid for other types of assets.",
          "items": {
            "type": "string"
          }
        },
        "writer": {
          "type": "array",
          "description": "A list that identifies writers associated with the asset. You can specify up to 50 writers for an asset.",
          "items": {
            "type": "string"
          }
        },
        "actor": {
          "type": "array",
          "description": "A list that identifies actors associated with the asset. You can specify up to 50 actors for an asset.",
          "items": {
            "type": "string"
          }
        },
        "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"
        },
        "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"
        },
        "spokenLanguage": {
          "description": "The video's primary spoken language. The value can be any ISO 639-1 two-letter language code. This value is only used for episode and movie assets and is not valid for other types of assets.",
          "type": "string"
        },
        "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). "
        },
        "category": {
          "type": "string",
          "description": "Category of this asset."
        },
        "endYear": {
          "type": "integer",
          "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"
        },
        "ratings": {
          "type": "array",
          "description": "A list of ratings that an asset received. The rating must be valid under the specified rating system.",
          "items": {
            "$ref": "Rating"
          }
        },
        "eidr": {
          "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.",
          "type": "string"
        },
        "hfa": {
          "description": "The six-character Harry Fox Agency (HFA) song code issued to uniquely identify a composition. This value is only valid for composition assets.",
          "type": "string"
        },
        "totalEpisodesExpected": {
          "description": "Specifies the total number of full-length episodes in the season. This value is used only for season assets.",
          "format": "uint32",
          "type": "integer"
        },
        "tmsId": {
          "description": "TMS (Tribune Media Systems) ID for the asset.",
          "type": "string"
        },
        "isrc": {
          "type": "string",
          "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."
        },
        "copyrightDate": {
          "description": "The date copyright for this asset was established. *",
          "$ref": "Date"
        },
        "showCustomId": {
          "type": "string",
          "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 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 (`/`)."
        },
        "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 category - Sound recordings included in the AudioSwap program ",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "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 category ",
          "$ref": "Date"
        },
        "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"
          }
        },
        "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 category ",
          "type": "string"
        },
        "customId": {
          "type": "string",
          "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 (`/`)."
        },
        "startYear": {
          "type": "integer",
          "description": "The first year that a television show aired. This value is required for and also only used for show assets.",
          "format": "uint32"
        },
        "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."
        },
        "label": {
          "type": "string",
          "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."
        },
        "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"
        },
        "title": {
          "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 category - Sound recordings included in the AudioSwap program ",
          "type": "string"
        },
        "seasonNumber": {
          "type": "string",
          "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."
        },
        "episodesAreUntitled": {
          "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.",
          "type": "boolean"
        }
      }
    },
    "MatchInfo": {
      "id": "MatchInfo",
      "type": "object",
      "description": "Match information about the claim.",
      "properties": {
        "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"
        },
        "referenceId": {
          "type": "string",
          "description": "The reference ID that generated this match."
        },
        "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.",
          "items": {
            "$ref": "MatchSegment"
          },
          "type": "array"
        },
        "longestMatch": {
          "description": "Details of the longest match between the reference and the user video.",
          "$ref": "LongestMatch"
        }
      }
    },
    "Origination": {
      "description": "This object contains information that describes the source of the metadata or ownership data.",
      "properties": {
        "source": {
          "type": "string",
          "description": "The mechanism by which the piece of metadata, ownership or relationship information was provided."
        },
        "owner": {
          "type": "string",
          "description": "The content owner who provided the metadata or ownership information."
        }
      },
      "id": "Origination",
      "type": "object"
    },
    "Uploader": {
      "id": "Uploader",
      "type": "object",
      "description": "Represents a uploader for a content owner.",
      "properties": {
        "uploaderName": {
          "description": "The uploader name.",
          "type": "string"
        },
        "kind": {
          "description": "The type of the API resource. For uploader resources, the value is `youtubePartner#uploader`.",
          "type": "string"
        }
      }
    },
    "NWayRevenueSharing": {
      "id": "NWayRevenueSharing",
      "type": "object",
      "description": "Information asset's n-way revshare.",
      "properties": {
        "status": {
          "type": "string",
          "description": "Status of n-way revenue sharing."
        },
        "eligibleTerritories": {
          "type": "array",
          "description": "Each country is represented by its two-letter ISO country code (ISO 3166-1 alpha-2).",
          "items": {
            "type": "string"
          }
        },
        "ineligibleTerritories": {
          "description": "Information about teritorries in which an asset is ineligible for n-way revenue sharing.",
          "items": {
            "$ref": "TerritoriesIneligibleForNWayRevenueSharing"
          },
          "type": "array"
        }
      }
    },
    "IncorrectMetadata": {
      "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.",
      "properties": {
        "supplementalInfo": {
          "type": "string",
          "description": "Generic supplemental information."
        }
      },
      "id": "IncorrectMetadata",
      "type": "object"
    },
    "RightsOwnershipHistory": {
      "description": "This resource represents a set of ownership data provided for an asset.",
      "properties": {
        "ownership": {
          "description": "The `ownership` object contains the ownership data provided by the specified source (`origination`) at the specified time (`timeProvided`).",
          "$ref": "RightsOwnership"
        },
        "kind": {
          "description": "The type of the API resource. For ownership history resources, the value is `youtubePartner#rightsOwnershipHistory`.",
          "type": "string"
        },
        "origination": {
          "description": "The `origination` object contains information that describes the metadata source.",
          "$ref": "Origination"
        },
        "timeProvided": {
          "type": "string",
          "description": "The time that the ownership data was provided."
        }
      },
      "id": "RightsOwnershipHistory",
      "type": "object"
    },
    "CountriesRestriction": {
      "description": "Formats enabled in given countries, based on applied policy.",
      "properties": {
        "adFormats": {
          "description": "A list of ad formats that can be used in the specified countries.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "territories": {
          "description": "A list of ISO 3166-1 alpha-2 country codes that identify the countries where ads are enabled.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "id": "CountriesRestriction",
      "type": "object"
    },
    "CuepointSettings": {
      "description": "A cuepoint settings resource includes all of the detailed settings for a cuepoint.",
      "properties": {
        "walltime": {
          "type": "string",
          "description": "This value specifies the wall clock time at which the cuepoint should be inserted. The value is specified in ISO 8601 (`YYYY-MM-DDThh:mm:ss.sssZ`) format."
        },
        "offsetTimeMs": {
          "type": "string",
          "description": "This value specifies a point in time in the video when viewers should see an ad or in-stream slate. 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 guide for more details. **Note:** If your broadcast had a testing phase, the offset is measured from the time that the testing phase began.",
          "format": "int64"
        },
        "durationSecs": {
          "description": "The cuepoint's duration, in seconds. This value must be specified if the cueType is `ad` and is ignored otherwise.",
          "format": "uint32",
          "type": "integer"
        },
        "cueType": {
          "description": "The cuepoint's type. See the Getting started guide for an explanation of the different types of cuepoints. Also see the Life of a broadcast document for best practices about inserting cuepoints during your broadcast.",
          "type": "string"
        }
      },
      "id": "CuepointSettings",
      "type": "object"
    },
    "ValidateAsyncRequest": {
      "id": "ValidateAsyncRequest",
      "type": "object",
      "description": "Request to a `validator.validateAsync` metadata.",
      "properties": {
        "uploaderName": {
          "type": "string",
          "description": "The uploader name."
        },
        "content": {
          "type": "string",
          "description": "The metadata file contents."
        },
        "kind": {
          "description": "The type of the API resource. For this operation, the value is `youtubePartner#validateAsyncRequest`.",
          "type": "string"
        }
      }
    },
    "WhitelistListResponse": {
      "id": "WhitelistListResponse",
      "type": "object",
      "description": "A paginated list `whitelist` resources returned in response to a `whitelist.list` request.",
      "properties": {
        "items": {
          "type": "array",
          "description": "A list of `whitelist` resources that match the request criteria.",
          "items": {
            "$ref": "Whitelist"
          }
        },
        "kind": {
          "description": "The type of the API response. For this operation, the value is `youtubePartner#whitelistList`.",
          "type": "string"
        },
        "pageInfo": {
          "description": "The `pageInfo` object encapsulates paging information for the result set.",
          "$ref": "PageInfo"
        },
        "nextPageToken": {
          "type": "string",
          "description": "The token that can be used as the value of the `pageToken` parameter to retrieve the next page of results."
        }
      }
    },
    "ClaimSnippet": {
      "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.",
      "properties": {
        "isPartnerUploaded": {
          "type": "boolean",
          "description": "Indicates whether or not the claim is a partner uploaded claim."
        },
        "status": {
          "type": "string",
          "description": "The claim's status."
        },
        "thirdPartyClaim": {
          "description": "Indicates that this is a third party claim.",
          "type": "boolean"
        },
        "id": {
          "description": "The ID that YouTube assigns and uses to uniquely identify the claim.",
          "type": "string"
        },
        "timeCreated": {
          "description": "The time the claim was created.",
          "type": "string"
        },
        "contentType": {
          "description": "This value indicates whether the claim covers the audio, video, or audiovisual portion of the claimed content.",
          "type": "string"
        },
        "origin": {
          "$ref": "YoutubePartnerApiProtoFrontendV1Origin"
        },
        "isVideoShortsEligible": {
          "description": "Indicates whether or not the claim is on a video that is eligible for YouTube Shorts.",
          "type": "boolean"
        },
        "videoViews": {
          "description": "Number of engaged views for the claimed video.",
          "format": "uint64",
          "type": "string"
        },
        "videoTitle": {
          "description": "The title of the claimed video.",
          "type": "string"
        },
        "engagedViews": {
          "description": "Number of engaged views for the claimed video.",
          "format": "int64",
          "type": "string"
        },
        "kind": {
          "description": "The type of the API resource. For this operation, the value is `youtubePartner#claimSnippet`.",
          "type": "string"
        },
        "videoId": {
          "description": "The unique YouTube video ID that identifies the video associated with the claim.",
          "type": "string"
        },
        "studioInfo": {
          "description": "Contains URLs linking back to claim-related pages in Studio.",
          "$ref": "StudioInfo"
        },
        "timeStatusLastModified": {
          "description": "The time the claim status and/or status detail was last modified.",
          "type": "string"
        },
        "assetId": {
          "description": "The unique YouTube asset ID that identifies the asset associated with the claim.",
          "type": "string"
        }
      },
      "id": "ClaimSnippet",
      "type": "object"
    },
    "MetadataHistoryListResponse": {
      "description": "A list of metadata history resources associated with an asset.",
      "properties": {
        "kind": {
          "type": "string",
          "description": "The type of the API response. For this operation, the value is `youtubePartner#metadataHistoryList`."
        },
        "items": {
          "type": "array",
          "description": "A list of metadata history (`youtubePartner#metadataHistory`) resources that match the request criteria.",
          "items": {
            "$ref": "MetadataHistory"
          }
        }
      },
      "id": "MetadataHistoryListResponse",
      "type": "object"
    },
    "Segment2": {
      "id": "Segment2",
      "type": "object",
      "description": "This resource represents a another simple segment with start and finish time formatted as a \"hh:mm:ss.mmm\" string.",
      "properties": {
        "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"
        },
        "finish": {
          "description": "The finish time of the segment, measured in milliseconds from the beginning.",
          "type": "string"
        }
      }
    },
    "ValidateStatusResponse": {
      "id": "ValidateStatusResponse",
      "type": "object",
      "description": "Response to a `validator.validateAsyncStatus` request.",
      "properties": {
        "status": {
          "description": "The validation status.",
          "type": "string"
        },
        "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"
          }
        },
        "isMetadataOnly": {
          "type": "boolean",
          "description": "If this is a metadata-only package."
        }
      }
    }
  },
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/youtubepartner": {
          "description": "View and manage your assets and associated content on YouTube"
        },
        "https://www.googleapis.com/auth/youtubepartner-content-owner-readonly": {
          "description": "View content owner account details from YouTube."
        }
      }
    }
  },
  "rootUrl": "https://www.googleapis.com/",
  "baseUrl": "https://www.googleapis.com/",
  "ownerName": "Google",
  "revision": "20260407",
  "basePath": "",
  "version": "v1",
  "parameters": {
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "type": "string",
      "location": "query"
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "$.xgafv": {
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ]
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "type": "string",
      "location": "query"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "alt": {
      "location": "query",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "type": "string",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "default": "json"
    },
    "callback": {
      "description": "JSONP",
      "type": "string",
      "location": "query"
    },
    "uploadType": {
      "type": "string",
      "location": "query",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "prettyPrint": {
      "type": "boolean",
      "location": "query",
      "description": "Returns response with indentations and line breaks.",
      "default": "true"
    },
    "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"
    },
    "upload_protocol": {
      "type": "string",
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    }
  },
  "description": "The YouTube Content ID API allows the management of YouTube assets along with their associated content, references, ownership, rights and policies.",
  "version_module": true
}
