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 [email protected]. |
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) |
partnerOwnershipExpected |
You cannot identify a publisher as the owner of a non-composition asset. |
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. |
publishers
The following tables identify error messages that the API returns in response to calls related to publishers
resources. These methods could also return errors listed in the Common errors section.
publishers.get
Error type | Error detail | Description |
---|---|---|
notFound (404) |
resource_id |
The publisher that you are trying to retrieve cannot be found. Check the value of the publisherId request parameter to ensure that it is correct. |
publishers.insert
Error type | Error detail | Description |
---|---|---|
badRequest (400) |
publisherAlreadyExists |
The publisher that you are trying to create already exists. |
publishers.list
Error type | Error detail | Description |
---|---|---|
badRequest (400) |
invalidCriteria |
Exactly one of the following filter parameters must be specified: cae_number , ipi_number , name_prefix , id |
invalidValue (400) |
id |
The number of publisher IDs you provided is too large. You may only list up to 50 publishers per request. |
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. |