Skip to main content

Fusion Signage API (1.0)

Download OpenAPI specification:Download

folder

Folders are used to organise digital signage content, including media, playlists and schedules, for easier management.

List folders

Returns an object containing a list of folders and permissions for root folders.

Authorizations:
personal-access-token

Responses

Response samples

Content type
application/json
{
  • "folders": [
    ],
  • "rootPermissions": {
    }
}

Create folder

Authorizations:
personal-access-token
Request Body schema: application/json
required
name
required
string [ 1 .. 250 ] characters
parentId
number or null

Leave null to create a root folder.

sortSequence
number

A comparable number representing the sortable sequence of this folder relative to its siblings. Does not need to be in a precise incremental order - e.g. 1, 2, 3 or 1, 10, 100 will be accepted.

If this matches the sort sequence of a sibling, then siblings will be shifted to achieve the desired sort order. There is no guarantee that the value you provide will be used exactly as-is.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "parentId": 0,
  • "sortSequence": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string"
}

Update folder

Authorizations:
personal-access-token
path Parameters
id
required
number
Request Body schema: application/json
required
name
string [ 1 .. 250 ] characters
parentId
number or null

Leave null to create a root folder.

sortSequence
number

A comparable number representing the sortable sequence of this folder relative to its siblings. Does not need to be in a precise incremental order - e.g. 1, 2, 3 or 1, 10, 100 will be accepted.

If this matches the sort sequence of a sibling, then siblings will be shifted to achieve the desired sort order. There is no guarantee that the value you provide will be used exactly as-is.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "parentId": 0,
  • "sortSequence": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string"
}

Delete folder

The folder must be empty of assets and subfolders before it can be deleted.

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

asset

Assets provide a unified, high-level representation of all supported digital signage content, such as media, playlists and schedules.

List assets

This API is intended to be used to build folder-based views of signage content. It will return any content that can be assigned to a folder. You can use the content-specific APIs (such as /playlists and /media) and aggregate the content yourself if you prefer.

Authorizations:
personal-access-token
query Parameters
folderId
required
number
type
string
Enum: "PLAYLIST" "SCHEDULE" "MEDIA"
offset
required
number >= 0
Default: 0
limit
required
number >= 1
Default: 10
sort
string^[A-Za-z0-9_.]+:(asc|desc)$
Examples:
  • sort=id:desc -
  • sort=id:asc -

Optional sort in the format field:dir where dir is asc or desc.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "data": [
    ]
}

Bulk move assets

This API is a convenience API to move assets between folders. You can use the content-specific APIs (such as /playlists/:id and /media/:id) and move the assets directly if you prefer.

Authorizations:
personal-access-token
Request Body schema: application/json
required
folderId
required
number

The destination folder id to move the assets to.

required
Array of objects (MinimalAsset) non-empty

The assets to move.

Responses

Request samples

Content type
application/json
{
  • "folderId": 0,
  • "assets": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string"
}

Bulk delete assets

This API is a convenience API to delete assets. You can use the content-specific APIs (such as /playlists/:id and /media/:id) and delete the assets directly if you prefer.

Authorizations:
personal-access-token
Request Body schema: application/json
required
required
Array of objects (MinimalAsset) non-empty

The assets to delete.

Array (non-empty)
id
required
number
type
required
string
Enum: "PLAYLIST" "SCHEDULE" "MEDIA"

Responses

Request samples

Content type
application/json
{
  • "assets": [
    ]
}

media

Media represents visual content such as images, videos, web pages and dynamic templates that can be added to playlists.

Create media

Authorizations:
personal-access-token
Request Body schema: application/json
required
WebsiteOptions (object) or PowerBiOptions (object) or TableauOptions (object) or DesignOptions (object) or WidgetOptions (object) or CanvaOptions (object)

Specific options related to the media type.

required
object

The origin of the media item. This includes the type of media and where it is located.

name
required
string <= 150 characters

The publicly visible name of the media item. This could be the file name or a human-readable name.

folderId
required
number

The folder to store the media item in.

Responses

Request samples

Content type
application/json
{
  • "options": {
    },
  • "origin": {},
  • "name": "string",
  • "folderId": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "folder": {
    }
}

