Managing Credentials for the Live API

This topic provides an overview of managing credentials of various types for the Live API.

Introduction

There are several kinds of credentials that can be used in conjunction with your Live API jobs:

  • FTP, S3, Video Cloud, or Zencoder credentials that the Live system needs to push clips to your chosen destination
  • RTMP credentials that prevent someone who gets the RTMP address of your live steam from playing it back
  • OAuth2 or basic authorization credentials that the Live System needs to send notifications to your notification handler

The credentials endpoints for the Live API allow to create and manage these credentials, which you can then reference by their labels when you create Live or VOD clip jobs.

For full details of the API operations for credentials, see the API Reference.

Credential types

The table below shows the credential types currently supported and their uses.

Credential Types
credential_type value Description/Use Case
ftp Credentials for FTP site where clips should be sent
http Basic authorization credentials for an http address to send notifications to
oauth Credentials for OAuth2 authentication required for the address where notifications are to be sent
rtmp Add authentication to the endpoint your encoder connects to, so that anyone who has the RTMP URL can't just connect
s3 Credentials for an S3 bucket to send clips to
videocloud OAuth credentials for your Video Cloud account to send clips to (must include the permissions necessary for Dynamic Ingest)
zencoder Authentication for your Zencoder account to send clips to

Credentials operations

The table below shows the endpoints for managing credentials.

Credentials Endpoints
Endpoint Method Description
/v1/credentials GET List all credentials for the account
/v1/credentials POST Create a new credential for the account
/v1/credentials/{credential_id} PUT Update a credential for the account
/v1/credentials/{credential_id} DELETE Delete a credential for the account

Credentials fields

The table below shows the fields for credentials.

Credential Fields
Field Type required Allowed Values Default Description
credential_default_for_type boolean no true
false
false Want this credential to be default for the user for this type of credentials?
credential_label string yes     User identifiable name for the credentials
credential_type enum yes ftp
http
oauth
rtmp
s3
videocloud
zencoder
  The type of credential
credential_public string yes     The username, public key, or client id, depending on the credential type
credential_private string yes     The password, private key, or client secret, depending on the credential type
user_id string no   (credentials are available for all account users) user_id (GUID) for which the credentials are being created

Create Video Cloud credentials

The steps to set up Video Cloud credentials for Live follow below.

  1. Set up Credentials in Video Cloud. The minimum permissions you will need for the credentials are:
    Video Cloud Permissions
    Video Cloud Permissions
  2. Save the client_id and client_secret for the next step.
  3. Using the Live API, create a new credential:

    Request URL:

    https://api.bcovlive.io/v1/credentials/

    Request type: POST

    Request body:

    {
      "credential_label": "{your_own_label_here}",
      "credential_public": "{client_ID}",
      "credential_private": "{client_secret}",
      "credential_type": "videocloud"
    }