Brightcove Credentials API
Operations for creating and managing credentials for secure destinations.
Operations for creating and managing credentials for secure destinations.
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:brightcove-credentials-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 Credentials API
version: 1.0.0
description: 'Operations tagged Credentials across 2 of this provider''s published API definitions: brightcove-openapi.yml, live-api-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://cm.cloudplayout.brightcove.com
description: Production server
- url: https://cm.cloudplayout.qa.brightcove.com
description: QA server
- url: https://api.bcovlive.io/v1
variables: {}
tags:
- name: Credentials
paths:
/accounts/{account_id}/credentials:
x-bc-throttle-key: null
get:
tags:
- Credentials
summary: Get All S3 credentials
description: Get All S3 credentials for an account
operationId: GetCredentials
parameters:
- name: account_id
in: path
description: Video Cloud account ID.
required: true
style: simple
explode: false
schema:
type: string
- name: Content-Type
in: header
description: 'Content-Type: application/json'
required: true
style: simple
explode: false
schema:
type: string
default: application/json
responses:
200:
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/ListAllCredentials'
401:
description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token'
content: {}
403:
description: 'BAD_VALUE: Spelling error or other use of non-existent field '
content: {}
404:
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested'
content: {}
deprecated: false
security:
- BC_OAuth2:
- video-cloud/cloud-playout/read
- BC_CLOUD_PLAYOUT_READ
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
x-bc-throttle-key: null
post:
tags:
- Credentials
summary: Create S3 credentials
description: Creates a S3 credential for a channel
operationId: CreateCredentials
parameters:
- name: account_id
in: path
description: Video Cloud account ID.
required: true
style: simple
explode: false
schema:
type: string
- name: Content-Type
in: header
description: 'Content-Type: application/json'
required: true
style: simple
explode: false
schema:
type: string
default: application/json
requestBody:
description: Creates an s3 credential for a channel
content:
application/json:
schema:
$ref: '#/components/schemas/Credential'
required: true
responses:
200:
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/CredentialProperties'
401:
description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token'
content: {}
403:
description: 'BAD_VALUE: Spelling error or other use of non-existent field '
content: {}
404:
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested'
content: {}
deprecated: false
security:
- BC_OAuth2:
- video-cloud/cloud-playout/all
- BC_CLOUD_PLAYOUT_WRITE
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
x-bc-throttle-key: null
servers:
- url: https://cm.cloudplayout.brightcove.com
description: Production server
- url: https://cm.cloudplayout.qa.brightcove.com
description: QA server
/accounts/{account_id}/credentials/{credential_id}:
x-bc-throttle-key: null
get:
tags:
- Credentials
summary: Get a S3 credential
description: Creates a S3 credential for a channel
operationId: GetCredential
parameters:
- name: account_id
in: path
description: Video Cloud account ID.
required: true
style: simple
explode: false
schema:
type: string
- name: Content-Type
in: header
description: 'Content-Type: application/json'
required: true
style: simple
explode: false
schema:
type: string
default: application/json
- name: credential_id
in: path
description: Cloud Playout credential Id
required: true
style: simple
explode: false
schema:
type: string
responses:
200:
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/CredentialProperties'
401:
description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token'
content: {}
403:
description: 'BAD_VALUE: Spelling error or other use of non-existent field '
content: {}
404:
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested'
content: {}
deprecated: false
security:
- BC_OAuth2:
- video-cloud/cloud-playout/read
- BC_CLOUD_PLAYOUT_READ
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
x-bc-throttle-key: null
delete:
tags:
- Credentials
summary: Delete a S3 credential
description: Creates a S3 credential for a channel
operationId: DeleteCredential
parameters:
- name: account_id
in: path
description: Video Cloud account ID.
required: true
style: simple
explode: false
schema:
type: string
- name: Content-Type
in: header
description: 'Content-Type: application/json'
required: true
style: simple
explode: false
schema:
type: string
default: application/json
- name: credential_id
in: path
description: Cloud Playout credential Id
required: true
style: simple
explode: false
schema:
type: string
responses:
200:
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncMessage'
example:
message: credential deleted successfully
401:
description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token'
content: {}
403:
description: 'BAD_VALUE: Spelling error or other use of non-existent field '
content: {}
404:
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested'
content: {}
deprecated: false
security:
- BC_OAuth2:
- video-cloud/cloud-playout/all
- BC_CLOUD_PLAYOUT_WRITE
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
x-bc-throttle-key: null
patch:
tags:
- Credentials
summary: Update an S3 credential
description: Creates a S3 credential for a channel
operationId: UpdateCredential
parameters:
- name: account_id
in: path
description: Video Cloud account ID.
required: true
style: simple
explode: false
schema:
type: string
- name: Content-Type
in: header
description: 'Content-Type: application/json'
required: true
style: simple
explode: false
schema:
type: string
default: application/json
- name: credential_id
in: path
description: Cloud Playout credential Id
required: true
style: simple
explode: false
schema:
type: string
requestBody:
description: Creates an s3 credential for a channel
content:
application/json:
schema:
$ref: '#/components/schemas/Credential'
required: true
responses:
200:
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/CredentialProperties'
400:
description: Bad Request
401:
description: 'UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token'
content: {}
403:
description: 'BAD_VALUE: Spelling error or other use of non-existent field '
content: {}
404:
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested'
content: {}
deprecated: false
security:
- BC_OAuth2:
- video-cloud/cloud-playout/all
- BC_CLOUD_PLAYOUT_WRITE
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
x-bc-throttle-key: null
servers:
- url: https://cm.cloudplayout.brightcove.com
description: Production server
- url: https://cm.cloudplayout.qa.brightcove.com
description: QA server
/credentials:
get:
tags:
- Credentials
summary: List Credentials
description: This endpoint can be used to get user credentials for a given user provided one has an API key.
operationId: ListCredentials
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/ListCredentials'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
post:
tags:
- Credentials
summary: Create Credential
description: Create a new credential.
operationId: CreateCredential
parameters:
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
requestBody:
description: Create a new credential.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCredentialbody'
required: true
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCredential'
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
servers:
- url: https://api.bcovlive.io/v1
variables: {}
/credentials/{credential_id}:
put:
tags:
- Credentials
summary: Update Credential
description: Update a credential.
operationId: putCredentialsByCredentialId
parameters:
- $ref: '#/components/parameters/CredentialId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
requestBody:
description: Update a credential.
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCredentialbody'
required: true
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCredential'
'400':
description: 'BAD_REQUEST: Invalid input value - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
x-operation-id-source: normalized
x-operation-id-original: UpdateCredential
delete:
tags:
- Credentials
summary: Delete Credential
description: Delete a credential.
operationId: deleteCredentialsByCredentialId
parameters:
- $ref: '#/components/parameters/CredentialId'
- $ref: '#/components/parameters/ContentType'
- $ref: '#/components/parameters/XAPIKEY'
responses:
'204':
description: 'NO_CONTENT: the credential was deleted'
'401':
description: 'UNAUTHORIZED: Unauthorized - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'404':
description: 'RESOURCE_NOT_FOUND: The api could not find the resource you requested - see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
'500':
description: 'INTERNAL_SERVER_ERROR: see [Live API Error Messages](/live-api/references/live-api-error-messages.html) for more details'
deprecated: false
security: []
x-operation-settings:
CollectParameters: false
AllowDynamicQueryParameters: false
AllowDynamicFormParameters: false
IsMultiContentStreaming: false
x-operation-id-source: normalized
x-operation-id-original: DeleteCredential
servers:
- url: https://api.bcovlive.io/v1
variables: {}
components:
schemas:
Credential:
title: Credential
required:
- access_key
- bucket
- region
- secret_key
type: object
properties:
credtype:
type: string
description: Credential type
enum:
- s3
bucket:
type: string
description: S3 bucket name (with the path, if needed); please make sure that the given access credential has write access to this bucket location
access_key:
type: string
description: S3 Bucket access key
secret_key:
type: string
description: S3 Bucket secret key
region:
type: string
description: S3 region
example:
credtype: s3
bucket: docexamplebucket1
access_key: ALIBRIUROOGEQKWTPW5O
secret_key: kTJvQU+7slC6beFqodyLSTnYps6Kr7WIDjFAo6sJ
region: us-west-2
CredentialProperties:
title: CredentialObject
type: object
properties:
public_id:
type: string
description: Id of the credential.
readOnly: true
account_id:
type: string
description: Account id.
credtype:
type: string
description: Credential type.
default: s3
bucket:
type: string
description: S3 bucket name
access_key:
type: string
description: Access key
secret_key:
type: string
description: Secret key
region:
type: string
description: S3 region
created_at:
type: string
description: Time of credential creation.
updated_at:
type: string
description: Time of credential update.
example:
public_id: 1d30c41ba9104ec0b48b01852696e45f
account_id: '70701684296401'
credtype: s3
bucket: docexamplebucket1
access_key: ALIBRIUROOGEQKWTPW5O
secret_key: RGpR9xYU9xLbuCBgmuZc7HfrvO3VN/cHyrK53Hw=
region: us-west-2
created_at: 2021-07-05 10:30:00 UTC
updated_at: 2021-07-05 10:30:00 UTC
AsyncMessage:
title: MessageObject
type: object
properties:
message:
type: string
description: message from the api
ListAllCredentials:
title: GetAllCredentials
type: object
properties:
items:
type: array
description: The list of credentials. List may be empty if no credentials are provisioned
items:
$ref: '#/components/schemas/Credential'
CreateCredentialbody.oauthSettings:
properties:
url:
description: OAuth access token URL for OAuth credentials needed to send notifications to a notification URL
type: string
required:
- url
title: Create_CredentialBody.oauth_settings
description: OAuth settings for OAuth credentials needed to send notifications to a notification URL Required for oauth type credentials
type: object
ListCredentials:
properties:
Array:
description: of credentials objects
items:
$ref: '#/components/schemas/Credentials'
type: array
required:
- Array
title: List_Credentials200
type: object
UpdateCredentialbody:
properties:
credential_default_for_type:
description: Whether these are the default credentials for the request type
type: boolean
credential_label:
description: Label for the credential
type: string
credential_private:
description: Private key or password depending on the type
type: string
credential_public:
description: Public key or password depending on the type
type: string
credential_type:
description: The credential type
enum:
- ftp
- http
- oauth
- rtmp
- s3
- videocloud
- zencoder
type: string
oauth_settings:
$ref: '#/components/schemas/UpdateCredentialbody.oauthSettings'
user_id:
description: GUID for which the credentials are being created.
type: string
required:
- user_id
- credential_default_for_type
- credential_label
- credential_type
- credential_private
- credential_public
title: Update_CredentialBody
type: object
CreateCredential:
properties:
credential_id:
description: The credential id
type: string
user_id:
description: The user id
type: string
required:
- credential_id
- user_id
title: Create_Credential_Response
type: object
UpdateCredential:
properties:
credential_id:
description: The credential id
type: string
user_id:
description: The user id
type: string
required:
- credential_id
- user_id
title: Update_Credential_Response
type: object
CreateCredentialbody:
properties:
credential_default_for_type:
description: Whether these are the default credentials for the request type
type: boolean
default: false
credential_label:
description: Label for the credential
type: string
credential_private:
description: Private key or password depending on the type
type: string
credential_public:
description: Public key or password depending on the type
type: string
credential_type:
description: The credential type
enum:
- ftp
- http
- oauth
- rtmp
- s3
- videocloud
- zencoder
type: string
oauth_settings:
$ref: '#/components/schemas/CreateCredentialbody.oauthSettings'
user_id:
description: GUID for which the credentials are being created.
type: string
default: (all users)
required:
- credential_label
- credential_type
- credential_private
- credential_public
title: Create_CredentialBody
type: object
Credentials:
properties:
credential_default_for_type:
description: The clip label (from the input)
type: boolean
credential_id:
description: The credential id
type: string
credential_private:
description: The private key for the credential (not shown; represented by asterisks)
type: string
credential_public:
description: The public key for the credential
type: string
label:
description: The label used to reference the credential in requests
type: string
type:
description: The credential type
enum:
- ftp
- http
- oauth
- rtmp
- s3
- videocloud
- zencoder
x-enum-elements:
- name: ftp
description: credentials for FTP site where clips should be sent
- name: http
description: basic authorization credentials for an http address to send notifications to
- name: oauth
description: credentials for OAuth2 authentication required for the address where notifications are to be sent
- name: rtmp
description: add authentication to the endpoint your encoder connects to, so that anyone who has the RTMP URL can't just connect
- name: s3
description: authentication for your S3 bucket to send clips to
- name: videocloud
description: authentication for your Video Cloud account to send clips to
- name: zendcoder
description: authentication for your Zencoder account to send clips to
type: string
user_id:
description: The user id
type: string
required:
- credential_default_for_type
- user_id
- credential_private
- type
- label
- credential_id
- credential_public
title: credentials
type: object
UpdateCredentialbody.oauthSettings:
title: Update_CredentialBody.oauth_settings
type: object
description: OAuth settings for OAuth credentials needed to send notifications to a notification URL Required for oauth type credentials
properties:
url:
description: OAuth access token URL for OAuth credentials needed to send notifications to a notification URL
type: string
required:
- url
parameters:
CredentialId:
name: credential_id
in: path
description: A credential ID
required: true
style: simple
explode: false
schema:
type: string
ContentType:
name: Content-Type
in: header
description: 'Content-Type: application/json'
required: true
style: simple
explode: false
schema:
type: string
default: application/json
example: application/json
XAPIKEY:
name: X-API-KEY
in: header
description: 'X-API-KEY: {Your_Live_API_Key}'
required: true
style: simple
explode: false
schema:
type: string
securitySchemes:
BC_OAuth2:
type: oauth2
description: Brightcove OAuth API. See the [support documentation](https://support.brightcove.com/oauth-api) or [Getting Access Tokens](https://support.brightcove.com/oauth-api-sample-get-access-token) to learn more
flows:
clientCredentials:
tokenUrl: https://oauth.qa.brightcove.com/v4/access_token
scopes:
video-cloud/cloud-playout/all: Able to manage cloud playout channels.
video-cloud/cloud-playout/read: Able to read cloud playout channels.
BC_CLOUD_PLAYOUT_READ: Permission-based access control
BC_CLOUD_PLAYOUT_WRITE: Permission-based access control
x-refined-from:
- brightcove-openapi.yml
- live-api-openapi.yaml
x-bc-implicit-head: true
x-bc-implicit-options: true
x-bc-upstream: https://backend_server