European Council - Freecaster API documentation (0.9.0)

Download OpenAPI specification:Download

Setup / Support

Quickstart Guide

Our API is based on the JSON:API 1.0 specifications. So you MUST include the Content-Type: application/vnd.api+json and the Accept: application/vnd.api+json HTTP header in all your API calls.

Most calls require a valid authentication with a bearer access token. We use OAuth 2.0 for the authentication process (via the /login endpoint).

Here's a small example of a successful authentication to our API:

  1. First, get an authorization token:

    POST /api/login HTTP/1.0
    Host: gsc-api-prp.fcst.tv
    Content-Type: application/vnd.api+json
    
    {
     "username": "johndoe@example.com",
     "password": "123456"
    }
    
    HTTP/1.0 200 OK
    Content-Type: application/vnd.api+json
    
    {
     "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImZhYzE5ZWU5YWZjZTE0NTE5ZjYxYzlmM2U4YTg1MmY3ZGY5ZjNkMjllMmYzNDVkZmNhYThmNjc5NGVkNWU5NDgzNWE1MDQwYTYzYzJkYjJmIn0",
     "data": {
       "type": "user",
       "id": "8f902e00-f427-4405-903b-e06c62cd46cc",
       "attributes": {
         "name": "John Doe",
         "email": "johndoe@example.com",
         "firstname": "John",
         "lastname": "Doe"
       }
     }
    }

    You must use the access_token in upcoming calls (in the Authorization HTTP header).

Authentication

Bearer

Security scheme type: HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

User

User login

post /login

Pre-production server

https://gsc-api-prp.fcst.tv/api/login
Request Body schema: application/json
username
required
string

This field can be either your username or your email address.

password
required
string

Responses

200

Return an acces token and the logged user data.

Response Schema: application/vnd.api+json
access_token
string
data
object
401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "username": "user",
  • "password": "password"
}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImZhYzE5ZWU5YWZjZTE0NTE5ZjYxYzlmM2U4YTg1MmY3ZGY5ZjNkMjllMmYzNDVkZmNhYThmNjc5NGVkNWU5NDgzNWE1MDQwYTYzYzJkYjJmIn0",
  • "data":
    {
    • "type": "user",
    • "id": "8f902e00-f427-4405-903b-e06c62cd46cc",
    • "attributes":
      {
      • "name": "John Doe",
      • "email": "johndoe@example.com",
      • "firstname": "John",
      • "lastname": "Doe"
      }
    }
}

User logout

post /logout

Pre-production server

https://gsc-api-prp.fcst.tv/api/logout
Authorizations:

Responses

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "errors":
    [
    • {
      • "message": "Unauthenticated"
      }
    ]
}

Get the authenticated user

get /me

Pre-production server

https://gsc-api-prp.fcst.tv/api/me
Authorizations:

Responses

200

Return the authenticated user data.

Response Schema: application/vnd.api+json
data
Array of objects
401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Get all users

get /users

Pre-production server

https://gsc-api-prp.fcst.tv/api/users
Authorizations:
header Parameters
Accept-Language
string

Specify the local language you want to get.

E.g.:

  • en-GB
  • fr-FR

Responses

200

Return an array of users data.

Response Schema: application/vnd.api+json
data
Array of objects
links
object
meta
object
401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Create a user

post /users

Pre-production server

https://gsc-api-prp.fcst.tv/api/users
Authorizations:
Request Body schema: application/json

A JSON object with user information.

data
required
object
password_confirmation
required
string

Responses

201

The new user has been created.

Response Schema: application/vnd.api+json
data
Array of objects
links
object
202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
403

Forbidden

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects
409

Conflict

Response Schema: application/vnd.api+json
errors
Array of objects

Request samples

Content type
application/json
Copy
Expand all Collapse all
{}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Get a user

get /users/{uuid}

Pre-production server

https://gsc-api-prp.fcst.tv/api/users/{uuid}
Authorizations:
path Parameters
uuid
required
string

The content UUID

Responses

200

Return the requested user data.

