Freecaster Platform API (12.5.17)

Download OpenAPI specification:Download

Introduction

The Freecaster API gives users total control over the Freecaster video platform and allows them to seamlessly integrate it into their workflows.

Based on the JSON:API specifications, the API provides access to all features and functionality of the platform, including the ability to manage video content and metadata, control player settings, etc.

With the Freecaster API, users can automate tasks and easily integrate the platform with other tools and services. Whether you need to make small adjustments or large-scale changes, the Freecaster API puts the power in your hands to customize and optimize the platform for your specific needs.

⚠️ The API and its documentation are work in progress and subject to change.

Token

Generate Token

Generate a JWT token used to access the API calls

Request Body schema: application/json
client_id
required
string <uuid>
client_secret
required
string
scope
string

Responses

Response Schema: application/json
token_type
string
Value: "Bearer"
expires_in
integer

Token expiration (in seconds)

access_token
string

Request samples

Content type
application/json
{
  • "client_id": "95c9558d-ca6f-45bc-8de6-37c5349282e0",
  • "client_secret": "xMeKLww9pX7ZsYqeEIXr9LljybpMEpDX6QPsAh4S",
  • "scope": "roles"
}

Response samples

Content type
application/json
{
  • "token_type": "Bearer",
  • "expires_in": 1296000,
  • "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5NWUxYTgzZC0wYjU3LTQ4NjktYmQ2ZS03YzZjNzMzYTg2MjEiLCJqdGkiOiJkYzc0NWFhZGEzNTdlZmNmMmZkYzJhZTFjY2FiMjcyOGYwMmMzMWJjMTViMzA5YTYwMjZlODkyYWUyMDQ0YmUzMGVlZTZiMmU3OGM3OTNmMCIsImlhdCI6MTY0OTIzOTQ2NS4xODg0OSwibmJmIjoxNjQ5MjM5NDY1LjE4ODQ5NSwiZXhwIjoxNjUwNTM1NDY1LjE0OTEzOCwic3ViIjoiIiwic2NvcGVzIjpbIioiXSwibmFtZSI6Ik5ldyBhZG1pbiIsImVtYWlsIjoiZGV2K3RlbmFudEBmcmVlY2FzdGVyLmNvbSIsInRlbmFudCI6ImNsaWVudC1uYW1lIn0.amAsTy8Cjwr_Fu_gqLeHhgRsTtBS4FZDDIPp_zzkF-3Ofv92YBUr02svXvZpyYQ_rfe4IsKEGhsJr7gQvrR0AUz7QQUORUG_J45LTCIsab0nh_Gz_8KBrYrsn0RZGcVqOf8A_TGFAlVQt26Pz5FQmFFBPvwPinx6qjqXnSx5xzS8YtAp5ksME7cUErdngALrLdWvbdZTcEHaFFKoqZt0vc-_S6vXh7A5OfZ1sY1vqDKxGalvFxQ1hm66_SDzDNAYNEq6RQrDes0cRReIbR8W7wEy7kEOzryiOoO0Yfl7UJCPFgKlTquY9afvfUTRlned78n8h_jaohC1K59TNgo8GRoDS_Ad_ouZDGfEsOhvlTIe0Vhw88IN6EULceKsm2HWE7DgSjw2C9MA7TLckQMTN2QDjxqrLuGu6eekHB_VqIrvgAh9Kg3bRCNeK7yRzQlG8h-qJ88BdRTMno9I8z9Pw_YkxwdC0ih6NAUGcmRI4nRlC1nYXr0bntTOwX2IfKhZWw7Hmrck-6j5uF5yYb0pQF7V11AbdrZ4Iw6TIELCvWLmIbQ81Wpc3B6XTt8L74mxDSurOmv87Sc-pdzLwtNcSKfQlfIfsfJhb6IQRwB8HsjDQM47Jy-mvTcGqxq6vu6OKwNjR5UFqrxEQAt56TaxM3iZ5UcMUW_qNu6QhO1rLBU"
}

Ingest

S3 Upload

Generate a signed URL to upload a video to the ingest S3 bucket.

The upload must be done as a PUT request with the video file as body (see the AWS documentation for more information).

After the upload has completed, your file will be transcoded. Once the transcoding has finished or has failed, you will receive a callback through the registered webhooks.

Authorizations:
access-token
Request Body schema: application/vnd.api+json
required
object
type
required
string
Value: "s3upload"
object or object
Any of
filename
string

Name of the file on the S3 bucket

type
string
Default: "video"
Enum: "subtitles" "captions" "descriptions" "image" "video"

Type of file

locale
string

Locale of the file

multipart
boolean
Default: false

Make a multipart upload

expires_in
integer
Default: 1800

How long the upload URL will be valid (in seconds)

object (request-meta)
custom_ref
string or object

Optional custom reference
Its value will be passed to the webhook payload of the events related to this API call.

Responses

Response Schema: application/vnd.api+json
object (s3upload-jsonapi)
object
type
string
Value: "s3upload"
object (s3upload-attributes)

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    • "type": "s3upload",
    • "attributes": {
      • "filename": "myvideo.mp4"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "data": {
      • "type": "s3upload",
      • "attributes": {
        • "video": {
          • "title": "My Video Title",
          • "description": "This is the description of my video",
          • "created_at": "2021-09-28T14:15:00Z",
          • "updated_at": "2021-09-28T14:15:00Z",
          • "published": true,
          • "published_at": "2021-09-28T14:15:00Z",
          • "unpublished_at": "2021-09-28T14:15:00Z",
          • "slug": "my-video",
          • "live": false,
          • "countdown_time": "2030-09-28T14:15:00Z"
          }
        }
      }
    }
}

S3 Upload Multipart

Generate an array of signed URLs to upload a video to the ingest S3 bucket.

Authorizations:
access-token
Request Body schema: application/vnd.api+json
required
object
type
required
string
Value: "s3upload"
object or object
Any of
filename
string

Name of the file on the S3 bucket

type
string
Default: "video"
Enum: "subtitles" "captions" "descriptions" "image" "video"

Type of file

locale
string

Locale of the file

multipart
boolean
Default: false

Make a multipart upload

expires_in
integer
Default: 1800

How long the upload URL will be valid (in seconds)

object (request-meta)
custom_ref
string or object

Optional custom reference
Its value will be passed to the webhook payload of the events related to this API call.

Responses

Response Schema: application/vnd.api+json
object (s3upload-multipart-jsonapi)
object
type
string
Value: "s3upload"
object (s3upload-multipart-attributes)

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    • "type": "s3upload",
    • "attributes": {
      • "filename": "myvideo.mp4"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "data": {
      • "type": "s3upload",
      • "attributes": {
        • "uploads": [
          • {
            }
          ],
        • "video": {
          • "title": "My Video Title",
          • "description": "This is the description of my video",
          • "created_at": "2021-09-28T14:15:00Z",
          • "updated_at": "2021-09-28T14:15:00Z",
          • "published": true,
          • "published_at": "2021-09-28T14:15:00Z",
          • "unpublished_at": "2021-09-28T14:15:00Z",
          • "slug": "my-video",
          • "live": false,
          • "countdown_time": "2030-09-28T14:15:00Z"
          }
        }
      }
    }
}

S3 Upload multipart complete

Complete the multipart upload and reassemble all the parts.

Authorizations:
access-token
Request Body schema: application/vnd.api+json
object
type
required
string
Value: "s3uploadComplete"
object
upload_id
required
string

AWS upload ID

key
required
string

AWS key

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "s3uploadComplete",
    • "attributes": {
      • "upload_id": "string",
      • "key": "string"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Videos

List Videos

List all videos

Authorizations:
access-token
query Parameters
filter[published]
boolean
Default: true
Example: filter[published]=false

Show only published (true) or unpublished (false) videos

filter[live]
boolean
Example: filter[live]=true

Show only live (true) or on-demand (false) videos

sort
string
Default: "-published_at"
Example: sort=title

Sort results by the given attribute

page[number]
integer
Default: "0"
Example: page[number]=1

Page number

page[size]
integer
Default: "15"
Example: page[size]=50

Page size

include
string
Example: include=parents,poster

Comma-separated list of relationships to include in the response

Responses

Response Schema: application/vnd.api+json
Array of objects (video-jsonapi)
Array
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "video",
      • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
      • "attributes": {
        • "title": "My Video Title",
        • "description": "This is the description of my video",
        • "created_at": "2021-09-28T14:15:00Z",
        • "updated_at": "2021-09-28T14:15:00Z",
        • "published": true,
        • "published_at": "2021-09-28T14:15:00Z",
        • "unpublished_at": "2021-09-28T14:15:00Z",
        • "slug": "my-video",
        • "live": false,
        • "countdown_time": "2030-09-28T14:15:00Z"
        }
      }
    ]
}

Create Video

Create a new video

Authorizations:
access-token
Request Body schema: application/vnd.api+json
object
type
required
string
Value: "video"
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

Responses

Response Schema: application/vnd.api+json
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "video",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "published": true
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    }
}

Get Video

Get a video

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

query Parameters
include
string
Example: include=parents,poster

Comma-separated list of relationships to include in the response

Responses

Response Schema: application/vnd.api+json
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

object (video-meta)
duration
number
object (delivery-urls)
Array of objects (url)
Array of objects (url)
Array of objects (url)
object (ingest-urls)
Array of objects (url)
Array of objects (url)

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    },
  • "meta": {
    • "duration": 10.5,
    • "delivery_urls": {
      • "progressive": [
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          }
        ],
      },
    • "ingest_urls": {}
    }
}

Edit Video

Edit a video

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

Request Body schema: application/vnd.api+json
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

Responses

Response Schema: application/vnd.api+json
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

object (video-meta)
duration
number
object (delivery-urls)
Array of objects (url)
Array of objects (url)
Array of objects (url)
object (ingest-urls)
Array of objects (url)
Array of objects (url)

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    },
  • "meta": {
    • "duration": 10.5,
    • "delivery_urls": {
      • "progressive": [
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          }
        ],
      },
    • "ingest_urls": {}
    }
}

Delete Video

Delete a video

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Get poster

Get the active poster of a video

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

Responses

Response Schema: application/vnd.api+json
object (poster-jsonapi)
type
required
string
Value: "poster"
id
string <uuid>
required
object (poster-attributes)
created_at
string

Time when the poster was created

updated_at
string

Time when the poster was last modified

locale
string
is_active
boolean
object (poster-meta)
url
required
string <uri>

The URL contains the string %{SIZE} which must be replaced by the desired poster dimension (e.g. 1920x1080, 640x360, 200x200, etc.).
If you remove the /%{SIZE} part from the URL, you will get the original full-frame picture.

country
string

Country where this URL is available

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "poster",
    • "id": "94b93ff9-a30e-4ed7-8679-5526d0e1b8db",
    • "attributes": {
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "locale": "en-GB",
      • "is_active": true
      }
    },
  • "meta": {}
}

Attach Poster

Create and associate a poster to a video. There are two ways to attach a poster, either through an image upload or through extraction from the video given a timestamp.

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

Request Body schema:
poster
file

Binary upload data

Responses

Response Schema: application/vnd.api+json
object (poster-jsonapi)
type
required
string
Value: "poster"
id
string <uuid>
required
object (poster-attributes)
created_at
string

Time when the poster was created

updated_at
string

Time when the poster was last modified

locale
string
is_active
boolean
object (poster-meta)
url
required
string <uri>

The URL contains the string %{SIZE} which must be replaced by the desired poster dimension (e.g. 1920x1080, 640x360, 200x200, etc.).
If you remove the /%{SIZE} part from the URL, you will get the original full-frame picture.

country
string

Country where this URL is available

Request samples

Content type
No sample

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "poster",
    • "id": "94b93ff9-a30e-4ed7-8679-5526d0e1b8db",
    • "attributes": {
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "locale": "en-GB",
      • "is_active": true
      }
    },
  • "meta": {}
}

Get posters

Get all posters from a video

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

Responses

Response Schema: application/vnd.api+json
Array of objects (poster-jsonapi)
Array
type
required
string
Value: "poster"
id
string <uuid>
required
object (poster-attributes)

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "poster",
      • "id": "94b93ff9-a30e-4ed7-8679-5526d0e1b8db",
      • "attributes": {
        • "created_at": "2021-09-28T14:15:00Z",
        • "updated_at": "2021-09-28T14:15:00Z",
        • "locale": "en-GB",
        • "is_active": true
        }
      }
    ]
}

Transcode Video

Create and transcode a video

Authorizations:
access-token
Request Body schema: application/vnd.api+json
object
type
required
string
Value: "video"
required
object
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

required
Array of strings or objects non-empty

One or more input files URLs
URLs can be absolute or relative to the ingest storage.

Responses

Response Schema: application/vnd.api+json
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "video",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "input_files": [
        • "path/to/video_file.mp4"
        ]
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    }
}

List Versions

List all versions

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

query Parameters
filter[locale]
string
Example: filter[locale]=eng-gb

Show only versions matching the given locale

page[number]
integer
Default: "0"
Example: page[number]=1

Page number

page[size]
integer
Default: "15"
Example: page[size]=50

Page size

Responses

Response Schema: application/vnd.api+json
Array of objects
Array
type
required
string
Value: "version"
id
string <uuid>
required
object (version-attributes)
object (version-meta)

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "version",
      • "id": "3243cb0a-9ede-4839-9a2c-4ec3bc1cc506",
      • "attributes": {
        • "name": "default",
        • "type": "vod",
        • "is_active": true,
        • "duration": 300.5,
        • "start_offset": [
          • 307373100000,
          • 1668782233000
          ],
        • "end_offset": [
          • 307373100000,
          • 1668782233000
          ],
        • "meta": { }
        },
      • "meta": {
        • "ingest_urls": {},
        • "delivery_urls": {
          • "progressive": [
            ],
          }
        }
      }
    ]
}

Get Version

Get version

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

versionUuid
required
string <uuid>
Example: 3243cb0a-9ede-4839-9a2c-4ec3bc1cc506

UUID of the version

Responses

Response Schema: application/vnd.api+json
object (version-jsonapi)
type
required
string
Value: "version"
id
string <uuid>
required
object (version-attributes)
name
string

Name of the version

