Description

Brightcove is one of the original VOD (video-on-demand) platform providers. They operate at enterprise scale and partner with broadcasters and other big brands to deliver on-demand and live video. It is a reliable and powerful video hosting platform that provides the following features:

  • Live streaming of events and a catalog of videos to present to users
  • Creating your own TV channel with a player optimized for HTML5
  • Deliver detailed, high-level data and analytics to drive your video marketing efforts
  • Brand the video content you create on OTT apps, websites, social media, and any other channel you need with an API tool for even more customization
  • Integrate with other tools to monetize your content
  • Digital rights management (DRM) and other similar controls
  • Cloud-based transcoding to get your content to the right devices without extra processes at your end

Authentication

The Auth Node can be used to authenticate with most of the Brightcove nodes. It generates a Bearer token which can be used in the API requests.

The OAuth and Playback Node work differently. OAuth can also be used to retrieve a Bearer token. Playback requires a policy key generated with the Policy Node. An example using both special cases is provided in Brightcove Playback Flow Example.

Some Nodes might require additional permissions. Those can be added to the clients you want to use. More information is available at the OAuth2 Documentation.

Supported Operations

Brightcove Analytics API Reference

Get Alltime Video Views

'Returns the total alltime video views for a video. This is a low-latency endpoint appropriate for use by client-side apps such as the Brightcove Player.'

Get Analytics Report

Get an analytics report on one or more dimensions. Note that the fields returned in the response will vary according to the dimension(s) requested and the fields specified in the fields parameter. See [the API Overview](/analytics/getting-started/analytics-api-overview-dimensions-fields-and-parameters.html) and the dimension guides for details.

Get Available Date Range

Get the date range for which reconciled data is available for any Analytics API report. All parameters are allowed, but only account, dimensions, and where affect the result - all others are ignored. Note that date range for this request must fall within the available date range for the dimensions requested.

Get Account Engagement

Get a summary report of engagement for the account. Note: Engagement reports are only available for periods within the past 32 days. Requests outside that range will return an error The only parameters supported for Engagement reports are from and to Engagement reports are available for single accounts only - reports on multiple accounts will not work

Get Player Engagement

Get a summary report of engagement for a player. Note: Engagement reports are only available for periods within the past 32 days. Requests outside that range will return an error The only parameters supported for Engagement reports are from and to Engagement reports are available for single accounts only - reports on multiple accounts will not work

Get Video Engagement

Get a summary report of engagement for a video. Note: Engagement reports are only available for periods within the past 32 days. Requests outside that range will return an error The only parameters supported for Engagement reports are from and to Engagement reports are available for single accounts only - reports on multiple accounts will not work

Get Live Analytics event

Provides a summary of analytics data collected for a live stream.

Get Live Analytics time-series

A time-series is defined as a an list of timestamp-value pairs representing samples of a variable (metric). The time-series API intends to allow the user to return a time-series for the set of metrics requested in the query.

Audience API Reference

Get Leads

Get leads for an account

Get View Events

Get view events for an account - note that only view events that have been processed will appear in the response

Brightcove CMS API Reference

List Channels

Gets a list of channels (currently there is only one default channel) - this is a Master account operation

Get Channel Details

Gets settings for a sharing channel (currently there is only one default channel) - this is a Master account operation

Update Channel

Updates settings for a sharing channel (currently there is only one default channel) - this is a Master account operation

List Channel Affiliates

Gets a list of affiliates for a channel - this is a Master account operation

Add Affiliate

Adds an affiliate to a channel - this is a Master account operation

Remove Affiliate

Removes an affiliate from a channel - this is a Master account operation

Get Video with Clear Sources

Get video data with unencrypted sources. **Notes** - Once the unprotected URL is made available, Brightcove and the client have no control over who has access to the content or how it is used. - There will be egress bandwidth charges made to the customer when the sources are accessed.

List Contracts

Gets a list of available sharing contracts - this is an Affiliate account operation