Response Schema: application/vnd.api+json
data
Array of objects
links
object
401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Update a user

patch /users/{uuid}

Pre-production server

https://gsc-api-prp.fcst.tv/api/users/{uuid}
Authorizations:
path Parameters
uuid
required
string

The content UUID

Request Body schema: application/json

A JSON object with user information.

data
required
object
password_confirmation
required
string

Responses

200

The requested user has been updated.

Response Schema: application/vnd.api+json
data
Array of objects
links
object
202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
403

Forbidden

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects
409

Conflict

Response Schema: application/vnd.api+json
errors
Array of objects

Request samples

Content type
application/json
Copy
Expand all Collapse all
{}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Delete a user

delete /users/{uuid}

Pre-production server

https://gsc-api-prp.fcst.tv/api/users/{uuid}
Authorizations:
path Parameters
uuid
required
string

The content UUID

Responses

202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "errors":
    [
    • {
      • "message": "Unauthenticated"
      }
    ]
}

Event

Get all events

get /european-council/events

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events
Authorizations:
query Parameters
filter
Array of any
Items Value: "filter[...]=..."

Filter the results by one or many (separate by a comma) content attribute(s). You can also use wildcard (*,?) and prefix (<,>,<=,>=,-) on attributes.

  • /channels?filter[title]=freecaster,luna
  • /contents?filter[slug]=free*
  • /videos?filter[published_at]=>*3D2019-05-01,<2019-06-01
  • filter[title]=-freecaster

Additional filters:

  • "filter[depth]=...": Target a specific depth in the contents hierarchy.
  • "filter[search]=...": Make a search on all text fields.
  • "filter[tag]={uuid}": Target a specific tag id in the contents data.
sort
Array of any
Items Value: "sort[...]=..."

Sort the results by one or more attributes. By default the sort is ascending. For descending sort, pre-pend the attribute name by an hyphen. You can also combine multiple attributes for more complex sorting.

E.g.:

  • /videos?sort=-published_at

  • /contents?sort=title,-created_at

Additional sorting options:

  • "sort[weight]": Sort on the relationship weight. This is useful in the case of a playlist of videos, of which you can set the order in the back-office interface.
include
Array of any
Items Value: "include=..."

Include one or more relation into the query content results.

E.g.:

  • /videos/{uuid}?include=poster

  • /contents?include=posters,playerDisplays

page
Array of any
Items Value: "page[...]=..."

Results pagination

E.g.:

  • "page[size]=100": Set the number of results per page.
  • "page[number]=3": Return the results of page 3.
header Parameters
Accept-Language
string

Specify the local language you want to get.

E.g.:

  • en-GB
  • fr-FR

Responses

200

Return an array of events data.

Response Schema: application/vnd.api+json
data
Array of objects
links
object
401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Create an event

post /european-council/events

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events

Creates a live video and schedule its publication and live start date-time. Behind the scenes, the live stream is configured on live-origin server. Ready to use embed codes are returned by the API, as well RTMP stream to be used for social network shares.

Authorizations:
Request Body schema: application/json

A JSON object with event information.

data
required
object

Responses

201

The new event has been created.

Response Schema: application/vnd.api+json
data
object
links
object
202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
403

Forbidden

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects
409

Conflict