type
string or null
Enum: "vod" "live" "replay" "clip"

Type of version

is_active
boolean

Activation flag

duration
number or null

Duration of the version (in seconds)

start_offset
integer or null

Defines the start offset of the instant replay of a live stream
Absolute UNIX timestamp in milliseconds

end_offset
integer or null

Defines the end offset of the instant replay of a live stream
Absolute UNIX timestamp in milliseconds

meta
object

Version metadata

object (version-meta)
object (ingest-urls)
Array of objects (url)
Array of objects (url)
object (delivery-urls)
Array of objects (url)
Array of objects (url)
Array of objects (url)

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "version",
    • "id": "3243cb0a-9ede-4839-9a2c-4ec3bc1cc506",
    • "attributes": {
      • "name": "default",
      • "type": "vod",
      • "is_active": true,
      • "duration": 300.5,
      • "start_offset": [
        • 307373100000,
        • 1668782233000
        ],
      • "end_offset": [
        • 307373100000,
        • 1668782233000
        ],
      • "meta": { }
      }
    },
  • "meta": {
    • "ingest_urls": {},
    • "delivery_urls": {
      • "progressive": [
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          }
        ],
      }
    }
}

Edit Version

Edit a version

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

versionUuid
required
string <uuid>
Example: 3243cb0a-9ede-4839-9a2c-4ec3bc1cc506

UUID of the version

Request Body schema: application/vnd.api+json
object (version-jsonapi)
type
required
string
Value: "version"
id
string <uuid>
required
object (version-attributes)
name
string

Name of the version

type
string or null
Enum: "vod" "live" "replay" "clip"

Type of version

is_active
boolean

Activation flag

duration
number or null

Duration of the version (in seconds)

start_offset
integer or null

Defines the start offset of the instant replay of a live stream
Absolute UNIX timestamp in milliseconds

end_offset
integer or null

Defines the end offset of the instant replay of a live stream
Absolute UNIX timestamp in milliseconds

meta
object

Version metadata

Responses

Response Schema: application/vnd.api+json
object (version-jsonapi)
type
required
string
Value: "version"
id
string <uuid>
required
object (version-attributes)
name
string

Name of the version

type
string or null
Enum: "vod" "live" "replay" "clip"

Type of version

is_active
boolean

Activation flag

duration
number or null

Duration of the version (in seconds)

start_offset
integer or null

Defines the start offset of the instant replay of a live stream
Absolute UNIX timestamp in milliseconds

end_offset
integer or null

Defines the end offset of the instant replay of a live stream
Absolute UNIX timestamp in milliseconds

meta
object

Version metadata

object (version-meta)
object (ingest-urls)
Array of objects (url)
Array of objects (url)
object (delivery-urls)
Array of objects (url)
Array of objects (url)
Array of objects (url)

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "version",
    • "id": "3243cb0a-9ede-4839-9a2c-4ec3bc1cc506",
    • "attributes": {
      • "name": "default",
      • "type": "vod",
      • "is_active": true,
      • "duration": 300.5,
      • "start_offset": [
        • 307373100000,
        • 1668782233000
        ],
      • "end_offset": [
        • 307373100000,
        • 1668782233000
        ],
      • "meta": { }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "version",
    • "id": "3243cb0a-9ede-4839-9a2c-4ec3bc1cc506",
    • "attributes": {
      • "name": "default",
      • "type": "vod",
      • "is_active": true,
      • "duration": 300.5,
      • "start_offset": [
        • 307373100000,
        • 1668782233000
        ],
      • "end_offset": [
        • 307373100000,
        • 1668782233000
        ],
      • "meta": { }
      }
    },
  • "meta": {
    • "ingest_urls": {},
    • "delivery_urls": {
      • "progressive": [
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          }
        ],
      }
    }
}

Delete Version

Delete version

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

versionUuid
required
string <uuid>
Example: 3243cb0a-9ede-4839-9a2c-4ec3bc1cc506

UUID of the version

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Activate Version

Activate a version

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

versionUuid
required
string <uuid>
Example: 3243cb0a-9ede-4839-9a2c-4ec3bc1cc506

UUID of the version

Responses

Response Schema: application/vnd.api+json
object (version-jsonapi)
type
required
string
Value: "version"
id
string <uuid>
required
object (version-attributes)
name
string

Name of the version

type
string or null
Enum: "vod" "live" "replay" "clip"

Type of version

is_active
boolean

Activation flag

duration
number or null

Duration of the version (in seconds)

start_offset
integer or null

Defines the start offset of the instant replay of a live stream
Absolute UNIX timestamp in milliseconds

end_offset
integer or null

Defines the end offset of the instant replay of a live stream
Absolute UNIX timestamp in milliseconds

meta
object

Version metadata

object (version-meta)
object (ingest-urls)
Array of objects (url)
Array of objects (url)
object (delivery-urls)
Array of objects (url)
Array of objects (url)
Array of objects (url)

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "version",
    • "id": "3243cb0a-9ede-4839-9a2c-4ec3bc1cc506",
    • "attributes": {
      • "name": "default",
      • "type": "vod",
      • "is_active": true,
      • "duration": 300.5,
      • "start_offset": [
        • 307373100000,
        • 1668782233000
        ],
      • "end_offset": [
        • 307373100000,
        • 1668782233000
        ],
      • "meta": { }
      }
    },
  • "meta": {
    • "ingest_urls": {},
    • "delivery_urls": {
      • "progressive": [
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          }
        ],
      }
    }
}

Live

Create Live

Create a live event

Authorizations:
access-token
Request Body schema: application/vnd.api+json
object
type
required
string
Value: "live"
required
object (live-create)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

archive_size
integer
Default: 3600

Size of the live archive (in seconds)

dvr_window
integer
Default: 60

Size of the DVR window (in seconds)

archiving
boolean
Default: true

Sets whether a live Entrypoint will have an archive or not.

object
rtmp_ingest
boolean
Default: false

Set to true if you need an RTMP ingest point instead of a Smooth Streaming ingest point.

Responses

Response Schema: application/vnd.api+json
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

object (video-meta)
duration
number
object (delivery-urls)
Array of objects (url)
Array of objects (url)
Array of objects (url)
object (ingest-urls)
Array of objects (url)
Array of objects (url)

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "live",
    • "attributes": {
      • "title": "string",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z",
      • "archive_size": 3600,
      • "dvr_window": 60,
      • "archiving": true,
      • "delivery_filters": {
        • "max_width": 1280
        },
      • "rtmp_ingest": false
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    },
  • "meta": {
    • "duration": 10.5,
    • "delivery_urls": {
      • "progressive": [
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          }
        ],
      },
    • "ingest_urls": {}
    }
}

Update Live

Update a live event

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

Request Body schema: application/vnd.api+json
object
type
required
string
Value: "live"
required
object (live-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

archive_size
integer
Default: 3600

Size of the live archive (in seconds)

dvr_window
integer
Default: 60

Size of the DVR window (in seconds)

archiving
boolean
Default: true

Sets whether a live Entrypoint will have an archive or not.

object

Responses

Response Schema: application/vnd.api+json
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

object (video-meta)
duration
number
object (delivery-urls)
Array of objects (url)
Array of objects (url)
Array of objects (url)
object (ingest-urls)
Array of objects (url)
Array of objects (url)

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "live",
    • "attributes": {
      • "title": "string",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z",
      • "archive_size": 3600,
      • "dvr_window": 60,
      • "archiving": true,
      • "delivery_filters": {
        • "max_width": 1280
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    },
  • "meta": {
    • "duration": 10.5,
    • "delivery_urls": {
      • "progressive": [
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          }
        ],
      },
    • "ingest_urls": {}
    }
}

Start Live

Deactivate the waiting screen in the player and start playing the live stream

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

Responses

Response Schema: application/vnd.api+json
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

object (video-meta)
duration
number
object (delivery-urls)
Array of objects (url)
Array of objects (url)
Array of objects (url)
object (ingest-urls)
Array of objects (url)
Array of objects (url)

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    },
  • "meta": {
    • "duration": 10.5,
    • "delivery_urls": {
      • "progressive": [
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          }
        ],
      },
    • "ingest_urls": {}
    }
}

Stop Live

Stop playing the live stream in the player and show the end screen

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

Responses

Response Schema: application/vnd.api+json
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

object (video-meta)
duration
number
object (delivery-urls)
Array of objects (url)
Array of objects (url)
Array of objects (url)
object (ingest-urls)
Array of objects (url)
Array of objects (url)

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    },
  • "meta": {
    • "duration": 10.5,
    • "delivery_urls": {
      • "progressive": [
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          }
        ],
      },
    • "ingest_urls": {}
    }
}

Clipping

Create Clip

Create a clip from a video
If you specify a slug that is already used by an existing video, it will create a new version of that video (and update its title if specified in the attributes).

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

Request Body schema: application/vnd.api+json
object
type
string
Value: "clip"
clip-section (object) or clip-attributes (object) (clip-attributes)
One of
start
string or integer or null

Start timestamp
Can be an absolute timestamp (string or UNIX timestamp in milliseconds) or relative timestamp (in milliseconds)
If set to null, the clipping will start from the moment of the call

end
string or integer or null

End timestamp
Can be an absolute timestamp (string or UNIX timestamp in milliseconds) or relative timestamp (in milliseconds)
If set to null, the clipping will end whenever the live stream ends

languages
Array of strings

List of languages to clip, must be in either ISO 639-1 (Two letters codes) or ISO 639-2B (Three letters codes)

title
string

Resulting video title

slug
string

Resulting video slug
Can be used as a correlation key between a third party and the platform
Must be unique

target
string or null
Default: "video"

Target of the new clip
video: The default. The clip will be created in a new video
version: The clip will be created as a new version (stream preset) of the current video

object (request-meta)
custom_ref
string or object

Optional custom reference
Its value will be passed to the webhook payload of the events related to this API call.

Responses

Response Schema: application/vnd.api+json
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    • "type": "clip",
    • "attributes": {
      • "start": 1654086896,
      • "end": 1654088194
      }
    },
  • "meta": {
    • "custom_ref": "my-reference"
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    }
}

Create New Clip Version

Create a clip from a video as a new version of an existing clip.
The clip title can be updated if specified in the attributes.

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

clipUuid
required
string <uuid>
Example: 453fc82b-3508-4efa-8267-a159035dc20b

UUID of the existing clip

Request Body schema: application/vnd.api+json
object
type
string
Value: "clip"
clip-section (object) or clip-attributes (object) (clip-attributes)
One of
start
string or integer or null

Start timestamp
Can be an absolute timestamp (string or UNIX timestamp in milliseconds) or relative timestamp (in milliseconds)
If set to null, the clipping will start from the moment of the call

end
string or integer or null

End timestamp
Can be an absolute timestamp (string or UNIX timestamp in milliseconds) or relative timestamp (in milliseconds)
If set to null, the clipping will end whenever the live stream ends

languages
Array of strings

List of languages to clip, must be in either ISO 639-1 (Two letters codes) or ISO 639-2B (Three letters codes)

title
string

Resulting video title

slug
string

Resulting video slug
Can be used as a correlation key between a third party and the platform
Must be unique

target
string or null
Default: "video"

Target of the new clip
video: The default. The clip will be created in a new video
version: The clip will be created as a new version (stream preset) of the current video

object (request-meta)
custom_ref
string or object

Optional custom reference
Its value will be passed to the webhook payload of the events related to this API call.

Responses

Response Schema: application/vnd.api+json
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

Request samples

Content type
application/vnd.api+json
Example
{
  • "data": {
    • "type": "clip",
    • "attributes": {
      • "start": 1654086896,
      • "end": 1654088194
      }
    },
  • "meta": {
    • "custom_ref": "my-reference"
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    }
}

Chapters

List Chapters

List all chapters

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

query Parameters
sort
string
Default: "-published_at"
Example: sort=title

Sort results by the given attribute

page[number]
integer
Default: "0"
Example: page[number]=1

Page number

page[size]
integer
Default: "15"
Example: page[size]=50

Page size

Responses

Response Schema: application/vnd.api+json
Array of objects (chapter-jsonapi)
Array
type
required
string
Value: "chapter"
id
string <uuid>
required
object (chapter-attributes)

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "chapter",
      • "id": "94b93ff9-a30e-4ed7-8679-5526d0e1b8db",
      • "attributes": {
        • "title": "My Chapter Title",
        • "description": "This is a chapter with relative timestamps",
        • "created_at": "2021-09-28T14:15:00Z",
        • "updated_at": "2021-09-28T14:15:00Z",
        • "published": true,
        • "published_at": "2021-09-28T14:15:00Z",
        • "unpublished_at": "2021-09-28T14:15:00Z",
        • "slug": "my-chapter",
        • "start": 10000,
        • "end": 20000,
        • "is_clip": true
        }
      }
    ]
}

Create Chapter

Create a new chapter

Authorizations:
access-token
Request Body schema: application/vnd.api+json
object
type
required
string
Value: "chapter"
required
object (chapter-attributes)
title
string

Title of the chapter

description
string or null

Optional description of the chapter

created_at
string

Time when the chapter was created

updated_at
string

Time when the chapter was last modified

published
boolean

Whether the chapter is published or not

published_at
string or null

Time at which the chapter was published

unpublished_at
string or null

Time at which the chapter must be unpublished

slug
string or null

Computer-friendly identifier of the chapter
May be used as a correlation key between a third party and the platform
Must be unique

start
number

Start timestamp of the chapter (in milliseconds)

end
number

End timestamp of the chapter (in milliseconds)

is_clip
boolean

Flag determining whether this chapter is parent of a clip or not

Responses

Response Schema: application/vnd.api+json
object (chapter-jsonapi)
type
required
string
Value: "chapter"
id
string <uuid>
required
object (chapter-attributes)
title
string

Title of the chapter

description
string or null

Optional description of the chapter

created_at
string

Time when the chapter was created

updated_at
string

Time when the chapter was last modified

published
boolean

Whether the chapter is published or not

published_at
string or null

Time at which the chapter was published

unpublished_at
string or null

Time at which the chapter must be unpublished

slug
string or null

Computer-friendly identifier of the chapter
May be used as a correlation key between a third party and the platform
Must be unique

start
number