Get Contract

Gets a list of available sharing contracts - this is an Affiliate account operation

Approve Contract

Approve a contract - this is an Affiliate account operation

Get Playlist Count

Gets a count of playlists in the account for the account

Get Video Count in Playlist

Gets a count of the videos in a playlist for the account

Get Video Count

Gets count of videos for the account or a search

Get Folders

Gets list of folders for the account

Create Folder

Create a new folder for the account - **note** that there is a limit of 1000 folders per account

Get Folder Information

Gets information about a folder

Update Folder Name

Update the folder name

Delete Folder

Delete a folder

Get Videos in Folder

Gets list of video objects in a folder

Add Video to Folder

Add a video to a folder

Remove Video from Folder

Remove a video from a folder

Get Labels

Gets list of labels for the account

Create a Label

Create a new label for the account

Update a Label

Update a label for the account

Delete Label

Delete a label

Get Playlists

Gets a page of playlist objects for the account

Create Playlist

Creates a new playlist. **A maximum of 1000 videos can be added to a playlist** (both Manual and Smart). There is no limit to the number of playlists that can be created. The videos that are initially loaded into a playlist in the player is determined by the type of playlist.

Get Playlists by ID

Gets one or more playlist objects for the account

Update Playlist

Updates a playlist for the account

Delete Playlist

Deletes a playlist

Get Videos in Playlist

Gets the video objects for videos in a playlist for the account

Get Subscriptions List

Get a list of all notification subscriptions for the account

Create Subscription

Establishes up to 10 endpoints that video changes should be sent to. Any change in video metadata will trigger a video change event and a notification - changes to assets used by the video will not trigger change events.

Get Subscription

Get a notification subscription for the account

Delete Subscription

Delete a notification subscription for the account

Get Video Fields

Gets a list of custom fields for the account (note that this operation may later return standard fields as well - current it returns an empty array for `standard_fields`)

Get Custom Fields

Gets a list of custom fields for the account

Create a Custom Field

Create a new custom field for the account

Get a Custom Field

Gets a list of custom fields for the account

Update a Custom Field

Update a new custom field for the account

Delete a Custom Field

Delete a new custom field for the account

Get Videos

Gets a page of video objects

Create Video

Create a new video object in the account. Note: this does not ingest a video file - use the Dynamic Ingest API for ingestion

Get Videos by ID/Reference ID

Gets a video object - you can include **up to 10** video ids separated by commas.

Delete Video

'Deletes one or more videos - note that for this operation you can specify a comma-delimited list of video ids to delete. A maximum of 10 videos can be deleted with one request.'

Update Video

Update video metadata - note that this API does not ingest any media files - use the Dynamic Ingest API for ingestion. Also note that replacing WebVTT text tracks is a two-step operation - see Add WebVTT Captions for details.

Get Assets

Gets assets for a given video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Get Caption List

Gets the caption file for a given video (DFXP captions for the Smart Player). Note: 1) the caption endpoint is **ONLY for working with DFXP captions used in the legacy Smart Player** - WebVTT captions (text_tracks) for the new Brightcove Player are managed using the Update Video operation; 2) you can use /videos/ref:reference_id instead of /videos/video_id

Add Caption

Adds a caption file for a remote asset (DFXP captions for the Smart Player). Note: 1) the caption endpoint is **ONLY for working with DFXP captions used in the legacy Smart Player** - WebVTT captions (text_tracks) for the new Brightcove Player are managed using the Update Video operation; 2) you can use /videos/ref:reference_id instead of /videos/video_id

Get Caption

Gets a caption file for a given video (DFXP captions for the Smart Player). Note: 1) the caption endpoint is ONLY for working with DFXP captions used in the legacy Smart Player - WebVTT captions (text_tracks) for the new Brightcove Player are managed using the Update Video operation; 2) you can use /videos/ref:reference_id instead of /videos/video_id

Update Caption