Response Schema: application/vnd.api+json
errors
Array of objects

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "event",
    • "attributes":
      {
      • "published_at": "2019-04-24T09:52:24Z",
      • "published": true,
      • "unpublished_at": null,
      • "external_url": null,
      • "live": false,
      • "duration": null,
      • "slug": "european-council",
      • "title": "European Council",
      • "description": "",
      • "type": "event",
      • "countdown_time": null,
      • "start": "1235907900000",
      • "end": "1235909699000",
      • "start_date": "2020-01-30 11:30:00",
      • "end_date": "2020-01-30 12:30:00",
      • "display":
        {},
      • "stream_channels":
        [
        • {
          • "sdi": 1,
          • "channel": 1,
          • "language": "eng"
          },
        • {
          • "sdi": 1,
          • "channel": 2,
          • "language": "fre"
          }
        ],
      • "genre": null,
      • "rating": null,
      • "short_title": null,
      • "short_description": null,
      • "production_date": null,
      • "private": false
      }
    }
}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "event",
    • "id": "8d86c40e-c8d8-4feb-bd92-6a242979cebc",
    • "attributes":
      {
      • "created_at": "2019-04-24T09:52:24Z",
      • "updated_at": "2019-04-24T09:52:24Z",
      • "published_at": "2019-04-24T09:52:24Z",
      • "published": true,
      • "unpublished_at": null,
      • "external_url": null,
      • "live": false,
      • "duration": null,
      • "slug": "european-council",
      • "title": "European Council",
      • "description": "",
      • "type": "event",
      • "countdown_time": null,
      • "start": "1235907900000",
      • "end": "1235909699000",
      • "display":
        {},
      • "languages":
        [
        • "fre",
        • "eng"
        ],
      • "genre": null,
      • "rating": null,
      • "short_title": null,
      • "short_description": null,
      • "production_date": null,
      • "start_date": "2020-02-03 11:20:00",
      • "end_date": "2020-02-03 12:20:00",
      • "embed":
        {
        • "iframe": "<!DOCTYPE html>\\n<html lang=\\\"en\\\">\\n<head>\\n <meta charset=\\\"utf-8\\\">\\n...",
        • "js": "(function (w, d) {\\n let data = {\\\"player\\\":{\\\"name\\\":\\\"Flow\\\"...",
        • "json": "{\\\"video\\\":{\\\"src\\\":[{\\\"type\\\":\\\"application\\\\/x-mpegurl\\\",\\\"..."
        }
      }
    },
}

Get an event

get /european-council/events/{uuid}

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events/{uuid}

Returns main information related to a live event based on its unique identifier(UUID). Information includes publication status, start/end date-time for live stream diffusion as well embed code to be used to integrate the player on a web site.

Authorizations:
path Parameters
uuid
required
string

The content UUID

query Parameters
include
Array of any
Items Value: "include=..."

Include one or more relation into the query content results.

E.g.:

  • /videos/{uuid}?include=poster

  • /contents?include=posters,playerDisplays

header Parameters
Accept-Language
string

Specify the local language you want to get.

E.g.:

  • en-GB
  • fr-FR

Responses

200

Return the requested event data.

Response Schema: application/vnd.api+json
data
object
links
object
401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "event",
    • "id": "8d86c40e-c8d8-4feb-bd92-6a242979cebc",
    • "attributes":
      {
      • "created_at": "2019-04-24T09:52:24Z",
      • "updated_at": "2019-04-24T09:52:24Z",
      • "published_at": "2019-04-24T09:52:24Z",
      • "published": true,
      • "unpublished_at": null,
      • "external_url": null,
      • "live": false,
      • "duration": null,
      • "slug": "european-council",
      • "title": "European Council",
      • "description": "",
      • "type": "event",
      • "countdown_time": null,
      • "start": "1235907900000",
      • "end": "1235909699000",
      • "display":
        {},
      • "languages":
        [
        • "fre",
        • "eng"
        ],
      • "genre": null,
      • "rating": null,
      • "short_title": null,
      • "short_description": null,
      • "production_date": null,
      • "start_date": "2020-02-03 11:20:00",
      • "end_date": "2020-02-03 12:20:00",
      • "embed":
        {
        • "iframe": "<!DOCTYPE html>\\n<html lang=\\\"en\\\">\\n<head>\\n <meta charset=\\\"utf-8\\\">\\n...",
        • "js": "(function (w, d) {\\n let data = {\\\"player\\\":{\\\"name\\\":\\\"Flow\\\"...",
        • "json": "{\\\"video\\\":{\\\"src\\\":[{\\\"type\\\":\\\"application\\\\/x-mpegurl\\\",\\\"..."
        }
      }
    },
}

Update an event

patch /european-council/events/{uuid}

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events/{uuid}

Allows to change main information related to a live event. Start and stop date-time allows to instantly display/hide holding image to hide/reveal the live stream in the player. Duration is automatically calculated.

Authorizations:
path Parameters
uuid
required
string

The content UUID

header Parameters
Content-Language
string

Specify the local language you want to update.

E.g.:

  • en-GB
  • fr-FR
Request Body schema: application/json

A JSON object with event information.

data
required
object

Responses

200

The requested event has been updated.

Response Schema: application/vnd.api+json
data
object
links
object
202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
403

Forbidden

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects
409

Conflict

Response Schema: application/vnd.api+json
errors
Array of objects

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "event",
    • "id": "8d86c40e-c8d8-4feb-bd92-6a242979cebc",
    • "attributes":
      {
      • "published_at": "2019-04-24T09:52:24Z",
      • "published": true,
      • "unpublished_at": null,
      • "external_url": null,
      • "live": false,
      • "duration": null,
      • "slug": "european-council",
      • "title": "European Council",
      • "description": "",
      • "type": "event",
      • "countdown_time": null,
      • "start": "1235907900000",
      • "end": "1235909699000",
      • "start_date": "2020-01-30 11:30:00",
      • "end_date": "2020-01-30 12:30:00",
      • "display":
        {},
      • "stream_channels":
        [
        • {
          • "sdi": 1,
          • "channel": 1,
          • "language": "eng"
          },
        • {
          • "sdi": 1,
          • "channel": 2,
          • "language": "fre"
          }
        ],
      • "genre": null,
      • "rating": null,
      • "short_title": null,
      • "short_description": null,
      • "production_date": null,
      • "private": false
      }
    }
}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "event",
    • "id": "8d86c40e-c8d8-4feb-bd92-6a242979cebc",
    • "attributes":
      {
      • "created_at": "2019-04-24T09:52:24Z",
      • "updated_at": "2019-04-24T09:52:24Z",
      • "published_at": "2019-04-24T09:52:24Z",
      • "published": true,
      • "unpublished_at": null,
      • "external_url": null,
      • "live": false,
      • "duration": null,
      • "slug": "european-council",
      • "title": "European Council",
      • "description": "",
      • "type": "event",
      • "countdown_time": null,
      • "start": "1235907900000",
      • "end": "1235909699000",
      • "display":
        {},
      • "languages":
        [
        • "fre",
        • "eng"
        ],
      • "genre": null,
      • "rating": null,
      • "short_title": null,
      • "short_description": null,
      • "production_date": null,
      • "start_date": "2020-02-03 11:20:00",
      • "end_date": "2020-02-03 12:20:00",
      • "embed":
        {
        • "iframe": "<!DOCTYPE html>\\n<html lang=\\\"en\\\">\\n<head>\\n <meta charset=\\\"utf-8\\\">\\n...",
        • "js": "(function (w, d) {\\n let data = {\\\"player\\\":{\\\"name\\\":\\\"Flow\\\"...",
        • "json": "{\\\"video\\\":{\\\"src\\\":[{\\\"type\\\":\\\"application\\\\/x-mpegurl\\\",\\\"..."
        }
      }
    },
}

Delete an event

delete /european-council/events/{uuid}

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events/{uuid}
Authorizations:
path Parameters
uuid
required
string

The content UUID

Responses

200

The requested event has been deleted.

Response Schema: application/vnd.api+json
meta
object
202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Start an event

post /european-council/events/{uuid}/start

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events/{uuid}/start
Authorizations:
path Parameters
uuid
required
string

The content UUID

Responses

201

Start the requested event.

Response Schema: application/vnd.api+json
data
object
links
object
202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
403

Forbidden

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects
409

Conflict

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "event",
    • "id": "8d86c40e-c8d8-4feb-bd92-6a242979cebc",
    • "attributes":
      {
      • "created_at": "2019-04-24T09:52:24Z",
      • "updated_at": "2019-04-24T09:52:24Z",
      • "published_at": "2019-04-24T09:52:24Z",
      • "published": true,
      • "unpublished_at": null,
      • "external_url": null,
      • "live": false,
      • "duration": null,
      • "slug": "european-council",
      • "title": "European Council",
      • "description": "",
      • "type": "event",
      • "countdown_time": null,
      • "start": "1235907900000",
      • "end": "1235909699000",
      • "display":
        {},
      • "languages":
        [
        • "fre",
        • "eng"
        ],
      • "genre": null,
      • "rating": null,
      • "short_title": null,
      • "short_description": null,
      • "production_date": null,
      • "start_date": "2020-02-03 11:20:00",
      • "end_date": "2020-02-03 12:20:00",
      • "embed":
        {
        • "iframe": "<!DOCTYPE html>\\n<html lang=\\\"en\\\">\\n<head>\\n <meta charset=\\\"utf-8\\\">\\n...",
        • "js": "(function (w, d) {\\n let data = {\\\"player\\\":{\\\"name\\\":\\\"Flow\\\"...",
        • "json": "{\\\"video\\\":{\\\"src\\\":[{\\\"type\\\":\\\"application\\\\/x-mpegurl\\\",\\\"..."
        }
      }
    },
}

Stop an event

post /european-council/events/{uuid}/stop

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events/{uuid}/stop
Authorizations:
path Parameters
uuid
required
string

The content UUID

Request Body schema: application/json

A JSON object with event display information.

data
required
object

Responses

201

Stop the requested event.

Response Schema: application/vnd.api+json
data
object
links
object
202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
403

Forbidden

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects
409

Conflict

Response Schema: application/vnd.api+json
errors
Array of objects

Request samples

Content type
application/json
Copy
Expand all Collapse all
{}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "event",
    • "id": "8d86c40e-c8d8-4feb-bd92-6a242979cebc",
    • "attributes":
      {
      • "created_at": "2019-04-24T09:52:24Z",
      • "updated_at": "2019-04-24T09:52:24Z",
      • "published_at": "2019-04-24T09:52:24Z",
      • "published": true,
      • "unpublished_at": null,
      • "external_url": null,
      • "live": false,
      • "duration": null,
      • "slug": "european-council",
      • "title": "European Council",
      • "description": "",
      • "type": "event",
      • "countdown_time": null,
      • "start": "1235907900000",
      • "end": "1235909699000",
      • "display":
        {},
      • "languages":
        [
        • "fre",
        • "eng"
        ],
      • "genre": null,
      • "rating": null,
      • "short_title": null,
      • "short_description": null,
      • "production_date": null,
      • "start_date": "2020-02-03 11:20:00",
      • "end_date": "2020-02-03 12:20:00",
      • "embed":
        {
        • "iframe": "<!DOCTYPE html>\\n<html lang=\\\"en\\\">\\n<head>\\n <meta charset=\\\"utf-8\\\">\\n...",
        • "js": "(function (w, d) {\\n let data = {\\\"player\\\":{\\\"name\\\":\\\"Flow\\\"...",
        • "json": "{\\\"video\\\":{\\\"src\\\":[{\\\"type\\\":\\\"application\\\\/x-mpegurl\\\",\\\"..."
        }
      }
    },
}

Video

Set a video posterframe

post /videos/{uuid}/poster

Pre-production server

https://gsc-api-prp.fcst.tv/api/videos/{uuid}/poster

Set a video posterframe can be used in three ways to define the still image to be used for a video: by uploading a custom image from a file or from an URL or by extracting an image from a video at selected time. The API returns an absolute URL for generated posterframe.

Authorizations:
path Parameters
uuid
required
string

The content UUID

Request Body schema: application/vnd.api+json
One of
  • string
  • string
  • integer
string <binary>

Image file as JPEG or PNG

Responses

201

The new poster has been created.

Response Schema: application/vnd.api+json
data
Array of objects
links
object
meta
object
204

No Content

400

Bad Request

Response Schema: application/vnd.api+json
errors
Array of objects
401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Request samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Delete a video posterframe