Start timestamp of the chapter (in milliseconds)

end
number

End timestamp of the chapter (in milliseconds)

is_clip
boolean

Flag determining whether this chapter is parent of a clip or not

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "chapter",
    • "attributes": {
      • "title": "My Chapter Title",
      • "description": "This is a chapter with relative timestamps",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-chapter",
      • "start": 10000,
      • "end": 20000,
      • "is_clip": true
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "chapter",
    • "id": "94b93ff9-a30e-4ed7-8679-5526d0e1b8db",
    • "attributes": {
      • "title": "My Chapter Title",
      • "description": "This is a chapter with relative timestamps",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-chapter",
      • "start": 10000,
      • "end": 20000,
      • "is_clip": true
      }
    }
}

Get Chapter

Get a chapter

Authorizations:
access-token
path Parameters
chapterUuid
required
string <uuid>
Example: 94b93ff9-a30e-4ed7-8679-5526d0e1b8db

UUID of the chapter

query Parameters
include
string
Example: include=parents,poster

Comma-separated list of relationships to include in the response

Responses

Response Schema: application/vnd.api+json
object (chapter-jsonapi)
type
required
string
Value: "chapter"
id
string <uuid>
required
object (chapter-attributes)
title
string

Title of the chapter

description
string or null

Optional description of the chapter

created_at
string

Time when the chapter was created

updated_at
string

Time when the chapter was last modified

published
boolean

Whether the chapter is published or not

published_at
string or null

Time at which the chapter was published

unpublished_at
string or null

Time at which the chapter must be unpublished

slug
string or null

Computer-friendly identifier of the chapter
May be used as a correlation key between a third party and the platform
Must be unique

start
number

Start timestamp of the chapter (in milliseconds)

end
number

End timestamp of the chapter (in milliseconds)

is_clip
boolean

Flag determining whether this chapter is parent of a clip or not

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "chapter",
    • "id": "94b93ff9-a30e-4ed7-8679-5526d0e1b8db",
    • "attributes": {
      • "title": "My Chapter Title",
      • "description": "This is a chapter with relative timestamps",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-chapter",
      • "start": 10000,
      • "end": 20000,
      • "is_clip": true
      }
    }
}

Edit Chapter

Edit a chapter

Authorizations:
access-token
path Parameters
chapterUuid
required
string <uuid>
Example: 94b93ff9-a30e-4ed7-8679-5526d0e1b8db

UUID of the chapter

Request Body schema: application/vnd.api+json
object (chapter-jsonapi)
type
required
string
Value: "chapter"
id
string <uuid>
required
object (chapter-attributes)
title
string

Title of the chapter

description
string or null

Optional description of the chapter

created_at
string

Time when the chapter was created

updated_at
string

Time when the chapter was last modified

published
boolean

Whether the chapter is published or not

published_at
string or null

Time at which the chapter was published

unpublished_at
string or null

Time at which the chapter must be unpublished

slug
string or null

Computer-friendly identifier of the chapter
May be used as a correlation key between a third party and the platform
Must be unique

start
number

Start timestamp of the chapter (in milliseconds)

end
number

End timestamp of the chapter (in milliseconds)

is_clip
boolean

Flag determining whether this chapter is parent of a clip or not

Responses

Response Schema: application/vnd.api+json
object (chapter-jsonapi)
type
required
string
Value: "chapter"
id
string <uuid>
required
object (chapter-attributes)
title
string

Title of the chapter

description
string or null

Optional description of the chapter

created_at
string

Time when the chapter was created

updated_at
string

Time when the chapter was last modified

published
boolean

Whether the chapter is published or not

published_at
string or null

Time at which the chapter was published

unpublished_at
string or null

Time at which the chapter must be unpublished

slug
string or null

Computer-friendly identifier of the chapter
May be used as a correlation key between a third party and the platform
Must be unique

start
number

Start timestamp of the chapter (in milliseconds)

end
number

End timestamp of the chapter (in milliseconds)

is_clip
boolean

Flag determining whether this chapter is parent of a clip or not

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "chapter",
    • "id": "94b93ff9-a30e-4ed7-8679-5526d0e1b8db",
    • "attributes": {
      • "title": "My Chapter Title",
      • "description": "This is a chapter with relative timestamps",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-chapter",
      • "start": 10000,
      • "end": 20000,
      • "is_clip": true
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "chapter",
    • "id": "94b93ff9-a30e-4ed7-8679-5526d0e1b8db",
    • "attributes": {
      • "title": "My Chapter Title",
      • "description": "This is a chapter with relative timestamps",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-chapter",
      • "start": 10000,
      • "end": 20000,
      • "is_clip": true
      }
    }
}

Delete Chapter

Delete a chapter

Authorizations:
access-token
path Parameters
chapterUuid
required
string <uuid>
Example: 94b93ff9-a30e-4ed7-8679-5526d0e1b8db

UUID of the chapter

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Subtitles

List Subtitles

List all subtitles

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

query Parameters
filter[locale]
string
Example: filter[locale]=eng-gb

Show only subtitles matching the given locale

page[number]
integer
Default: "0"
Example: page[number]=1

Page number

page[size]
integer
Default: "15"
Example: page[size]=50

Page size

Responses

Response Schema: application/vnd.api+json
Array of objects
Array
type
required
string
Value: "subtitle"
id
string <uuid>
required
object (subtitle-attributes)
object (subtitle-meta)

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "subtitle",
      • "id": "6462bcb1-ce61-4061-8f43-176694a1e9c5",
      • "attributes": {
        • "name": "English",
        • "locale": "eng-gb"
        },
      • "meta": {}
      }
    ]
}

Create Subtitles

Create new subtitles

Authorizations:
access-token
Request Body schema: Upload
subtitles
file

Subtitles file

locale
required
string

Locale of the subtitles
Must be a ISO 639 language code followed by an optional ISO 3166-1 alpha-2 country code (separated by a dash)

name
string

Name of the subtitles

Responses

Response Schema: application/vnd.api+json
object (subtitle-jsonapi)
type
required
string
Value: "subtitle"
id
string <uuid>
required
object (subtitle-attributes)
name
string

Name of the subtitles

locale
string

Locale of the subtitles
ISO 639 language code followed by an optional ISO 3166-1 alpha-2 country code (separated by a dash)

object (subtitle-meta)
object (schemas-delivery-urls)
Array of objects (url)
Array
url
required
string <uri>
country
string

Country where this URL is available

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "subtitle",
    • "id": "6462bcb1-ce61-4061-8f43-176694a1e9c5",
    • "attributes": {
      • "name": "English",
      • "locale": "eng-gb"
      }
    },
  • "meta": {}
}

Get Subtitle

Get subtitles

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

subtitleUuid
required
string <uuid>
Example: 8d5cc191-fa29-48ad-bf4d-5d6fe6b12a73

UUID of the subtitles

Responses

Response Schema: application/vnd.api+json
object (subtitle-jsonapi)
type
required
string
Value: "subtitle"
id
string <uuid>
required
object (subtitle-attributes)
name
string

Name of the subtitles

locale
string

Locale of the subtitles
ISO 639 language code followed by an optional ISO 3166-1 alpha-2 country code (separated by a dash)

object (subtitle-meta)
object (schemas-delivery-urls)
Array of objects (url)
Array
url
required
string <uri>
country
string

Country where this URL is available

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "subtitle",
    • "id": "6462bcb1-ce61-4061-8f43-176694a1e9c5",
    • "attributes": {
      • "name": "English",
      • "locale": "eng-gb"
      }
    },
  • "meta": {}
}

Edit Subtitles

Edit a subtitle

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

subtitleUuid
required
string <uuid>
Example: 8d5cc191-fa29-48ad-bf4d-5d6fe6b12a73

UUID of the subtitles

Request Body schema: application/vnd.api+json
object (subtitle-jsonapi)
type
required
string
Value: "subtitle"
id
string <uuid>
required
object (subtitle-attributes)
name
string

Name of the subtitles

locale
string

Locale of the subtitles
ISO 639 language code followed by an optional ISO 3166-1 alpha-2 country code (separated by a dash)

Responses

Response Schema: application/vnd.api+json
object (subtitle-jsonapi)
type
required
string
Value: "subtitle"
id
string <uuid>
required
object (subtitle-attributes)
name
string

Name of the subtitles

locale
string

Locale of the subtitles
ISO 639 language code followed by an optional ISO 3166-1 alpha-2 country code (separated by a dash)

object (subtitle-meta)
object (schemas-delivery-urls)
Array of objects (url)
Array
url
required
string <uri>
country
string

Country where this URL is available

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "subtitle",
    • "id": "6462bcb1-ce61-4061-8f43-176694a1e9c5",
    • "attributes": {
      • "name": "English",
      • "locale": "eng-gb"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "subtitle",
    • "id": "6462bcb1-ce61-4061-8f43-176694a1e9c5",
    • "attributes": {
      • "name": "English",
      • "locale": "eng-gb"
      }
    },
  • "meta": {}
}

Delete Subtitles

Delete subtitles

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

subtitleUuid
required
string <uuid>
Example: 8d5cc191-fa29-48ad-bf4d-5d6fe6b12a73

UUID of the subtitles

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Transcript

List transcripts

List all transcripts

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

query Parameters
filter[locale]
string
Example: filter[locale]=eng-gb

Show only transcripts matching the given locale

page[number]
integer
Default: "0"
Example: page[number]=1

Page number

page[size]
integer
Default: "15"
Example: page[size]=50

Page size

Responses

Response Schema: application/vnd.api+json
Array of objects
Array
type
required
string
Value: "transcript"
id
string <uuid>
required
object (transcript-attributes)
object (transcript-meta)

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "transcript",
      • "id": "ac5ea309-bd25-474e-ba46-583831f11f7c",
      • "attributes": {
        • "name": "English",
        • "locale": "eng-gb"
        },
      • "meta": {}
      }
    ]
}

Create transcript

Create a new transcript

Authorizations:
access-token
Request Body schema: Upload
transcripts
file

Transcript file

locale
required
string

Locale of the transcript
Must be a ISO 639 language code followed by an optional ISO 3166-1 alpha-2 country code (separated by a dash)

name
string

Name of the transcript

Responses

Response Schema: application/vnd.api+json
object (transcript-jsonapi)
type
required
string
Value: "transcript"
id
string <uuid>
required
object (transcript-attributes)
name
string

Name of the transcript

locale
string

Locale of the transcript
ISO 639 language code followed by an optional ISO 3166-1 alpha-2 country code (separated by a dash)

object (transcript-meta)
object (components-schemas-delivery-urls)
Array of objects (url)
Array
url
required
string <uri>
country
string

Country where this URL is available

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "transcript",
    • "id": "ac5ea309-bd25-474e-ba46-583831f11f7c",
    • "attributes": {
      • "name": "English",
      • "locale": "eng-gb"
      }
    },
  • "meta": {}
}

Get transcript

Get transcript

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

transcriptUuid
required
string <uuid>
Example: ac5ea309-bd25-474e-ba46-583831f11f7c

UUID of the transcript

Responses

Response Schema: application/vnd.api+json
object (transcript-jsonapi)
type
required
string
Value: "transcript"
id
string <uuid>
required
object (transcript-attributes)
name
string

Name of the transcript

locale
string

Locale of the transcript
ISO 639 language code followed by an optional ISO 3166-1 alpha-2 country code (separated by a dash)

object (transcript-meta)
object (components-schemas-delivery-urls)
Array of objects (url)
Array
url
required
string <uri>
country
string

Country where this URL is available

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "transcript",
    • "id": "ac5ea309-bd25-474e-ba46-583831f11f7c",
    • "attributes": {
      • "name": "English",
      • "locale": "eng-gb"
      }
    },
  • "meta": {}
}

Edit transcript

Edit a transcript

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

transcriptUuid
required
string <uuid>
Example: ac5ea309-bd25-474e-ba46-583831f11f7c

UUID of the transcript

Request Body schema: application/vnd.api+json
object (transcript-jsonapi)
type
required
string
Value: "transcript"
id
string <uuid>
required
object (transcript-attributes)
name
string

Name of the transcript

locale
string

Locale of the transcript
ISO 639 language code followed by an optional ISO 3166-1 alpha-2 country code (separated by a dash)

Responses

Response Schema: application/vnd.api+json
object (transcript-jsonapi)
type
required
string
Value: "transcript"
id
string <uuid>
required
object (transcript-attributes)
name
string

Name of the transcript

locale
string

Locale of the transcript
ISO 639 language code followed by an optional ISO 3166-1 alpha-2 country code (separated by a dash)

object (transcript-meta)
object (components-schemas-delivery-urls)
Array of objects (url)
Array
url
required
string <uri>
country
string

Country where this URL is available

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "transcript",
    • "id": "ac5ea309-bd25-474e-ba46-583831f11f7c",
    • "attributes": {
      • "name": "English",
      • "locale": "eng-gb"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "transcript",
    • "id": "ac5ea309-bd25-474e-ba46-583831f11f7c",
    • "attributes": {
      • "name": "English",
      • "locale": "eng-gb"
      }
    },
  • "meta": {}
}

Delete a transcript

Delete a transcript

Authorizations:
access-token
path Parameters
videoUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the video

transcriptUuid
required
string <uuid>
Example: ac5ea309-bd25-474e-ba46-583831f11f7c

UUID of the transcript

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Channels

Channels are used to group videos sharing the same configuration (player configurations, displays, etc.).

List Channels

List all channels

Authorizations:
access-token
query Parameters
sort
string
Default: "-published_at"
Example: sort=title

Sort results by the given attribute

page[number]
integer
Default: "0"
Example: page[number]=1

Page number

page[size]
integer
Default: "15"
Example: page[size]=50

Page size

Responses

Response Schema: application/vnd.api+json
Array of objects (channel-jsonapi)
Array
type
required
string
Value: "channel"
id
string <uuid>
required
object (channel-attributes)

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "channel",
      • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
      • "attributes": {
        • "title": "My Channel Title",
        • "description": "This is the description of my channel",
        • "created_at": "2021-09-28T14:15:00Z",
        • "updated_at": "2021-09-28T14:15:00Z",
        • "published": true,
        • "published_at": "2021-09-28T14:15:00Z",
        • "unpublished_at": "2021-09-28T14:15:00Z",
        • "slug": "my-channel"
        }
      }
    ]
}

