Brightcove Labels API
Operations for managing folders to organize your videos. See [Working with Labels](/cms/managing-videos/working-with-labels.html) for more information.
Operations for managing folders to organize your videos. See [Working with Labels](/cms/managing-videos/working-with-labels.html) for more information.
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-labels-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 Labels 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: Labels
description: Operations for managing folders to organize your videos. See [Working with Labels](/cms/managing-videos/working-with-labels.html) for more information.
paths:
/v1/accounts/{{account_id}}/labels:
post:
tags:
- Labels
summary: Create a Label
description: 'Create a new label for the account '
operationId: CreateLabel
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/Authorization'
requestBody:
description: Create a new label for the account
content:
application/json:
schema:
$ref: '#/components/schemas/LabelPath'
required: true
responses:
'201':
description: Label created
content:
application/json:
schema:
$ref: '#/components/schemas/LabelPath'
'401':
description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token'
'403':
description: 'NOT_AVAILABLE: The resource you are requesting is temporarily unavailable'
'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'
'500':
description: 'UNKNOWN: Issue in Brightcove system; try again later.
TIMEOUT: Server likely too busy; try again later.'
deprecated: false
security:
- BC_OAuth2:
- video-cloud/video/create
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
get:
tags:
- Labels
summary: Get Labels
description: 'Gets list of labels for the account '
operationId: GetLabels
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/Authorization'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/LabelsList'
'401':
description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token'
'403':
description: 'NOT_AVAILABLE: The resource you are requesting is temporarily unavailable'
'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'
'500':
description: 'UNKNOWN: Issue in Brightcove system; try again later.
TIMEOUT: Server likely too busy; try again later.'
deprecated: false
security:
- BC_OAuth2:
- video-cloud/video/read
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
/v1/accounts/{{account_id}}/labels/by_path/{{label_path}}:
patch:
tags:
- Labels
summary: Update a Label
description: Update a label for the account
operationId: UpdateLabel
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/label_path'
requestBody:
description: Update a label for the account
content:
application/json:
schema:
$ref: '#/components/schemas/LabelUpdate'
required: true
responses:
'201':
description: Label updated
content:
application/json:
schema:
$ref: '#/components/schemas/LabelPath'
'401':
description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token'
'403':
description: 'NOT_AVAILABLE: The resource you are requesting is temporarily unavailable'
'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'
'500':
description: 'UNKNOWN: Issue in Brightcove system; try again later.
TIMEOUT: Server likely too busy; try again later.'
deprecated: false
security:
- BC_OAuth2:
- video-cloud/video/create
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
delete:
tags:
- Labels
summary: Delete Label
description: Delete a label
operationId: deleteLabel
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/label_path'
responses:
'204':
description: 204 No Content
'401':
description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token'
'403':
description: 'NOT_AVAILABLE: The resource you are requesting is temporarily unavailable'
'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'
'500':
description: 'UNKNOWN: Issue in Brightcove system; try again later.
TIMEOUT: Server likely too busy; try again later.'
deprecated: false
security:
- BC_OAuth2:
- video-cloud/video/read
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
components:
schemas:
LabelPath:
description: The full path for a label that can be assigned to videos
title: label
type: object
properties:
path:
type: string
example:
path: /nature/mammals/seamammals
LabelsList:
description: A list of labels for the account
type: object
properties:
account_id:
type: string
description: The Video Cloud account id
example: '57838016001'
labels:
type: array
description: Array of labels that exist for the account
items:
type: string
description: a full label path
example:
- /nature/birds
- /nature/birds/shorebirds
- /nature/birds/forestbirds
- /nature/mammals/seamammals
version:
type: integer
description: An internal version tracker
LabelUpdate:
description: Update Label request body
title: label
type: object
properties:
new_label:
type: string
description: The new label which will replace **the last item in the label path**
example:
new_label: forest_birds
parameters:
ContentType:
description: 'Content-Type: application/json'
example: application/json
explode: false
in: header
name: Content-Type
required: true
schema:
default: application/json
type: string
style: simple
AccountId:
description: Video Cloud account ID.
explode: false
in: path
name: account_id
required: true
schema:
type: string
style: simple
Authorization:
description: 'Authorization: Bearer {access_token} - see [Getting Access Tokens](/oauth/code-samples/oauth-api-sample-get-access-token.html)'
explode: false
in: header
name: Authorization
required: true
schema:
type: string
style: simple
label_path:
description: '''The path for a label to update or delete. Note that the operation performed is on the last item in the path, so for example, if you specify the path `/nature/birds/seabirds`, only the `seabirds` label will be updated/deleted, but if you specify the path as `/nature/birds`, `birds` and any sub-labels of `birds` will be updated/deleted.'''
explode: false
in: path
name: label_path
required: true
schema:
type: string
style: simple
securitySchemes:
BC_OAuth2:
type: oauth2
description: Brightcove OAuth API. See the [support documentation](/oauth/index.html) or [Getting Access Tokens](/oauth/code-samples/oauth-api-sample-get-access-token.html) to learn more
flows:
clientCredentials:
tokenUrl: https://oauth.brightcove.com/v4/access_token
scopes:
video-cloud/video/read: Video Read
video-cloud/video/create: Video Create
video-cloud/video/update: Video Update
video-cloud/video/delete: Video Delete
video-cloud/video/all: Video ALL
video-cloud/asset/delete: Digital Master Delete
video-cloud/playlist/read: Playlist Read
video-cloud/playlist/create: Playlist Create
video-cloud/playlist/update: Playlist Update
video-cloud/playlist/delete: Playlist Delete
video-cloud/playlist/all: Playlist All
video-cloud/sharing-relationships/read: Sharing Relationships Read
video-cloud/sharing-relationships/create: Sharing Relationships Create
video-cloud/sharing-relationships/update: Sharing Relationships Update
video-cloud/sharing-relationships/delete: Sharing Relationships Delete
video-cloud/sharing-relationships/all: Sharing Relationships All
video-cloud/notifications/all: Notifications All
video-cloud/video/clear-sources: Read clear sources
x-bc-implicit-head: true
x-bc-implicit-options: true
x-bc-upstream: https://backend_server