delete /videos/{uuid}/poster

Pre-production server

https://gsc-api-prp.fcst.tv/api/videos/{uuid}/poster
Authorizations:
path Parameters
uuid
required
string

The content UUID

Responses

202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "errors":
    [
    • {
      • "message": "Unauthenticated"
      }
    ]
}

Clip a video

post /videos/{uuid}/clip

Pre-production server

https://gsc-api-prp.fcst.tv/api/videos/{uuid}/clip
Authorizations:
path Parameters
uuid
required
string

The content UUID

Request Body schema: application/json

A JSON object with clip information.

There are two payload possible:

  • Defining one start/end (Left 'object' button)
  • Defining multiple section start/end (Right 'object' button)

(Click on 'object' button hereunder to switch between payload)

One of
  • object
  • object
data
required
object

Responses

201

The job has been created.

Response Schema: application/vnd.api+json
data
object
204

No Content

400

Bad Request

Response Schema: application/vnd.api+json
errors
Array of objects
401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "oneOf":
    [
    • {
      • "data":
        {
        • "type": "video",
        • "attributes":
          {
          • "title": "Test clipping",
          • "sections":
            [
            • {
              • "start": 10000,
              • "end": 20000
              },
            • {
              • "start": 20000,
              • "end": 30000
              }
            ]
          }
        }
      },
    • {
      • "data":
        {
        • "type": "video",
        • "attributes":
          {
          • "title": "Test clipping",
          • "start": 10000,
          • "end": 20000
          }
        }
      }
    ]
}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "jobStatus",
    • "id": "8ebecaec-bbf2-4914-a3b1-ced673f845c6",
    • "attributes":
      {
      • "name": "My Simple Job",
      • "type": "test",
      • "queue": null,
      • "attempts": 0,
      • "progress": 0,
      • "status": "queued",
      • "output": null,
      • "cancellable": 1,
      • "created_at": "2019-09-26T14:29:54.000Z",
      • "updated_at": "2019-09-26T14:29:54.000Z",
      • "started_at": "2019-09-26T14:29:54.000Z",
      • "finished_at": "2019-09-26T15:29:54.000Z",
      • "cancelled_at": null,
      • "custom_data":
        [
        • "hello",
        • "world"
        ]
      }
    }
}

Update a video player configuration

patch /videos/{uuid}/playerConfig

Pre-production server

https://gsc-api-prp.fcst.tv/api/videos/{uuid}/playerConfig
Authorizations:
path Parameters
uuid
required
string

The content UUID

Request Body schema: application/json

A JSON object with player configuration information.

data
required
object

Responses

200

The video player configuration have been updated.

Response Schema: application/vnd.api+json
data
object
meta
object
links
object
202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
403

Forbidden

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects
409

Conflict

Response Schema: application/vnd.api+json
errors
Array of objects

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "channel",
    • "id": "8d86c40e-c8d8-4feb-bd92-6a242979cebc",
    • "attributes":
      {
      • "color": 12003882,
      • "dvr": true,
      • "autoplay": true,
      • "controls":
        {
        • "title": true,
        • "volume": true
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Chapter

Get all chapters

get /european-council/events/{uuid}/chapters

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events/{uuid}/chapters
Authorizations:
path Parameters
uuid
required
string

The content UUID

Responses

200

Return an array of chapters data.

Response Schema: application/vnd.api+json
data
Array of objects
links
object
401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Create a chapter

post /european-council/events/{uuid}/chapters

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events/{uuid}/chapters
Authorizations:
path Parameters
uuid
required
string

The content UUID

Request Body schema: application/json

A JSON object with chapter information.

data
required
object

Responses

201

The new chapter has been created.

Response Schema: application/vnd.api+json
data
object
links
object
202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
403

Forbidden

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects
409

Conflict

Response Schema: application/vnd.api+json
errors
Array of objects

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "chapter",
    • "attributes":
      {
      • "published": true,
      • "title": "freecaster test",
      • "start": 1511425310000,
      • "end": 1511425314000,
      • "parent_id": null,
      • "legacy_id": "8d86c40e-c8d8-4feb-bd92-6a242979cebc"
      }
    }
}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "chapter",
    • "id": "8d86c40e-c8d8-4feb-bd92-6a242979cebc",
    • "attributes":
      {
      • "created_at": "2019-04-24T09:52:24Z",
      • "updated_at": "2019-04-24T09:52:24Z",
      • "published_at": "2019-04-24T09:52:24Z",
      • "published": true,
      • "unpublished_at": null,
      • "external_url": null,
      • "slug": "freecaster-team",
      • "title": "Freecaster Team",
      • "description": "",
      • "type": "default",
      • "start": 1511425310000,
      • "end": 1511425314000,
      • "legacy_id": null
      }
    },
}