List media

Authorizations:
personal-access-token
query Parameters
folderId
number
mediaType
string
Enum: "IMAGE" "VIDEO" "WIDGET" "WEBSITE" "CANVA" "POWER_BI" "TABLEAU" "DESIGN" "ZONE"
offset
required
number >= 0
Default: 0
limit
required
number >= 1
Default: 10
sort
string^[A-Za-z0-9_.]+:(asc|desc)$
Examples:
  • sort=id:desc -
  • sort=id:asc -

Optional sort in the format field:dir where dir is asc or desc.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "data": [
    ]
}

Start a media upload

Prepares and returns an upload URL that can be used to upload a file. Only use this for media items that have a PROVIDED source. Clients must PUT the file against the returned URL.

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "uploadUrl": "string"
}

Complete a media upload

Authorizations:
personal-access-token
path Parameters
id
required
number
Request Body schema: application/json
required
uploadUrl
required
string <uri>
contentType
required
string

Responses

Request samples

Content type
application/json
{}

Request a media import

Requests an import of an externally edited media file (e.g. a Canva design). The import will be processed asynchronously.

Authorizations:
personal-access-token
path Parameters
id
required
number
correlationId
required
string

Responses

Delete media

This will also delete any files that were uploaded.

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

Update media

Authorizations:
personal-access-token
path Parameters
id
required
number
Request Body schema: application/json
required
name
string <= 150 characters
folderId
number

The folder to move the media item to.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "folderId": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "folder": {
    }
}

Get media

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "origin": {},
  • "name": "string",
  • "folder": {
    },
  • "status": "CREATED",
  • "options": { },
  • "thumbnail": {
    },
  • "durationInSeconds": 0,
  • "dimensions": {
    },
  • "created": "2019-08-24T14:15:22Z"
}

Get media files Deprecated

This will return file metadata about the media file(s) we have created as a result of processing your media uploads. Your uploaded media is converted into formats suitable for digital signage, so we may have more than one representation of your media. The files can be downloaded using the URL of each file.

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
[]

playlist

Playlists are collections of media items with specific playback settings. Playlists are used to deploy content to screens.

Create playlist

Authorizations:
personal-access-token
Request Body schema: application/json
required
required
Array of MediaPlaylistItemRequestDTO (object) or SubPlaylistPlaylistItemRequestDTO (object)

The items to play in this playlist. These can be media items or another playlist.

The order of items in this list determines the order they will be played.

name
required
string <= 150 characters

The name of the playlist that provides context for the content or details about its purpose.

folderId
required
number

The folder to store playlist in.

object

An optional overlay to apply to the playlist. The configured media will overlay the entire playlist. Use this to display logos, clocks, tickers throughout your entire playlist.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "name": "string",
  • "folderId": 0,
  • "overlay": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "folder": {
    }
}

List playlists

Authorizations:
personal-access-token
query Parameters
folderId
number
offset
required
number >= 0
Default: 0
limit
required
number >= 1
Default: 10
sort
string^[A-Za-z0-9_.]+:(asc|desc)$
Examples:
  • sort=id:desc -
  • sort=id:asc -

Optional sort in the format field:dir where dir is asc or desc.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "data": [
    ]
}

Duplicate playlist

Duplicates a playlist, including all of its items. The new playlist will be created in the same folder as the original and will have the same name with the suffix (duplicate).

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "folder": {
    }
}

Update playlist

Authorizations:
personal-access-token
path Parameters
id
required
number
Request Body schema: application/json
required
Array of MediaPlaylistItemRequestDTO (object) or SubPlaylistPlaylistItemRequestDTO (object)

The items to play in this playlist. These can be media items or another playlist.

The order of items in this list determines the order they will be played.

name
string <= 150 characters

The name of the playlist that provides context for the content or details about its purpose.

folderId
number

The folder to store playlist in.

object

An optional overlay to apply to the playlist. The configured media will overlay the entire playlist. Use this to display logos, clocks, tickers throughout your entire playlist.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "name": "string",
  • "folderId": 0,
  • "overlay": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "folder": {
    }
}

Delete playlist