Updates the location of a remote caption file for a remote asset (DFXP captions for the Smart Player). Note: 1) the caption endpoint is ONLY for working with DFXP captions used in the legacy Smart Player - WebVTT captions (text_tracks) for the new Brightcove Player are managed using the Update Video operation; 2) you can use /videos/ref:reference_id instead of /videos/video_id

Delete Caption

Deletes a caption file for a remote asset (DFXP captions for the Smart Player). Note: 1) the caption endpoint is ONLY for working with DFXP captions used in the legacy Smart Player - WebVTT captions (text_tracks) for the new Brightcove Player are managed using the Update Video operation; 2) you can use /videos/ref:reference_id instead of /videos/video_id

Get DASH Manifest List

Gets the dash_manifests for a given video. Notes: 1. you can have multiple dash manifests with profiles; you can have only one dash manifest without a profile, but one manifest without a profile can be combined with multiple manifests with profiles; 2. all manifests intended to be used with the CMS API should include a profile - only DASH manifests with profiles will be returned by the CMS API - only a single DASH manifest without a profile will be returned by the Media API 3. you can use /videos/ref:reference_id instead of /videos/video_id

Add DASH Manifest

Adds a location for a remote DASH manifest Notes: 1. you can have multiple dash manifests with profiles; you can have only one dash manifest without a profile, but one manifest without a profile can be combined with multiple manifests with profiles; 2. all manifests intended to be used with the CMS API should include a profile - only DASH manifests with profiles will be returned by the CMS API - only a single DASH manifest without a profile will be returned by the Media API 3. you can use /videos/ref:reference_id instead of /videos/video_id

Get DASH Manifest

Gets a dash_manifest for a given video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Update DASH Manifest

Updates the location of a remote dash_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Delete DASH Manifest

Deletes an dash_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Get Dynamic Renditions (renditions for Dynamic Delivery videos)

Gets a list of dynamic renditions for a Dynamic Delivery video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Get HDS Manifest List

Gets the hds_manifest file for a given video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Add HDS Manifest

Adds the location of an hds_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Get HDS Manifest

Gets the hds_manifest file for a given video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Update HDS Manifest

Updates the location of a remote hds_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Delete HDS Manifest

Deletes an hds_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Get HLS Manifest List

Gets the `hls_manifest` for a given video. Notes: 1) you can use `/videos/ref:reference_id` instead of `/videos/video_id` 2) this method only returns a remote asset HLS manifest, not manifests for ingested videos

Add HLS Manifest

Adds the location of an hls_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Get HLS Manifest

Gets an hls_manifest for a given video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Update HLS Manifest

Updates the location of a remote hls_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Delete HLS Manifest

Deletes an hls_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Get ISM Manifest List

Gets the ism_manifest for a given video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Add ISM Manifest

Adds the location of an ism_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Get ISM Manifest

Gets an ism_manifest for a given video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Update ISM Manifest

Updates the location of a remote ism_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Delete ISM Manifest

Deletes an ism_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Get ISMC Manifest List

Gets the ismc_manifest files for a given video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Add ISMC Manifest

Adds the location of an ismc_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Get ISMC Manifest

Gets the ismc_manifest file for a given video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Update ISMC Manifest

Updates the location of a remote ismc_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Delete ISMC Manifest

Deletes an ismc_manifest file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Get Poster List

Gets the poster file for a given video. Note that you can only add one poster for a video. Note: you can use /videos/ref:reference_id instead of /videos/video_id. **This request works for accounts on the legacy ingest system only - not supported for Dynamic Delivery**

Add Poster

Adds a poster file for a remote asset. Ingested assets must be added via the Dynamic Ingest API. Note: you can use /videos/ref:reference_id instead of /videos/video_id. **This request works for accounts on the legacy ingest system only - not supported for Dynamic Delivery**

Get Poster

Gets a poster file for a given video. Note that you can only add one poster for a video. Note: you can use /videos/ref:reference_id instead of /videos/video_id. **This request works for accounts on the legacy ingest system only - not supported for Dynamic Delivery**

