Note: you can also manage your ingest profiles through Studio, and we recommend that you do that unless you are integrating Video Cloud with your own CMS.If a user programmatically pulls a profile with the intent of updating that profile using the retrieved content, the user will need to sanitize the profile, removing things like "id" for renditions, but not the profile, and "version" should be removed entirely.

Glossary of terms

Profile JSON

The term "profile JSON" below means the JSON representation of a profile object. They contain top-level profile fields and a collection of rendition objects as a list. See Standard Profiles to see the JSON for the standard profiles included in every account and Content Security (DRM and HLSe) for sample profiles that include DRM packaging.

Profile id

A profile id can be either the id or name top-level field in a profile. In this example (a fragment of a profile):

"multi-platform-extended-static" or "f1b16093e2dc4f81810f1488" are both valid profile ids. When you create a profile for the first time, you'll supply a profile with a name but without an id, and the response will contain the created profile including its id. You may then use either on any subsequent API call.

Reference id

A reference_id uniquely identifies a rendition within a profile. Reference ids are used for DRM packaging, and may be used for other purposes in the future. Aside from being unique within the profile, reference ids can be any string - it should not include spaces. We recommend using some scheme that will make it easy to identify the format of the rendition, for example: mp4_1, mp4_2, hls1, hls2, etc.

Profile version

A version is the revision number of a profile for an account. It is represented by a long integer value. Note: it is not quoted in the JSON representation.

Active profile

A profile is active if it can be used for uploads. For instance, if you update a profile, you get a new profile with an incremented version number which is active, and the old version becomes inactive.

Standard profile

A profile is standard if it is provided for use by Brightcove (i.e. it is not a custom profile specific to a single account).

Default profile

A profile is default if it's used when no profile is explicitly chosen. If you have no account configuration, or do not set a default profile in your configuration, one of the Brightcove standard profiles will be used in accordance with your account type.

Base URL

The service URL is:

https://ingestion.api.brightcove.com/v1/

Authorization

Authorization for the API is via Brightcove's OAuth2 implementation. You will need client credentials (a client id and a client secret) that has permissions for the following operations on your account(s):

video-cloud/ingest-profiles/profile/read

video-cloud/ingest-profiles/profile/write

video-cloud/ingest-profiles/account/read

video-cloud/ingest-profiles/account/write

To get a client_id and client_secret, you will need to go to the OAuth UI and register an app:

Maximum renditions

Account operations

At the account level, you can get all profiles for the account and create new ones.

Endpoint

/accounts/{account_id}/profiles

Get all profiles

To get all profiles for the account (including standard profiles), you submit a GET request to endpoint shown above.

Create a profile

To create a new profile, you submit a POST request to the endpoint shown above, including JSON data for the profile as the request body. See the API Reference for details and sample request bodies, and the Profile Fields Reference for the allowable fields.

Create a Live profile

To create a custom ingest profile for Live, you simply need to specify HLS renditions with live_stream set to true: