Get All Profiles for an Account

This sample shows you how to retrieve all the Ingest Profiles for an account, and also filter out some the items you may not want to display.

Introduction

Getting all the ingest profiles for an account is straightforward - it is just a simple call to the API. What is less straightforward is what you do with them. If you are going to display the profiles to users in some kind of app to select when they are ingesting videos, there are some potential issues you need to be aware of and deal with:

There are two kinds of Dynamic Delivery profiles that may be returned:

  • "static" profiles - the ordinary kind with a fixed set of renditions
  • "dynamic" profiles that use Context Aware Encoding (CAE) to automatically determine the optimum set of renditions to create within constraints set in the profile.

If your organization has a preference for which kind of profile is used, or there are cases where one may be preferable to the other, you probably want to group and clearly distinguish the two types.

The purpose of this sample is to show you both how to retrieve the account profiles and filter the results for the different types, and for custom profiles that have been created in the account.

Get credentials

To use the Ingest Profiles API you will need proper credentials.

The easiest way to get credentials in most cases is through the Studio Admin API Authentication section (requires admin permissions on your account). See Managing API Authentication Credentials for details. In most cases, you probably just want to get permissions for all Ingest Profiles API operation:

Ingest Profiles API Permissions
Ingest Profiles API Permissions

If the permissions you need are not available in Studio, or if you prefer to get them directly from the OAuth API, use your choice of the Get Client Credentials documents listed below. Whichever option you choose, you will need to ask for the correct operation permissions. The following can be used with cURL or Postman to get all permissions for the Ingest Profiles API:

"operations": [
  "video-cloud/ingest-profiles/profile/read",
  "video-cloud/ingest-profiles/profile/write",
  "video-cloud/ingest-profiles/account/read",
  "video-cloud/ingest-profiles/account/write"
]

The app

Source code

Find all the code associated with this sample in this GitHub repository.

Sample app

See the Pen Ingest Profiles API Sample: Get All Profiles for an Account by Brightcove Learning Services (@rcrooks1969) on CodePen.

Using the CodePen

Here are some tips to effectively use the above CodePen:

  • Toggle the actual display of the player by clicking the Result button.
  • Click the HTML/CSS/JS buttons to display ONE of the code types.
  • Click Edit on CodePen in the upper right corner to fork this CodePen into your own account.
  • Find all the code associated with this sample in this GitHub repository.

Proxy code

In order to build your own version the sample app on this page, you must create and host your own proxy. (The proxies used by Brightcove Learning Services only accept requests from Brightcove domains.) A sample proxy, very similar to the one we use, but without the checks that block requests from non-Brightcove domains, can be found in this GitHub repository. You will also find basic instructions for using it there, and a more elaborate guide to building apps around the proxy in Using the REST APIs.