Update Poster

Updates the location of a remote poster file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`. **This request works for accounts on the legacy ingest system only - not supported for Dynamic Delivery**

Delete Poster

Deletes a poster file for a remote asset. Note that you can only add one poster for a video. Note: you can use /videos/ref:reference_id instead of /videos/video_id. **This request works for accounts on the legacy ingest system only - not supported for Dynamic Delivery**

Get Rendition List (legacy ingest system only)

Gets a list of renditions for a given video. Notes: 1) this endpoint is for renditions created using the legacy ingest profiles - for Dynamic Deliver renditions, use the `/accounts/{account_id}/videos/{video_id}/assets/dynamic_renditions` endpoint; 2) you can use /videos/ref:reference_id instead of /videos/video_id

Add Rendition

Add a remote rendition to the given video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Get Rendition

Gets a specified rendition for a video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Update Rendition

Update the location for a remote rendition. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

Delete Rendition

Deletes a remote rendition for the given video. Note: this operation is **only for remote renditions for remote asset videos** do *not* use it for renditions created by Video Cloud for ingested videos!

Get Thumbnail List

Gets the thumbnail for a given video. Note that you can only add one thumbnail for a video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`. **This request works for accounts on the legacy ingest system only - not supported for Dynamic Delivery**

Add Thumbnail

Adds a thumbnail file for a remote asset. Ingested assets must be added via the Dynamic Ingest API. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`. **This request works for accounts on the legacy ingest system only - not supported for Dynamic Delivery**

Get Thumbnail

Gets a thumbnail file for a given video. Note that you can only add one thumbnail for a video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`. **This request works for accounts on the legacy ingest system only - not supported for Dynamic Delivery**

Update Thumbnail

Updates the location of a remote thumbnail file for a remote asset. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`. **This request works for accounts on the legacy ingest system only - not supported for Dynamic Delivery**

Delete Thumbnail

Deletes a thumbnail file for a remote asset. Note that you can only add one thumbnail for a video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`. **This request works for accounts on the legacy ingest system only - not supported for Dynamic Delivery**

Get Video Audio Tracks

Gets the audio tracks for a video Dynamic Delivery only

Get Video Audio Track

Gets one audio track for a video by its ID Dynamic Delivery only

Update Video Audio Track

Updates audio track metadata for a video Dynamic Delivery only

Delete Video Audio Track

Deletes one audio track for a video by its ID Dynamic Delivery only

Get Video Clear Sources

Get unencrypted sources for a video. **Notes** - Once the unprotected URL is made available, Brightcove and the client have no control over who has access to the content or how it is used. - There will be egress bandwidth charges made to the customer when the sources are accessed. - This endpoint requires the special permission `video-cloud/video/clear-sources` which is not available in the Studio UI. To generate credentials to get clear sources, this permission must be enabled for the account, and you must use the [OAuth API](/oauth/getting-started/overview-oauth-api-v4.html)

Get Digital Master Info

Gets the stored digital master for a video, if any

Delete Digital Master

Deletes the archived digital master for a video. Be sure to read Digital Master Delete API before using this operation to understand the implications.

Get Video Images

Gets the images for a video

Get Status of Ingest Jobs

Get the status of all ingest jobs associated with a video (including the original ingestion, replacing and retranscoding the video). NOTE: this operation only works for videos that were ingested using **Dynamic Delivery** profiles. Possible states of jobs are: * `processing` processing is underway, but no playable renditions have been created yet * `publishing` at least one playable rendition has been created and is being published * `published` at least one rendition is available for playback * `finished` processing is complete * `failed` processing failed - if you cannot figure what went wrong, contact Support

Get Status of Ingest Job

Get the status of an ingest job associated with a video (including the original ingestion, replacing and retranscoding the video). NOTE: this operation only works for videos that were ingested using **Dynamic Delivery** profiles. Possible states of jobs are: * `processing` processing is underway, but no playable renditions have been created yet * `publishing` at least one playable rendition has been created and is being published * `published` at least one rendition is available for playback * `finished` processing is complete * `failed` processing failed - if you cannot figure what went wrong, contact Support

Get Playlists for Video

Gets an array of Manual (EXPLICIT) playlists that contain a video object for the account

Remove Video from all Playlists

Removes the video from all EXPLICIT playlists for the account

List Shares

Lists the existing shares for an account - this is a Master account operation - do this before sharing to insure that you are not re-sharing to an affiliate, which would overwrite any affiliate metadata changes

Share Video

Shares a video to one or more affiliates - this is an Master account operation - if the video has already been shared to an affiliate, this operation will re-share it and overwrite any affiliate metadata changes

Get Share

Lists the existing shares for an account - this is a Master account operation - do this before sharing to insure that you are not re-sharing to an affiliate, which would overwrite any affiliate metadata changes

Unshare Video

Un-shares a video with a specific affiliate - this is an Master account operation - do this before sharing to insure that you are not re-sharing to an affiliate, which would overwrite any affiliate metadata changes

Get Video Sources

Gets an array of sources (renditions) for a video

Get All Video Variants

Gets the language variants for the video metadata

Create a Video Variant

Creates a language variant for a video metadata

Get a Video Variant

Gets the variant for the video metadata for the specified language

Update a Video Variant

Updates a language variant for a video metadata

Delete a Video Variant

Delete a language variant for a video metadata

Cross-Device Resume (XDR) API Reference

Get viewer playheads

Get all playhead positions for a specific account and viewer

Get viewer video playhead(s)

Get the playhead(s) for all specified videos for a viewer

Data Collection API Reference

Send Event

Send event information to the data collector for Brightcove Analytics

Brightcove Delivery Rules API

Fetch the Delivery Rules for the account

List the Conditions and Actions defined for an account that make up the Delivery Rules configuration.

Fetch the Actions for the account

List the Actions defined for an account

Create an Action

Create an Action

Fetch a specific Action

Fetch a specific Action based on its ID

Update an Action

Update an Action. The Action ID in the body must match the one in the URL.

Delete an Action

Delete an Action

Fetch the Conditions for the account

List the Conditions defined for an account

Update the Conditions

Update the Conditions

Delivery System API Reference

List All Repositories in Account

This will list the details for all repositories in an account.

Get Repository Details

This will retrieve the details for a Repositories.

Create or Update Repository

This will create a Repository, if it does not exist. A response of 200 means the repository already existed. A response of 201 means repository was successfully created.

Delete Repository

This will delete a Repositories.

List Repositories

Lists all the files in a repo.

Add or Update File in Repository

This will add or update a file. The wanted file name is at the end of the endpoint. The form contents can be a file name, including relative path, or any string. If the file has a .json extension, it will be checked for valid JSON format. A multi-part form with a `contents` key must be used to PUT a repo file. Note that you should add files using this endpoint and CURL rather than using git commands. Here is a CURL example: <pre><code translate="No">curl \ --user $EMAIL \ --form contents=@first-plugin.js \ --request PUT \ https://repos.api.brightcove.com/v1/accounts/{account_id}/repos/firstRepo/files/first-plugin.js</code></pre>

Delete File in Repository

Deletes a file in a repo.

Dynamic Ingest API Reference

Ingest Videos and Assets

Ingests a video, images, and/or text track (WebVTT files) and adds them to your media library. NOTE that before you ingest a new video, you must first make a Create Video request.

Get Temporary S3 URLs to Upload Videos

Get temporary S3 URLs to upload source files for ingestion into Video Cloud. See Source File Upload for more information. NOTE that before you ingest a new video, you must first make a Create Video request.

Brightcove In-Page Experiences API Reference

Get In-Page Experiences

Gets a list of all experiences in the account

Create In-Page Experience

Creates an In-Page Experience

Get In-Page Experience

