Brightcove Video Cloud
Streaming & PlayoutPublished by
Techtriq
Brightcove Video Cloud
Streaming & PlayoutBrightcove 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:
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.
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>`'
2 months ago