General error messages
Status | Name | Message | Cause |
---|---|---|---|
400 | BAD_REQUEST |
ILLEGAL_PATH: A request for more than 10 videos is not supported | The basic GET /videos/video_ids request cannot request more than 10 videos |
400 | INVALID_SORT |
Attempted to sort by invalid property: '[property name]' | The sort param pointed to an invalid or non-existent field |
400 | INVALID_SEARCH |
Search string was invalid | The search string syntax was invalid, or you failed to URIEncode the search string |
400 | ILLEGAL_QUERY |
There was a problem with the query string | The search string syntax was invalid - example: 1) doing a tags search that ends with a comma or has an unclosed quote |
400 | BAD_VALUE |
Unrecognized field in the submitted data | Spelling error or other use of non-existent field |
400 | AD_CONFIG_NOT_FOUND |
Ad config not found | Ad configuration specified in an SSAI request was not found |
400 | AD_CONFIG_INACTIVE |
Ad config is inactive | Ad configuration specified in an SSAI request is inactive |
400 | REFERENCES_EXIST |
This video is referenced by at least one playlist. | You are attempting to delete a video that is included in at least one playlist. |
400 | SHARED_VIDEO |
Delete of shared video failed. | Deletion of shared videos is not yet supported. |
401 | UNAUTHORIZED |
Permission denied. | Missing or invalid OAuth access token. If you did supply an access token, it may not have for the appropriate scope for this request |
403 | NOT_AVAILABLE |
Resource is not available. | The resource you are requesting is temporarily unavailable - this may be a temporary condition while some kind of processing of the video is in progress, but if the message persists, contact Support. |
404 | RESOURCE_NOT_FOUND |
Resource does not exist. | You requested a resource that does not exist - check spelling of path items. |
405 | METHOD_NOT_ALLOWED |
The HTTP method used for the request is not allowed for this resource | The most common cause is sending a PUT, POST, PATCH, or DELETE to a read-only resource. |
406 | NOT_ACCEPTABLE |
The HTTP Accept header has a value not allowed. | The Accept header must have the value application/json ; other values such as application/x-www-form-urlencoded will cause the request to be rejected with this error. |
409 | LIVE_VIDEOS_NOT_SHAREABLE |
This video cannot be shared because it is live. | Live streaming videos and clips created from them cannot be shared. |
409 | REFERENCE_ID_IN_USE |
Reference id is already in use. | You attempted to create a video with a reference id that is already in use, or add a reference id to a video which is already used by another video. |
409 | CONCURRENT_UPDATE |
Update failed because of another update at the same time. Please try again. | Either a separate API request, a Studio user, or some system process is currently updating the video. This can also occur if you are making API update requests on the same video asynchronously, in rapid succession. |
409 | CONFLICT |
Reference id is already in use. | To insure uniqueness of reference ids, operations involving reference ids will lock the id for up to 3 minutes. That means that if you make a request that creates or changes a reference id and then make any other request that uses that reference id immediately, the operation will fail with a 409 error. This would include: 1) deleting a video and then trying to assign its reference id to another video; 2) attempting to create a new video that fails with a 503 (service unavailable) error and trying the same request again.
Please wait at least 3 minutes after getting this error before retrying the operation. Note also that if you attempt the create a video with a reference id, and the attempt fails (for reasons unrelated to the reference id), that reference id will be locked for 30 seconds, and repeated attempts to create the video will fail until you wait long enough for the reference id to be unlocked. |
409 | CONFLICT |
Both accounts must be enabled for media sharing. | When a master account attempts to add an affiliate account to a channel for media sharing, both accounts must be enabled for media sharing. |
409 | UNSUPPORTED_MEDIA_TYPE |
The request is most likely missing the header: Content-Type: application/json . |
|
415 | SHARING_DISABLED |
Master account is not enabled for media sharing. | This error will be returned if you attempt to share a video from an account that does not have media sharing enabled. |
422 | ILLEGAL_FIELD |
Unrecognized field in the submitted data | Spelling error or other use of non-existent field |
422 | VALIDATION_ERROR |
(the JSON data was not valid - error messages vary depending on the problem) | Examples of messages:
|
429 | TOO_MANY_REQUESTS |
Too many requests | You are submitting too many simultaneous requests or too many requests per second |
500 | UNKNOWN |
an unknown internal error occurred | Issue in Brightcove system - try again later. |
503 | SERVICE_UNAVAILABLE |
The API is temporarily unavailable | Backend issue - try again later. |
504 | TIMEOUT |
something took too long | Server likely too busy - try again later. |
Media Sharing Errors
Media sharing errors are not returned as a separate error response to the API request, but rather in an error_message
field in the normal response:
[
{
"video_id" : "394872349182374",
"affiliate_id" : "234987239487",
"affiliate_video_id" : "30308254055202",
"status" : "COMPLETE",
"shared_at" : "2017-12-11T17:57:45.530Z",
"updated_at" : "2017-12-11T18:03:32.789Z",
"error_message" : "[{"error_code":"MISSING_CUSTOM_FIELDS","error_message":"Affiliate account is missing custom fields: [whisky]"}]"
}
]
The error_message
json will be an array of error objects, object will have error_code
and error_message
.
error_code
The error code will usually be sharing-specific but it could be any of the valid error codes that can be returned by a PATCH (update) operation on a video as well. The sharing specific error codes are shown in the table below.
error_code |
error_message | Cause |
---|---|---|
MISSING_CUSTOM_FIELDS |
Affiliate account is missing custom fields: [field1, field2] | The master has set enforce_custom_fields to true , but the video being shared references fields that do not exist in the affiliate account. |
CONFLICT |
Affiliate account is not configured for geo restriction. | The master has enforce_geo set to true and their account is configured for geo-filtering, but the affiliate account is not configured for geo-filtering. |
SHARING_DISABLED |
Affiliate account is not enabled for media sharing. | The master has attempted to share a video with an affiliate that is not enabled for media sharing. |
NOT_FOUND |
Resource does not exist. | Something was missing. Usually this means the master video is gone. This can happen if a share request is immediately followed by a delete of the master video. This might also mean the master account does not have a channel yet or if the affiliate account does not exist or is not a valid member of the channel. This might happen if something went wrong in migration to CMS API media sharing. |
UNKNOWN |
Sharing failed with an unknown error, error_id INSERT-UNIQUE-ERROR-ID | Something unexpected happened. The error_message will include an error id that can be used by devops to identify the underlying cause. Retrying the share attempt will work in many cases. |
VALIDATION_ERROR |
{field}: ILLEGAL_VALUE | If {field} is "economics" then the problem is that the master video is "AD SUPPORTED" but the affiliate account does not have ads enabled. Also occurs if you set the Advertising to Ad supported on the video metadata (of a non-shared video) when the account is disabled for ads. If {field} is something else, then investigation is required. |
REFERENCE_ID_IN_USE |
Reference id whatever-you-used is already in use. | The reference id was valid in the master account but is already in use by the affiliate account. |