Create Channel

Create a new channel

Authorizations:
access-token
Request Body schema: application/vnd.api+json
object
type
required
string
Value: "channel"
required
object (channel-attributes)
title
required
string

Title of the channel

description
string or null

Optional description of the channel

created_at
string

Time when the channel was created

updated_at
string

Time when the channel was last modified

published
boolean

Whether the channel is published or not

published_at
string or null

Time at which the channel was published

unpublished_at
string or null

Time at which the channel must be unpublished

slug
string or null

Computer-friendly identifier of the channel
May be used as a correlation key between a third party and the platform
Must be unique

Responses

Response Schema: application/vnd.api+json
object (channel-jsonapi)
type
required
string
Value: "channel"
id
string <uuid>
required
object (channel-attributes)
title
required
string

Title of the channel

description
string or null

Optional description of the channel

created_at
string

Time when the channel was created

updated_at
string

Time when the channel was last modified

published
boolean

Whether the channel is published or not

published_at
string or null

Time at which the channel was published

unpublished_at
string or null

Time at which the channel must be unpublished

slug
string or null

Computer-friendly identifier of the channel
May be used as a correlation key between a third party and the platform
Must be unique

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "channel",
    • "attributes": {
      • "title": "My Channel Title",
      • "description": "This is the description of my channel",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-channel"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "channel",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Channel Title",
      • "description": "This is the description of my channel",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-channel"
      }
    }
}

Get Channel

Get a channel

Authorizations:
access-token
path Parameters
channelUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the channel

Responses

Response Schema: application/vnd.api+json
object (channel-jsonapi)
type
required
string
Value: "channel"
id
string <uuid>
required
object (channel-attributes)
title
required
string

Title of the channel

description
string or null

Optional description of the channel

created_at
string

Time when the channel was created

updated_at
string

Time when the channel was last modified

published
boolean

Whether the channel is published or not

published_at
string or null

Time at which the channel was published

unpublished_at
string or null

Time at which the channel must be unpublished

slug
string or null

Computer-friendly identifier of the channel
May be used as a correlation key between a third party and the platform
Must be unique

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "channel",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Channel Title",
      • "description": "This is the description of my channel",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-channel"
      }
    }
}

Edit Channel

Edit a channel

Authorizations:
access-token
path Parameters
channelUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the channel

Request Body schema: application/vnd.api+json
object (channel-jsonapi)
type
required
string
Value: "channel"
id
string <uuid>
required
object (channel-attributes)
title
required
string

Title of the channel

description
string or null

Optional description of the channel

created_at
string

Time when the channel was created

updated_at
string

Time when the channel was last modified

published
boolean

Whether the channel is published or not

published_at
string or null

Time at which the channel was published

unpublished_at
string or null

Time at which the channel must be unpublished

slug
string or null

Computer-friendly identifier of the channel
May be used as a correlation key between a third party and the platform
Must be unique

Responses

Response Schema: application/vnd.api+json
object (channel-jsonapi)
type
required
string
Value: "channel"
id
string <uuid>
required
object (channel-attributes)
title
required
string

Title of the channel

description
string or null

Optional description of the channel

created_at
string

Time when the channel was created

updated_at
string

Time when the channel was last modified

published
boolean

Whether the channel is published or not

published_at
string or null

Time at which the channel was published

unpublished_at
string or null

Time at which the channel must be unpublished

slug
string or null

Computer-friendly identifier of the channel
May be used as a correlation key between a third party and the platform
Must be unique

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "channel",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Channel Title",
      • "description": "This is the description of my channel",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-channel"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "channel",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Channel Title",
      • "description": "This is the description of my channel",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-channel"
      }
    }
}

Delete Channel

Delete a channel

Authorizations:
access-token
path Parameters
channelUuid
required
string <uuid>
Example: d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6

UUID of the channel

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Configurations

List Player Configs

List all player configs

Authorizations:
access-token

Responses

Response Schema: application/vnd.api+json
Array of objects (player-config-jsonapi)
Array
type
required
string
Value: "playerConfig"
id
string <uuid>
required
object (player-config-attributes)

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "playerConfig",
      • "id": "cdcb0304-6504-4502-b008-7adb654a48ab",
      • "attributes": {
        • "name": "Player config name",
        • "dvr": true,
        • "muted": true,
        • "autoplay": true,
        • "dnt": false,
        • "controls": true,
        • "loop": false,
        • "preload": "auto",
        • "volumebar_type": "horizontal",
        • "player_skin_id": "403c6f8a-232d-4125-bb00-e86531686183",
        • "player_watermark_id": "21bab140-1e3a-4a4e-9d27-69d7f4ce679c",
        • "created_at": "2021-09-28T14:15:00Z",
        • "updated_at": "2021-09-28T14:15:00Z"
        }
      }
    ]
}

Create Player Config

Create a player config

Authorizations:
access-token
Request Body schema: application/json
object
type
required
string
Value: "playerDisplayField"
required
object (player-config-attributes)
name
required
string
dvr
boolean or null

Whether the timeline is active

muted
boolean or null

Whether the video stats in a muted state

autoplay
boolean or null

Whether the video starts automatically

dnt
boolean or null

Whether the tracking is disabled

controls
boolean or null

Whether the player controls are displayed

loop
boolean or null

Whether the video restarts upon ending

preload
string or null
Enum: "none" "metadata" "auto"

Indicates what the browser needs to preload (see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#attr-preload)

volumebar_type
string or null
Enum: "horizontal" "horizontal-autohide" "horizontal-inverted" "vertical" "toggle"
player_skin_id
string or null <uuid>
player_watermark_id
string or null <uuid>
created_at
string <date-time>

Time when the player config was last created

updated_at
string <date-time>

Time when the player config was last modified

Responses

Response Schema: application/vnd.api+json
object (player-config-jsonapi)
type
required
string
Value: "playerConfig"
id
string <uuid>
required
object (player-config-attributes)
name
required
string
dvr
boolean or null

Whether the timeline is active

muted
boolean or null

Whether the video stats in a muted state

autoplay
boolean or null

Whether the video starts automatically

dnt
boolean or null

Whether the tracking is disabled

controls
boolean or null

Whether the player controls are displayed

loop
boolean or null

Whether the video restarts upon ending

preload
string or null
Enum: "none" "metadata" "auto"

Indicates what the browser needs to preload (see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#attr-preload)

volumebar_type
string or null
Enum: "horizontal" "horizontal-autohide" "horizontal-inverted" "vertical" "toggle"
player_skin_id
string or null <uuid>
player_watermark_id
string or null <uuid>
created_at
string <date-time>

Time when the player config was last created

updated_at
string <date-time>

Time when the player config was last modified

Request samples

Content type
application/json
{
  • "data": {
    • "type": "playerDisplayField",
    • "attributes": {
      • "name": "Player config name",
      • "dvr": true,
      • "muted": true,
      • "autoplay": true,
      • "dnt": false,
      • "controls": true,
      • "loop": false,
      • "preload": "auto",
      • "volumebar_type": "horizontal",
      • "player_skin_id": "403c6f8a-232d-4125-bb00-e86531686183",
      • "player_watermark_id": "21bab140-1e3a-4a4e-9d27-69d7f4ce679c",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "playerConfig",
    • "id": "cdcb0304-6504-4502-b008-7adb654a48ab",
    • "attributes": {
      • "name": "Player config name",
      • "dvr": true,
      • "muted": true,
      • "autoplay": true,
      • "dnt": false,
      • "controls": true,
      • "loop": false,
      • "preload": "auto",
      • "volumebar_type": "horizontal",
      • "player_skin_id": "403c6f8a-232d-4125-bb00-e86531686183",
      • "player_watermark_id": "21bab140-1e3a-4a4e-9d27-69d7f4ce679c",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Get Player Config

Get a Player Config

Authorizations:
access-token
path Parameters
playerConfigUuid
required
string <uuid>
Example: cdcb0304-6504-4502-b008-7adb654a48ab

UUID of the player config

Responses

Response Schema: application/vnd.api+json
object (player-config-jsonapi)
type
required
string
Value: "playerConfig"
id
string <uuid>
required
object (player-config-attributes)
name
required
string
dvr
boolean or null

Whether the timeline is active

muted
boolean or null

Whether the video stats in a muted state

autoplay
boolean or null

Whether the video starts automatically

dnt
boolean or null

Whether the tracking is disabled

controls
boolean or null

Whether the player controls are displayed

loop
boolean or null

Whether the video restarts upon ending

preload
string or null
Enum: "none" "metadata" "auto"

Indicates what the browser needs to preload (see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#attr-preload)

volumebar_type
string or null
Enum: "horizontal" "horizontal-autohide" "horizontal-inverted" "vertical" "toggle"
player_skin_id
string or null <uuid>
player_watermark_id
string or null <uuid>
created_at
string <date-time>

Time when the player config was last created

updated_at
string <date-time>

Time when the player config was last modified

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "playerConfig",
    • "id": "cdcb0304-6504-4502-b008-7adb654a48ab",
    • "attributes": {
      • "name": "Player config name",
      • "dvr": true,
      • "muted": true,
      • "autoplay": true,
      • "dnt": false,
      • "controls": true,
      • "loop": false,
      • "preload": "auto",
      • "volumebar_type": "horizontal",
      • "player_skin_id": "403c6f8a-232d-4125-bb00-e86531686183",
      • "player_watermark_id": "21bab140-1e3a-4a4e-9d27-69d7f4ce679c",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Edit Player Config

Edit a Player Config

Authorizations:
access-token
path Parameters
playerConfigUuid
required
string <uuid>
Example: cdcb0304-6504-4502-b008-7adb654a48ab

UUID of the player config

Request Body schema: application/json
object (player-config-attributes)
name
required
string
dvr
boolean or null

Whether the timeline is active

muted
boolean or null

Whether the video stats in a muted state

autoplay
boolean or null

Whether the video starts automatically

dnt
boolean or null

Whether the tracking is disabled

controls
boolean or null

Whether the player controls are displayed

loop
boolean or null

Whether the video restarts upon ending

preload
string or null
Enum: "none" "metadata" "auto"

Indicates what the browser needs to preload (see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#attr-preload)

volumebar_type
string or null
Enum: "horizontal" "horizontal-autohide" "horizontal-inverted" "vertical" "toggle"
player_skin_id
string or null <uuid>
player_watermark_id
string or null <uuid>
created_at
string <date-time>

Time when the player config was last created

updated_at
string <date-time>

Time when the player config was last modified

Responses

Response Schema: application/vnd.api+json
object (player-config-jsonapi)
type
required
string
Value: "playerConfig"
id
string <uuid>
required
object (player-config-attributes)
name
required
string
dvr
boolean or null

Whether the timeline is active

muted
boolean or null

Whether the video stats in a muted state

autoplay
boolean or null

Whether the video starts automatically

dnt
boolean or null

Whether the tracking is disabled

controls
boolean or null

Whether the player controls are displayed

loop
boolean or null

Whether the video restarts upon ending

preload
string or null
Enum: "none" "metadata" "auto"

Indicates what the browser needs to preload (see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#attr-preload)

volumebar_type
string or null
Enum: "horizontal" "horizontal-autohide" "horizontal-inverted" "vertical" "toggle"
player_skin_id
string or null <uuid>
player_watermark_id
string or null <uuid>
created_at
string <date-time>

Time when the player config was last created

updated_at
string <date-time>

Time when the player config was last modified

Request samples

Content type
application/json
{
  • "data": {
    • "name": "Player config name",
    • "dvr": true,
    • "muted": true,
    • "autoplay": true,
    • "dnt": false,
    • "controls": true,
    • "loop": false,
    • "preload": "auto",
    • "volumebar_type": "horizontal",
    • "player_skin_id": "403c6f8a-232d-4125-bb00-e86531686183",
    • "player_watermark_id": "21bab140-1e3a-4a4e-9d27-69d7f4ce679c",
    • "created_at": "2021-09-28T14:15:00Z",
    • "updated_at": "2021-09-28T14:15:00Z"
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "playerConfig",
    • "id": "cdcb0304-6504-4502-b008-7adb654a48ab",
    • "attributes": {
      • "name": "Player config name",
      • "dvr": true,
      • "muted": true,
      • "autoplay": true,
      • "dnt": false,
      • "controls": true,
      • "loop": false,
      • "preload": "auto",
      • "volumebar_type": "horizontal",
      • "player_skin_id": "403c6f8a-232d-4125-bb00-e86531686183",
      • "player_watermark_id": "21bab140-1e3a-4a4e-9d27-69d7f4ce679c",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Delete Player Config

Delete a Player Config

Authorizations:
access-token
path Parameters
playerConfigUuid
required
string <uuid>
Example: cdcb0304-6504-4502-b008-7adb654a48ab

UUID of the player config

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Displays

List Player Displays

List all Player Displays

Authorizations:
access-token

Responses

Response Schema: application/json
Array of objects (player-display-jsonapi)
Array
type
string
Value: "playerDisplay"
id
string <uuid>
object (player-display-attributes)

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "type": "playerDisplay",
      • "id": "338dc2c0-7705-43aa-b960-a0e794549133",
      • "attributes": {
        • "name": "my-player-display",
        • "type": "message",
        • "purpose": "pre-live",
        • "background_color": "#000000",
        • "custom_css": ".freecaster_player .my_display_field{background-color:#ffffff}",
        • "custom_js": "alert('some message')",
        • "lang": "en-US",
        • "preview": "data:image/jpeg;base64,...",
        • "created_at": "2021-09-28T14:15:00Z",
        • "updated_at": "2021-09-28T14:15:00Z"
        }
      }
    ]
}

Create Player Display

Create a Player Display

Authorizations:
access-token
Request Body schema: application/json
object
type
required
string
Value: "playerDisplay"
required
object (player-display-attributes)
name
required
string
type
required
string
Default: "message"
Enum: "message" "countdown"
purpose
required
string
Enum: "pre-live" "post-live"
background_color
string

The display's background color

custom_css
string

Custom CSS that will be applied inside the video player

custom_js
string

Custom JS that will be executed

lang
string

The lang of the display (only overloads)

preview
string

Preview image of the player display

created_at
string

Time when the player display was last created

updated_at
string

Time when the player display was last modified

Responses

Response Schema: application/json
object (player-display-jsonapi)
type
string
Value: "playerDisplay"
id
string <uuid>
object (player-display-attributes)
name
required
string
type
required
string
Default: "message"
Enum: "message" "countdown"
purpose
required
string
Enum: "pre-live" "post-live"
background_color
string

The display's background color

custom_css
string

Custom CSS that will be applied inside the video player

custom_js
string

Custom JS that will be executed

lang
string

The lang of the display (only overloads)

preview
string

Preview image of the player display

created_at
string

Time when the player display was last created

updated_at
string

Time when the player display was last modified

Request samples

Content type
application/json
{
  • "data": {
    • "type": "playerDisplay",
    • "attributes": {
      • "name": "my-player-display",
      • "type": "message",
      • "purpose": "pre-live",
      • "background_color": "#000000",
      • "custom_css": ".freecaster_player .my_display_field{background-color:#ffffff}",
      • "custom_js": "alert('some message')",
      • "lang": "en-US",
      • "preview": "data:image/jpeg;base64,...",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Response samples

Content type
application/json
{
  • "data": {
    • "type": "playerDisplay",
    • "id": "338dc2c0-7705-43aa-b960-a0e794549133",
    • "attributes": {
      • "name": "my-player-display",
      • "type": "message",
      • "purpose": "pre-live",
      • "background_color": "#000000",
      • "custom_css": ".freecaster_player .my_display_field{background-color:#ffffff}",
      • "custom_js": "alert('some message')",
      • "lang": "en-US",
      • "preview": "data:image/jpeg;base64,...",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Get Player Display

Get a Player Display

Authorizations:
access-token
path Parameters
playerDisplayUuid
required
string <uuid>
Example: 338dc2c0-7705-43aa-b960-a0e794549133

UUID of the player display

Responses

Response Schema: application/json
object (player-display-jsonapi)
type
string
Value: "playerDisplay"
id
string <uuid>
object (player-display-attributes)
name
required
string
type
required
string
Default: "message"
Enum: "message" "countdown"
purpose
required
string
Enum: "pre-live" "post-live"
background_color
string

The display's background color

custom_css
string

Custom CSS that will be applied inside the video player

custom_js
string

Custom JS that will be executed

lang
string

The lang of the display (only overloads)

preview
string

Preview image of the player display

created_at
string

Time when the player display was last created

updated_at
string

Time when the player display was last modified

Response samples

Content type
application/json
{
  • "data": {
    • "type": "playerDisplay",
    • "id": "338dc2c0-7705-43aa-b960-a0e794549133",
    • "attributes": {
      • "name": "my-player-display",
      • "type": "message",
      • "purpose": "pre-live",
      • "background_color": "#000000",
      • "custom_css": ".freecaster_player .my_display_field{background-color:#ffffff}",
      • "custom_js": "alert('some message')",
      • "lang": "en-US",
      • "preview": "data:image/jpeg;base64,...",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Edit Player Display

Edit a Player Display

Authorizations:
access-token
path Parameters
playerDisplayUuid
required
string <uuid>
Example: 338dc2c0-7705-43aa-b960-a0e794549133

UUID of the player display

Request Body schema: application/json
object (player-display-jsonapi)
type
string
Value: "playerDisplay"
id
string <uuid>
object (player-display-attributes)
name
required
string
type
required
string
Default: "message"
Enum: "message" "countdown"
purpose
required
string
Enum: "pre-live" "post-live"
background_color
string

The display's background color

custom_css
string

Custom CSS that will be applied inside the video player

custom_js
string

Custom JS that will be executed

lang
string

The lang of the display (only overloads)

preview
string

Preview image of the player display

created_at
string

Time when the player display was last created

updated_at
string

Time when the player display was last modified

Responses

Response Schema: application/json
object (player-display-jsonapi)
type
string
Value: "playerDisplay"
id
string <uuid>
object (player-display-attributes)
name
required
string
type
required
string
Default: "message"
Enum: "message" "countdown"
purpose
required
string
Enum: "pre-live" "post-live"
background_color
string

The display's background color

custom_css
string

Custom CSS that will be applied inside the video player

custom_js
string

Custom JS that will be executed

lang
string

The lang of the display (only overloads)

preview
string

Preview image of the player display

created_at
string

Time when the player display was last created

updated_at
string

Time when the player display was last modified

Request samples

Content type
application/json
{
  • "data": {
    • "type": "playerDisplay",
    • "id": "338dc2c0-7705-43aa-b960-a0e794549133",
    • "attributes": {
      • "name": "my-player-display",
      • "type": "message",
      • "purpose": "pre-live",
      • "background_color": "#000000",
      • "custom_css": ".freecaster_player .my_display_field{background-color:#ffffff}",
      • "custom_js": "alert('some message')",
      • "lang": "en-US",
      • "preview": "data:image/jpeg;base64,...",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Response samples

Content type
application/json
{
  • "data": {
    • "type": "playerDisplay",
    • "id": "338dc2c0-7705-43aa-b960-a0e794549133",
    • "attributes": {
      • "name": "my-player-display",
      • "type": "message",
      • "purpose": "pre-live",
      • "background_color": "#000000",
      • "custom_css": ".freecaster_player .my_display_field{background-color:#ffffff}",
      • "custom_js": "alert('some message')",
      • "lang": "en-US",
      • "preview": "data:image/jpeg;base64,...",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Delete Player Display

Delete a Player Display

Authorizations:
access-token
path Parameters
playerDisplayUuid
required
string <uuid>
Example: 338dc2c0-7705-43aa-b960-a0e794549133

UUID of the player display

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Display Fields

List Player Display Fields

List all Player Display Fields

Authorizations:
access-token
path Parameters
playerDisplayUuid
required
string <uuid>
Example: 338dc2c0-7705-43aa-b960-a0e794549133

UUID of the player display

Responses

Response Schema: application/json
Array of objects (player-display-field-attributes)
Array
text
required
string

Text that will be displayed. text is not required if type is either image or countdown.

slug
required
string

This will be added as a class named fc-field-{slug} onto the field container

text_color
string

The color of the text

text_size
string

The size of the text

text_position
string
Enum: "topleft" "topcenter" "topright" "middleleft" "middlecenter" "middleright" "bottomleft" "bottomcenter" "bottomright"

The position of the field within the player display's viewport

text_align
string
Enum: "left" "center" "right" "justify"

Horizontal alignment of the text within the field

type
string
Enum: "message" "countdown" "image"

The type of the field

format
string

If specified, it will convert the text field using UTS#35

media_src
string

Source of the image. (If a media_src is input along with a type image, text used as the alt attribute of the image)

created_at
string

Time when the player display field was last created

updated_at
string

Time when the player display field was last modified

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "text": "some test",
      • "slug": "some-unique-slug",
      • "text_color": "#000000",
      • "text_size": "16px",
      • "text_position": "middlecenter",
      • "text_align": "center",
      • "type": "countdown",
      • "format": "DD-MMMM-YYYY",
      • "created_at": "string",
      • "updated_at": "string"
      }
    ]
}

Create Player Display Fields

Create a Player Display Fields

Authorizations:
access-token
path Parameters
playerDisplayUuid
required
string <uuid>
Example: 338dc2c0-7705-43aa-b960-a0e794549133

UUID of the player display

Request Body schema: application/json
object
type
required
string
Value: "playerDisplayField"
required
object (player-display-field-attributes)
text
required
string

Text that will be displayed. text is not required if type is either image or countdown.

slug
required
string

This will be added as a class named fc-field-{slug} onto the field container

text_color
string

The color of the text

text_size
string

The size of the text

text_position
string
Enum: "topleft" "topcenter" "topright" "middleleft" "middlecenter" "middleright" "bottomleft" "bottomcenter" "bottomright"

The position of the field within the player display's viewport

text_align
string
Enum: "left" "center" "right" "justify"

Horizontal alignment of the text within the field

type
string
Enum: "message" "countdown" "image"

The type of the field

format
string

If specified, it will convert the text field using UTS#35

media_src
string

Source of the image. (If a media_src is input along with a type image, text used as the alt attribute of the image)

created_at
string

Time when the player display field was last created

updated_at
string

Time when the player display field was last modified

Responses

Response Schema: application/json
object (player-display-field-attributes)
text
required
string

Text that will be displayed. text is not required if type is either image or countdown.

slug
required
string

This will be added as a class named fc-field-{slug} onto the field container

text_color
string

The color of the text

text_size
string

The size of the text

text_position
string
Enum: "topleft" "topcenter" "topright" "middleleft" "middlecenter" "middleright" "bottomleft" "bottomcenter" "bottomright"

The position of the field within the player display's viewport

text_align
string
Enum: "left" "center" "right" "justify"

Horizontal alignment of the text within the field

type
string
Enum: "message" "countdown" "image"

The type of the field

format
string

If specified, it will convert the text field using UTS#35

media_src
string

Source of the image. (If a media_src is input along with a type image, text used as the alt attribute of the image)

created_at
string

Time when the player display field was last created

updated_at
string

Time when the player display field was last modified

Request samples

Content type
application/json
{
  • "data": {
    • "type": "playerDisplayField",
    • "attributes": {
      • "text": "some test",
      • "slug": "some-unique-slug",
      • "text_color": "#000000",
      • "text_size": "16px",
      • "text_position": "middlecenter",
      • "text_align": "center",
      • "type": "countdown",
      • "format": "DD-MMMM-YYYY",
      • "created_at": "string",
      • "updated_at": "string"
      }
    }
}

Response samples

Content type
application/json
{
  • "data": {
    • "text": "some test",
    • "slug": "some-unique-slug",
    • "text_color": "#000000",
    • "text_size": "16px",
    • "text_position": "middlecenter",
    • "text_align": "center",
    • "type": "countdown",
    • "format": "DD-MMMM-YYYY",
    • "created_at": "string",
    • "updated_at": "string"
    }
}

Get Player Display Field

Get a Player Display Field

Authorizations:
access-token
path Parameters
playerDisplayUuid
required
string <uuid>
Example: 338dc2c0-7705-43aa-b960-a0e794549133

UUID of the player display

playerDisplayFieldUuid
required
string <uuid>
Example: 4c93ba11-781c-4d39-b054-cad0717046f7

UUID of the player display field

Responses

Response Schema: application/json
object (player-display-field-attributes)
text
required
string

Text that will be displayed. text is not required if type is either image or countdown.

slug
required
string

This will be added as a class named fc-field-{slug} onto the field container

text_color
string

The color of the text

text_size
string

The size of the text

text_position
string
Enum: "topleft" "topcenter" "topright" "middleleft" "middlecenter" "middleright" "bottomleft" "bottomcenter" "bottomright"

The position of the field within the player display's viewport

text_align
string
Enum: "left" "center" "right" "justify"

Horizontal alignment of the text within the field

type
string
Enum: "message" "countdown" "image"

The type of the field

format
string

If specified, it will convert the text field using UTS#35

media_src
string

Source of the image. (If a media_src is input along with a type image, text used as the alt attribute of the image)

created_at
string

Time when the player display field was last created

updated_at
string

Time when the player display field was last modified

Response samples

Content type
application/json
{
  • "data": {
    • "text": "some test",
    • "slug": "some-unique-slug",
    • "text_color": "#000000",
    • "text_size": "16px",
    • "text_position": "middlecenter",
    • "text_align": "center",
    • "type": "countdown",
    • "format": "DD-MMMM-YYYY",
    • "created_at": "string",
    • "updated_at": "string"
    }
}

Edit Player Display Field

Edit a Player Display Field

Authorizations:
access-token
path Parameters
playerDisplayUuid
required
string <uuid>
Example: 338dc2c0-7705-43aa-b960-a0e794549133

UUID of the player display

playerDisplayFieldUuid
required
string <uuid>
Example: 4c93ba11-781c-4d39-b054-cad0717046f7

UUID of the player display field

Request Body schema: application/json
object (player-display-field-jsonapi)
type
string
Value: "playerDisplayField"
id
string <uuid>
object (player-display-field-attributes)
text
required
string

Text that will be displayed. text is not required if type is either image or countdown.

slug
required
string

This will be added as a class named fc-field-{slug} onto the field container

text_color
string

The color of the text

text_size
string

The size of the text

text_position
string
Enum: "topleft" "topcenter" "topright" "middleleft" "middlecenter" "middleright" "bottomleft" "bottomcenter" "bottomright"

The position of the field within the player display's viewport

text_align
string
Enum: "left" "center" "right" "justify"

Horizontal alignment of the text within the field

type
string
Enum: "message" "countdown" "image"

The type of the field

format
string

If specified, it will convert the text field using UTS#35

media_src
string

Source of the image. (If a media_src is input along with a type image, text used as the alt attribute of the image)

created_at
string

Time when the player display field was last created

updated_at
string

Time when the player display field was last modified

Responses

Response Schema: application/json
object (player-display-field-attributes)
text
required
string

Text that will be displayed. text is not required if type is either image or countdown.

slug
required
string

This will be added as a class named fc-field-{slug} onto the field container

text_color
string

The color of the text

text_size
string

The size of the text

text_position
string
Enum: "topleft" "topcenter" "topright" "middleleft" "middlecenter" "middleright" "bottomleft" "bottomcenter" "bottomright"

The position of the field within the player display's viewport

text_align
string
Enum: "left" "center" "right" "justify"

Horizontal alignment of the text within the field

type
string
Enum: "message" "countdown" "image"

The type of the field

format
string

If specified, it will convert the text field using UTS#35

media_src
string

Source of the image. (If a media_src is input along with a type image, text used as the alt attribute of the image)

created_at
string

Time when the player display field was last created

updated_at
string

Time when the player display field was last modified

Request samples

Content type
application/json
{
  • "data": {
    • "type": "playerDisplayField",
    • "id": "4c93ba11-781c-4d39-b054-cad0717046f7",
    • "attributes": {
      • "text": "some test",
      • "slug": "some-unique-slug",
      • "text_color": "#000000",
      • "text_size": "16px",
      • "text_position": "middlecenter",
      • "text_align": "center",
      • "type": "countdown",
      • "format": "DD-MMMM-YYYY",
      • "created_at": "string",
      • "updated_at": "string"
      }
    }
}

Response samples

Content type
application/json
{
  • "data": {
    • "text": "some test",
    • "slug": "some-unique-slug",
    • "text_color": "#000000",
    • "text_size": "16px",
    • "text_position": "middlecenter",
    • "text_align": "center",
    • "type": "countdown",
    • "format": "DD-MMMM-YYYY",
    • "created_at": "string",
    • "updated_at": "string"
    }
}

Delete Player Display Field

Delete a Player Display Field

Authorizations:
access-token
path Parameters
playerDisplayUuid
required
string <uuid>
Example: 338dc2c0-7705-43aa-b960-a0e794549133

UUID of the player display

playerDisplayFieldUuid
required
string <uuid>
Example: 4c93ba11-781c-4d39-b054-cad0717046f7

UUID of the player display field

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Skins

List Player Skins

List all Player Skins

Authorizations:
access-token

Responses

Response Schema: application/json
Array of objects (player-skin-jsonapi)
Array
type
string
Value: "playerSkin"
id
string <uuid>
object (player-skin-attributes)

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "type": "playerSkin",
      • "id": "7d839694-6e30-4c3a-8dce-2f8c9649a6f9",
      • "attributes": {
        • "name": "My skin name",
        • "slug": "my-skin-name",
        • "preview": "data:image/jpeg;base64,...",
        • "created_at": "2021-09-28T14:15:00Z",
        • "updated_at": "2021-09-28T14:15:00Z"
        }
      }
    ]
}

Create Player Skin

Create a Player Skin

Authorizations:
access-token
Request Body schema: application/json
object
type
required
string
Value: "playerSkin"
required
object (player-skin-attributes)
name
required
string

The name of the skin

slug
required
string

Slug that will be added as a class onto the player container

asset_url
required
string

The url of the stylesheet

preview
string

Preview image of the player skin

created_at
string <date-time>

Time when the player skin was last created

updated_at
string <date-time>

Time when the player skin was last modified

Responses

Response Schema: application/json
object (player-skin-jsonapi)
type
string
Value: "playerSkin"
id
string <uuid>
object (player-skin-attributes)
name
required
string

The name of the skin

slug
required
string

Slug that will be added as a class onto the player container

asset_url
required
string

The url of the stylesheet

preview
string

Preview image of the player skin

created_at
string <date-time>

Time when the player skin was last created

updated_at
string <date-time>

Time when the player skin was last modified

Request samples

Content type
application/json
{
  • "data": {
    • "type": "playerSkin",
    • "attributes": {
      • "name": "My skin name",
      • "slug": "my-skin-name",
      • "preview": "data:image/jpeg;base64,...",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Response samples

Content type
application/json
{
  • "data": {
    • "type": "playerSkin",
    • "id": "7d839694-6e30-4c3a-8dce-2f8c9649a6f9",
    • "attributes": {
      • "name": "My skin name",
      • "slug": "my-skin-name",
      • "preview": "data:image/jpeg;base64,...",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Get Player Skin

Get a Player Skin

Authorizations:
access-token
path Parameters
playerSkinUuid
required
string <uuid>
Example: 7d839694-6e30-4c3a-8dce-2f8c9649a6f9

UUID of the player skin

Responses

Response Schema: application/json
object (player-skin-jsonapi)
type
string
Value: "playerSkin"
id
string <uuid>
object (player-skin-attributes)
name
required
string

The name of the skin

slug
required
string

Slug that will be added as a class onto the player container

asset_url
required
string

The url of the stylesheet

preview
string

Preview image of the player skin

created_at
string <date-time>

Time when the player skin was last created

updated_at
string <date-time>

Time when the player skin was last modified

Response samples

Content type
application/json
{
  • "data": {
    • "type": "playerSkin",
    • "id": "7d839694-6e30-4c3a-8dce-2f8c9649a6f9",
    • "attributes": {
      • "name": "My skin name",
      • "slug": "my-skin-name",
      • "preview": "data:image/jpeg;base64,...",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Edit Player Skin

Edit a Player Skin

Authorizations:
access-token
path Parameters
playerSkinUuid
required
string <uuid>
Example: 7d839694-6e30-4c3a-8dce-2f8c9649a6f9

UUID of the player skin

Request Body schema: application/json
object (player-skin-jsonapi)
type
string
Value: "playerSkin"
id
string <uuid>
object (player-skin-attributes)
name
required
string

The name of the skin

slug
required
string

Slug that will be added as a class onto the player container

asset_url
required
string

The url of the stylesheet

preview
string

Preview image of the player skin

created_at
string <date-time>

Time when the player skin was last created

updated_at
string <date-time>

Time when the player skin was last modified

Responses

Response Schema: application/json
object (player-skin-jsonapi)
type
string
Value: "playerSkin"
id
string <uuid>
object (player-skin-attributes)
name
required
string

The name of the skin

slug
required
string

Slug that will be added as a class onto the player container

asset_url
required
string

The url of the stylesheet

preview
string

Preview image of the player skin

created_at
string <date-time>

Time when the player skin was last created

updated_at
string <date-time>

Time when the player skin was last modified

Request samples

Content type
application/json
{
  • "data": {
    • "type": "playerSkin",
    • "id": "7d839694-6e30-4c3a-8dce-2f8c9649a6f9",
    • "attributes": {
      • "name": "My skin name",
      • "slug": "my-skin-name",
      • "preview": "data:image/jpeg;base64,...",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Response samples

Content type
application/json
{
  • "data": {
    • "type": "playerSkin",
    • "id": "7d839694-6e30-4c3a-8dce-2f8c9649a6f9",
    • "attributes": {
      • "name": "My skin name",
      • "slug": "my-skin-name",
      • "preview": "data:image/jpeg;base64,...",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z"
      }
    }
}

Delete Player Skin

Delete a Player Skin

Authorizations:
access-token
path Parameters
playerSkinUuid
required
string <uuid>
Example: 7d839694-6e30-4c3a-8dce-2f8c9649a6f9

UUID of the player skin

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Watermarks

List Player Watermarks

List all Player Watermarks

Authorizations:
access-token

Responses

Response Schema: application/json
Array of objects (player-watermark-jsonapi)
Array
type
string
Value: "playerWatermark"
id
string <uuid>
object (player-watermark-attributes)

Response samples

Content type
application/json
{
  • "data": [
    • {
      • "type": "playerWatermark",
      • "id": "cdcb0304-6504-4502-b008-7adb654a48ab",
      • "attributes": {}
      }
    ]
}

Create Player Watermarks

Create a Player Watermarks

Authorizations:
access-token
Request Body schema: application/json
object
type
required
string
Value: "playerWatermark"
required
object (player-watermark-attributes)
name
required
string

The name of the watermark

asset_url
required
string

The url of the watermark

created_at
string <date-time>
updated_at
string <date-time>

Responses

Response Schema: application/json
object (player-watermark-jsonapi)
type
string
Value: "playerWatermark"
id
string <uuid>
object (player-watermark-attributes)
name
required
string

The name of the watermark

asset_url
required
string

The url of the watermark

created_at
string <date-time>
updated_at
string <date-time>

Request samples

Content type
application/json
{
  • "data": {
    • "type": "playerWatermark",
    • "attributes": {}
    }
}

Response samples

Content type
application/json
{
  • "data": {
    • "type": "playerWatermark",
    • "id": "cdcb0304-6504-4502-b008-7adb654a48ab",
    • "attributes": {}
    }
}

Get Player Watermark

Get a Player Watermarks

Authorizations:
access-token
path Parameters
playerWatermarkUuid
required
string <uuid>
Example: cdcb0304-6504-4502-b008-7adb654a48ab

UUID of the player watermark

Responses

Response Schema: application/json
object (player-watermark-jsonapi)
type
string
Value: "playerWatermark"
id
string <uuid>
object (player-watermark-attributes)
name
required
string

The name of the watermark

asset_url
required
string

The url of the watermark

created_at
string <date-time>
updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "data": {
    • "type": "playerWatermark",
    • "id": "cdcb0304-6504-4502-b008-7adb654a48ab",
    • "attributes": {}
    }
}

Edit Player Watermarks

Edit a Player Watermarks

Authorizations:
access-token
path Parameters
playerWatermarkUuid
required
string <uuid>
Example: cdcb0304-6504-4502-b008-7adb654a48ab

UUID of the player watermark

Request Body schema: application/json
object (player-watermark-jsonapi)
type
string
Value: "playerWatermark"
id
string <uuid>
object (player-watermark-attributes)
name
required
string

The name of the watermark

asset_url
required
string

The url of the watermark

created_at
string <date-time>
updated_at
string <date-time>

Responses

Response Schema: application/json
object (player-watermark-jsonapi)
type
string
Value: "playerWatermark"
id
string <uuid>
object (player-watermark-attributes)
name
required
string

The name of the watermark

asset_url
required
string

The url of the watermark

created_at
string <date-time>
updated_at
string <date-time>

Request samples

Content type
application/json
{
  • "data": {
    • "type": "playerWatermark",
    • "id": "cdcb0304-6504-4502-b008-7adb654a48ab",
    • "attributes": {}
    }
}

Response samples

Content type
application/json
{
  • "data": {
    • "type": "playerWatermark",
    • "id": "cdcb0304-6504-4502-b008-7adb654a48ab",
    • "attributes": {}
    }
}

Delete Player Watermarks

Delete a Player Watermarks

Authorizations:
access-token
path Parameters
playerWatermarkUuid
required
string <uuid>
Example: cdcb0304-6504-4502-b008-7adb654a48ab

UUID of the player watermark

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Jobs

List Jobs

List all jobs

Authorizations:
access-token
query Parameters
sort
string
Default: "-created_at"
Example: sort=updated_at

Sort jobs by the given attribute (prepending a '-', will go in descending order)

page[number]
integer
Default: "0"
Example: page[number]=1

Page number

page[size]
integer
Default: "15"
Example: page[size]=50

Page size

filter[type]
string
Example: filter[type]=ingest-rtmp

Show only jobs matching the filtered type

Responses

Response Schema: application/vnd.api+json
Array of objects (jobs-jsonapi)
Array
type
string
Value: "jobStatus"
id
string <uuid>
object (jobs-attributes)

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "jobStatus",
      • "id": "9584a416-951d-40ba-a6c2-97ce1067bad3",
      • "attributes": {
        • "name": "IngestRtmp",
        • "type": "string",
        • "attempts": 0,
        • "progress": 0,
        • "status": "executing",
        • "cancellable": true,
        • "instance_id": 2251799813732587,
        • "output": {
          • "key": "2251799813685323",
          • "instance_key": "2251799813732587",
          • "version": 1,
          • "variables": { }
          },
        • "custom_data": { },
        • "created_at": "2021-09-28T14:15:00Z",
        • "updated_at": "2021-09-28T14:15:00Z"
        }
      }
    ]
}

Webhooks

Webhooks allow you to be notified of specific events happening in the platform in real-time. They are HTTP POST requests made to the URL of your choice.

List Webhooks

List all webhooks

Authorizations:
access-token

Responses

Response Schema: application/vnd.api+json
Array of objects (webhook-jsonapi)
Array
type
required
string
Value: "webhook"
id
string <uuid>
required
object (webhook-attributes)

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "webhook",
      • "id": "a23936f6-c260-4586-b728-42f8d0955d07",
      • "attributes": {}
      }
    ]
}

Create Webhook

Create a new webhook

Authorizations:
access-token
Request Body schema: application/vnd.api+json
object
type
required
string
Value: "webhook"
object (webhook-attributes)
event_name
required
string
Enum: "clipping.started" "clipping.completed" "clipping.failed" "transcoding.started" "transcoding.completed" "transcoding.failed" "upload.invalid_file"

Name of the event to catch

url
required
string <uri>

Where to send the webhook

headers
object

Responses

Response Schema: application/vnd.api+json
object (webhook-jsonapi)
type
required
string
Value: "webhook"
id
string <uuid>
required
object (webhook-attributes)
event_name
required
string
Enum: "clipping.started" "clipping.completed" "clipping.failed" "transcoding.started" "transcoding.completed" "transcoding.failed" "upload.invalid_file"

Name of the event to catch

url
required
string <uri>

Where to send the webhook

headers
object

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "webhook",
    • "attributes": {}
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "webhook",
    • "id": "a23936f6-c260-4586-b728-42f8d0955d07",
    • "attributes": {}
    }
}

Get Webhook

Fetch a single webhook

Authorizations:
access-token
path Parameters
webhookUuid
required
string
Example: a23936f6-c260-4586-b728-42f8d0955d07

UUID of the webhook

Responses

Response Schema: application/vnd.api+json
object (webhook-jsonapi)
type
required
string
Value: "webhook"
id
string <uuid>
required
object (webhook-attributes)
event_name
required
string
Enum: "clipping.started" "clipping.completed" "clipping.failed" "transcoding.started" "transcoding.completed" "transcoding.failed" "upload.invalid_file"

Name of the event to catch

url
required
string <uri>

Where to send the webhook

headers
object

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "webhook",
    • "id": "a23936f6-c260-4586-b728-42f8d0955d07",
    • "attributes": {}
    }
}

Edit Webhook

Edit a webhook

Authorizations:
access-token
path Parameters
webhookUuid
required
string
Example: a23936f6-c260-4586-b728-42f8d0955d07

UUID of the webhook

Request Body schema: application/vnd.api+json
object (webhook-jsonapi)
type
required
string
Value: "webhook"
id
string <uuid>
required
object (webhook-attributes)
event_name
required
string
Enum: "clipping.started" "clipping.completed" "clipping.failed" "transcoding.started" "transcoding.completed" "transcoding.failed" "upload.invalid_file"

Name of the event to catch

url
required
string <uri>

Where to send the webhook

headers
object

Responses

Response Schema: application/vnd.api+json
object (webhook-jsonapi)
type
required
string
Value: "webhook"
id
string <uuid>
required
object (webhook-attributes)
event_name
required
string
Enum: "clipping.started" "clipping.completed" "clipping.failed" "transcoding.started" "transcoding.completed" "transcoding.failed" "upload.invalid_file"

Name of the event to catch

url
required
string <uri>

Where to send the webhook

headers
object

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "webhook",
    • "id": "a23936f6-c260-4586-b728-42f8d0955d07",
    • "attributes": {}
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "webhook",
    • "id": "a23936f6-c260-4586-b728-42f8d0955d07",
    • "attributes": {}
    }
}

Delete Webhook

Delete a webhook

Authorizations:
access-token
path Parameters
webhookUuid
required
string
Example: a23936f6-c260-4586-b728-42f8d0955d07

UUID of the webhook

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Events

clipping.completed Webhook

Request Body schema: application/json

Webhook sent when a clip has completed

event_name
string
Default: "clipping.completed"
Array of objects (clip-section)
Array
start
string or integer or null

Start timestamp
Can be an absolute timestamp (string or UNIX timestamp in milliseconds) or relative timestamp (in milliseconds)
If set to null, the clipping will start from the moment of the call

end
string or integer or null

End timestamp
Can be an absolute timestamp (string or UNIX timestamp in milliseconds) or relative timestamp (in milliseconds)
If set to null, the clipping will end whenever the live stream ends

object (clip-input)
Array of objects
Array
type
string
live
boolean
url
string <uri>
object
Array of objects
Array
url
string <uri>
Array of objects (transcoding-output)
Array
Array of objects
Array
url
required
string
Array of objects or objects (stream-tracks)
object (video-webhook-payload)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

object
duration
number
Array of objects
Array
type
required
string
Value: "poster"
id
string <uuid>
required
object (poster-attributes)
object (poster-meta)
object (delivery-urls)
Array of objects (url)
Array of objects (url)
Array of objects (url)

Request samples

Content type
application/json
{
  • "event_name": "clipping.completed",
  • "sections": [
    • {
      • "start": "2022-06-01T12:34:56Z",
      • "end": "2022-06-01T12:56:34Z"
      }
    ],
  • "input": {},
  • "outputs": [
    • {
      • "files": [
        • {
          • "url": "bIAcyHUjV4_1080p.mp4",
          • "tracks": [
            ]
          },
        • {
          • "url": "bIAcyHUjV4_360p.mp4",
          • "tracks": [
            ]
          },
        • {
          • "url": "bIAcyHUjV4_540p.mp4",
          • "tracks": [
            ]
          },
        • {
          • "url": "bIAcyHUjV4_720p.mp4",
          • "tracks": [
            ]
          }
        ]
      }
    ],
  • "content": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      },
    • "meta": {
      • "duration": 10.5
      },
    • "posters": [
      • {
        • "type": "poster",
        • "id": "94b93ff9-a30e-4ed7-8679-5526d0e1b8db",
        • "attributes": {
          • "created_at": "2021-09-28T14:15:00Z",
          • "updated_at": "2021-09-28T14:15:00Z",
          • "locale": "en-GB",
          • "is_active": true
          },
        • "meta": {}
        }
      ],
    • "delivery_urls": {
      • "progressive": [
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          }
        ],
      }
    }
}

clipping.failed Webhook

Request Body schema: application/json

Webhook sent when a clip has failed

event_name
string
Default: "clipping.failed"
Array of objects (clip-section)
Array
start
string or integer or null

Start timestamp
Can be an absolute timestamp (string or UNIX timestamp in milliseconds) or relative timestamp (in milliseconds)
If set to null, the clipping will start from the moment of the call

end
string or integer or null

End timestamp
Can be an absolute timestamp (string or UNIX timestamp in milliseconds) or relative timestamp (in milliseconds)
If set to null, the clipping will end whenever the live stream ends

object (clip-input)
Array of objects
Array
type
string
live
boolean
url
string <uri>
object
Array of objects
Array
url
string <uri>
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

Request samples

Content type
application/json
{
  • "event_name": "clipping.failed",
  • "sections": [
    • {
      • "start": "2022-06-01T12:34:56Z",
      • "end": "2022-06-01T12:56:34Z"
      }
    ],
  • "input": {},
  • "content": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    }
}

clipping.started Webhook

Request Body schema: application/json

Webhook sent when a clip is about to begin

event_name
string
Default: "clipping.started"
Array of objects (clip-section)
Array
start
string or integer or null

Start timestamp
Can be an absolute timestamp (string or UNIX timestamp in milliseconds) or relative timestamp (in milliseconds)
If set to null, the clipping will start from the moment of the call

end
string or integer or null

End timestamp
Can be an absolute timestamp (string or UNIX timestamp in milliseconds) or relative timestamp (in milliseconds)
If set to null, the clipping will end whenever the live stream ends

object (clip-input)
Array of objects
Array
type
string
live
boolean
url
string <uri>
object
Array of objects
Array
url
string <uri>
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

Request samples

Content type
application/json
{
  • "event_name": "clipping.started",
  • "sections": [
    • {
      • "start": "2022-06-01T12:34:56Z",
      • "end": "2022-06-01T12:56:34Z"
      }
    ],
  • "input": {},
  • "content": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    }
}

content.updated Webhook

Request Body schema: application/json

Webhook sent when a content has been updated

event_name
string
Default: "content.updated"
changes
object
object (video-webhook-payload)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

object
duration
number
Array of objects
Array
type
required
string
Value: "poster"
id
string <uuid>
required
object (poster-attributes)
object (poster-meta)
object (delivery-urls)
Array of objects (url)
Array of objects (url)
Array of objects (url)

Request samples

Content type
application/json
{
  • "event_name": "content.updated",
  • "changes": {
    • "title": "new title",
    • "updated_at": "2021-09-06T13:56:35Z"
    },
  • "content": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      },
    • "meta": {
      • "duration": 10.5
      },
    • "posters": [
      • {
        • "type": "poster",
        • "id": "94b93ff9-a30e-4ed7-8679-5526d0e1b8db",
        • "attributes": {
          • "created_at": "2021-09-28T14:15:00Z",
          • "updated_at": "2021-09-28T14:15:00Z",
          • "locale": "en-GB",
          • "is_active": true
          },
        • "meta": {}
        }
      ],
    • "delivery_urls": {
      • "progressive": [
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          }
        ],
      }
    }
}

poster.created Webhook

Request Body schema: application/json

Webhook sent when a poster has been created

event_name
string
Default: "poster.created"
object
type
required
string
Value: "poster"
id
string <uuid>
required
object (poster-attributes)
created_at
string

Time when the poster was created

updated_at
string

Time when the poster was last modified

locale
string
is_active
boolean
object (poster-meta)
url
required
string <uri>

The URL contains the string %{SIZE} which must be replaced by the desired poster dimension (e.g. 1920x1080, 640x360, 200x200, etc.).
If you remove the /%{SIZE} part from the URL, you will get the original full-frame picture.

country
string

Country where this URL is available

object (video-webhook-payload)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

object
duration
number
Array of objects
Array
type
required
string
Value: "poster"
id
string <uuid>
required
object (poster-attributes)
object (poster-meta)
object (delivery-urls)
Array of objects (url)
Array of objects (url)
Array of objects (url)

Request samples

Content type
application/json
{
  • "event_name": "poster.created",
  • "poster": {
    • "type": "poster",
    • "id": "94b93ff9-a30e-4ed7-8679-5526d0e1b8db",
    • "attributes": {
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "locale": "en-GB",
      • "is_active": true
      },
    • "meta": {}
    },
  • "content": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      },
    • "meta": {
      • "duration": 10.5
      },
    • "posters": [
      • {
        • "type": "poster",
        • "id": "94b93ff9-a30e-4ed7-8679-5526d0e1b8db",
        • "attributes": {
          • "created_at": "2021-09-28T14:15:00Z",
          • "updated_at": "2021-09-28T14:15:00Z",
          • "locale": "en-GB",
          • "is_active": true
          },
        • "meta": {}
        }
      ],
    • "delivery_urls": {
      • "progressive": [
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          }
        ],
      }
    }
}

transcoding.completed Webhook

Request Body schema: application/json

Webhook sent when the video has been transcoded and is ready to be played

event_name
string
Default: "transcoding.completed"
Array of objects (transcoding-output)
Array
Array of objects
Array
url
required
string
Array of objects or objects (stream-tracks)
object (video-webhook-payload)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

object
duration
number
Array of objects
Array
type
required
string
Value: "poster"
id
string <uuid>
required
object (poster-attributes)
object (poster-meta)
object (delivery-urls)
Array of objects (url)
Array of objects (url)
Array of objects (url)

Request samples

Content type
application/json
{
  • "event_name": "transcoding.completed",
  • "outputs": [
    • {
      • "files": [
        • {
          • "url": "bIAcyHUjV4_1080p.mp4",
          • "tracks": [
            ]
          },
        • {
          • "url": "bIAcyHUjV4_360p.mp4",
          • "tracks": [
            ]
          },
        • {
          • "url": "bIAcyHUjV4_540p.mp4",
          • "tracks": [
            ]
          },
        • {
          • "url": "bIAcyHUjV4_720p.mp4",
          • "tracks": [
            ]
          }
        ]
      }
    ],
  • "content": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      },
    • "meta": {
      • "duration": 10.5
      },
    • "posters": [
      • {
        • "type": "poster",
        • "id": "94b93ff9-a30e-4ed7-8679-5526d0e1b8db",
        • "attributes": {
          • "created_at": "2021-09-28T14:15:00Z",
          • "updated_at": "2021-09-28T14:15:00Z",
          • "locale": "en-GB",
          • "is_active": true
          },
        • "meta": {}
        }
      ],
    • "delivery_urls": {
      • "progressive": [
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          },
        • {
          • "tracks": [
            ]
          }
        ],
      }
    }
}

transcoding.failed Webhook

Request Body schema: application/json

Webhook sent when the video failed to finish transcoding

event_name
string
Default: "transcoding.failed"
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

Request samples

Content type
application/json
{
  • "event_name": "transcoding.failed",
  • "content": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    }
}

transcoding.started Webhook

Request Body schema: application/json

Webhook sent when the transcoding of a video is about to start

event_name
string
Default: "transcoding.started"
object (video-jsonapi)
type
required
string
Value: "video"
id
string <uuid>
required
object (video-attributes)
title
required
string

Title of the video

description
string or null

Optional description of the video

created_at
string

Time when the video was created

updated_at
string

Time when the video was last modified

published
boolean

Whether the video is published or not

published_at
string or null

Time at which the video was published

unpublished_at
string or null

Time at which the video must be unpublished

slug
string or null

Computer-friendly identifier of the video
May be used as a correlation key between a third party and the platform
Must be unique

live
boolean
Default: false

Whether the video is a live stream or not

countdown_time
string or null

Date and time at which the countdown will reach zero

Request samples

Content type
application/json
{
  • "event_name": "transcoding.started",
  • "content": {
    • "type": "video",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Video Title",
      • "description": "This is the description of my video",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-video",
      • "live": false,
      • "countdown_time": "2030-09-28T14:15:00Z"
      }
    }
}

upload.invalid_file Webhook

Request Body schema: application/json

Webhook sent when the uploaded file is invalid

event_name
string
Default: "upload.invalid_file"
input_file
string <uri>
object (channel-jsonapi)
type
required
string
Value: "channel"
id
string <uuid>
required
object (channel-attributes)
title
required
string

Title of the channel

description
string or null

Optional description of the channel

created_at
string

Time when the channel was created

updated_at
string

Time when the channel was last modified

published
boolean

Whether the channel is published or not

published_at
string or null

Time at which the channel was published

unpublished_at
string or null

Time at which the channel must be unpublished

slug
string or null

Computer-friendly identifier of the channel
May be used as a correlation key between a third party and the platform
Must be unique

Request samples

Content type
application/json
{
  • "event_name": "upload.invalid_file",
  • "content": {
    • "type": "channel",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Channel Title",
      • "description": "This is the description of my channel",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-channel"
      }
    }
}

Tenants

Get Tenant

Get the current tenant

Authorizations:
access-token

Responses

Response Schema: application/json
object (channel-jsonapi)
type
required
string
Value: "channel"
id
string <uuid>
required
object (channel-attributes)
title
required
string

Title of the channel

description
string or null

Optional description of the channel

created_at
string

Time when the channel was created

updated_at
string

Time when the channel was last modified

published
boolean

Whether the channel is published or not

published_at
string or null

Time at which the channel was published

unpublished_at
string or null

Time at which the channel must be unpublished

slug
string or null

Computer-friendly identifier of the channel
May be used as a correlation key between a third party and the platform
Must be unique

Response samples

Content type
application/json
{
  • "data": {
    • "type": "channel",
    • "id": "d0ec9b9a-a05f-48b3-bfb4-bad9634ed2f6",
    • "attributes": {
      • "title": "My Channel Title",
      • "description": "This is the description of my channel",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:15:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": "2021-09-28T14:15:00Z",
      • "slug": "my-channel"
      }
    }
}

Create Tenant

Create a tenant with its admin user

Authorizations:
access-token
Request Body schema: application/vnd.api+json
object (tenant-jsonapi)
type
required
string
Value: "tenant"
required
object (tenant-attributes)
title
required
string
slug
string >= 3 characters ^[a-z0-9-]+$

Machine-readable unique identifier for the tenant

parent
string <uuid>

UUID of the parent channel

admin_name
required
string

Tenant admin username

admin_email
required
string <email>

Tenant admin e-mail address

Responses

Response Schema: application/json
object (channel-jsonapi)
type
required
string
Value: "channel"
id
string <uuid>
required
object (channel-attributes)
title
required
string

Title of the channel

description
string or null

Optional description of the channel

created_at
string

Time when the channel was created

updated_at
string

Time when the channel was last modified

published
boolean

Whether the channel is published or not

published_at
string or null

Time at which the channel was published

unpublished_at
string or null

Time at which the channel must be unpublished

slug
string or null

Computer-friendly identifier of the channel
May be used as a correlation key between a third party and the platform
Must be unique

Array of objects (tenant-includes) = 3 items
Array (= 3 items)
type
string
Enum: "team" "admin" "client"
id
integer or string
object

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "tenant",
    • "attributes": {
      • "title": "Snake Oil",
      • "slug": "snake-oil",
      • "parent": "42e2bc1b-6741-4e2e-b138-97b4a342c999",
      • "admin_name": "snakeoil-admin",
      • "admin_email": "snakeoil@example.com"
      }
    }
}