The deleted playlist will automatically be removed from playlists where it is a sub playlist, and any zones that reference it. The playlist will be unpublished from screens.

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

Get playlist

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "folder": {
    },
  • "items": [
    ],
  • "overlay": {
    },
  • "permissions": {
    }
}

Publish playlist

Publishes the playlist to the targeted screens or screen groups. This process is asynchronous and will return once the targets have been validated. The status of the publishing process can be queried using the returned job id.

Authorizations:
personal-access-token
path Parameters
id
required
number
Request Body schema: application/json
required
required
object

The target screens to publish the playlist to.

identities
Array of strings non-empty
tags
Array of strings non-empty
groupIds
Array of numbers non-empty

Responses

Request samples

Content type
application/json
{
  • "targets": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "PENDING",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "screens": [
    ]
}

schedule

Schedules are collections of playlists with specific timing and recurrence rules. Schedules are used to automate content playback on screens across different dates and times.

Create schedule

Authorizations:
personal-access-token
Request Body schema: application/json
required
defaultPlaylistId
number

The ID of the playlist that will be played when no event is currently active.

name
required
string <= 250 characters

The name of the schedule that provides context for the content or details about its purpose.

folderId
required
number

The folder to store the schedule in.

required
Array of objects (Event)

A list of events associated with the schedule. Each event represents a specific playlist to be displayed at a particular date and time

Responses

Request samples

Content type
application/json
{
  • "defaultPlaylistId": 0,
  • "name": "string",
  • "folderId": 0,
  • "events": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "folder": {
    }
}

List schedules

Authorizations:
personal-access-token
query Parameters
folderId
number
offset
required
number >= 0
Default: 0
limit
required
number >= 1
Default: 10
sort
string^[A-Za-z0-9_.]+:(asc|desc)$
Examples:
  • sort=id:desc -
  • sort=id:asc -

Optional sort in the format field:dir where dir is asc or desc.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "data": [
    ]
}

Update schedule

Authorizations:
personal-access-token
path Parameters
id
required
number
Request Body schema: application/json
required
name
string <= 250 characters

The name of the schedule that provides context for the content or details about its purpose.

folderId
number

The folder to store the schedule in.

Array of objects (Event)

A list of events associated with the schedule. Each event represents a specific playlist to be displayed at a particular date and time

defaultPlaylistId
number or null

The ID of the playlist that will be played when no event is currently active. Set to null to clear out an existing default playlist.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "folderId": 0,
  • "events": [
    ],
  • "defaultPlaylistId": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "folder": {
    }
}

Delete schedule

The deleted schedule will automatically be removed from any screens or screen groups that reference it.

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

Get schedule

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "folder": {
    },
  • "events": [
    ],
  • "defaultPlaylist": {
    },
  • "permissions": {
    }
}

Duplicate schedule

Duplicates a schedule, including all of its events. The new schedule will be created in the same folder as the original and will have the same name with the suffix (duplicate).

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "folder": {
    }
}

Publish schedule

Publishes the schedule to the targeted screens or screen groups. This process is asynchronous and will return once the targets have been validated. The status of the publishing process can be queried using the returned job id.

Authorizations:
personal-access-token
path Parameters
id
required
number
Request Body schema: application/json
required
required
object

The target screens to publish the schedule to.

identities
Array of strings non-empty
tags
Array of strings non-empty
groupIds
Array of numbers non-empty

Responses

Request samples

Content type
application/json
{
  • "targets": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "PENDING",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "screens": [
    ]
}

screen

Screens are the hardware devices running the signage player application to display your content.

Pair screen

Authorizations:
personal-access-token
Request Body schema: application/json
required
pairingCode
required
string

The pairing code that is viewable on the screen.

licenceNumber
string

The licence to assign to the screen. If not provided, then the next available licence will be assigned.

displayName
required
string

The screen name viewable in the CMS.

ianaTimezone
required
string

The IANA timezone to assign to the screen.

object (Metadata)

Responses

Request samples

Content type
application/json
{
  • "pairingCode": "string",
  • "licenceNumber": "string",
  • "displayName": "string",
  • "ianaTimezone": "string",
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "identity": "string",
  • "displayName": "string"
}

Configure screen