Gets a specific In-Page Experience in the account

Update In-Page Experience

Updates an In-Page Experience

Delete In-Page Experience

Deletes an In-Page Experience

Duplicate In-Page Experience

Duplicates the specified In-Page Experience and all of its associated interactivity

Publish In-Page Experience

Publish the specified In-Page Experience. This will initiate a publish, you can poll the GET endpoint for fetching the In-Page Experience to check its published status to see when publishing completes

Unpublish In-Page Experience

Takes the specified In-Page Experience offline. If this In-Page Experience is embedded anywhere, it will be replaced with text notifying the end user that it is offline. This will initiate an unpublish, you can poll the GET endpoint for fetching the In-Page Experience to check its published status to see when unpublishing completes

Get In-Page Experience Live Status

Gets the live event status of the specified In-Page Experience

Set In-Page Experience Live Status

Sets the live event status of the specified In-Page Experience

Get Fonts

Gets all fonts for the account

Create Font

Creates a font

Get Font

Gets the specified font

Update Font

Updates the specified font

Delete Font

Deletes the specified font

Get In-Page Experience Interactions

Retrieves a list of interactions related to the given accountId.

Create In-Page Experience Interaction

Creates an In-Page Experience Interaction

Get In-Page Experience Interaction

Gets a specific In-Page Experience interaction in the account

Update an interaction

Updates an interaction

Delete an interaction

Deletes an interaction

Get Templates

Gets all templates available to the account

Get Template

Gets the specified template

Get Themes

Gets all themes for the account

Create Theme

Creates a new theme

Get Theme

Gets the specified theme

Update Theme

Updates the specified theme

Delete Theme

Deletes the specified theme

Brightcove Ingest Profiles API Reference

Get Default Profile

Get the default ingest profile for the account.

Set Default Profile

Sets an ingest profile as the default for the account.

Update Default Profile

Updates the default ingest profile for the account.

Get All Ingest Profiles

Get an array of all the profiles valid for the account

Create Ingest Profile

Create a custom ingest profile for the account. Note that you can also do this through Video Cloud Studio

Get Ingest Profile

Get an ingest profile by its id

Update Ingest Profile

Update a custom ingest profile for the account. Note that you can also do this through Video Cloud Studio

Delete Ingest Profile

Delete a custom ingest profile for the account. Note that you can also do this through Video Cloud Studio

OAuth API Reference

Create Access Token

create a temporary access token for an API request

Get Client Credentials

Get an array of client credentials for one or more accounts

Create Client Credentials

Create client credential, consisting of a client-id and client_secret used in getting an access token for one or more APIs Note: client credentials are permanent unless revoked, but you must save the client secret when you create it - it can never be retrieved again.

Update Client Credentials

Update a client credential

Delete Client Credentials

Delete a client credential

Playback API Reference

Get Playlist by ID or Reference ID

Gets a playlist object for an account, based on playlist ID or reference ID. **Note that playlists may contain up to 1000 videos. By default, only the first 20 are returned. You can use the `limit` and `offset` parameters to control how many (up to 1000) and which videos are returned for a request**

Get Videos

Gets a page of video objects. The Playback API allows you to programmatically search for videos in your Video Cloud library. For more information on the search syntax, see [CMS/Playback API: Videos Search](/cms/searching/cmsplayback-api-videos-search.html). Notes: When performing a search, you need to use a search-enabled Policy Key. For information on getting policy keys, see the Policy API Overview or the Policy Keys documents. In general, search-enabled Policy Keys should only be stored on a server and not in a browser player or mobile app, since they can be used to list all playable videos. For some accounts this may not be applicable if you do not care if all of your playable videos can be discovered. The maximum number of videos (highest count value) returned is 1000, even if there are more matching videos in the account. The count value is an estimate and should not be relied on as the exact number to be returned. If all results are desired then keep paging until it no longer returns a full page, or use the CMS api. Only currently playable videos are included in the results list. It is recommended to do a similar query with the CMS api to see why some videos are excluded. Any geo-restricted videos that are denied for the particular requestor are omitted from the results. As long as some videos are allowed the request is considered successful. An errors field is added to the result with a summary explaining why videos were omitted.