Response samples

Content type
application/json
{
  • "data": {
    • "type": "channel",
    • "id": "0a3d1ce5-0e61-411a-8219-0d84e3d42936",
    • "attributes": {
      • "title": "My Tenant Name",
      • "description": "This is the description of my tenant",
      • "created_at": "2021-09-28T14:15:00Z",
      • "updated_at": "2021-09-28T14:30:00Z",
      • "published": true,
      • "published_at": "2021-09-28T14:15:00Z",
      • "unpublished_at": null,
      • "slug": "my-tenant-name"
      }
    },
  • "included": [
    • {
      • "type": "user",
      • "id": "8a4affb0-353a-4b20-9799-80a57c306c87",
      • "attributes": {
        • "name": "snakeoil-admin",
        • "email": "snakeoil@example.com",
        • "password": "Np2(PB5QrXb<#q2<"
        }
      }
    ]
}

Roles

List Roles

List all roles

Authorizations:
access-token

Responses

Response Schema: application/vnd.api+json
Array of objects (role-jsonapi)
Array
type
required
string
Value: "role"
id
string <uuid>
required
object (role-attributes)

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "role",
      • "id": "a65bebba-6da6-4d09-b389-594e10300d33",
      • "attributes": {
        • "name": "content-view",
        • "description": "Can view content"
        }
      }
    ]
}

