Note:The YouTube Content ID API is intended for use by YouTube content partners and is not accessible to all developers or to all YouTube users. If you do not see the YouTube Content ID API as one of the services listed in the Google API Console , see the YouTube Help Center to learn more about the YouTube Partner Program.
This document identifies the different types of errors that YouTube Content ID API operations can return. You can also find a list of errors for any individual method in the reference documentation for that method.
General errors
The following tables identify API error messages that are not specific to a particular API method.
youtube.partner.api.ApiErrors
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
contentOwnerNotProvided
|
If you can manage multiple content owner accounts, you must use the onBehalfOfContentOwner
parameter to identify the content owner on whose behalf you are acting. |
forbidden (403)
|
serviceAccountNotAllowed
|
The requested operation cannot be authorized by a service account. |
internalError
|
internalError
|
An internal error has occurred. |
assetLabels
The following tables identify error messages that the API returns in response to calls related to assetLabels
resources. These methods could also return errors listed in the Common errors
section.
assetLabels.insert
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
invalidLabelName
|
The asset label's name is invalid. The label name must be between two and 30 characters. It may not contain angled brackets, commas, colons, ampersands, or the vertical pipe character (|). |
badRequest (400)
|
ownerHaveMaximumNumberOfLabels
|
A content owner is allowed to define up to 2500 unique asset labels. You have already reached this limit, so a new label was not created. |
conflict (409)
|
assetLabelExists
|
The asset label that you are trying to insert already exists. |
invalidValue (400)
|
acting_as_context.content_owner
|
To create an asset label, your request must identify the content owner on whose behalf the request is being made. |
required (400)
|
display_title
|
The request does not specify a label name, which is required to create an asset label. Please set a value for the labelName
property in the resource sent in the body of your request. |
assetLabels.list
Error type | Error detail | Description |
---|---|---|
invalidValue (400)
|
acting_as_context.content_owner
|
To list asset labels, your request must identify the content owner on whose behalf the request is being made. |
assetMatchPolicy
The following tables identify error messages that the API returns in response to calls related to assetMatchPolicy
resources. These methods could also return errors listed in the Common errors
section.
assetMatchPolicy.get
Error type | Error detail | Description |
---|---|---|
notFound (404)
|
resource_id.value
|
The asset for which you are trying to get the match policy cannot be found. |
assetMatchPolicy.update
or assetMatchPolicy.patch
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
missingOwnership
|
The asset for which you are trying to set the match policy does not have ownership data, which is a prerequisite for setting the match policy. |
notFound (404)
|
asset_id
|
The asset for which you are trying to update the match policy cannot be found. Check the value of the assetId
request parameter to ensure that it is correct. |
notFound (404)
|
resource.id
|
The saved policy that you are trying to set as the asset's match policy cannot be found. Check the value of the id
property of the assetMatchPolicy
resource provided in the request body to ensure that it is correct. |
required (400)
|
resource
|
The request does not contain the assetMatchPolicy
resource. |
assetRelationships
The following tables identify error messages that the API returns in response to calls related to assetRelationships
resources. These methods could also return errors listed in the Common errors
section.
assetRelationships.delete
Error type | Error detail | Description |
---|---|---|
forbidden (403)
|
invalidContentOwner
|
The currently authenticated content owner cannot delete this asset relationship. You can delete only asset relationships that you created. |
assetRelationships.insert
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
invalidAssetType
|
Asset relationships cannot be created for the specified asset type. The supported asset relationships are show->season->episode->
, music_video->sound_recording->composition
, and movie->movie
. |
badRequest (400)
|
invalidRelationship
|
The specified asset relationship is invalid. The supported asset relationships are show->season->episode->
, music_video->sound_recording->composition
, and movie->movie
. |
invalidValue (400)
|
child_asset_id
|
The value of the childAssetId
property does not correspond to an existing asset. Check the value of the resource's childAssetId
property to ensure it is correct. |
invalidValue (400)
|
parent_asset_id
|
The value of the parentAssetId
property does not correspond to an existing asset. Check the value of the resource's parentAssetId
property to ensure it is correct. |
notFound (404)
|
child_asset_id
|
The value of the childAssetId
property does not correspond to an existing asset. Check the value of the resource's childAssetId
property to ensure it is correct. |
notFound (404)
|
parent_asset_id
|
The value of the parentAssetId
property does not correspond to an existing asset. Check the value of the resource's parentAssetId
property to ensure it is correct. |
required (400)
|
child_asset_id
|
The request does not specify a child asset ID, which is required to create an asset relationship. |
required (400)
|
parent_asset_id
|
The request does not specify a parent asset ID, which is required to create an asset relationship. |
assetSearch
The following tables identify error messages that the API returns in response to calls related to assetSearch
resources. These methods could also return errors listed in the Common errors
section.
assetSearch.list
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
tooManyIsrcs
|
The isrcs
parameter cannot specify more than 50 ISRCs. |
invalidValue (400)
|
asset_search_options.filters.asset_type
|
The API does not support the ability to search for show or season assets. |
assets
The following tables identify error messages that the API returns in response to calls related to assets
resources. These methods could also return errors listed in the Common errors
section.
assets.get
Error type | Error detail | Description |
---|---|---|
notFound (404)
|
resource_id
|
The asset that you are trying to retrieve cannot be found. Check the value of the assetId
parameter to ensure that it is correct. |
assets.insert
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
artTrackNotSupported
|
The API does not support write operations for art track assets. |
badRequest (400)
|
invalidLabelName
|
The asset label's name is invalid. The label name must be between two and 30 characters. It may not contain angled brackets, commas, colons, ampersands, or the vertical pipe character (|). |
badRequest (400)
|
ownerHaveMaximumNumberOfLabels
|
A content owner is allowed to define up to 2500 unique asset labels. You have already reached this limit, so a new label was not created. |
badRequest (400)
|
showsAndMoviesAreDeprecated
|
Show and movie asset types are deprecated. |
badRequest (400)
|
tooManyLabelsOnOneAsset
|
The asset is already associated with 30 asset labels, which is the maximum number allowed. |
conflict (409)
|
tooManyAssetsWithSameId
|
Too many assets with the same identifier (e.g. custom ID, ISRC, etc.) already exist. |
conflict (409)
|
tooManyCopiesOfAsset
|
Too many copies of the specified asset already exist. |
invalidValue (400)
|
resource.metadataMine.actor
|
The value provided for the metadataMine.actor[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.album
|
The value provided for the metadataMine.album
property is invalid. |
invalidValue (400)
|
resource.metadataMine.artist
|
The value provided for the metadataMine.artist[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.broadcaster
|
The value provided for the metadataMine.broadcaster[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.category
|
The value provided for the metadataMine.category
property is invalid. |
invalidValue (400)
|
resource.metadataMine.content_type
|
The value provided for the metadataMine.contentType
property is invalid. |
invalidValue (400)
|
resource.metadataMine.copyright_date
|
The value provided for the metadataMine.copyrightDate
property is invalid. |
invalidValue (400)
|
resource.metadataMine.custom_id
|
The value provided for the metadataMine.customId
property is invalid. |
invalidValue (400)
|
resource.metadataMine.description
|
The value provided for the metadataMine.description
property is invalid. |
invalidValue (400)
|
resource.metadataMine.director
|
The value provided for the metadataMine.director[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.eidr
|
The value provided for the metadataMine.eidr
property is invalid. |
invalidValue (400)
|
resource.metadataMine.end_year
|
The value provided for the metadataMine.endYear
property is invalid. |
invalidValue (400)
|
resource.metadataMine.episodeNumber
|
The value provided for the metadataMine.episodeNumber
property is invalid. |
invalidValue (400)
|
resource.metadataMine.genre
|
The value provided for the metadataMine.genre[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.grid
|
The value provided for the metadataMine.grid
property is invalid. |
invalidValue (400)
|
resource.metadataMine.hfa
|
The value provided for the metadataMine.hfa
property is invalid. |
invalidValue (400)
|
resource.metadataMine.info_url
|
The value provided for the metadataMine.infoUrl
property is invalid. |
invalidValue (400)
|
resource.metadataMine.isan
|
The value provided for the metadataMine.isan
property is invalid. |
invalidValue (400)
|
resource.metadataMine.isrc
|
The value provided for the metadataMine.isrc
property is invalid. |
invalidValue (400)
|
resource.metadataMine.iswc
|
The value provided for the metadataMine.iswc
property is invalid. |
invalidValue (400)
|
resource.metadataMine.keyword
|
The value provided for the metadataMine.keyword[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.label
|
The value provided for the metadataMine.label
property is invalid. |
invalidValue (400)
|
resource.metadataMine.notes
|
The value provided for the metadataMine.notes
property is invalid. |
invalidValue (400)
|
resource.metadataMine.original_release_medium
|
The value provided for the metadataMine.originalReleaseMedium
property is invalid. |
invalidValue (400)
|
resource.metadataMine.producer
|
The value provided for the metadataMine.producer[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.rating
|
A rating
provided in the asset metadata contains an invalid value. |
invalidValue (400)
|
resource.metadataMine.release_date
|
The value provided for the metadataMine.releaseDate
property is invalid. |
invalidValue (400)
|
resource.metadataMine.seasonNumber
|
The value provided for the metadataMine.seasonNumber
property is invalid. |
invalidValue (400)
|
resource.metadataMine.show_custom_id
|
The value provided for the metadataMine.showCustomId
property is invalid. |
invalidValue (400)
|
resource.metadataMine.spoken_language
|
The value provided for the metadataMine.spokenLanguage
property is invalid. |
invalidValue (400)
|
resource.metadataMine.start_year
|
The value provided for the metadataMine.startYear
property is invalid. |
invalidValue (400)
|
resource.metadataMine.subtitled_language
|
The value provided for the metadataMine.subtitledLanguage[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.title
|
The value provided for the metadataMine.title
property is invalid. |
invalidValue (400)
|
resource.metadataMine.tms_id
|
The value provided for the metadataMine.tmsId
property is invalid. |
invalidValue (400)
|
resource.metadataMine.track_length
|
The value provided for the metadataMine.track_length
property is invalid. |
invalidValue (400)
|
resource.metadataMine.upc
|
The value provided for the metadataMine.upc
property is invalid. |
invalidValue (400)
|
resource.metadataMine.writer
|
The value provided for the metadataMine.writer[]
property is invalid. |
invalidValue (400)
|
resource.type
|
You are not permitted to create assets of the specified type. |
notFound (404)
|
resource.metadataMine.seasonNumber
|
The asset metadata that you are trying to insert is invalid because the asset cannot be linked to the specified season of the specified show. Check the values of the showCustomId
and seasonNumber
properties to ensure that they are correct. |
notFound (404)
|
resource.metadataMine.show_custom_id
|
The asset metadata that you are trying to insert is invalid because the asset cannot be linked to the specified show asset. Check the value of the showCustomId
property to ensure that it is correct. |
required (400)
|
resource.metadataMine.custom_id
|
The request does not contain the metadataMine.customId
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.description
|
The request does not contain the metadataMine.description
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.episodeNumber
|
The request does not contain the metadataMine.episodeNumber
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.keyword
|
The request does not contain the metadataMine.keyword
property, which is required for show assets. |
required (400)
|
resource.metadataMine.original_release_medium
|
The request does not contain the metadataMine.originalReleaseMedium
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.rating
|
The request does not specify a rating
, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.release_date
|
The request does not contain the metadataMine.releaseDate
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.seasonNumber
|
The request does not contain the metadataMine.seasonNumber
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.show_custom_id
|
The request does not contain the metadataMine.showCustomId
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.start_year
|
The request does not contain the metadataMine.startYear
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.title
|
The request does not contain the metadataMine.title
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.artist
|
The request does not specify an artist
, which is required for the specified asset type. |
required (400)
|
resource.type
|
The asset
resource's type
property must specify the type of asset that you are creating. |
required (400)
|
resource
|
The request does not contain the required asset
resource. |
assets.list
Error type | Error detail | Description |
---|---|---|
invalidValue (400)
|
id
|
The number of asset IDs you provided is too large. You may only list up to 50 assets per request. |
assets.update
or assets.patch
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
artTrackNotSupported
|
The API does not support write operations for art track assets. |
badRequest (400)
|
invalidLabelName
|
The asset label's name is invalid. The label name must be between two and 30 characters. It may not contain angled brackets, commas, colons, ampersands, or the vertical pipe character (|). |
badRequest (400)
|
ownerHaveMaximumNumberOfLabels
|
A content owner is allowed to define up to 2500 unique asset labels. You have already reached this limit, so a new label was not created. |
badRequest (400)
|
showsAndMoviesAreDeprecated
|
Show and movie asset types are deprecated. |
badRequest (400)
|
tooManyLabelsOnOneAsset
|
The asset is already associated with 30 asset labels, which is the maximum number allowed. |
badRequest (400)
|
unsupportedTypeSwap
|
The asset type conversion you have attempted is not supported. |
forbidden (403)
|
missingOwnership
|
The content owner associated with the API request cannot update the specified asset because that content owner did not create the asset and is also not one of the asset's owners. |
invalidValue (400)
|
parameters.assetId
|
The request failed because the asset being updated has been merged with another asset. Resubmit the request using that asset's ID, which is returned in the error message, as the value of the assetId
parameter. |
invalidValue (400)
|
resource.metadataMine.actor
|
The value provided for the metadataMine.actor[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.album
|
The value provided for the metadataMine.album
property is invalid. |
invalidValue (400)
|
resource.metadataMine.artist
|
The value provided for the metadataMine.artist[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.broadcaster
|
The value provided for the metadataMine.broadcaster[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.category
|
The value provided for the metadataMine.category
property is invalid. |
invalidValue (400)
|
resource.metadataMine.content_type
|
The value provided for the metadataMine.contentType
property is invalid. |
invalidValue (400)
|
resource.metadataMine.copyright_date
|
The value provided for the metadataMine.copyrightDate
property is invalid. |
invalidValue (400)
|
resource.metadataMine.custom_id
|
The value provided for the metadataMine.customId
property is invalid. |
invalidValue (400)
|
resource.metadataMine.description
|
The value provided for the metadataMine.description
property is invalid. |
invalidValue (400)
|
resource.metadataMine.director
|
The value provided for the metadataMine.director[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.eidr
|
The value provided for the metadataMine.eidr
property is invalid. |
invalidValue (400)
|
resource.metadataMine.end_year
|
The value provided for the metadataMine.endYear
property is invalid. |
invalidValue (400)
|
resource.metadataMine.episodeNumber
|
The value provided for the metadataMine.episodeNumber
property is invalid. |
invalidValue (400)
|
resource.metadataMine.genre
|
The value provided for the metadataMine.genre[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.grid
|
The value provided for the metadataMine.grid
property is invalid. |
invalidValue (400)
|
resource.metadataMine.hfa
|
The value provided for the metadataMine.hfa
property is invalid. |
invalidValue (400)
|
resource.metadataMine.info_url
|
The value provided for the metadataMine.infoUrl
property is invalid. |
invalidValue (400)
|
resource.metadataMine.isan
|
The value provided for the metadataMine.isan
property is invalid. |
invalidValue (400)
|
resource.metadataMine.isrc
|
The value provided for the metadataMine.isrc
property is invalid. |
invalidValue (400)
|
resource.metadataMine.iswc
|
The value provided for the metadataMine.iswc
property is invalid. |
invalidValue (400)
|
resource.metadataMine.keyword
|
The value provided for the metadataMine.keyword[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.label
|
The value provided for the metadataMine.label
property is invalid. |
invalidValue (400)
|
resource.metadataMine.notes
|
The value provided for the metadataMine.notes
property is invalid. |
invalidValue (400)
|
resource.metadataMine.original_release_medium
|
The value provided for the metadataMine.originalReleaseMedium
property is invalid. |
invalidValue (400)
|
resource.metadataMine.producer
|
The value provided for the metadataMine.producer[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.rating
|
A rating
provided in the asset metadata contains an invalid value. |
invalidValue (400)
|
resource.metadataMine.release_date
|
The value provided for the metadataMine.releaseDate
property is invalid. |
invalidValue (400)
|
resource.metadataMine.seasonNumber
|
The value provided for the metadataMine.seasonNumber
property is invalid. |
invalidValue (400)
|
resource.metadataMine.show_custom_id
|
The value provided for the metadataMine.showCustomId
property is invalid. |
invalidValue (400)
|
resource.metadataMine.spoken_language
|
The value provided for the metadataMine.spokenLanguage
property is invalid. |
invalidValue (400)
|
resource.metadataMine.start_year
|
The value provided for the metadataMine.startYear
property is invalid. |
invalidValue (400)
|
resource.metadataMine.subtitled_language
|
The value provided for the metadataMine.subtitledLanguage[]
property is invalid. |
invalidValue (400)
|
resource.metadataMine.title
|
The value provided for the metadataMine.title
property is invalid. |
invalidValue (400)
|
resource.metadataMine.tms_id
|
The value provided for the metadataMine.tmsId
property is invalid. |
invalidValue (400)
|
resource.metadataMine.track_length
|
The provided value is invalid. |
invalidValue (400)
|
resource.metadataMine.upc
|
The value provided for the metadataMine.upc
property is invalid. |
invalidValue (400)
|
resource.metadataMine.writer
|
The value provided for the metadataMine.writer[]
property is invalid. |
notFound (404)
|
resource.id
|
The asset that you are trying to update cannot be found. Check the value of the id
property to ensure that it is correct. |
notFound (404)
|
resource.metadataMine.seasonNumber
|
The asset metadata that you are trying to update is invalid because the asset cannot be linked to the specified season of the specified show. Check the values of the showCustomId
and seasonNumber
properties to ensure that they are correct. |
notFound (404)
|
resource.metadataMine.show_custom_id
|
The asset metadata that you are trying to update is invalid because the asset cannot be linked to the specified show asset. Check the value of the showCustomId
property to ensure that it is correct. |
required (400)
|
resource.metadataMine.custom_id
|
The request does not contain the metadataMine.customId
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.description
|
The request does not contain the metadataMine.description
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.episodeNumber
|
The request does not contain the metadataMine.episodeNumber
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.keyword
|
The request does not contain the metadataMine.keyword
property, which is required for show assets. |
required (400)
|
resource.metadataMine.original_release_medium
|
The request does not contain the metadataMine.originalReleaseMedium
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.rating
|
The request does not specify a rating
, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.release_date
|
The request does not contain the metadataMine.releaseDate
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.seasonNumber
|
The request does not contain the metadataMine.seasonNumber
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.show_custom_id
|
The request does not contain the metadataMine.showCustomId
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.start_year
|
The request does not contain the metadataMine.startYear
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.title
|
The request does not contain the metadataMine.title
property, which is required for the specified asset type. |
required (400)
|
resource.metadataMine.artist
|
The request does not specify an artist
, which is required for the specified asset type. |
required (400)
|
resource.metadataMine
|
The asset
resource does not contain asset metadata
, which is required. |
required (400)
|
resource.type
|
The asset
resource's type
property must specify the type of asset that you are updating. |
required (400)
|
resource
|
The request does not contain the asset
resource. |
campaigns
The following tables identify error messages that the API returns in response to calls related to campaigns
resources. These methods could also return errors listed in the Common errors
section.
campaigns.delete
Error type | Error detail | Description |
---|---|---|
notFound (404)
|
resource_id
|
The campaign that you are trying to delete cannot be found. Check the value of the id
property to ensure that it is correct. |
required (400)
|
resource_id
|
The request does not specify a campaign ID, which is required to delete a campaign. |
campaigns.get
Error type | Error detail | Description |
---|---|---|
notFound (404)
|
resource_id
|
The campaign that you are trying to retrieve cannot be found. Check the value of the id
property to ensure that it is correct. |
required (400)
|
resource_id
|
The request does not specify a campaign ID, which is required to retrieve a campaign. |
campaigns.insert
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
campaignLimitReached
|
The limit on the total number of campaigns has been reached. You need to delete some campaigns before you can insert any new ones. |
badRequest (400)
|
inappropriateCampaignTarget
|
This video may be inappropriate for some users. Please choose different content to feature. |
badRequest (400)
|
invalidCampaignSourceValue
|
At least one of the specified asset IDs or asset labels is invalid. |
badRequest (400)
|
invalidCampaignTimePeriod
|
The specified campaign time period is invalid. |
badRequest (400)
|
invalidChannelId
|
The channel ID specified as the campaign target is invalid. |
badRequest (400)
|
invalidVideoId
|
The video ID specified as the campaign target is invalid. |
badRequest (400)
|
privateVideoId
|
The video ID specified as the campaign target is private. |
badRequest (400)
|
tooManyAssetIds
|
A campaign can specify a maximum of 25 asset IDs. You can use asset labels to include more assets in a campaign. |
campaigns.update
or campaigns.patch
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
inappropriateCampaignTarget
|
This video may be inappropriate for some users. Please choose different content to feature. |
badRequest (400)
|
invalidCampaignSourceValue
|
At least one of the specified asset IDs or asset labels is invalid. |
badRequest (400)
|
invalidCampaignTimePeriod
|
The specified campaign time period is invalid. |
badRequest (400)
|
invalidChannelId
|
The channel ID specified as the campaign target is invalid. |
badRequest (400)
|
invalidVideoId
|
The video ID specified as the campaign target is invalid. |
badRequest (400)
|
privateVideoId
|
The video ID specified as the campaign target is private. |
badRequest (400)
|
tooManyAssetIds
|
A campaign can specify a maximum of 25 asset IDs. You can use asset labels to include more assets in a campaign. |
notFound (404)
|
resource.id
|
The campaign that you are trying to update cannot be found. Check the value of the id
property to ensure that it is correct. |
required (400)
|
resource.id
|
The request does not specify a campaign ID, which is required to update a campaign. |
claimHistory
The following tables identify error messages that the API returns in response to calls related to claimHistory
resources. These methods could also return errors listed in the Common errors
section.
claimHistory.get
Error type | Error detail | Description |
---|---|---|
notFound (404)
|
resource_id
|
The claim for which you are trying to retrieve history cannot be found. Check the value of the claimId
parameter to ensure that it is correct. |
required (400)
|
resource_id.value
|
The request does not specify a value for the required claimId
parameter. |
claimSearch
The following tables identify error messages that the API returns in response to calls related to claimSearch
resources. These methods could also return errors listed in the Common errors
section.
claimSearch.list
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
invalidCriteria
|
At most, one of the following filters may be specified: q
, asset_id
, video_id
|
badRequest (400)
|
invalidCriteria
|
The includeThirdPartyClaims
parameter may only be used in conjunction with the videoId
filter. |
invalidValue (400)
|
page_selection.token
|
The API request's pageToken
parameter value is invalid. Check the parameter value to ensure it is correct. |
claims
The following tables identify error messages that the API returns in response to calls related to claims
resources. These methods could also return errors listed in the Common errors
section.
claims.get
Error type | Error detail | Description |
---|---|---|
notFound (404)
|
resource_id
|
The claim that you are trying to retrieve cannot be found. Check the value of the claimId
parameter to ensure that it is correct. |
claims.insert
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
canNotCreateManualClaimOnLiveStream
|
Live streams are not eligible to be manually claimed. Issue a takedown instead. |
badRequest (400)
|
canNotCreatePartnerUploadedClaimOnCompositionOrSoundRecordingAssets
|
Composition and sound recording assets cannot be used to make partner-uploaded claims. |
badRequest (400)
|
channelEntirelyRecoupable
|
You can not claim a video in this channel against a non-recoupable asset. |
badRequest (400)
|
channelMonetizationSuspended
|
Video's channel is suspended for partner claims. |
badRequest (400)
|
channelNonRecoupable
|
You can not claim a video in this channel against a recoupable asset. |
badRequest (400)
|
channelNotActive
|
The claim cannot be processed because the video being claimed was uploaded to a channel that is no longer active. |
badRequest (400)
|
existingSoundRecordingOrMusicVideoClaim
|
A claim already exists for recorded music on this video. Direct composition claims can not be added via the API. |
badRequest (400)
|
missingOwnership
|
The claim you are trying to create is invalid because the requested content owner is not an owner of the asset associated with the claim. |
badRequest (400)
|
policyTypeNotPermitted
|
You are not permitted to create policies with the specified action. |
badRequest (400)
|
takedownNotPermitted
|
This video is exempt from takedown. For inquiry, please contact copyright@youtube.com. |
badRequest (400)
|
thirdPartyClaimNotAllowed
|
You cannot create a third-party claim on this video. |
badRequest (400)
|
videoIsPrivate
|
The video that you are trying to claim is a private video. You can only claim a video if its privacy status is public
or unlisted
. |
badRequest (400)
|
videoNotOwned
|
You cannot claim the video you are trying to claim because it was not uploaded to a YouTube channel owned by the content owner associated with the authenticated user. |
badRequest (400)
|
videoNotProcessed
|
YouTube has not finished processing the video that you are trying to claim. You cannot claim a video until YouTube has fully processed it. |
badRequest (400)
|
wrongContentType
|
The type of claim you are trying to create is not valid for the type of asset associated with that claim.For example, you cannot create a video
or audiovisual
claim using a sound_recording
or composition
asset since those assets do not contain video content. Similarly, you cannot create a video
or audio
partner-uploaded claim using a music_video
type asset.The valid content type for the composition
and sound_recording
asset types is: audio
. The valid content type for partner-uploaded claims made using the music_video
asset type is: audiovisual
, though claims of user-uploaded videos created using a music_video
asset can be audio
, video
, or audiovisual
claims. For claims associated with other asset types, valid content types are audio
, video
, audiovisual
. |
conflict (409)
|
alreadyClaimed
|
The claim you are trying to create already exists. See the message
field of the error that the API returns for a pointer to the existing claim ID. |
conflict (409)
|
counterNoticed
|
YouTube cannot create the specified claim because the video you are trying to claim has countered a takedown notice. |
conflict (409)
|
takedownClaimExists
|
YouTube cannot create the specified claim because the video has an active takedown claim. |
forbidden (403)
|
invalidContentOwner
|
The content owner that you are acting on behalf of does not have permission to claim user-uploaded videos via the API. Please contact your technical account manager for more information. |
invalidValue (400)
|
content_type
|
The value specified for the contentType
property is invalid. |
notFound (404)
|
asset_id
|
The value of the assetId
property does not correspond to an existing asset. Check the value of the assetId
request parameter to ensure that it is correct. |
notFound (404)
|
video_id
|
The video that you are trying to claim cannot be found. Check the value of the videoId
request parameter to ensure that it is correct. |
required (400)
|
asset_id
|
The request does not specify a value for the required assetId
property. |
required (400)
|
content_type
|
The request does not specify a value for the required contentType
property. |
required (400)
|
policy
|
The claim
resource's policy
property must specify either the ID of an existing policy or a custom set of rules. |
required (400)
|
video_id
|
The request does not specify a value for the required videoId
property. |
claims.list
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
invalidCriteria
|
A maximum of one of the following filter parameters may be specified: q
, asset_id
, video_id
, id
|
invalidValue (400)
|
id
|
The number of claim IDs you provided is too large. You may only list up to 50 claims per request. |
claims.update
or claims.patch
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
alreadyClaimed
|
The claim is a duplicate of another existing claim and cannot be updated. |
badRequest (400)
|
channelMonetizationSuspended
|
Video's channel is suspended for partner claims. |
badRequest (400)
|
channelNotActive
|
Video's channel is not active. |
badRequest (400)
|
claimIsClosed
|
The policy on an inactive (closed) claim may not be changed. |
badRequest (400)
|
invalidStatusTransition
|
The request specifies an invalid status transition. Supported status transitions are pending->inactive
and active->inactive
. |
badRequest (400)
|
missingOwnership
|
The claimed asset is not owned by the caller. |
badRequest (400)
|
policyCannotBeChanged
|
The policy cannot be changed because the claim is an AudioSwap claim or because it has temporary ads. |
notModified (304)
|
blockOutsideOwnershipUnchanged
|
The blockOutsideOwnership flag on this claim was not successfully modified. There are several reasons why this error might occur. A common example is because the specified modification has no effect on the claimed video. |
contentOwners
The following tables identify error messages that the API returns in response to calls related to contentOwners
resources. These methods could also return errors listed in the Common errors
section.
contentOwners.get
Error type | Error detail | Description |
---|---|---|
notFound (404)
|
Unavailable
|
The content owner that you are trying to retrieve cannot be found. Check the value of the contentOwnerId
property to ensure that it is correct. |
contentOwners.list
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
invalidCriteria
|
Exactly one of the following filter parameters must be specified: fetchMine
, id
. |
invalidValue (400)
|
id
|
The number of content owner IDs you provided is too large. You may only list up to 50 content owners per request. |
ownership
The following tables identify error messages that the API returns in response to calls related to ownership
resources. These methods could also return errors listed in the Common errors
section.
ownership.get
Error type | Error detail | Description |
---|---|---|
notFound (404)
|
asset_id
|
The asset for which you are trying to retrieve ownership data cannot be found. Check the value of the assetId
request parameter to ensure that it is correct. |
ownership.update
or ownership.patch
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
artTrackNotSupported
|
You cannot update the ownership data for an art track asset. |
badRequest (400)
|
granularOwnershipExpected
|
A request that updates the ownership data of a composition asset should specify granular ownership data ( mechanical
, performance
, synchronization
, and/or lyric
rights) rather than general
ownership rights. |
badRequest (400)
|
granularOwnershipNotAllowed
|
A request that updates the ownership data of a non-composition asset can only specify general
ownership rights. It cannot specify granular ownership data ( mechanical
, performance
, synchronization
, or lyric
rights). |
badRequest (400)
|
invalidOwnership
|
The provided ownership is invalid. The sum of the ownership within a single territory must not exceed 100%. |
badRequest (400)
|
showsAndMoviesAreDeprecated
|
Show and movie asset types are deprecated. |
invalidValue (400)
|
Unavailable
|
The ownership resource contains an invalid value. |
notFound (404)
|
asset_id
|
The asset for which you are trying to update ownership data cannot be found. Check the value of the assetId
request parameter to ensure that it is correct. |
package
The following tables identify error messages that the API returns in response to calls related to package
resources. These methods could also return errors listed in the Common errors
section.
package.insert
Error type | Error detail | Description |
---|---|---|
invalidValue (400)
|
acting_as_context.content_owner
|
The API request needs to set a value for the onBehalfOfContentOwner
parameter. |
invalidValue (400)
|
uploader_name
|
In the request body, the uploaderName
property's value is not valid for the specified content owner. |
required (400)
|
content
|
In the request body, the content
property must have a value. |
required (400)
|
uploader_name
|
In the request body, the uploaderName
property must have a value. |
policies
The following tables identify error messages that the API returns in response to calls related to policies
resources. These methods could also return errors listed in the Common errors
section.
policies.list
Error type | Error detail | Description |
---|---|---|
invalidValue (400)
|
id
|
The number of policy IDs you provided is too large. You may only list up to 50 policies per request. |
policies.get
Error type | Error detail | Description |
---|---|---|
notFound (404)
|
resource_id
|
The saved policy that you are trying to retrieve cannot be found. Check the value of the policyId
request parameter to ensure that it is correct. |
policies.insert
Error type | Error detail | Description |
---|---|---|
invalidValue (400)
|
conflictingPolicyRules
|
The policy specifies conflicting policy rules. See the message
field for a pointer to the conflicting rules. |
invalidValue (400)
|
invalidPolicyCountryCode
|
The policy contains a condition that specifies an invalid country code. The country code is identified in the message
field of the error that the API returns. |
invalidValue (400)
|
invalidPolicyIntervalBoundsNotPercent
|
The policy is invalid because it specifies an invalid percentage interval. All percentages must be between 0
and 100
inclusive. |
invalidValue (400)
|
invalidPolicyIntervalCondition
|
The policy contains a condition that specifies an invalid interval in which the lower bound is greater than the upper bound. For example, this error would occur if a condition specified a matchPercent
condition with a low
value of 90
and a high
value of 70
. |
invalidValue (400)
|
invalidPolicyIntervalsOverlap
|
The policy is invalid because it specifies conditions that have overlapping intervals. |
invalidValue (400)
|
invalidPolicyMissingAction
|
The policy contains a rule that is invalid because it does not specify an action. |
invalidValue (400)
|
invalidPolicyNegativeIntervalBounds
|
The policy is invalid because it specifies an invalid interval in which the lower bound is a negative number. The minimum supported value is 0
. |
invalidValue (400)
|
invalidPolicyTakedownAction
|
The policy contains an invalid policy rule. Creation and modification of takedown policies or claims are currently not supported. |
invalidValue (400)
|
invalidPolicyTerritoryCondition
|
The policy contains a territory condition that is invalid because it does not specify a type ( include
, exclude
) or a territory list. |
invalidValue (400)
|
invalidPolicyTimeWindowCondition
|
The policy contains a condition that specifies an invalid time window in which the start time is after or the same as the end time. |
policies.update
or policies.patch
Error type | Error detail | Description |
---|---|---|
invalidValue (400)
|
conflictingPolicyRules
|
The policy specifies conflicting policy rules. See the message
field for a pointer to the conflicting rules. |
invalidValue (400)
|
invalidPolicyCountryCode
|
The policy contains a condition that specifies an invalid country code. The country code is identified in the message
field of the error that the API returns. |
invalidValue (400)
|
invalidPolicyIntervalBoundsNotPercent
|
The policy is invalid because it specifies an invalid percentage interval. All percentages must be between 0
and 100
inclusive. |
invalidValue (400)
|
invalidPolicyIntervalCondition
|
The policy contains a condition that specifies an invalid interval in which the lower bound is greater than the upper bound. For example, this error would occur if a condition specified a matchPercent
condition with a low
value of 90
and a high
value of 70
. |
invalidValue (400)
|
invalidPolicyIntervalsOverlap
|
The policy is invalid because it specifies conditions that have overlapping intervals. |
invalidValue (400)
|
invalidPolicyMissingAction
|
The policy contains a rule that is invalid because it does not specify an action. |
invalidValue (400)
|
invalidPolicyNegativeIntervalBounds
|
The policy is invalid because it specifies an invalid interval in which the lower bound is a negative number. The minimum supported value is 0
. |
invalidValue (400)
|
invalidPolicyTakedownAction
|
The policy contains an invalid policy rule. Creation and modification of takedown policies or claims are currently not supported. |
invalidValue (400)
|
invalidPolicyTerritoryCondition
|
The policy contains a territory condition that is invalid because it does not specify a type ( include
, exclude
) or a territory list. |
invalidValue (400)
|
invalidPolicyTimeWindowCondition
|
The policy contains a condition that specifies an invalid time window in which the start time is after or the same as the end time. |
notFound (404)
|
resource.id
|
The saved policy that you are trying to update cannot be found. Check the value of the policyId
request parameter to ensure that it is correct. |
references
The following tables identify error messages that the API returns in response to calls related to references
resources. These methods could also return errors listed in the Common errors
section.
references.get
Error type | Error detail | Description |
---|---|---|
notFound (404)
|
Unavailable
|
The reference that you are trying to retrieve cannot be found. Check the value of the referenceId
request parameter to ensure that it is correct. |
references.insert
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
bothFileAndClaimIdAreMissing
|
The request is invalid because it does not provide a media file or specify a value for the claimId
parameter. Exactly one of them must be provided. |
badRequest (400)
|
bothFileAndClaimIdArePresent
|
The request is invalid because it provides a media file and also specifies a claimId
parameter value. Exactly one of them must be provided. |
badRequest (400)
|
claimNotActive
|
You attempted to create a reference using the content of a previously claimed video, but the claim that you identified is not an active claim. A reference may only be created from a video associated with an active claim. |
badRequest (400)
|
claimNotOwned
|
You attempted to create a reference using the content of a previously claimed video, but the claim is not owned by the content owner associated with the authenticated user. |
badRequest (400)
|
claimTypeDiffers
|
You attempted to create a reference using the content of a previously claimed video, but the claim type ( audio
, video
, or audiovisual
) is different than the contentType
of the reference that you are trying to create. The claim type and reference type must be the same. |
badRequest (400)
|
claimTypeIsMelody
|
Claim is a melody claim. |
badRequest (400)
|
duplicateUpload
|
This reference is a duplicate of another reference you previously uploaded. The ID of the duplicate reference is {0}. |
badRequest (400)
|
failed
|
The request failed for an unknown reason: {0}. |
badRequest (400)
|
invalidBroadcastStatus
|
The live broadcast video is in an invalid state for creating a reference. The claimed live broadcast video that you are trying to use is neither created nor ready. |
badRequest (400)
|
noMatchPolicy
|
The asset does not have a match policy. You must define a match policy for an asset before you upload a reference for that asset. The match policy explains how you want YouTube to handle user- or partner-uploaded videos that match your reference. |
badRequest (400)
|
noOwnerPolicy
|
The asset does not have a match policy. |
badRequest (400)
|
referenceAlreadyCreatedFromAnotherClaim
|
A reference for the same content has already been created from a different claim on the same Youtube video. The ID of this reference is: {0}. |
badRequest (400)
|
referenceAlreadyExists
|
You attempted to create a reference using the content of a previously claimed video, but such a reference already exists. The ID of the duplicate reference is {0}. |
badRequest (400)
|
videoNotAvailable
|
The claim cannot be created because the video is not available. The claimed video that you are trying to use was deleted or rejected or its processing failed. |
badRequest (400)
|
videoNotFound
|
YouTube cannot find the claimed video that you are trying to use to create the reference. |
badRequest (400)
|
videoNotOwned
|
The claimed video that you are trying to use to create the reference was not uploaded to a channel owned by the content owner associated with the authenticated user. |
badRequest (400)
|
videoNotProcessed
|
YouTube has not finished processing the claimed video that you are trying to use to create the reference. |
badRequest (400)
|
videoTooShort
|
The video that you are trying to use to create the reference is too short. |
forbidden (403)
|
fingerprintingNotAllowed
|
You are not enabled to use YouTube's Content ID program to create fingerprints for this content. |
internalError
|
internalError
|
An internal error has occurred. |
invalidValue (400)
|
content_type
|
The value specified for the contentType
property is invalid. |
invalidValue (400)
|
resource.excluded_intervals
|
The list of intervals you provided for exclusion is invalid. |
notFound (404)
|
asset_id
|
The asset that you specified cannot be found. Check the value of the assetId
property to ensure that it is correct. |
notFound (404)
|
claim_id
|
The claim that you specified cannot be found. Check the value of the claimId
property to ensure that it is correct. |
requestTooLarge
|
fileTooLarge
|
The file you are using to upload as a reference is too large. The maximum supported size for uploads is 20GB (21474836480 bytes). |
required (400)
|
asset_id
|
The request must specify a value for the assetId
field when inserting reference through file. |
required (400)
|
content_type
|
The request must specify a value for the contentType
field. |
references.list
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
invalidCriteria
|
Exactly one of the following filter parameters must be specified: assetId
, id
|
invalidValue (400)
|
id
|
The number of reference IDs you provided is too large. You may only list up to 50 references per request. |
references.update
or references.patch
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
canNotBeActivated
|
The reference can not be activated. This can be due to the reference status or ownership conditions. |
badRequest (400)
|
invalidReferenceState
|
The reference is in an invalid state for the operation being attempted. |
badRequest (400)
|
multipleOwnersPresent
|
You can only deactivate a reference if the asset associated with the reference is wholly owned by a single owner. If an API request returns this error, you should either remove your ownership from that asset or update your match policy for the asset to track
. |
badRequest (400)
|
permanentFailure
|
The reference has already been deactivated. You cannot update the status of a previously deactivated reference. |
badRequest (400)
|
referenceIsPending
|
The reference is still pending. You cannot update the status of a pending asset to active
. |
badRequest (400)
|
referenceNotOwned
|
You cannot update a reference that was created by a different content owner. |
invalidValue (400)
|
resource.excluded_intervals
|
Please check the intervals you provided for exclusion. Note that the API does not support the ability to specify exclusion intervals when deactivating a reference. |
validator
The following tables identify error messages that the API returns in response to calls related to validator
resources. These methods could also return errors listed in the Common errors
section.
validator.validate
Error type | Error detail | Description |
---|---|---|
invalidValue (400)
|
acting_as_context.content_owner
|
The API request needs to set a value for the onBehalfOfContentOwner
parameter. |
invalidValue (400)
|
uploader_name
|
In the request body, the uploaderName
property's value is not valid for the specified content owner. |
required (400)
|
content
|
In the request body, the content
property must have a value. |
required (400)
|
uploader_name
|
In the request body, the uploaderName
property must have a value. |
videoAdvertisingOptions
The following tables identify error messages that the API returns in response to calls related to videoAdvertisingOptions
resources. These methods could also return errors listed in the Common errors
section.
videoAdvertisingOptions.get
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
videoNotClaimed
|
You have not claimed the video for which you you are trying to retrieve advertising option and, therefore, that information is not available. |
badRequest (400)
|
videoNotOwned
|
The video that you are trying to retrieve advertising options for was not uploaded to a channel owned by the content owner associated with the authenticated user. |
notFound (404)
|
resource_id.value
|
The video for which you are trying to retrieve advertising settings cannot be found. Check the value of the videoId
request parameter to ensure that it is correct. |
required (400)
|
resource_id.value
|
The request does not specify a value for the required videoId
property. |
videoAdvertisingOptions.getEnabledAds
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
videoNotClaimed
|
You have not claimed the video for which you you are trying to retrieve advertising information and, therefore, that information is not available. |
notFound (404)
|
resource_id.value
|
The video for which you are trying to retrieve allowed advertising options cannot be found. Check the value of the videoId
request parameter to ensure that it is correct. |
required (400)
|
resource_id.value
|
The request does not specify a value for the required videoId
property. |
videoAdvertisingOptions.update
or videoAdvertisingOptions.patch
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
videoNotOwned
|
The video that you are trying to update advertising options for was not uploaded to a channel owned by the content owner associated with the authenticated user. |
notFound (404)
|
resource.id.value
|
The video for which you are trying to update advertising options cannot be found. Check the value of the videoId
request parameter to ensure that it is correct. |
required (400)
|
resource.id.value
|
The request does not specify a value for the required videoId
property. |
whitelists
The following tables identify error messages that the API returns in response to calls related to whitelists
resources. These methods could also return errors listed in the Common errors
section.
whitelists.delete
Error type | Error detail | Description |
---|---|---|
invalidValue (400)
|
acting_as_context.content_owner
|
A content owner should be set in order to remove a whitelisted channel. |
required (400)
|
resource_id.value
|
A YouTube channel ID is required to remove a whitelisted channel. |
whitelists.get
Error type | Error detail | Description |
---|---|---|
invalidValue (400)
|
acting_as_context.content_owner
|
A content owner must be set to retrieve a whitelisted channel. |
notFound (404)
|
resource_id.value
|
The specified whitelisted channel cannot be found for your content owner. Check the value of the id
property to ensure that it is correct. |
required (400)
|
resource_id.value
|
A YouTube channel ID is required to retrieve a whitelisted channel. |
whitelists.insert
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
channelNotFound
|
The channel you are trying to whitelist does not exist. |
badRequest (400)
|
linkedChannel
|
The channel you are trying to whitelist is linked to your content owner. You cannot whitelist a linked channel. |
invalidValue (400)
|
acting_as_context.content_owner
|
A content owner must be set to whitelist a channel. |
invalidValue (400)
|
resource
|
A YouTube channel ID or user name is required to whitelist a channel. |
required (400)
|
resource
|
The request did not specify a YouTube channel ID or user name, which is required to whitelist a channel. |
whitelists.list
Error type | Error detail | Description |
---|---|---|
badRequest (400)
|
tooManyIds
|
Please provide no more than 50 channel IDs in one request. |
invalidValue (400)
|
acting_as_context.content_owner
|
A content owner must be set to retrieve whitelisted channels. |