Get Video by ID or Reference ID

Gets a video object based on a video ID or reference ID.

Get an DASH VMAP with static URLs

Gets an DASH VMAP with static URLs for the renditions and other assets. Note that the URLs carry a token, and are good for the TTL of the token. Also, VMAPS can only be retrieved if the JWT includes an `ssai` claim - see [Creating a JSON Web Token](/playback/guides/static-url-delivery.html). **Version 2 of the API only**

Get the highest bitrate MP4 rendition

Gets the MP4 rendition of the video that has the highest bitrate **Version 2 of the API only**

Get an HLS VMAP with static URLs

Gets an HLS VMAP with static URLs for the renditions and other assets. Note that the URLs carry a token, and are good for the TTL of the token. Also, VMAPS can only be retrieved if the JWT includes an `ssai` claim - see [Creating a JSON Web Token](/playback/guides/static-url-delivery.html). **Version 2 of the API only**

Get the lowest bitrate MP4 rendition

Gets the MP4 rendition of the video that has the lowest bitrate **Version 2 of the API only**

Get a DASH Manifest with static URLs

Gets a DASH manifest with static URLs for the renditions and other assets. Note that the URLs carry a token, and are good for the TTL of the token. **Version 2 of the API only**

Get an HLS Manifest with static URLs

Gets an HLS manifest with static URLs for the renditions and other assets. Note that the URLs carry a token, and are good for the TTL of the token. **Version 2 of the API only**

Get Related Videos by ID or Reference ID