Get a chapter

get /european-council/events/{uuid}/chapters/{id}

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events/{uuid}/chapters/{id}
Authorizations:
path Parameters
uuid
required
string

The content UUID

id
required
string or string

The chaper uuid or legacy_id

Responses

200

Return the requested chapter data.

Response Schema: application/vnd.api+json
data
object
links
object
401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "chapter",
    • "id": "8d86c40e-c8d8-4feb-bd92-6a242979cebc",
    • "attributes":
      {
      • "created_at": "2019-04-24T09:52:24Z",
      • "updated_at": "2019-04-24T09:52:24Z",
      • "published_at": "2019-04-24T09:52:24Z",
      • "published": true,
      • "unpublished_at": null,
      • "external_url": null,
      • "slug": "freecaster-team",
      • "title": "Freecaster Team",
      • "description": "",
      • "type": "default",
      • "start": 1511425310000,
      • "end": 1511425314000,
      • "legacy_id": null
      }
    },
}

Update a chapter

patch /european-council/events/{uuid}/chapters/{id}

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events/{uuid}/chapters/{id}
Authorizations:
path Parameters
uuid
required
string

The content UUID

id
required
string or string

The chaper uuid or legacy_id

Request Body schema: application/json

A JSON object with chapter information.

data
required
object

Responses

200

The requested chapter has been updated.

Response Schema: application/vnd.api+json
data
object
links
object
202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
403

Forbidden

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects
409

Conflict

Response Schema: application/vnd.api+json
errors
Array of objects

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "chapter",
    • "id": "8d86c40e-c8d8-4feb-bd92-6a242979cebc",
    • "attributes":
      {
      • "published": true,
      • "title": "freecaster test",
      • "start": 1511425310000,
      • "end": 1511425314000,
      • "parent_id": "8d86c40e-c8d8-4feb-bd92-6a242979cebc",
      • "legacy_id": null
      }
    }
}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "chapter",
    • "id": "8d86c40e-c8d8-4feb-bd92-6a242979cebc",
    • "attributes":
      {
      • "created_at": "2019-04-24T09:52:24Z",
      • "updated_at": "2019-04-24T09:52:24Z",
      • "published_at": "2019-04-24T09:52:24Z",
      • "published": true,
      • "unpublished_at": null,
      • "external_url": null,
      • "slug": "freecaster-team",
      • "title": "Freecaster Team",
      • "description": "",
      • "type": "default",
      • "start": 1511425310000,
      • "end": 1511425314000,
      • "legacy_id": null
      }
    },
}

Delete a chapter

delete /european-council/events/{uuid}/chapters/{id}

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events/{uuid}/chapters/{id}
Authorizations:
path Parameters
uuid
required
string

The content UUID

id
required
string or string

The chaper uuid or legacy_id

Responses

200

The requested chapter has been deleted.

Response Schema: application/vnd.api+json
meta
object
202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Display

Get an event display

get /european-council/events/{uuid}/display

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events/{uuid}/display

Include relation for event display is: background.

Authorizations:
path Parameters
uuid
required
string

The content UUID

query Parameters
include
Array of any
Items Value: "include=..."

Include one or more relation into the query content results.