Users

List Users

List all users

Authorizations:
access-token

Responses

Response Schema: application/vnd.api+json
Array of objects
Array
type
required
string
Value: "user"
id
string <uuid>
required
object (user-attributes)
Array of objects (role-jsonapi)

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "user",
      • "id": "8a4affb0-353a-4b20-9799-80a57c306c87",
      • "attributes": {
        • "name": "john-doe",
        • "email": "john.doe@example.com"
        },
      • "included": [
        • {
          • "type": "role",
          • "id": "a65bebba-6da6-4d09-b389-594e10300d33",
          • "attributes": {
            }
          }
        ]
      }
    ]
}

Create User

Create a new user

Authorizations:
access-token
Request Body schema: application/vnd.api+json
object
type
required
string
Value: "user"
required
object
name
required
string

Username

email
required
email

User e-mail address

password
required
string

User password

tenant
required
string

User tenant slug

object
Array of objects (role-reference)
Array
type
required
string
id
required
uuid

Responses

Response Schema: application/vnd.api+json
object (user-jsonapi)
type
required
string
Value: "user"
id
string <uuid>
required
object (user-attributes)
name
required
string

Username

email
required
email

User e-mail address

Array of objects (role-jsonapi)
Array
type
required
string
Value: "role"
id
string <uuid>
required
object (role-attributes)

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "user",
    • "attributes": {
      • "name": "john-doe",
      • "email": "john.doe@example.com",
      • "password": "Np2(PB5QrXb<#q2<",
      • "tenant": "freecaster"
      },
    • "relationships": {
      • "roles": [
        • {
          • "type": "role",
          • "id": "a65bebba-6da6-4d09-b389-594e10300d33"
          }
        ]
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "user",
    • "id": "8a4affb0-353a-4b20-9799-80a57c306c87",
    • "attributes": {
      • "name": "john-doe",
      • "email": "john.doe@example.com"
      }
    },
  • "included": [
    • {
      • "type": "role",
      • "id": "a65bebba-6da6-4d09-b389-594e10300d33",
      • "attributes": {
        • "name": "content-view",
        • "description": "Can view content"
        }
      }
    ]
}

