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

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"
          }
        }
      }
    }
}

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.

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,
      • "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.

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
      }
    }
}

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