Overview
Files associated with the Delivery System are managed through REST APIs, and optionally through Git. These files are delivered to players.brightcove.net either through an API call or a "git push".
If you haven't gone through the Step-by-Step: Delivery System API, it's highly suggested you start there. You'll get security set up, learn some of the basics of the system, and then be ready to dive in further here.
Also see the API Reference.
Delivery System REST APIs
The delivery system APIs are centered around repositories, otherwise known as repos. You can manage repos through a group of REST APIs that allow you to add, get, and list your repos. You can also use REST API calls to manipulate files in repos.
You can use the command-line tool curl to use the REST APIs. The REST APIs return responses in JSON format containing the following information on success:
- name: The repo name. This is the same as the name found in the REST API URLs.
- public_url: The base URL where the repo files can be seen.
The Step-by-Step: Delivery System provides a hands-on guide to using the Delivery System APIs.
Authentication
You must authorize yourself using OAuth access tokens. OAuth access tokens should be used for all API requests.
To authenticate your requests, use the following header format:
--header "Authorization: Bearer $ACCESS_TOKEN"
See the Getting Access Tokens guide for instructions on obtaining OAuth credentials and access tokens.
API Error responses
There are a number of possible error responses that can returned in JSON format when there's an issue with a REST API call:
- If you try to call an API which does not exist, including misspelling existing API calls, you will get a status code of 404 and a helpful message about what you may have done wrong.
- If your call can not be authenticated or authorized, you will get a 403 status code. Try going over the OAuth guide again to ensure you have a valid access token.
- If you try to use a method other than GET or PUT, the response will contain a 405 status code.
- If there's a problem with processing your request, you'll get a 500 status code and a standard Brightcove error response.
The standard Brightcove error response mentioned above is a JSON response containing error_code and message properties. The error code will be one of the following:
ACCESS_TOKEN_ERROR: the access token given was not valid or expiredINVALID_API_CALL: the API call was not formatted properlyNOT_FOUND: the API call was not pointing to a known resource or was not formatted properlyNO_PUT_CONTENTS: A multi-part form with a contents key must be used to PUT a repo fileCREATE_REPO_ERROR: an error occurred while creating a repoGET_REPO_ERROR: an error occurred while getting a repoGET_REPOS_ERROR: an error occurred while getting all reposUNCAUGHT_ERROR: an uncaught error caused things to failUNKNOWN_ERROR: an error which doesn't have an associated error code has happened