Folders are used to organise digital signage content, including media, playlists and schedules, for easier management.
Returns an object containing a list of folders and permissions for root folders.
{- "folders": [
- {
- "id": 0,
- "name": "string",
- "type": "STANDARD",
- "parentId": 0,
- "assetCount": 0,
- "sortSequence": 0,
- "permissions": {
- "folder": {
- "create": true,
- "read": true,
- "update": true,
- "delete": true
}, - "asset": {
- "create": { }
}, - "media": {
- "create": { }
}
}
}
], - "rootPermissions": {
- "folder": { }
}
}| 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. |
{- "name": "string",
- "parentId": 0,
- "sortSequence": 0
}{- "id": 0,
- "name": "string"
}| id required | number |
| 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. |
{- "name": "string",
- "parentId": 0,
- "sortSequence": 0
}{- "id": 0,
- "name": "string"
}Assets provide a unified, high-level representation of all supported digital signage content, such as media, playlists and schedules.
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.
| 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:
Optional sort in the format |
{- "total": 0,
- "offset": 0,
- "limit": 0,
- "data": [
- {
- "type": "PLAYLIST",
- "status": "CREATED",
- "durationInSeconds": 0,
- "dimensions": {
- "width": 0,
- "height": 0
}, - "thumbnail": {
- "url": "string"
}, - "files": [
- {
- "format": "string",
- "sizeInBytes": 0
}
], - "usageCount": 0,
- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}, - "lastUpdated": "2019-08-24T14:15:22Z"
}
]
}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.
| folderId required | number The destination folder id to move the assets to. |
required | Array of objects (MinimalAsset) non-empty The assets to move. |
{- "folderId": 0,
- "assets": [
- {
- "id": 0,
- "type": "PLAYLIST"
}
]
}{- "id": 0,
- "name": "string"
}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.
required | Array of objects (MinimalAsset) non-empty The assets to delete. | ||||
Array (non-empty)
| |||||
{- "assets": [
- {
- "id": 0,
- "type": "PLAYLIST"
}
]
}Media represents visual content such as images, videos, web pages and dynamic templates that can be added to playlists.
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. |
{- "options": {
- "cookie": "cookieName=cookieValue"
}, - "name": "string",
- "folderId": 0
}{- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}
}| 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:
Optional sort in the format |
{- "total": 0,
- "offset": 0,
- "limit": 0,
- "data": [
- {
- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}, - "status": "CREATED",
- "options": { },
- "thumbnail": {
- "url": "string"
}, - "durationInSeconds": 0,
- "dimensions": {
- "width": 0,
- "height": 0
}, - "created": "2019-08-24T14:15:22Z"
}
]
}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.
| id required | number |
{- "uploadUrl": "string"
}| id required | number |
| name | string <= 150 characters |
| folderId | number The folder to move the media item to. |
{- "name": "string",
- "folderId": 0
}{- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}
}{- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}, - "status": "CREATED",
- "options": { },
- "thumbnail": {
- "url": "string"
}, - "durationInSeconds": 0,
- "dimensions": {
- "width": 0,
- "height": 0
}, - "created": "2019-08-24T14:15:22Z"
}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.
| id required | number |
[
]This will return known URL links for the media file. The most common use case is to download the media file, but other links may be available - for example, editing the media file.
| id required | number |
[
]Playlists are collections of media items with specific playback settings. Playlists are used to deploy content to screens.
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. |
{- "items": [
- {
- "type": "MEDIA",
- "mediaId": 0,
- "durationInSeconds": 0,
- "enabled": true,
- "options": {
- "rules": {
- "conditions": [
- { }
], - "type": "AND"
}, - "fitSetting": "FIT"
}
}
], - "name": "string",
- "folderId": 0,
- "overlay": {
- "mediaId": 0,
- "fitSetting": "FIT"
}
}{- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}
}| folderId | number |
| offset required | number >= 0 Default: 0 |
| limit required | number >= 1 Default: 10 |
| sort | string^[A-Za-z0-9_.]+:(asc|desc)$ Examples:
Optional sort in the format |
{- "total": 0,
- "offset": 0,
- "limit": 0,
- "data": [
- {
- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}, - "items": [
- {
- "type": "MEDIA",
- "enabled": true,
- "options": {
- "rules": {
- "conditions": [
- { }
], - "type": "AND"
}, - "fitSetting": "FIT"
}
}
], - "overlay": {
- "mediaId": 0,
- "fitSetting": "FIT"
}, - "permissions": {
- "update": true,
- "delete": true
}
}
]
}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).
| id required | number |
{- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}
}| id required | number |
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. |
{- "items": [
- {
- "type": "MEDIA",
- "mediaId": 0,
- "durationInSeconds": 0,
- "enabled": true,
- "options": {
- "rules": {
- "conditions": [
- { }
], - "type": "AND"
}, - "fitSetting": "FIT"
}
}
], - "name": "string",
- "folderId": 0,
- "overlay": {
- "mediaId": 0,
- "fitSetting": "FIT"
}
}{- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}
}{- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}, - "items": [
- {
- "type": "MEDIA",
- "enabled": true,
- "options": {
- "rules": {
- "conditions": [
- { }
], - "type": "AND"
}, - "fitSetting": "FIT"
}
}
], - "overlay": {
- "mediaId": 0,
- "fitSetting": "FIT"
}, - "permissions": {
- "update": true,
- "delete": true
}
}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.
| id required | number |
required | object The target screens to publish the playlist to. | ||||||
| |||||||
{- "targets": {
- "identities": [
- "string"
], - "tags": [
- "string"
], - "groupIds": [
- 0
]
}
}{- "id": "string",
- "status": "PENDING",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "screens": [
- {
- "identity": "string",
- "status": "PENDING",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}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.
| 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 |
{- "defaultPlaylistId": 0,
- "name": "string",
- "folderId": 0,
- "events": [
- {
- "playlistId": 0,
- "startDate": "string",
- "endDate": "string",
- "daysOfWeek": [
- "MONDAY"
], - "fromTime": "string",
- "toTime": "string"
}
]
}{- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}
}| folderId | number |
| offset required | number >= 0 Default: 0 |
| limit required | number >= 1 Default: 10 |
| sort | string^[A-Za-z0-9_.]+:(asc|desc)$ Examples:
Optional sort in the format |
{- "total": 0,
- "offset": 0,
- "limit": 0,
- "data": [
- {
- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}, - "events": [
- {
- "startDate": "string",
- "endDate": "string",
- "daysOfWeek": [
- "MONDAY"
], - "fromTime": "string",
- "toTime": "string",
- "playlist": {
- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}
}
}
], - "defaultPlaylist": {
- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}
}, - "permissions": {
- "update": true,
- "delete": true
}
}
]
}| id required | number |
| 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. |
{- "name": "string",
- "folderId": 0,
- "events": [
- {
- "playlistId": 0,
- "startDate": "string",
- "endDate": "string",
- "daysOfWeek": [
- "MONDAY"
], - "fromTime": "string",
- "toTime": "string"
}
], - "defaultPlaylistId": 0
}{- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}
}{- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}, - "events": [
- {
- "startDate": "string",
- "endDate": "string",
- "daysOfWeek": [
- "MONDAY"
], - "fromTime": "string",
- "toTime": "string",
- "playlist": {
- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}
}
}
], - "defaultPlaylist": {
- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}
}, - "permissions": {
- "update": true,
- "delete": true
}
}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).
| id required | number |
{- "id": 0,
- "name": "string",
- "folder": {
- "id": 0,
- "name": "string"
}
}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.
| id required | number |
required | object The target screens to publish the schedule to. | ||||||
| |||||||
{- "targets": {
- "identities": [
- "string"
], - "tags": [
- "string"
], - "groupIds": [
- 0
]
}
}{- "id": "string",
- "status": "PENDING",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "screens": [
- {
- "identity": "string",
- "status": "PENDING",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}Screens are the hardware devices running the signage player application to display your content.
| 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) |
{- "pairingCode": "string",
- "licenceNumber": "string",
- "displayName": "string",
- "ianaTimezone": "string",
- "metadata": {
- "tags": [
- "string"
], - "fields": { }
}
}{- "identity": "string",
- "displayName": "string"
}| identity required | string |
| displayName | string The screen name viewable in the CMS. |
| ianaTimezone | string The IANA timezone to assign to the screen. |
object (Metadata) |
{- "displayName": "string",
- "ianaTimezone": "string",
- "metadata": {
- "tags": [
- "string"
], - "fields": { }
}
}{- "identity": "string",
- "displayName": "string"
}{- "identity": "string",
- "configuration": {
- "displayName": "string",
- "ianaTimezone": "string",
- "metadata": {
- "tags": [
- "string"
], - "fields": { }
}, - "licence": {
- "licenceLevel": "BASIC",
- "licenceNumber": "string",
- "term": { },
- "expiresAt": "2019-08-24T14:15:22Z"
}, - "groups": [
- {
- "id": 0,
- "name": "string"
}
]
}, - "deviceReport": {
- "systemInfo": {
- "brand": "string",
- "model": "string",
- "os": {
- "name": "string",
- "version": "string",
- "build": "string"
}, - "serialNumber": "string",
- "memory": {
- "bytesAvailable": 0,
- "bytesTotal": 0
}, - "cpuPercent": 0,
- "temperatureCelsius": { }
}, - "display": {
- "dimensions": {
- "width": 0,
- "height": 0
}, - "orientation": "PORTRAIT"
}, - "application": {
- "runtime": "ANDROID",
- "version": "string"
}, - "capabilities": [
- "MODEL"
], - "health": {
- "lastSeen": "2019-08-24T14:15:22Z",
- "connectivity": "ONLINE"
}
}, - "content": {
- "type": "DIRECT",
- "source": "PLAYLIST",
- "id": 0,
- "name": "string",
- "playingSince": "2019-08-24T14:15:22Z"
}, - "state": {
- "type": "IDLE",
- "reportedAt": "2019-08-24T14:15:22Z"
}, - "permissions": {
- "read": true,
- "update": true,
- "delete": true
}
}| 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. |
| 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:
Optional sort in the format |
{- "total": 0,
- "offset": 0,
- "limit": 0,
- "data": [
- {
- "identity": "string",
- "configuration": {
- "displayName": "string",
- "ianaTimezone": "string",
- "metadata": {
- "tags": [
- "string"
], - "fields": { }
}, - "licence": {
- "licenceLevel": "BASIC",
- "licenceNumber": "string",
- "term": { },
- "expiresAt": "2019-08-24T14:15:22Z"
}, - "groups": [
- {
- "id": 0,
- "name": "string"
}
]
}, - "deviceReport": {
- "systemInfo": {
- "brand": "string",
- "model": "string",
- "os": {
- "name": "string",
- "version": "string",
- "build": "string"
}, - "serialNumber": "string",
- "memory": {
- "bytesAvailable": 0,
- "bytesTotal": 0
}, - "cpuPercent": 0,
- "temperatureCelsius": { }
}, - "display": {
- "dimensions": {
- "width": 0,
- "height": 0
}, - "orientation": "PORTRAIT"
}, - "application": {
- "runtime": "ANDROID",
- "version": "string"
}, - "capabilities": [
- "MODEL"
], - "health": {
- "lastSeen": "2019-08-24T14:15:22Z",
- "connectivity": "ONLINE"
}
}, - "content": {
- "type": "DIRECT",
- "source": "PLAYLIST",
- "id": 0,
- "name": "string",
- "playingSince": "2019-08-24T14:15:22Z"
}, - "state": {
- "type": "IDLE",
- "reportedAt": "2019-08-24T14:15:22Z"
}, - "permissions": {
- "read": true,
- "update": true,
- "delete": true
}
}
]
}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.
| identity required | string |
| type required | string Enum: "TAKE_SCREENSHOT" "UPGRADE_APPLICATION" "CLEAR_CACHE" |
| payload | object |
{- "type": "TAKE_SCREENSHOT",
- "payload": { }
}{- "id": "string",
- "targetIdentity": "string",
- "type": "TAKE_SCREENSHOT",
- "payload": { },
- "status": "PENDING"
}Tags are custom attributes that can be applied to media and screens to help organise and filter your digital signage content.
| name | string |
| offset required | number >= 0 Default: 0 |
| limit required | number >= 1 Default: 10 |
| sort | string^[A-Za-z0-9_.]+:(asc|desc)$ Examples:
Optional sort in the format |
{- "total": 0,
- "offset": 0,
- "limit": 0,
- "data": [
- {
- "id": 0,
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "usageCount": 0
}
]
}| id required | number |
| name required | string |
{- "name": "string"
}{- "id": 0,
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "usageCount": 0
}| 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:
Optional sort in the format |
{- "total": 0,
- "offset": 0,
- "limit": 0,
- "data": [
- {
- "id": 0,
- "name": "string",
- "content": {
- "source": "PLAYLIST",
- "id": 0,
- "name": "string"
}, - "permissions": {
- "read": true,
- "update": true,
- "delete": true
}
}
]
}{- "id": "string",
- "status": "PENDING",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "screens": [
- {
- "identity": "string",
- "status": "PENDING",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}