Authorizations:
personal-access-token
path Parameters
identity
required
string
Request Body schema: application/json
required
displayName
string

The screen name viewable in the CMS.

ianaTimezone
string

The IANA timezone to assign to the screen.

object (Metadata)

Responses

Request samples

Content type
application/json
{
  • "displayName": "string",
  • "ianaTimezone": "string",
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "identity": "string",
  • "displayName": "string"
}

Get screen

Authorizations:
personal-access-token
path Parameters
identity
required
string

Responses

Response samples

Content type
application/json
{
  • "identity": "string",
  • "configuration": {
    },
  • "deviceReport": {
    },
  • "content": {
    },
  • "state": {
    },
  • "permissions": {
    }
}

Delete screen

Authorizations:
personal-access-token
path Parameters
identity
required
string

Responses

Get screenshots

Returns the most recent live screenshots taken of the screen.

Authorizations:
personal-access-token
path Parameters
identity
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List screens

Authorizations:
personal-access-token
query Parameters
applicationVersion
string
Example: applicationVersion=1.0.3

Filter by the application version.

runtime
string
Enum: "ANDROID" "TIZEN" "BRIGHTSIGN" "WEB" "WEBOS" "WINDOWS" "LINUX"

Filter by the application runtime - e.g. ANDROID or BRIGHTSIGN.

tags
Array of strings non-empty

Filter by a list of tags that all screens matching the filter must have.

groupId
number

Filter by screens in a screen group.

offset
required
number >= 0
Default: 0
limit
required
number >= 1
Default: 10
sort
string^[A-Za-z0-9_.]+:(asc|desc)$
Examples:
  • sort=id:desc -
  • sort=id:asc -

Optional sort in the format field:dir where dir is asc or desc.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "data": [
    ]
}

Dispatch command

Dispatches a command to the screen. The screen must be online to receive and process the command. This API response will include the ID of the command, which can be used to query the status of the command.

Authorizations:
personal-access-token
path Parameters
identity
required
string
Request Body schema: application/json
required
type
required
string
Enum: "TAKE_SCREENSHOT" "UPGRADE_APPLICATION" "CLEAR_CACHE"
payload
object

Responses

Request samples

Content type
application/json
{
  • "type": "TAKE_SCREENSHOT",
  • "payload": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "targetIdentity": "string",
  • "type": "TAKE_SCREENSHOT",
  • "payload": { },
  • "status": "PENDING"
}

Get command

Authorizations:
personal-access-token
path Parameters
identity
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "targetIdentity": "string",
  • "type": "TAKE_SCREENSHOT",
  • "payload": { },
  • "status": "PENDING"
}

tag

Tags are custom attributes that can be applied to media and screens to help organise and filter your digital signage content.

Create tag

Authorizations:
personal-access-token
Request Body schema: application/json
required
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string"
}

List tags

Authorizations:
personal-access-token
query Parameters
name
string
offset
required
number >= 0
Default: 0
limit
required
number >= 1
Default: 10
sort
string^[A-Za-z0-9_.]+:(asc|desc)$
Examples:
  • sort=id:desc -
  • sort=id:asc -

Optional sort in the format field:dir where dir is asc or desc.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "data": [
    ]
}

Get tag

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "usageCount": 0
}

Update tag

Authorizations:
personal-access-token
path Parameters
id
required
number
Request Body schema: application/json
required
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "usageCount": 0
}

Delete tag

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

screen-group

List screen groups

Authorizations:
personal-access-token
query Parameters
parentId
number or null
offset
required
number >= 0
Default: 0
limit
required
number >= 1
Default: 10
sort
string^[A-Za-z0-9_.]+:(asc|desc)$
Examples:
  • sort=id:desc -
  • sort=id:asc -

Optional sort in the format field:dir where dir is asc or desc.

Responses

Response samples

Content type
application/json
{
  • "total": 0,
  • "offset": 0,
  • "limit": 0,
  • "data": [
    ]
}

Get screen group

Authorizations:
personal-access-token
path Parameters
id
required
number

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "content": {
    },
  • "permissions": {
    }
}

publish

Get publish job

Authorizations:
personal-access-token
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "status": "PENDING",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "screens": [
    ]
}