Brightcove Playlists API
Operations for managing video playlists.
Operations for managing video playlists.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/brightcove-playlists-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Brightcove CMS API Reference Playlists API
description: 'Reference for the Brightcove CMS API, used to access and manage your media library. To test API requests, you can use our [API Testing Tools](/getting-started/concepts-testing-tools-brightcove-apis.html). For permissions needed for OAuth credentials, see [API Operations](/oauth/guides/api-operations-client-credentials-requests.html). For information on authenticating API requests, see the [OAuth Overview](/oauth/getting-started/overview-oauth-api-v4.html).
For additional in-depth guides to features of the API, see the **[general documentation](/cms/index.html)**.
**Base URL**: https://cms.api.brightcove.com'
version: 1.0.0
x-bc-access: public
servers:
- url: https://cms.api.brightcove.com
variables: {}
tags:
- name: Playlists
description: Operations for managing video playlists.
paths:
/v1/accounts/{{account_id}}/playlists:
get:
tags:
- Playlists
summary: Get Playlists
description: 'Gets a page of playlist objects for the account '
operationId: GetPlaylists
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/SearchPlaylists'
- $ref: '#/components/parameters/PlaylistSort'
responses:
'200':
description: '200'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Playlist'
'400':
description: '''INVALID_SORT: sort parameter specified and invalid field
INVALID_SEARCH: search string invalid (may not have been URI-encoded)'''
'401':
description: 'UNAUTHORIZED: Authentication failed - check to make sure your client credentials were correct for the access token'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested'
'405':
description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint'
'429':
description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second'
deprecated: false
security:
- BC_OAuth2:
- video-cloud/playlist/read
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
post:
tags:
- Playlists
summary: Create Playlist
description: '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.'
operationId: CreatePlaylist
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/Authorization'
requestBody:
description: Creates a new playlist
content:
application/json:
schema:
$ref: '#/components/schemas/PlaylistInputFields'
required: true
responses:
'201':
description: Playlist created
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
'400':
description: 'BAD_VALUE: The JSON could not be parsed '
'401':
description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested'
'405':
description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint'
'409':
description: 'REFERENCE_ID_IN_USE: The specified reference id is already in use '
'422':
description: 'ILLEGAL_FIELD: Spelling error or use of non-existent field '
'429':
description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second'
deprecated: false
security:
- BC_OAuth2:
- video-cloud/playlist/create
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/v1/accounts/{{account_id}}/counts/playlists:
get:
tags:
- Playlists
summary: Get Playlist Count
description: 'Gets a count of playlists in the account for the account '
operationId: GetPlaylistCount
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/Search'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/PlaylistCount'
'400':
description: '''INVALID_SORT: sort parameter specified and invalid field
INVALID_SEARCH: search string invalid (may not have been URI-encoded)'''
'401':
description: 'UNAUTHORIZED: Authentication failed - check to make sure your client credentials were correct for the access token'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested'
'405':
description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint'
'429':
description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second'
deprecated: false
security:
- BC_OAuth2:
- video-cloud/playlist/read
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/v1/accounts/{{account_id}}/playlists/{{playlist_id}}:
get:
tags:
- Playlists
summary: Get Playlists by ID
description: 'Gets one or more playlist objects for the account '
operationId: GetPlaylistById
parameters:
- $ref: '#/components/parameters/AccountId'
- name: playlist_id
in: path
description: Video Cloud playlist ID, or multiple playlist ids separated by commas.
required: true
style: simple
explode: false
schema:
type: string
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/Authorization'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
'400':
description: '''INVALID_SORT: sort parameter specified and invalid field
INVALID_SEARCH: search string invalid (may not have been URI-encoded)'''
'401':
description: 'UNAUTHORIZED: Authentication failed - check to make sure your client credentials were correct for the access token'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested'
'405':
description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint'
'429':
description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second'
deprecated: false
security:
- BC_OAuth2:
- video-cloud/playlist/read
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
patch:
tags:
- Playlists
summary: Update Playlist
description: 'Updates a playlist for the account '
operationId: UpdatePlaylist
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/PlaylistId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/Authorization'
requestBody:
description: Updates a playlist for the account
content:
application/json:
schema:
$ref: '#/components/schemas/PlaylistInputFields'
required: true
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
'400':
description: 'BAD_VALUE: The JSON could not be parsed '
'401':
description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested'
'405':
description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint'
'409':
description: 'REFERENCE_ID_IN_USE: The specified reference id is already in use '
'422':
description: 'ILLEGAL_FIELD: Spelling error or use of non-existent field '
'429':
description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second'
deprecated: false
security:
- BC_OAuth2:
- video-cloud/playlist/update
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
delete:
tags:
- Playlists
summary: Delete Playlist
description: 'Deletes a playlist '
operationId: DeletePlaylists
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/PlaylistId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/Authorization'
responses:
'204':
description: NO_CONTENT
'400':
description: '''INVALID_SORT: sort parameter specified and invalid field
INVALID_SEARCH: search string invalid (may not have been URI-encoded)'''
'401':
description: 'UNAUTHORIZED: Authentication failed - check to make sure your client credentials were correct for the access token'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested'
'405':
description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint'
'429':
description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second'
deprecated: false
security:
- BC_OAuth2:
- video-cloud/playlist/delete
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/v1/accounts/{{account_id}}/playlists/{{playlist_id}}/videos:
get:
tags:
- Playlists
summary: Get Videos in Playlist
description: 'Gets the video objects for videos in a playlist for the account.
Note: To receive the `video_preview.sources`, include `include_video_preview=true` in the request query.'
operationId: GetVideosInPlaylist
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/PlaylistId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/include_details'
- $ref: '#/components/parameters/include_video_preview'
- $ref: '#/components/parameters/Limit_Playlist_Videos'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: '200'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Video'
'400':
description: '''INVALID_SORT: sort parameter specified and invalid field
INVALID_SEARCH: search string invalid (may not have been URI-encoded)'''
'401':
description: 'UNAUTHORIZED: Authentication failed - check to make sure your client credentials were correct for the access token'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested'
'405':
description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint'
'429':
description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second'
deprecated: false
security:
- BC_OAuth2:
- video-cloud/playlist/read
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/v1/accounts/{{account_id}}/counts/playlists/{{playlist_id}}/videos:
get:
tags:
- Playlists
summary: Get Video Count in Playlist
description: 'Gets a count of the videos in a playlist for the account '
operationId: GetVideoCountInPlaylist
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/PlaylistId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/Authorization'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/VideoCountInPlaylist'
'400':
description: '''INVALID_SORT: sort parameter specified and invalid field
INVALID_SEARCH: search string invalid (may not have been URI-encoded)'''
'401':
description: 'UNAUTHORIZED: Authentication failed - check to make sure your client credentials were correct for the access token'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested'
'405':
description: 'METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint'
'429':
description: 'TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second'
deprecated: false
security:
- BC_OAuth2:
- video-cloud/playlist/read
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
components:
schemas:
VideoVariants:
description: Array of video variants
type: array
items:
- $ref: '#/components/schemas/VideoVariant'
- $ref: '#/components/schemas/VideoVariant2'
- $ref: '#/components/schemas/VideoVariant3'
VideoImages:
description: map of image maps - the map name is in the form `label.language` where the label is one of `poster`, `thumbnail`, `portrait`, `square`, `wide` or `ultra-wide`, and the `language` is a language identifier such as 'en', 'de', or `ko`
example:
thumbnail:
src: https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/main/160x90/20s629ms/match/image.jpg
sources:
- src: https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/main/160x90/20s629ms/match/image.jpg
height: 90
width: 160
poster:
src: https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/main/1280x720/20s629ms/match/image.jpg
sources:
- src: https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/main/1280x720/20s629ms/match/image.jpg
height: 720
width: 1280
portrait.es:
src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/bac8717a-43db-4fa8-a6f0-189c80ee4c4e/800x1200/match/image.jpg
sources:
- src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/bac8717a-43db-4fa8-a6f0-189c80ee4c4e/800x1200/match/image.jpg
height: 1200
width: 800
thumbnail.en:
src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/0ce2da4d-ca36-469b-9024-0273d79feeeb/292x108/match/image.jpg
sources:
- src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/0ce2da4d-ca36-469b-9024-0273d79feeeb/292x108/match/image.jpg
height: 108
width: 292
poster.en:
src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/a7cb150d-c84a-48e0-9469-5b4ce80fba53/1920x1080/match/image.jpg
sources:
- src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/a7cb150d-c84a-48e0-9469-5b4ce80fba53/1920x1080/match/image.jpg
height: 1080
width: 1920
square.de:
src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/22209955-e136-4f17-914c-e19ec4c58886/570x570/match/image.jpg
sources:
- src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/22209955-e136-4f17-914c-e19ec4c58886/570x570/match/image.jpg
height: 570
width: 570
ultra-wide.hi:
src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/72fd489f-d978-44ba-8d04-1e33c7c36cef/3840x1646/match/image.jpg
sources:
- src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/72fd489f-d978-44ba-8d04-1e33c7c36cef/3840x1646/match/image.jpg
height: 1646
width: 3840
wide.fr:
src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/4405a5d5-8b9e-4c2b-be71-cf4e2c153e87/2560x1440/match/image.jpg
sources:
- src: https://cf-images.us-east-1.prod.boltdns.net/v1/static/57838016001/ee705e97-3fb5-409c-99d8-703e9f57bd0a/4405a5d5-8b9e-4c2b-be71-cf4e2c153e87/2560x1440/match/image.jpg
height: 1440
width: 2560
readOnly: true
title: VideoImages
type: object
VideoVariant2:
description: Object containing language-specific metadata for a video
properties:
language:
type: string
description: 'The language for this variant in the language-country code format (examples: en-US, es-ES) **Note that `language` is only included when you create a variant - you must NOT include it when updating the variant**'
example: de-DE
name:
type: string
description: The title of the video in this language
description:
type: string
description: The video short description in this language
long_description:
type: string
description: The video long description in this language
custom_fields:
type: object
description: 'map of `fieldname: value` pairs, where values are for this language; values have a maximum length of 1024 single-byte characters. Note: be sure to use the **internal** name for the field, not the display name'
Link:
description: map of related link properties - can only be added on update, not creation
properties:
text:
description: text for the link
maxLength: 255
type: string
url:
description: URL for the link
maxLength: 255
type: string
title: link
type: object
PlaylistCount:
example:
count: 84
properties:
count:
description: count of videos
type: integer
title: Get_Playlist_CountResponse
type: object
CuePoint:
properties:
force_stop:
description: Whether playback should be stopped when the cuepoint is reached
type: boolean
metadata:
description: optional metadata string (512 single-byte characters maximum)
maxLength: 512
type: string
name:
description: cue point name
type: string
time:
description: time of the cue point in seconds
example: 10.527
type: number
type:
description: cue point type
enum:
- AD
- DATA
type: string
required:
- time
- type
title: cue_point
type: object
Playlist:
properties:
account_id:
description: Video Cloud account id
example: 57838016001
readOnly: true
type: string
created_at:
description: date/time created
example: 2018-11-14 19:30:36.196000+00:00
format: date-time
readOnly: true
type: string
description:
description: playlist description
example: Sea bird playlist
maxLength: 255
type: string
favorite:
default: false
description: whether playlist is in favorites list
example: false
type: boolean
id:
description: the playlist id
example: 1403635561001
readOnly: true
type: string
name:
description: the playlist name
example: Sea Birds
maxLength: 255
type: string
reference_id:
description: the playlist reference id (must be unique within the account)
example: sea_birds_playlist
type: string
search:
description: search string to retrieve the videos (smart playlists only)
example: +tags:captions,training
type: string
state:
description: Applies to EXPLICIT (manual) playlists only; `UPDATING` means the list is updating its video members and `READY` means that all videos have been added
type: string
enum:
- READY
- UPDATING
readOnly: true
type:
description: 'the playlist type: EXPLICIT or smart playlist type'
enum:
- EXPLICIT
- ACTIVATED_OLDEST_TO_NEWEST
- ACTIVATED_NEWEST_TO_OLDEST
- ALPHABETICAL
- PLAYS_TOTAL
- PLAYS_TRAILING_WEEK
- START_DATE_OLDEST_TO_NEWEST
- START_DATE_NEWEST_TO_OLDEST
example: ACTIVATED_NEWEST_TO_OLDEST
type: string
updated_at:
description: date/time last modified
example: 2018-11-14 19:30:36.196000+00:00
format: date-time
readOnly: true
type: string
video_ids:
description: array of video ids (EXPLICIT playlists only)
example:
- '4084164751001'
- '1532562858001'
- '734484322001'
- '1532530235001'
- '734462570001'
- '734462569001'
- '734451481001'
- '734445537001'
items:
type: string
type: array
title: Playlist
type: object
example:
id: '5716873476001'
account_id: '57838016001'
created_at: '2018-01-23T12:55:29.674Z'
description: My new sea playlist
favorite: false
name: Sea Videos
reference_id: null
type: ACTIVATED_NEWEST_TO_OLDEST
updated_at: '2018-01-23T12:55:29.677Z'
limit: 20
search: +tags:"birds"
Geo:
description: map of geo-filtering properties
properties:
countries:
description: array of ISO 3166 list of 2-letter codes(https://www.iso.org/obp/ui/#home) (search for "country codes")
example:
- us
- ca
- fr
items:
type: string
type: array
exclude_countries:
description: if true, country array is treated as a list of countries excluded from viewing
type: boolean
restricted:
description: whether geo-restriction is enabled for this video
type: boolean
required:
- countries
- exclude_countries
- restricted
title: geo
type: object
Schedule:
description: map of scheduling properties
properties:
ends_at:
description: '''End date-time of availability in ISO-8601(https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15) format. Note that you can input a date-time stamp with a time zone, such as `2021-05-01T18:00:00.000+08`, but it will be converted to and stored as a UTC data-time stamp: `2021-05-01T10:00:00.000Z`'''
example: 2020-05-20 20:41:07.689000+00:00
type:
- string
- 'null'
starts_at:
description: '''Start date-time of availability in ISO-8601(https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15) format. Note that you can input a date-time stamp with a time zone, such as `2021-05-01T18:00:00.000+08`, but it will be converted to and stored as a UTC data-time stamp: `2021-05-01T10:00:00.000Z`'''
example: 2019-05-20 20:41:07.689000+00:00
type:
- string
- 'null'
title: schedule
type: object
VideoPreviewSource:
description: HLS manifest entry for animated preview
properties:
ext_x_version:
description: HLS EXT-X-VERSION value
example: '7'
type: string
src:
description: URL to the preview HLS manifest
example: https://manifest.prod.boltdns.net/.../preview.m3u8?...
type: string
type:
description: MIME type
example: application/x-mpegURL
type: string
title: VideoPreviewSource
type: object
Transcript:
properties:
id:
description: System id for the text track
readOnly: true
type: string
account_id:
description: The account id
readOnly: true
type: string
default:
description: Whether the transcript is the default - note that if there are multi-language transcripts, there can be a default per language
readOnly: true
type: boolean
label:
description: label for the track
type: string
sources:
description: sources for a client to retrieve the transcription
type: array
items:
type: string
description: URLs where the transcript can be retrieved - there will an http and https URL for each transcript
src:
description: URL for the transcription file
type: string
srclang:
description: 2-letter or 4-letter language code, such as `es` or `es-MX`
type: string
status:
description: Either `draft` (unavailable to viewers) or `published`
type: string
enum:
- draft
- published
required:
- src
- srclang
title: transcription
type: object
Video:
description: Object containing metadata for a video
properties:
video_preview:
$ref: '#/components/schemas/VideoPreview'
ad_keys:
description: string representing the ad key/value pairs assigned to the video. Key/value pairs are formatted as key=value and are separated by ampersands - can only be added on update, not creation
example: ' "adKeys": "category=sports&live=true"'
type:
- string
- 'null'
clip_source_video_id:
description: The ID of the source video that was clipped to produce this video or null if this video is not a clip of another video
example: 4723947979
readOnly: true
type: string
complete:
description: 'whether the video has at least one rendition -Note: when you create a new video, the complete property is automatically set to false. As soon as one rendition exists for the video, the complete property will be automatically set to true. This does **not mean that all renditions are created and images and captions processed**. For the full status of ingestion, see [Dynamic Ingest API Notifications](/dynamic-ingest/general/notifications-dynamic-delivery-video-cloud.html)'
example: true
readOnly: true
type: boolean
created_at:
description: when the video was created
example: '2015-09-17T16:08:37.108Z'
readOnly: true
type: string
created_by:
$ref: '#/components/schemas/User'
cue_points:
description: array of cue points - can be added on creation or update
items:
$ref: '#/components/schemas/CuePoint'
type: array
custom_fields:
additionalProperties:
description: 'map of fieldname-value pairs; values have a maximum length of 1024 single-byte characters Note: be sure to use the internal name for the field, not the display name'
type: string
type: object
delivery_type:
description: "video delivery type:\n - `remote`: a remote asset\n - `dynamic_origin`: processed using the Dynamic Delivery ingest system\n - `live_origin`: a live stream from Brightcove Live\n - `unknown`: the delivery type could not be determined (may mean there are no playable renditions)"
enum:
- remote
- dynamic_origin
- live_origin
- unknown
example: dynamic_origin
readOnly: true
type: string
description:
description: video short description
example: Herring gull on a wharf in Boston
maxLength: 248
type: string
digital_master_id:
description: asset id of the digital master
example: 734462494001
readOnly: true
type: string
drm_disabled:
description: if true, the video is not DRM-packaged - applies to accounts that are enabled for DRM only
example: true
type: boolean
duration:
description: video duration in milliseconds
example: 18160
readOnly: true
type: integer
economics:
default: AD_SUPPORTED
description: whether video is `AD_SUPPORTED`
enum:
- AD_SUPPORTED
- FREE
example: AD_SUPPORTED
type: string
folder_id:
description: id of the folder that contains the video
example: 560039e5e4b0e69e4b01cacd
readOnly: true
type: string
forensic_watermarking:
description: 'Indicates whether the video has forensic watermarking
possible values:
- `ACTIVE` - the video was transcoded with forensic watermarking and should be used during delivery
- `UNAVAILABLE` - the video was not transcoded with forensic watermarking support and can’t be delivered using it
- `null` - the value is for forensic watermarking is not available for the account; in this case the field is not returned in API responses
if the video was not ingested with forensic watermarking, this field will be set to `UNAVAILABLE` automatically; if the video was ingested or retranscoded with forensic watermarking, this field will be set t
# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/brightcove/refs/heads/main/openapi/brightcove-playlists-api-openapi.yml