Description

CuttingRoom makes the process of capturing, editing, and publishing content seamless. CuttingRoom lets you capture content directly from live streams, the CuttingRoom Reporter iPhone app, or any of your connected cloud sources, and collaborate in real-time when editing. The provided integrations make it quick and easy to upload footage from your external cloud servers, and publish content directly to your favorite media platforms.

The CuttingRoom API offers comprehensive documentation and guidance for developers seeking to integrate and leverage the features of the CuttingRoom platform within their applications and services.

Supported Operations

Authentication Service

Fetch API key

## Fetch all the API key available for a particular tenant There can be multiple apiKey per tenant. You can fetch the list of apiKey with this API.

Generate API key

## Generates API for external useage. As per the project plan, we want to deliver API's for the users of our platform to be able to use our platform externally. To be able to do that we need some kind of mechanism to seperate and authenticate our users. With this in mind we will deliver our users an apiKey that they will pass along with each API request. The apiKey is an encrypted key with the tenant name as an object inside it. This will allow us to authenticate the users and get necessary information from a dynamoDB table for further usage.

Update API key

## Updates an existing API key After creation of the apiKey the user can choose to update/refresh the apiKey. By updating the apiKey meaning that, they can choose to update the kayName, enable/disable the apiKey or even refresh/rotate the apiKey.

Authenticate

The authentication endpoint is a crucial part of the CuttingRoom API service, allowing clients to securely authenticate their users and obtain a JSON Web Token (JWT) for subsequent API requests. This endpoint verifies the provided email and password combination and, if authorized, generates a JWT token that grants access to the SaaS service and its associated resources. If the email is connected to more than one service, an optional `tenant` can also be provided to sepcify which CuttingRoom it should authenticate towards.

Authenticate with MFA

The Multi-Factor Authentication (MFA) endpoint enhances the security of user authentication within our SaaS service by requiring an additional factor of verification. This endpoint allows clients to authenticate their users using a combination of factors, such as a password and a one-time verification code, ensuring stronger protection against unauthorized access.

Change temporary password

## Change the temporary password received from cognito with a new one Use the cuttingroom credentials and a new password to be able to change the temporary password. This endpoint will allow you to authenticate user when the user hasn't been changed the temporary password yet.

Confirm Recover Password

## Confirm password recovery with code Once the recovery code has been received, this endpoint can be used to confirm the password recovery.

Recover Password

## Request for a password recovery code This endpoint allows us to request for a password recovery. The api will initiate either the forgot password or reset password workflow depending on the status of the user. If the user already changed his password during first time login then forgot password workflow will be initiated and a authentication code will be sent to user's email. If the password hasn't been changed yet then reset password workflow will be initiated and user will receive a temporary password.

Get SSO Config

# Fetch sso details of the user Checks if the user has a sso configured for the specified tenant. If there is a sso configuration found then it is returned. Otherwise false is returned as there is no sso.

Refresh token

The Refresh Token endpoint allows clients to exchange a refresh token for a new access token, providing a seamless way to extend the validity of a user's authentication session without requiring re-authentication. This endpoint ensures uninterrupted access to resources within our SaaS service.

Verify token

## Verify authentication token The API returns a boolean flag depending on wheather the bearer token attached in the header is valid or not.

Content connectors

Checks if an authentication is valid at the specific content connector

List all connectors

This endpoint will return all content connectors available, including the sources with localized content. The id of the results of this query can then be used to query the content connector, retrieve thumbnails or files.

Create connector

This will create a new content connector. The config and authentication will be specific for each content connector. See the examples for the specifics of each connector.

Looks up station information

Displays station information from an EPG provider.

Get connector

Returns a single connecter by id

Update the content connector

Updates a single content connector

Delete the content connector

Deletes the content connector. The localized content will not be deleted, so creating an equal content connector will retain the localized content. For instance, deleting a S3 connector and creating the same connector again will remap the localize content.

List exported segments in a channel

Lists all exports that has been generated on this channel.

Export segment from channel

Export a segment from a channel. The segment is based on a range with millisecond precision. The exported clip will be uploaded to a destination content connector optionally with some metadata.

Displays an EPG schedule for the channel

Displays an EPG schedule for the channel.

Localize file

This method with start to localize a file from an external source and report on the progress. This can also be used to check progress of a clip downloading from a stream through a content connector like AWS MediaPackage.

Clip video from stream

Download a clip from a stream with metadata. The fileId needs to be a *url-encoded* string with the following parts: <channelId>/<date>/range-<start ms>-<end ms>-<clip id> * channelId - The id of the channel as stored in the content connector * date - The date in the format yyyy/mm/dd * start - Absolute start time in seconds since EPOC * end - Absolute end time in seconds since EPOC * clip id - A unique id for this clip Example ======= ``` channelId: 761f422bb93edb7c date: 2022/02/04 start: 1643957046 end ms: 1643957106 clip id: 123498625 ``` **fileId - no encoding:** `761f422bb93edb7c/2022/02/04/range-1643957046-1643957106-clip-123498625` **fileId - url-encoded:** `761f422bb93edb7c%2F2022%2F02%2F04%2Frange-1643957046-1643957106-clip-123498625`

List all metadata definitions

An asset may have descriptive metadata associated with it, like title, description, tags etc. In addition, the metadata can be time-based, like chapter or comments throughout the video. The content connectors that supports this can return a list of valid metadata that can be used. This will be a list of "metadata views", different sets of metadata available. This endpoint will return a list of valid metdata definitions if it supports logging metadata to an asset.

List metadata on an asset

List all metadata on an asset

Create metadata on an asset

Creates a metadata entry on an external asset

Query the content connector

Query the content connector

Show source information

Returns information about the source video, including a url to the video for download. The file information can be returned in XMP format by adding an optional query parameter, `format=xmp`.

Get item's thumbnail

Returns the thumbnail or preview image sprite for a media asset

Media Renditions

List all media renditions

List all media renditions

Create media rendition

Create a new media rendition

Get media rendition

Get a specific media rendition

Update media rendition

Update media rendition

Delete media rendition

Delete media rendition

Projects Service

Get Project List

## Get Projects List Endpoint for getting a list of existing CuttingRoom projects Returns a list of available projects. The query is filterable by project title, filtering conditions, edited by, contributed by etc.

Get Project Info

# Fetch information of a spacified project Returns an object containing information of a particular projectId. The API queries the detailed project information by the specified projectId and returns as a response.

Reporter

List destinations

List all reporter destinations

Create destination

Create a new destination

Get destination

Retrieve a Reporter destination.

Update destination

Update a Reporter destination.

Delete reporter destination by Id

Delete a Reporter destination.

Get upload credentials

Get temporary credentials for uploading content.

Users

Get tenant

Retrieve requesting subscriber/tenant information

Create tenant

Create new subscriber/tenant. along with a new subscriber, a new deafult user is created under the created tenant. no auth is required for this operation.

Update tenant

update information of the requesting subscriber

Delete tenant

delete requesting subscriber

Update by id

Update sepcific user by email.

Delete by Id

Delete specific user by email.

List users

List all users.

Create user

Create a new user.

Get user

Retrieve a user by id.

Update user

Update a specific user by id.

Delete by Id

Delete a specific user by id.

Details
Preview

This item is available for early access. It is still in development and may contain experimental features or limitations.

Last Update

4 months ago

Includes
cuttingroom-authentication-api
cuttingroom-content-connectors-api
cuttingroom-media-renditions-api
cuttingroom-projects-api
cuttingroom-reporter-api
cuttingroom-users-api
cuttingroom-auth