E.g.:

  • /videos/{uuid}?include=poster

  • /contents?include=posters,playerDisplays

Responses

200

Return the requested event display data.

Response Schema: application/vnd.api+json
data
Array of objects
meta
object
links
object
401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Create an event display

post /european-council/events/{uuid}/display

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events/{uuid}/display
Authorizations:
path Parameters
uuid
required
string

The content UUID

Request Body schema: application/json

A JSON object with event display information.

data
required
object

Responses

201

The new event display has been created.

Response Schema: application/vnd.api+json
data
Array of objects
meta
object
links
object
202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
403

Forbidden

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects
409

Conflict

Response Schema: application/vnd.api+json
errors
Array of objects

Request samples

Content type
application/json
Copy
Expand all Collapse all
{}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Delete an event display

delete /european-council/events/{uuid}/display

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/events/{uuid}/display
Authorizations:
path Parameters
uuid
required
string

The content UUID

Responses

200

The requested event display has been deleted.

Response Schema: application/vnd.api+json
meta
object
202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Job

Get all jobs

get /jobs

Pre-production server

https://gsc-api-prp.fcst.tv/api/jobs
Authorizations:

Responses

200

Return an array of jobs data.

Response Schema: application/vnd.api+json
data
Array of objects
links
object
meta
object
401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{}

Get a job

get /jobs/{uuid}

Pre-production server

https://gsc-api-prp.fcst.tv/api/jobs/{uuid}
Authorizations:
path Parameters
uuid
required
string

The content UUID

Responses

200

Return the requested job data.

Response Schema: application/vnd.api+json
data
object
links
object
401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "jobStatus",
    • "id": "8ebecaec-bbf2-4914-a3b1-ced673f845c6",
    • "attributes":
      {
      • "name": "My Simple Job",
      • "type": "test",
      • "queue": null,
      • "attempts": 0,
      • "progress": 0,
      • "status": "queued",
      • "output": null,
      • "cancellable": 1,
      • "created_at": "2019-09-26T14:29:54.000Z",
      • "updated_at": "2019-09-26T14:29:54.000Z",
      • "started_at": "2019-09-26T14:29:54.000Z",
      • "finished_at": "2019-09-26T15:29:54.000Z",
      • "cancelled_at": null,
      • "custom_data":
        [
        • "hello",
        • "world"
        ]
      }
    },
}

Delete a job

delete /jobs/{uuid}

Pre-production server

https://gsc-api-prp.fcst.tv/api/jobs/{uuid}
Authorizations:
path Parameters
uuid
required
string

The content UUID

Responses

202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "errors":
    [
    • {
      • "message": "Unauthenticated"
      }
    ]
}

Mercure

Publish mercure notification

post /european-council/mercure

Pre-production server

https://gsc-api-prp.fcst.tv/api/european-council/mercure
Authorizations:
Request Body schema: application/json

A JSON object with mercure information.

data
required
object

Responses

201

Notification created.

202

Accepted

204

No Content

401

Unauthorized

Response Schema: application/vnd.api+json
errors
Array of objects
403

Forbidden

Response Schema: application/vnd.api+json
errors
Array of objects
404

Not Found

Response Schema: application/vnd.api+json
errors
Array of objects
409

Conflict

Response Schema: application/vnd.api+json
errors
Array of objects

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    {
    • "type": "mercure",
    • "attributes":
      {
      • "topics":
        [
        • "mercure-topic"
        ],
      • "payload":
        {
        • "title": "Lorem Ipsum",
        • "description": "Lorem ipsum dolor sit amet."
        }
      }
    }
}

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "errors":
    [
    • {
      • "message": "Unauthenticated"
      }
    ]
}

Version

Get the current version of the Freecaster API

get /version

Pre-production server

https://gsc-api-prp.fcst.tv/api/version

Responses

200

Return the current version of the Freecaster API.

Response Schema: application/vnd.api+json
version
string

Response samples

Content type
application/vnd.api+json
Copy
Expand all Collapse all
{
  • "version": "0.2.1 - 44a8bac@develop"
}