CuttingRoom
EditingPublished by
Techtriq
CuttingRoom
EditingCuttingRoom 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.
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.
This item is available for early access. It is still in development and may contain experimental features or limitations.
4 months ago