Get User

Get a user

Authorizations:
access-token
path Parameters
userUuid
required
string <uuid>
Example: 8a4affb0-353a-4b20-9799-80a57c306c87

UUID of the user

Responses

Response Schema: application/vnd.api+json
object (user-jsonapi)
type
required
string
Value: "user"
id
string <uuid>
required
object (user-attributes)
name
required
string

Username

email
required
email

User e-mail address

Array of objects (role-jsonapi)
Array
type
required
string
Value: "role"
id
string <uuid>
required
object (role-attributes)

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "user",
    • "id": "8a4affb0-353a-4b20-9799-80a57c306c87",
    • "attributes": {
      • "name": "john-doe",
      • "email": "john.doe@example.com"
      }
    },
  • "included": [
    • {
      • "type": "role",
      • "id": "a65bebba-6da6-4d09-b389-594e10300d33",
      • "attributes": {
        • "name": "content-view",
        • "description": "Can view content"
        }
      }
    ]
}

Edit User

Edit a user

Authorizations:
access-token
path Parameters
userUuid
required
string <uuid>
Example: 8a4affb0-353a-4b20-9799-80a57c306c87

UUID of the user

Request Body schema: application/vnd.api+json
object (user-jsonapi)
type
required
string
Value: "user"
id
string <uuid>
required
object (user-attributes)
name
required
string

Username

email
required
email

User e-mail address

Responses

Response Schema: application/vnd.api+json
object (user-jsonapi)
type
required
string
Value: "user"
id
string <uuid>
required
object (user-attributes)
name
required
string

Username

email
required
email

User e-mail address

Array of objects (role-jsonapi)
Array
type
required
string
Value: "role"
id
string <uuid>
required
object (role-attributes)

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "user",
    • "id": "8a4affb0-353a-4b20-9799-80a57c306c87",
    • "attributes": {
      • "name": "john-doe",
      • "email": "john.doe@example.com"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "user",
    • "id": "8a4affb0-353a-4b20-9799-80a57c306c87",
    • "attributes": {
      • "name": "john-doe",
      • "email": "john.doe@example.com"
      }
    },
  • "included": [
    • {
      • "type": "role",
      • "id": "a65bebba-6da6-4d09-b389-594e10300d33",
      • "attributes": {
        • "name": "content-view",
        • "description": "Can view content"
        }
      }
    ]
}

Delete User

Delete a user

Authorizations:
access-token
path Parameters
userUuid
required
string <uuid>
Example: 8a4affb0-353a-4b20-9799-80a57c306c87

UUID of the user

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

List User Roles

List a user roles

Authorizations:
access-token
path Parameters
userUuid
required
string <uuid>
Example: 8a4affb0-353a-4b20-9799-80a57c306c87

UUID of the user

Responses

Response Schema: application/vnd.api+json
Array of objects (role-reference)
Array
type
required
string
id
required
uuid

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "role",
      • "id": "a65bebba-6da6-4d09-b389-594e10300d33"
      }
    ]
}

Replace User Roles

Replace a user roles

Authorizations:
access-token
path Parameters
userUuid
required
string <uuid>
Example: 8a4affb0-353a-4b20-9799-80a57c306c87

UUID of the user

Request Body schema: application/vnd.api+json
Array of objects (role-reference)
Array
type
required
string
id
required
uuid

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "role",
      • "id": "a65bebba-6da6-4d09-b389-594e10300d33"
      }
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Add User Roles

Add roles to a user

Authorizations:
access-token
path Parameters
userUuid
required
string <uuid>
Example: 8a4affb0-353a-4b20-9799-80a57c306c87

UUID of the user

Request Body schema: application/vnd.api+json
Array of objects (role-reference)
Array
type
required
string
id
required
uuid

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "role",
      • "id": "a65bebba-6da6-4d09-b389-594e10300d33"
      }
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Delete User Roles

Remove roles from a user

Authorizations:
access-token
path Parameters
userUuid
required
string <uuid>
Example: 8a4affb0-353a-4b20-9799-80a57c306c87

UUID of the user

Request Body schema: application/vnd.api+json
Array of objects (role-reference)
Array
type
required
string
id
required
uuid

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "role",
      • "id": "a65bebba-6da6-4d09-b389-594e10300d33"
      }
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Clients

List Clients

List all clients

Authorizations:
access-token

Responses

Response Schema: application/vnd.api+json
Array of objects (client-jsonapi)
Array
type
required
string
Value: "client"
id
string <uuid>
required
object (client-attributes)

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "client",
      • "id": "ce3a9d5f-08f8-4a1a-ada8-cb96dd119fb5",
      • "attributes": {
        • "name": "My API Client",
        • "client_id": "6a3400b3-4e03-4738-b6ea-fdd398037d65",
        • "client_secret": ")EK&6u9pj?/w}3c[czB_!eB5:.eT&~3#"
        }
      }
    ]
}

Create Client

Create a new client

Authorizations:
access-token
Request Body schema: application/vnd.api+json
object
type
required
string
Value: "client"
required
object
name
required
string

Client name

client_id
string

Client ID

client_secret
string

Client secret

tenant
required
string

Client tenant slug

object
Array of objects (role-reference)
Array
type
required
string
id
required
uuid

Responses

Response Schema: application/vnd.api+json
object (client-jsonapi)
type
required
string
Value: "client"
id
string <uuid>
required
object (client-attributes)
name
required
string

Client name

client_id
string

Client ID

client_secret
string

Client secret

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "client",
    • "attributes": {
      • "name": "My API Client",
      • "client_id": "6a3400b3-4e03-4738-b6ea-fdd398037d65",
      • "client_secret": ")EK&6u9pj?/w}3c[czB_!eB5:.eT&~3#",
      • "tenant": "freecaster"
      },
    • "relationships": {
      • "roles": [
        • {
          • "type": "role",
          • "id": "a65bebba-6da6-4d09-b389-594e10300d33"
          }
        ]
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "client",
    • "id": "ce3a9d5f-08f8-4a1a-ada8-cb96dd119fb5",
    • "attributes": {
      • "name": "My API Client",
      • "client_id": "6a3400b3-4e03-4738-b6ea-fdd398037d65",
      • "client_secret": ")EK&6u9pj?/w}3c[czB_!eB5:.eT&~3#"
      }
    }
}

Get Client

Get a client

Authorizations:
access-token
path Parameters
clientUuid
required
string <uuid>
Example: ce3a9d5f-08f8-4a1a-ada8-cb96dd119fb5

UUID of the client

Responses

Response Schema: application/vnd.api+json
object (client-jsonapi)
type
required
string
Value: "client"
id
string <uuid>
required
object (client-attributes)
name
required
string

Client name

client_id
string

Client ID

client_secret
string

Client secret

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "client",
    • "id": "ce3a9d5f-08f8-4a1a-ada8-cb96dd119fb5",
    • "attributes": {
      • "name": "My API Client",
      • "client_id": "6a3400b3-4e03-4738-b6ea-fdd398037d65",
      • "client_secret": ")EK&6u9pj?/w}3c[czB_!eB5:.eT&~3#"
      }
    }
}

Edit Client

Edit a client

Authorizations:
access-token
path Parameters
clientUuid
required
string <uuid>
Example: ce3a9d5f-08f8-4a1a-ada8-cb96dd119fb5

UUID of the client

Request Body schema: application/vnd.api+json
object (client-jsonapi)
type
required
string
Value: "client"
id
string <uuid>
required
object (client-attributes)
name
required
string

Client name

client_id
string

Client ID

client_secret
string

Client secret

Responses

Response Schema: application/vnd.api+json
object (client-jsonapi)
type
required
string
Value: "client"
id
string <uuid>
required
object (client-attributes)
name
required
string

Client name

client_id
string

Client ID

client_secret
string

Client secret

Request samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "client",
    • "id": "ce3a9d5f-08f8-4a1a-ada8-cb96dd119fb5",
    • "attributes": {
      • "name": "My API Client",
      • "client_id": "6a3400b3-4e03-4738-b6ea-fdd398037d65",
      • "client_secret": ")EK&6u9pj?/w}3c[czB_!eB5:.eT&~3#"
      }
    }
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    • "type": "client",
    • "id": "ce3a9d5f-08f8-4a1a-ada8-cb96dd119fb5",
    • "attributes": {
      • "name": "My API Client",
      • "client_id": "6a3400b3-4e03-4738-b6ea-fdd398037d65",
      • "client_secret": ")EK&6u9pj?/w}3c[czB_!eB5:.eT&~3#"
      }
    }
}

Delete Client

Delete a client

Authorizations:
access-token
path Parameters
clientUuid
required
string <uuid>
Example: ce3a9d5f-08f8-4a1a-ada8-cb96dd119fb5

UUID of the client

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

List Client Roles

List a client roles

Authorizations:
access-token
path Parameters
clientUuid
required
string <uuid>
Example: ce3a9d5f-08f8-4a1a-ada8-cb96dd119fb5

UUID of the client

Responses

Response Schema: application/vnd.api+json
Array of objects (role-reference)
Array
type
required
string
id
required
uuid

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "role",
      • "id": "a65bebba-6da6-4d09-b389-594e10300d33"
      }
    ]
}

Replace Client Roles

Replace a client roles

Authorizations:
access-token
path Parameters
clientUuid
required
string <uuid>
Example: ce3a9d5f-08f8-4a1a-ada8-cb96dd119fb5

UUID of the client

Request Body schema: application/vnd.api+json
Array of objects (role-reference)
Array
type
required
string
id
required
uuid

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "role",
      • "id": "a65bebba-6da6-4d09-b389-594e10300d33"
      }
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Add Client Roles

Add roles to a client

Authorizations:
access-token
path Parameters
clientUuid
required
string <uuid>
Example: ce3a9d5f-08f8-4a1a-ada8-cb96dd119fb5

UUID of the client

Request Body schema: application/vnd.api+json
Array of objects (role-reference)
Array
type
required
string
id
required
uuid

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "role",
      • "id": "a65bebba-6da6-4d09-b389-594e10300d33"
      }
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}

Delete Client Roles

Remove roles from a client

Authorizations:
access-token
path Parameters
clientUuid
required
string <uuid>
Example: ce3a9d5f-08f8-4a1a-ada8-cb96dd119fb5

UUID of the client

Request Body schema: application/vnd.api+json
Array of objects (role-reference)
Array
type
required
string
id
required
uuid

Responses

Request samples

Content type
application/vnd.api+json
{
  • "data": [
    • {
      • "type": "role",
      • "id": "a65bebba-6da6-4d09-b389-594e10300d33"
      }
    ]
}

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    • {
      • "status": 401,
      • "title": "Unauthenticated",
      • "detail": "Unauthenticated",
      • "meta": { }
      }
    ]
}