Gets a page of video objects that are related to the specified video. Using the name and short description of the specified video, the Playback API searches for videos with any partial matches in the following fields: `name`, `short` `description`, `long_description`, `tags`. Notes: When performing a search (using the `q` parameter), you must use a search-enabled Policy Key. For information on getting policy keys, see the [Policy API Overview](/policy/getting-started/overview-policy-api.html). You can also use this [sample app](/policy/getting-started/quick-start-policy-api.html) to create a search-enabled key In general, search-enabled Policy Keys should only be stored on a server and not in a browser player or mobile app, since they can be used to list all playable videos. For some accounts this may not be applicable if you do not care if all of your playable videos can be discovered. The response results for this endpoint are subject to change as we improve the algorithm for finding related videos. If you do not want your results to change, or if you want precise control, then you should use the [Get Videos endpoint](#operation/Get_Videos) with a search parameter. Any geo-restricted videos that are denied for the particular requestor are omitted from the results. As long as some videos are allowed the request is considered successful. An errors field is added to the result with a summary explaining why videos were omitted.

Brightcove Player Management API Reference

Get a list of players

Get a list of players

Create a player

Create a player. The POST method creates a player by submitting a player configuration. The properties of Brightcove Player you can manipulate with player management are detailed in the **Request Body Fields** section below. To create a player, a publisher must decide what properties the final player will have. If no properties are given at creation, a blank player will be created with only the base player skin applied to the player. A user may then use an HTTP PATCH method to update properties after the player has been created.

Get a single player

Get a player by ID

Update a player by ID

Update a single player. The PATCH method can be used on a single player to do a VERY limited update. The only fields you can update in this manner are the `name` and `description` properties. All other player configuration must be done via the **PLAYER CONFIGURATIONS** APIs, detailed below.

Delete a player by ID

Delete a player and all embeds associated with it.

Update player configuration

Update a player configuration

Get player configuration

Get a preview or published player configuration

Get all the embeds for a player.

Get all the embeds (child players) for a player.

Create an embed

Create an embed (child player) for a player. Note that the initial creation of the embed is automatically published. Any changes to the embed thereafter will need to be published. When creating the embed, the body must be an object representing configuration settings for the new embed. By default when you create an embed, data in the embed overrides like data that would otherwise be inherited from the common player. This situation is different for fields that contain arrays. When the data type of the field is an array, you can choose the inheritance behavior to be overwrite, prepend or append. The fields whose data type is an array, and for which you can control inheritance behavior are: scripts, stylesheets, plugins, sources. You can add special field names to the configuration object to control array inheritance, and change the default behavior of embeds overriding common player data. If a array field in an embed's configuration has a child item called array_prepend or array_append the data will be correspondingly prepended or appended to the common player's data for the like field. See the Array fields section of the Embeds Guide for a complete discussion.

Get a specific embed for a player.

Get a specific embed (child player) for a player.

Delete an embed

Delete a particular embed (child player) for a player.

Update embed configuration

Update the configuration for an embed. Note that you will need to publish the altered embed for optimization and production use. You can also use a `PUT` HTTP method instead of the `PATCH` shown here. When using `PUT` it replaces all embed configuration information, so you must supply all embed configuration information when using `PUT`. In contrast, `PATCH` appends or modifies existing configuration information. Using `PUT` is such rare use case it is not detailed in this reference.

Get Configuration Combinations

Retrieve the configuration for a parent/child combination of master and preview branches. If you are using the second query parameter (and hence using the ampersand [&]), you MUST use quotes around the endpoint or the curl statement will fail at the ampersand. For example: `"https://players.api.brightcove.com/v1/accounts/{account_id}/players/{player_id}/embeds/{embed_id}/configuration/merged?playerBranch=preview&embedBranch=master"`. Using this endpoint provides a way to view what the resulting configuration would be when combining different combinations of parent and child (also called embed) versions of players. Using this endpoint does not change any configurations, it is only useful for seeing results of merging changes to configurations.

Get player embed configuration

Get the configuration for an embed. You must specify the branch, either `master` or `preview`.

Publish a player

Publish a player for optimization and production use.

Get all plugins

Get all plugins

Get a single plugin

Get a single plugin

Policy API Reference

Create a Policy Key

'Create a new policy key to access the Playback API '

Get Policy

Get a policy key associated with a policy key string

Brightcove Social API

List the lifetime social history for every video on the account.

Gets the lifetime history of every video Social has ever attempted to distribute to a social platform. Note that this endpoint has pagination.

List the current status for every video on the account

Gets the current status of every video Social has ever attempted to distribute to a social platform. Note that this endpoint has pagination.

List the lifetime social history the video.

Gets the lifetime history of the requested video for every Social Destination is has ever been distributed to. Note that this endpoint has pagination.

List the current status for the video.

Gets the current status of the requested video for every Social Destination is has ever been distributed to. Note that this endpoint has pagination.

Brightcove SSAI API

List the ad configurations for the account

List the ad configurations defined for an account.

Create an ad configuration

Create an ad configuration

Get ad configurations details

Get the details of an ad configurations defined for an account.

Update an ad configuration

Update an ad configuration

Create an SSAI ad trace for an account

Create an SSAI ad trace for an account. Use this request if you do **not** have an ad config id.

Get ad calls for a session

'Get ad calls for a session. The `session_id` comes from the VMAP response: `<bc:BrightcoveDebug sessionID="your session id"></bc:BrightcoveDebug>`'

Details
Last Update

4 months ago

Includes
brightcove-vc-analytics-client
brightcove-vc-audience-client
brightcove-vc-cms-client
brightcove-vc-xdr-client
brightcove-vc-data-collection-client
brightcove-vc-delivery-rules-client
brightcove-vc-delivery-system-client
brightcove-vc-dynamic-ingest-client
brightcove-vc-in-page-experiences-client
brightcove-vc-ingest-profiles-client
brightcove-vc-oauth-client
brightcove-vc-playback-client
brightcove-vc-player-management-client
brightcove-vc-policy-client
brightcove-vc-social-client
brightcove-vc-ssai-client
brightcove-auth