The Network API is the main API used by the Signagelive User Interface, and is designed to be a RESTful API.
Using the Network API it is possible to have access to all of the functionality available within the Signagelive User Interface, alongside being able to send and retrieve data from Signagelive.
This means that you can not only retrieve monitoring data about your Signagelive players, but also upload content, create/edit playlists and publish content to your Players without the need for interaction with the Signagelive User Interface.
API Status
The Network API is only available to Signagelive partners. If you would like to start using the Network API then please fill out our Signup Form.
API Updates
In the Signagelive Cloud release on the 26th September 2022, we made some improvements to the way in which Media Assets are created using the Network API.
These improvements include the creation of a single Network API endpoint for all Media Asset creation.
Currently the Network API also contains the previous methods, so that it is backward compatible, and as such you should not notice any issues in your current code base, if you use the Network API to create Media Assets.
This notice is to let you know that in a future release the existing methods will be retired and will no longer be usable.
The expected timescales for the retirement of these endpoints 1st August 2024 you will be notified again before this occurs and if this date changes, but if you do not update the methods being used, after this point Media Asset Uploads will no longer work.
If you have any questions regarding these changes please contact the Signagelive Team.
The new endpoint is available on the test environment so you can test the code changes there prior to migrating them to production.
The endpoints which are affected are:
End Point
Type
Body
networks/{networkid}/mediaassets/
Post
MediaAssetDTO
networks/{networkid}/mediaassets/upload
Post
Multipart form data
networks/{networkid}/mediaassets/remoteupload
Post
List
The new endpoint is as follows:
End Point
Type
Body
/networks/{networkid}/mediaassets/add
Post
List
This takes an array of NewMediaAssetRequest DTOs in the body of the request, this is defined as follows:
The way in which this is created and used, depends on the type of request.
Sending a request to this endpoint, will return an array of NewMediaAssetResponse DTOs, which are defined as follows:
File Uploads
If performing direct file uploads, then this is a 2 step process. The request is sent to the Network API, which will return a pre-signed URL for the file to be uploaded to. An example of the request DTO in this scenario is:
Sending this request will return a NewMediaAssetResponse DTO, and this will include an upload URL, if the success field is set to true.
The file should then be attached to the body of a PUT request, which is sent to the upload URL, and the content/type of the PUT request must be set as the same as the “uploadContentType” returned in the NewMediaAssetResponse DTO.
Once the file is uploaded, it will be processed in the background, a thumbnail created and this will then be marked as supported in Signagelive and will be usable.
The NewMediaAssetResponseDTO will include the physical file name of the file uploaded. This physical file name is a GUID and is unique to reach upload request.
To get the details of the created media asset, once it has been processed in the background, you need to make a request to the READY endpoint, passing the physical file name on the query string.
While the asset is being processed in the background, this request will return a 404, once the asset has been processed and has been created a 200 response will be returned and the response body will contain a Media Asset DTO object, including the ID of the Media Asset.
Non File Uploads
When adding assets which are of the following types, a media asset DTO needs to be created in exactly the same way as you would have with the previous API method, but this needs to be sent as the media asset property of a NewMediaAssetRequestDTO.
Affected types:
Web Page
RSS Feed
MRSS Feed
IPTV Stream
Example request DTO:
This will return an array of NewMediaAssetResponse DTOs, if the asset creation was successful, then the success field of each object will be true. If it is false, then the reason will be set in the errorMessage field and the reason code will be in the errorCode field. The errorCode field matches HTTP response codes.
The most likely error you will receive is 409 (Conflict) and this will be because there is already an asset with the same URL or name on the Network.
Remote File Uploads
Remote File Uploads will continue to work as defined here. But using the new method, you must include the Remote Sync request DTO as a property of a NewMediaAssetRequest DTO object in the body of the request to the Add API method.
This will return an array of NewMediaAssetRespone DTOs which will contain the same data as the original RemoteSyncRequestResponseDTO with the fields mapping as follows.
We will provide the API url once you have signed up.
API Setup & Onboarding
On receipt of a request for access to the Network API Signagelive will perform the initial on-boarding and setup to provide access to the Network API on a per network basis.
Note that a single application can be made available to multiple networks.
Response Codes
The Signagelive Player API will return standard HTTP response codes, clients are expected to respect the response from the API, particularly relating to bad requests, rate limits etc and not attempt to make the call again until either the issue has been resolved or timeout period has passed.
The following table shows a brief summary of the expected API response codes:
RESPONSE CODE
DESCRIPTION
200 OK
Request was fulfilled
201 Created
Request was successful and a new document was created
204 No Content
The request was successfully processed, but is not returning any content
400 Bad Request
The request cannot be fulfilled due to bad syntax
401 Unauthorized
The supplied credentials do not have access to the requested resource
403 Forbidden
The supplied credentials have been disabled
404 Not Found
The resource could not be found
405 Method Not Allowed
A request was made to a resource using a request method not supported by that resource
408 Request Timeout
The server timed out waiting for the request
409 Conflict
The request could not be completed because the request would conflict with data already available on the server
500 Internal Server Error
An internal server error occurred when processing the request
501 Not Implemented
The server does not recognise the request
503 Service Unavailable
The servers are up but currently overloaded with requests
Date Formats
Date Time values will be expressed using the ISO 8601 format e.g. 2012-12-31T23:59:59Z. Note that some date time values will be in UTC (using the ‘Z’ time zone designator) and some will be in local time.
Time only values will be expressed as a timespan in the form of “HH:MM:SS” e.g. “15:25:00” for 3:25 PM.
Security
The API currently implements an OAuth authentication and authorization model whereby a Signagelive UI Token generated by the application framework is exchanged for a OAuth token. OAuth services are provided by OWIN middleware.
Authorization is provided by a custom Authorization Attribute that allows user levels to be passed for each Controller or Methods.
In order to ensure the API is as secure as possible the API and callers do not need to change their code the API will continue to only accept an OAuth token when calling API Methods. Embedded into the OAuth Token is the original SLUI Token which will be passed to the Web Service via the existing Web Service Wrapper.
This methodology will mean that we (or third parties) will not need to change authentication models as we update the Network API, as we can change the data embedded as this is obfuscated by encryption to the caller, and also not change the web service security interface used by the existing Flash modules.
API Authentication & Authorization
As part of the on-boarding process Signagelive will provide the user with the following credentials, which are required to authenticate with the API:
Network ID
Client ID
Client Secret
Authorization Code
Grant Type
Upon successful authentication, these credentials will be exchanged for an access token, which should be included with each subsequent request in the Authorization header.
API Grant Type
The grant type will always be authorization_code.
API Authentication Operation
To authenticate with the Network API a POST request must be made to {API URL}/token. The body of this request should be populated with the credentials supplied by Signagelive in the form of key/value pairs.
If the authentication request is successful the operation will return a 200 response and a JSON object containing the access token and token type to include in the Authorization header for all subsequent API requests.
Once a token has expired clients will need to reauthenticate with the API using the
authentication operation in order to get a new access token.
Models
There are a number of models that can be returned by the Network API
Network
A network is a Signagelive network.
Field Definitions
NAME
DESCRIPTION
name
The name of the network
networkStatus
The Id of the network’s related network status object
kpiSetting
The Id of the networks related network KPI setting object
Example
Create Network Request
The object used when creating a new network
Field Definitions
NAME
DESCRIPTION
network
A network object
licenceCode
A single licence code to be added to the Network
organisationalUnitName
The name of the Organisational Unit which owns this Network
Example
Network Status
A network’s status is made of a number of networkwide KPIs. The network Status also includes a complete list of players on the network and each player’s individual player KPIs.
Field Definitions
NAME
DESCRIPTION
connectedPlayers
The total number of connected players
connectedPlayersAlert
A boolean indicating whether there is currently an active alert for the number of players not connecting to Signagelive
connectedPlayersPercentage
The percentage of all players that have connected
connectedPlayersWarning
A boolean indicating whether there is currently an active warning for the number of players not connecting to Signagelive
contentAlert
A boolean indicating whether there is currently an active alert for the number of players that do not have their latest content
contentWarning
A boolean indicating whether there is currently an active warning for the number of players that do not have their latest content
disconnectedPlayers
The total number of disconnected players
playersThatHaveNotGotContent
The total number of players that have not got their latest content
playersUnableToReportContentStatus
The total number of players unable to report their content status back to Signagelive
playersWithContent
The total number of players with their latest content
playersWithContentPercentage
The percentage of players that have their latest content
totalActiveAndLicencedPlayers
The total number of active and licenced players
totalDeactivatedPlayers
The total number of deactivated players
totalExpiredPlayers
The total number of players with licences that have expired
totalLicencedPlayers
The total number of licenced players
totalOutOfServicePlayers
The total number of players that are out of service
uniqueConnectionsThisMonth
The total number of unique connections this month
uniqueConnectionsThisWeek
The total number of unique connections this week
uniqueConnectionsThisYear
The total number of unique connections this Year
uniqueConnectionsToday
The total number of unique connections today
playerStatuses
An array of player statuses (Player KPI)
lastModifiedDate
The datetime that the network status was last updated
Example
Network KPI
Each network has a collection of KPI settings packaged up within the Network KPI Setting object.
These settings are used to define when the various network and player KPIs will switch between “ok”, “warning” and alert states.
Field Definitions
NAME
DESCRIPTION
network
The network Id the Network KPI Settings are for
percentPlayersNotConnectedWarning
When the percentage of players connecting to Signagelive is at or below this value a warning will become active for the number of network connections
percentPlayersNotConnectedAlert
When the percentage of players connecting to Signagelive is at or below this value an alert will become active for the number of network connections
percentPlayersNotGotContentWarning
When the percentage of players without their latest content is at or below this value a warning will become active for the network content status
percentPlayersNotGotContentAlert
When the percentage of players without their latest content is at or below this value an alert will become active for the network content status
missedHealthCheckWarning
The number of health checks a player must miss consecutively in order to trigger a warning status for missed health checks. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
missedHealthCheckAlert
The number of health checks a player must miss consecutively in order to an alert status for missed health checks. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
cPUUsageWarning
When a player’s CPU usage reaches or exceeds this percentage a warning status will be triggered for high CPU usage. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
cPUUsageAlert
When a player’s CPU usage reaches or exceeds this percentage an alert status will be triggered for high CPU usage. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
memoryUsageWarning
When a player’s memory usage reaches or exceeds this percentage a warning status will be triggered for high memory usage. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
memoryUsageAlert
When a player’s memory usage reaches or exceeds this percentage an alert status will be triggered for high memory usage. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
diskUsageWarning
When a player’s disk usage reaches or exceeds this percentage a warning status will be triggered for high disk usage. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
diskUsageAlert
When a player’s disk usage reaches or exceeds this percentage an alert status will be triggered for high disk usage. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
temperatureWarning
When a player’s temperature reaches or exceeds this percentage a warning status will be triggered for operating at a high temperature. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
temperatureAlert
When a player’s temperature reaches or exceeds this percentage an alert status will be triggered for operating at a high temperature. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
rebootNumberWarning
When a player reboots this many times or more within the reboot warning period a warning status will be triggered for an unusual number of reboots.This is the default global setting for all player types that do not have a specific player type KPI setting defined.
rebootWarningPeriod
The reboot warning period. This is a number in minutes.
rebootNumberAlert
When a player reboots this many times or more within the reboot warning period an alert status will be triggered for an unusual number of reboots.This is the default global setting for all player types that do not have a specific player type KPI setting defined.
rebootAlertPeriod
The reboot alert period. This is a number in minutes.
Example
Player KPI
A player KPI contains a combination of player data and player KPIs for a given player.
Field Definitions
NAME
DESCRIPTION
player
The id of player
playerType
The id of the player type
label
A short label or description for the player
lastModifiedDate
The datetime that the player configuration was last modified
lastReboot
The datetime of the last reboot
lastHealthCheck
The datetime of the last health check
lastContentCheck
The datetime of the last content check
cpuUsage
The current CPU usage
temperatureCelsius
The current operating temperature
totalMemoryBytes
The total available memory in bytes
usedMemoryBytes
The amount of used memory in bytes
memoryUsage
The memory usage as a percentage
totalStorageBytes
The total disk storage in bytes
availableStorageBytes
The available disk storage in bytes
storageUsage
The storage usage as a percentage
renewalDate
The datetime of the licence renewal date
inService
A boolean showing if the player is currently set as in service or out of service</td
isArchived
A boolean indicating if the player has been trashed
contentUpdateNotification
A boolean indicating if the player can report back whether or not it has its latest content
isActiveAndLicenced
A boolean indicating if the player is active and licenced
isConnected
A boolean indicating if the player is connecting to Signagelive
hasContent
A boolean indicating if the player has its latest content
clientVersion
The currently installed client version
hasConnectedToday
A boolean indicating if the player has connected today
hasConnectedThisWeek
A boolean indicating if the player has connected this week
hasConnectedThisMonth
A boolean indicating if the player has connected this month
hasConnectedThisYear
A boolean indicating if the player has connected this year
numberOfMissedHealthChecks
The number of missed health checks since the last successful health check
numberOfMissedContentChecks
The number of missed content checks since the last successful content Check
cpuStatus
The player’s CPU status. Possible values are: ok, warning, alert
memoryStatus
The player’s memory status. Possible values are: ok, warning, alert
storageStatus
The player’s storage status. Possible values are: ok, warning, alert
temperatureStatus
The player’s temperature status. Possible values are: ok, warning, alert
healthCheckStatus
The player’s health check status. Possible values are: ok, warning, alert
contentCheckStatus
The player’s content check status. Possible values are: ok, warning, alert
status
The player’s overall status. Possible values are: ok, warning, alert
Example
Player Type
Signagelive supports a large number of player types from Samsung Smart Signage players to PC’s. Each player has a player type that distinguishes it from other player types.
Field Definitions
NAME
DESCRIPTION
name
The name of the player type
Example
Player Type KPI Setting
The Player Type KPI Settings are used to override the default networkwide KPI settings on a player type specific basis.
This is useful for networks that use a variety of different players with different operating conditions. For example, certain player types may be more prone to higher memory usage or run at a higher operating temperature when compared against other player types.
Field Definitions
NAME
DESCRIPTION
playerType
The ID of the player type the KPI settings relate to
network
The ID of the network the KPI settings relate to
missedhealthCheckWarning
The number of health checks a player must miss consecutively in order to trigger a warning status for missed health checks. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
missedHealthCheckAlert
The number of health checks a player must miss consecutively in order to an alert status for missed health checks. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
cPUUsageWarning
When a player’s CPU usage reaches or exceeds this percentage a warning status will be triggered for high CPU usage. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
cPUUsageAlert
When a player’s CPU usage reaches or exceeds this percentage an alert status will be triggered for high CPU usage. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
memoryUsageWarning
When a player’s memory usage reaches or exceeds this percentage a warning status will be triggered for high memory usage. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
memoryUsageAlert
When a player’s memory usage reaches or exceeds this percentage an alert status will be triggered for high memory usage. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
diskUsageWarning
When a player’s disk usage reaches or exceeds this percentage a warning status will be triggered for high disk usage. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
diskUsageAlert
When a player’s disk usage reaches or exceeds this percentage an alert status will be triggered for high disk usage. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
temperatureWarning
When a player’s temperature reaches or exceeds this percentage a warning status will be triggered for operating at a high temperature. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
temperatureAlert
When a player’s temperature reaches or exceeds this percentage an alert status will be triggered for operating at a high temperature. This is the default global setting for all player types that do not have a specific player type KPI setting defined.
rebootNumberWarning
When a player reboots this many times or more within the reboot warning period a warning status will be triggered for an unusual number of reboots.This is the default global setting for all player types that do not have a specific player type KPI setting defined.
rebootWarningPeriod
The reboot warning period. This is a number in minutes.
rebootNumberAlert
When a player reboots this many times or more within the reboot warning period an alert status will be triggered for an unusual number of reboots.This is the default global setting for all player types that do not have a specific player type KPI setting defined.
rebootAlertPeriod
The reboot alert period. This is a number in minutes.
Example
Media Asset
A Media Asset is a media object that plays within Signagelive. Media Assets can be audio, video, images, flash, web pages, external executable, IPTV stream, Capture cards or RSS feeds.
Field Definitions
NAME
DESCRIPTION
name
Original names of the file/ name given to the web page / IPTV Stream
duration
Duration of the media asset in seconds, if this is a video
dateCreated
The date the media asset was uploaded to the Signagelive Cloud
lastUsed
The date this asset was last added to a playlist.
size
The size of the asset in bytes if it is a downloadable asset
url
If this is a downloadable asset the url to download the file from the Signagelive CloudIf this is a remote asset (e.g. web page, IPTV, MRSS) then this is where the resource can be found e.g. the stream url in the case of IPTV
supported
Boolean indicating if this media asset is supported by any of the Sigangelive players.
includeInProofOfPlay
Boolean indicating if this asset should be logged by the Proof of Play solution each time it is played
thumbnails
The thumbnails object contains properties relating to different thumbnails that Signagelive generates when an asset is uploaded. All assets once processed will have an imageSmall and an imageLarge property referencing jpgs. Video assets will have a videoH264 thumbnail. If a thumbnail/preview is not available in a particular format (could be it’s not processed yet or is not applicable) then the relevant property will be omitted.
type
High level media type, possible values are: audio image video flash stream web rss tvin widget
hash
The hash value used to verify the integrity of the media asset if it is a downloadable asset
hashType
The type of hash. Values are “CRC32” or “MD5”.
Example
Playlist
A playlist is a list of media assets (either physical or virtual such as streams, web pages) that play in the order specified. It is possible to add validity periods and recurrence to media assets in a playlist.
Field Definitions
Name
Description
name
The name given to the playlist
dateCreated
The date the playlist was created
lastModified
The date the playlist was last updated
thumbnailUrl
Url to the thumbnail for the playlist, usually this is the first asset in the playlist.
size
Total size of the playlist in bytes. Note this only includes the assets uploaded to the Signagelive Cloud, not any assets referenced by MRSS, as aside anything else they change on a regular basis.
includeInProofOfPlay
Boolean indicating if this asset should be logged by the Proof of Play solution each time it is played
mediaAssets
Array of PlaylistMediaAsset objects
Example
As you will see in the Playlist API Method descriptions it is possible to load a lightweight playlist with no Playlist Media Assets or deepload the Playlist which will include the Playlist Media Assets and associated objects such as conditional playback and validity instructions.
Playlist Media Assets represent an instance of a Media Asset in a Playlist, however contain additional data such as overridden duration and conditions, see Playlist Media Asset section for a full description of all Playlist Media Asset fields. The lightweight playlist is intended to instances where only playlist names and summary items are required e.g. selection lists
The deep loaded playlist is intended where operations are required to access playlist media assets e.g. displaying the contents of a playlist.
Light weight playlist
Deep loaded playlist
Playlist Media Asset
A playlist media asset represents an instance of a media asset in a playlist
Field Definitions
NAME
DESCRIPTION
mediaAsset
The media asset object
duration
The duration this media asset should play in the playlist, this may override the actual duration of the media asset. If this is 0 then the duration then this implies play to length i.e. the duration of the actual media asset. If this is 0 then the duration then this implies play to length i.e. the duration of the actual media asset
position
The position of the asset in the playlist, this is zero based
includeInProofOfPlay
Boolean indicating if this asset should be logged by the Proof of Play solution each time it is played
validity
Optional validity object. If this is null then the media asset is available to play at all times
conditions
Optional conditions, if this is not then there are no conditions associated with the playback of this media asset.
Example
Playlist Media Asset Conditions
Field Definitions
NAME
DESCRIPTION
tags
Tags used for matching
include
Boolean indicating if a match of tags includes (plays) the media asset or excludes it (does not play)
Example
Validity
Field Definitions
NAME
DESCRIPTION
start
The day and time that the asset is valid from. Values will either be a date/time (ISO 8601) or null.
end
The day and time that the asset is valid to. Values will either be a date/time or null.
startTime
The time of day that the item can be displayed from.
endTime
The time of day that the item can be displayed to.
days
The days on which the item is valid. It is an integer representation of binary flags. 64 = Monday 32 = Tuesday 16 = Wednesday 8 = Thursday 4 = Friday 2 = Saturday 1 = Sunday i.e a value of 6 indicates that the screen control plan is valid Monday and Tuesday.
Where a start and end date are specified, the media asset is to be played between those dates only.
Where a startTime, endTime and days are specified, the asset is only to be played between the times of day and days of the week given. If the endTime is before the startTime the item has been configured to be active overnight.
An asset could have a start and end specified, or a startTime, endTime and days specified, or both.
Example
Playlist Media Asset Actions
Field Definitions
NAME
DESCRIPTION
type
HTTPGET HTTPPOST [Reserved for future use] HTTPPUT [Reserved for future use] HTTPDELETE [Reserved for future use] WRITETOFILE
url
The url to call if any any of the HTTPx action types are used, can be omitted if using WRITETOFILE
filename
The filename to write data to. Can be omitted if any of the HTTPx methods are used
data
The data to write data to the file specified in the filename property. Can be omitted if any of the HTTPx methods are used. Note that in the future this will be used to store data to be POSTed/PUT on the server by the appropriate HTTPx method.
days
The days on which the item is valid. It is an integer representation of binary flags. 64 = Monday 32 = Tuesday 16 = Wednesday 8 = Thursday 4 = Friday 2 = Saturday 1 = Sunday i.e a value of 6 indicates that the screen control plan is valid Monday and Tuesday.
Example
The following example shows how to specify that a url can be called when a media asset is played:
The following example shows how to specify a file and the data this is written to it when the media asset is played
Thumbnail Request
Field Definitions
NAME
DESCRIPTION
assetId
Id of the media asset to create a thumbnail at all
timeIndex
Position in the media asset to take the screen capture
Example
Media Asset Metadata
The media asset metadata object contains meta-data
Field Definitions
NAME
DESCRIPTION
NAME
DESCRIPTION
fileSize
The size of the file in bytes. This is omitted if this is not a downloadable file type e.g. a web page
duration
The duration of the content if this is a video of flash file, otherwise it is omitted
fileType
File Extension
width
If detected the pixel width of the file, will be omitted if this is not available
height
If detected the pixel height of the file, will be omitted if this is not available
bitrate
The high level bit rate of the file if it is a video, will be omitted if this is not available
videoCodec
The video codec used, will be omitted if this is not available
videoCodecFriendly
Friendly name for the video coded, will be omitted if this is not available
videoBitrate
Bitrate used to encode the video stream, will be omitted if this is not availabl
audioCodec
Audio Codec used, will be omitted if this is not available
audioCodecFriendly
Friendly name for the audio codec used, will be omitted if this is not available
audioBitRate
Bit rate used to encode the audio stream, will be omitted if this is not available
audioSampleRate
flashVersion
Version of Flash this file was created in, will be omitted if this is not available i.e. not a flash file flashFPS
flashFPS
Frame Per Second the Flash Video was created with, will be omitted if this is not available i.e. not a flash file
videoPreviewAvailable
Boolean indicating if a video preview is available, will be omitted if this is not available i.e. not a flash file
playToLength
Example
Tags
Field Definitions
NAME
DESCRIPTION
tag
The string value of the tag
Example
Proof of Play Reference
Field Definitions
NAME
DESCRIPTION
value
The reference text
item
The ID of the object that the reference is for
Example
Folder
Field Definitions
NAME
DESCRIPTION
name
The name of the folder
itemCount
The number of items in the folder, this cannot be written too, it is updated by the adding/removing items from a folder
type
The Object type this folder will contain. This is a required field
Example
FolderItem
Field Definitions
NAME
DESCRIPTION
folder
The ID of the folder
itemId
The ID of the item in the folder.
Example
Layout
A layout is the design that is going to be displayed on the screen. Each layout has one or more media zones that define where scheduled content will play.
Field Definitions
NAME
DESCRIPTION
name
The layout name
dateCreated
The date the layout was created
createdBy
The username of the user who created the layout
width
Layout width in pixels
height
Layout height in pixels
orientation
Layout orientation
backgroundImage
The ID of the background image media asset, or null if there is none
backgroundColour
The background colour of the layout. Colours will be a HTML colour code e.g. “#FFAA11” or “transparent”
customBackgroundImage
If a custom background image has been created in the layout designer, this will be the ID of the the CustomBackgroundImage object
mediaWindows
A list of media windows in the layout
isInTrash
A boolean value indicating whether or not the layout is in the trash
isTemplate
A boolean value indicating whether or not the layout is a template layout
isDeployed
Is the layout deployed? Note: only returned for a single layout
font
The default font in use on the layout
fontSize
The default font size
fontColour
The default font colour. The colour will be a HTML colour code
fontIsBold
A boolean value to indicate whether or not the font is bold
fontIsItalic
A boolean value to indicate whether or not the font is italic
fontIsUnderlined
A boolean value to indicate whether or not the font is underlined
textAlign
The default text alignment. Possible values are: left right center justify
includeInProofOfPlay
A boolean value to indicate whether or not the layout is included in proof of play logging
dateModified
The last modified date of the layout
Example
Media Window
A media window is an area on the screen that plays content (images, video etc or text). A media zone will contain a single media asset and or one or more playlists.
A default playlist plays in a media zone when there is nothing else to play.
Field Definitions
NAME
DESCRIPTION
x
The x coordinate of the window within the layout
y
The y coordinate of the window within the layout
width
Window Width
height
Window Height
zIndex
Window Z-Index
type
Window type. Possible values are: standard ticker staticText staticImage legacyWidget pictureInPicture webBrowserWidget qrCode widget
propertiesCSV
A CSV list of properties used to configure the window
layerName
The name of the window
includeInProofOfPlay
A boolean value indicating whether or not the window is enabled for proof of play
configuredWidgetPreferences
A list of widget preferences
Example
Player
A player refers to a Signagelive player connecting to the Signagelive network.
A client/player is the device that connects to the Signagelive Player API and plays content that has been scheduled in the form of layouts downloaded from the server.
Field Definitions
NAME
DESCRIPTION
UPDATEABLE
serialNumber
The player serial number
No
type
The ID of the player type record for the player
No
pcClientEdition
The edition of the player. This only applies to the PC player and can be: 0 (Display Edition) 1 (Corporate Communications) 2 (Screensaver)
No
clientVersion
Version of the client installed on the player
No
clientId
Unique ID provided by the hardware
No
enabled
Boolean value indicating whether or not the player is enabled
No
scheduledRebootEnabled
Boolean value indicating whether or not the player is set to reboot automatically
Yes
isUploadingLogFiles
Boolean value indicating whether or not the player should upload its log files to Signagelive.
separateRssSync
Boolean value indicating whether or not the player should sync RSS feeds separately to content checks
Yes
lastHealthCheck
Date/time of the last health check
No
lastContentCheck
Date/time of the last content check
No
lastReboot
Date/time of the last reboot
No
contentCheckType
The type of content check done by the player. This will be one of the following: 0 – Set interval e.g. every 30 minutes 1 – Daily – Player will perform a content check at a set time every day
Yes
contentCheckFrequency
If contentCheckType is set to 0, this will be how frequently the player will perform content checks. Value is in minutes.
Yes
contentCheckTime
If contentCheckType is set to 1, this will be the time of day that the player will perform a content check. The value will be a string representation of the time e.g “11:44:00”.
Yes
healthCheckFrequency
The frequency, in minutes, that the player will perform health checks.
Yes
diagnosticsUpdateType
The type of diagnostics update done by the player. This will be one of the following: 0 – Set interval e.g. every 30 minutes 1 – Daily – Player will perform a diagnostics update at a set time every day
Yes
diagnosticsUpdateFrequency
If diagnosticsUpdateType is set to 0, this will be how frequently the player will perform diagnostics update. Value is in minutes.
Yes
diagnosticsUpdateTime
If diagnosticsUpdateType is set to 1, this will be the time of day that the player will perform a content check. The value will be a string representation of the time e.g “11:44:00”.
Yes
dateActivated
The date the licence was activated on the player.
No
inService
Boolean value indicating whether or not the player is marked as in service.
Yes
followUpRequired
Boolean value indicating whether or not the player is marked as requiring a follow up.
Yes
maintenanceRequired
Boolean value indicating whether or not the player is marked as requiring maintenance.
Yes
monthlyBandwidthLimit
The monthly bandwidth limit for the player, in gigabytes.
No
defaultPlaylist
The Id of the default playlist published to the player
Yes*
defaultPlaylistDeployed
Boolean value indicating whether or not the player has successfully downloaded the default playlist
No
licence
The Id of the player’s licence
No
scheduledRebootTime
The time of day that the player will reboot.
Yes
rebootAtNextContentCheck
A boolean value indicating whether or not the player should reboot when it next performs a content check.
Yes
proofOfPlayEnabled
A boolean value indicating whether or not proof of play has been enabled on the player.
Yes
site
The location and contact information for the playe
Yes
isInTrash
A boolean value indicating whether or not the player is in the trash
Yes
* This field can only be updated to ‘null’ to remove the default playlist
Example
Site
Field Definitions
NAME
DESCRIPTION
name
The name assigned to the player or location
addressLine1
The first line of the address
addressLine2
The second line of the address
city
Town/City
county
County/State
postcode
Postcode/Zipcode
country
Country
phone
Contact phone number
email
Email Address
referenceCode1
Reference Code 1
referenceCode2
Reference Code 2
referenceCode3
Reference Code 3
latitude
Latitude portion of the location, represented as a decimal
longitude
Longitude portion of the location, represented as a decimal
timezone
IANA timezone database timezone name
ipAddress
The external IP address detected by Signagelive
Example
Bandwidth Usage
Field Definitions
NAME
DESCRIPTION
month
The month that the bandwidth log applies for
bandwidthUsed
Bandwidth used in bytes
Example
Player Type
Field Definitions
NAME
DESCRIPTION
name
A friendly name given to the player type
commonName
A name that is used to identify a player when it connects to Signagelive
supportsFullscreen
A boolean value that indicates whether or not the player supports fullscreen content
supportsLayouts
A boolean value that indicates whether or not the player supports layouts
supportsWeb
A boolean value that indicates whether or not the player supports web content
supportsStream
A boolean value that indicates whether or not the player supports stream content
supportsTvIn
A boolean value that indicates whether or not the player supports TV-in e.g. HDMI or display port input
supportsPictureInPicture
A boolean value that indicates whether or not the player supports picture in picture
supportsFlash
A boolean value that indicates whether or not the player supports flash content
supportsExecutable
A boolean value that indicates whether or not the player supports executable files
supportsSync
A boolean value that indicates whether or not the player supports player synchronisation
supportsInterrupts
A boolean value that indicates whether or not the player supports interrupts
supportsMediaRss
A boolean value that indicates whether or not the player supports media rss feeds
supportsMediaRssValidity
A boolean value that indicates whether or not the player supports validity in media rss feeds
supportsWidgets
A boolean value that indicates whether or not the player supports widgets
supportsControlInterrupts
A boolean value that indicates whether or not the player supports interrupts in playlists
supportsContentUpdateNotifications
A boolean value that indicates whether or not the player is able to provide notifications when content has been successfully downloaded
supportsStoreForwardScheduling
A boolean value that indicates whether or not the player supports store and forward scheduling.
supportsScheduledRecurrence
A boolean value that indicates whether or not the player supports schedule recurrence
supportsAssetLevelRecurrence
A boolean value that indicates whether or not the player supports asset level recurrence
supportsSystemInformationReporting
A boolean value that indicates whether or not the player supports the reporting of system diagnostics information
supportsSeparateRssContentUpdate
A boolean value that indicates whether or not the player can download RSS feed content separately to content checks
supportsSettingDefaultVideoInput
A boolean value that indicates whether or not the player can set the default video input.
supportsScreenControl
A boolean value that indicates whether or not the player supports switching the screen on and off
supportsBootupNotifications
A boolean value that indicates whether or not the player supports sending bootup notifications to Signagelive
supportsHealthCheckNotifications
A boolean value that indicates whether or not the player supports sending health checks to Signagelive
supportsAutomaticPlayerReboots
A boolean value that indicates whether or not the player supports automatic reboots
supportsInstantPlayerReboots
A boolean value that indicates whether or not the player supports rebooting after a content check
supportsNetworkingConfiguration
A boolean value that indicates whether or not the player supports the setting of networking configuration settings
supportsWirelessConfiguration
A boolean value that indicates whether or not the player supports the setting of wireless network configuration settings
thumbnailUrl
A string value which is a URL to an image which represents the player type.
supportsSSL
A boolean value that indicates whether or not the player supports SSL/TLS.
supportsProofOfPlay
A boolean value that indicates whether or not the player supports proof of play
endPointType
The type of endpoint that the player will connect to. Possible values are: LegacyPlayer VirtualPlayerBridge InstoreScreen PlayerAPI SimpleSMIL FullSMIL
supportedFileTypes
A string which contains a CSV list of supported file types
supportedCodecs
A string which contains a CSV list of supported codecs
Example
Player Content Status
Field Definitions
NAME
DESCRIPTION
Id
An integer representing the Id of the player
status
A string value representing the status of published content for the player: ContentDeployed – All content has been successfully downloaded by the player FutureContentNotDeployed – The player has its current content but it has yet to download some content that will become active in the future ContentNotDeployed – The player has yet to download the content that it should currently be playing
Example
Player Screen Status
Field Definitions
NAME
DESCRIPTION
Id
An integer representing the Id of the player
status
A string value representing the status of the screen for this player: ScreenOn – The screen is scheduled to be on. ScreenOff – The screen is scheduled to be off
Example
System Information
Field Definitions
NAME
DESCRIPTION
name
The system name as supplied by the client or determined by the player type
manufacturer
The system manufacturer
upTime
System uptime in seconds
systemTime
The system time at the last diagnostics update
timezone
The timezone as reported by the client, specified using the IANA timezone name
operatingSystem
The player operating system – name – the operating system name version – the current OS version
memory
The current status of the client’s memory totalBytes – Total amount of memory in bytes usedBytes – Amount of used memory in bytes
processor
Information about the player’s processor name – The processor name speed – Processor speed in MHz usage – Processor usage in percent
temperatures
A list of temperature sensors name – The sensor name temperatureCelsius – Current temperature in celsius
networkAdapters
A list of network adapters present on the player type – Network adapter type. Values can be “Ethernet”, “Wifi” or “Mobile” dhcp – A boolean value indicating whether or not the adapter us using DHCP ipv4Address – The IPv4 address for the network adapter subnetMask – the subnet mask for the network adapter defaultGateway – The default gateway for the network adapter dns1 – The primary DNS server dns2 – The secondary DNS server macAddress – The MAC address for the network adapter
applicationSettings
A list of name/value pairs of settings set in the application
systemSettings
A list of name/value pairs of settings set on the player’s system
installedSoftware
A list of installed software on the client name – The name of the software version – The installed version publisher – The publisher of the software
runningProcesses
A list of processes currently running on the client name – The name of the process description – A short description provided by the client averageCpuUsage – The average CPU usage in percent averageMemoryUsage – The average memory usage in bytes currentCpuUsage – Current CPU usage in percent currentMemoryUsage – Current memory usage in bytes
monitors
A list of monitors attached to the player name – A name given to the monitor positionX – X-Coordinate for the monitor, to identify its position in a multi-monitor setup. positionY – Y-Coordinate for the monitor, to identify its position in a multi-monitor setup. resolutionX – Monitor width in pixels resolutionY – Monitor height in pixels
drives
A list of storage devices available on the player name – The name given to the storage device e.g. “C:", “Internal Storage” totalBytes – Total size of the storage device in bytes availableBytes – Available space in bytes format – The file format if available e.g. NTFS, FAT32
graphicsControllers
A list of graphics controllers available on the player name – The name given to the graphics controller e.g. “Internal Graphics” or “AMD Radeon R9 380” resolutionX – Output resolution of the device in pixels (width) resolutionY – Output resolution of the device in pixels (height)
Example
Player Networking
Field Definitions
NAME
DESCRIPTION
dhcp
A boolean value indicating whether or not a player should use DHCP to obtain an IP address
ipv4Address
The static IP address to use if DHCP is disabled
subnetMask
The subnet mask to use if DHCP is disabled
defaultGateway
The default gateway to use if DHCP is disabled
dns1
The primary DNS address to use if DHCP is disabled
dns2
The secondary DNS address to use if DHCP is disabled
broadcastAddress
The player’s broadcast address
proxyServer
The IP address of the proxy to use
type
The type of network, “Ethernet” or “Wifi”.
wifiNetworkName
The wifi network name if wifi is enabled
wifiPassPhrase
The wifi network pass phrase if wifi is enabled
wifiSecurityType
The wifi security type if wifi is enabled. Possible values are: open wep wpa_psk wpa2_psk
Example
Note
Field Definitions
NAME
DESCRIPTION
text
The note text
dateCreated
The date/time the note was created
user
The email address of the user who created the note. If the note is created automatically, the author will be “System”
Example
Schedule Item
Field Definitions
NAME
DESCRIPTION
id
The ID of the scheduled layout
name
The name of the scheduled layout or playlist
name
The name of the scheduled layout or playlist
type
The type of schedule. Possible values are: layout playlist playlist
layout
The ID of the layout (null if ‘type’ is playlist)
playlist
The ID of the playlist (null if ‘type’ is layout)
start
The start date/time for the schedule
end
The end date/time for the schedule
deployed
A boolean value to show whether or not the schedule item has been fully downloaded by the player
recurrence
An object defining the recurrence options of this schedule: startTime – The time of day that the schedule item will start playing endTime – The time of day that the schedule will stop playing. If this is before the start time, the schedule will run overnight. days – Recurrence days selections as an integer representation of binary flags where 1 = Sunday and 64 = Saturday validityStart – The date/time that the content will become valid validityEnd – The date/time that the content will expire
Example
Scheduled Layout
Field Definitions
NAME
DESCRIPTION
layout
The ID of the parent layout
deployed
A boolean value indicating whether or not the scheduled layout has been successfully deployed to the player
isActive
A boolean value indicating whether or not the scheduled layout is active on the player
isOverridden
A boolean value indicating whether or not the scheduled layout has been overridden by another schedule
isFullscreen
A boolean value indicating whether or not the scheduled layout is a fullscreen playlist
start
The start date/time of the schedule layout
end
The end date/time of the schedule layout
dateConfigured
The date/time that the schedule layout was configured
dateDeployed
The date/time that the schedule layout was deployed to the player
recurrence
The ID of the recurrence object, or null if there is none
scheduledMediaWindows
A list of scheduled media windows for this scheduled layout
Example
Scheduled Media Window
Field Definitions
NAME
DESCRIPTION
mediaWindow
The ID of the parent media window within the parent layout
defaultPlaylist
The ID of the default playlist, or null if none configured
properties
A string value containing any properties to be used within the media window.
scheduledPlaylists
A list of any scheduled playlists within this scheduled media window
Example
Scheduled Playlist
Field Definitions
NAME
DESCRIPTION
playlist
The ID of the parent playlist that is to be played
start
The date/time to start playing
end
The date/time to stop playing
Example
Interrupt
Field Definitions
NAME
DESCRIPTION
name
The name of the interrupt.
trigger
The trigger that will start the interrupt. type – The type of interrupt. Possible values are: KeyboardEvent MouseEvent configurationParameters – An array of name/value pairs defining configuration parameters for the trigger. A KeyboardEvent will have an ActionKey and a CancelKey. A MouseEvent will have a ClickRegion, which will be a pipe separated list of regions for a mouse click. An example of an ActionKey or CancelKey value is “A”,”B”, “D0”, or “NumPad0” An example of a ClickRegion for a mouse click is “0,0,1920,1080” or “0,0,200,200|1080,0,200,200”. Each set of 4 numbers corresponds to “X,Y, Width, Height”
action
instruction – A string containing either the scheduledLayout ID to play, or the location of an external executable on the client player. instructionType – The type of interrupt. Possible values are: ScheduledLayout ExternalExecutable duration – The duration that the interrupt will play for. If set to 0, it will play until the content finishes, or until it is cancelled by the endAction mediaAsset – If the interrupt is a single media asset, this will be the ID of that media asset playlist – If the interrupt is a playlist, this will be the playlist ID layout – If the interrupt is a layout, this will be the layout ID
Example
Licence Summary
Field Definitions
NAME
DESCRIPTION
number
The licence number of the primary licence. This will be the trial licence if it is a trial or the standard licence for other registered licences. For un-registered licences, the this is the only licence.
serialNumber
The serial number of the player that this licence is registered to, or null for an unregistered licence.
siteName
The site name of the player that this licence is registered to, or null for an unregistered licence.
player
The ID of the player that this licence is registered to, or null for an unregistered licence.
code
The licence code of the primary licence
type
The licence type of the primary licence. This will be one of: Trial Standard Renewal
edition
The edition of the licence. This will be one of: Display
duration
The duration of the licence. For a licence that is a converted trial and/or extended with renewal licences, this will be the total duration of all licences. The value is in months
dateAllocated
The date the licence was added to the network
dateRegistered
The date the licence was first
dateExpires
The date the licence expires
isActive
A boolean value that indicates if the licence is active or not. If false, the licence can be reused on new hardware.
trialLicence
If the licence is a converted trial, this will be the ID of the trial licence
maxNumberOfOutputs
The maximum number of outputs (monitors) that the player can display output to
canRenew
A boolean value that indicates whether or not the licence can be renewed e.g. there are appropriate renewals on the network. If the licence is a trial, this will indicate that the licence can be converted to a full licence.
Example
Licence
Field Definitions
NAME
DESCRIPTION
number
The auto generated licence number. This is used for easy identification of the licence
code
The licence code of the primary licence
type
The licence type of the primary licence. This will be one of: Trial Standard Renewal
edition
The edition of the licence. This will be one of: Display Undecided
duration
The duration of the licence. For a licence that is a converted trial and/or extended with renewal licences, this will be the total duration of all licences. The value is in months
dateAllocated
The date the licence was added to the network
dateRegistered
The date the licence was first
dateExpires
The date the licence expires
trialLicence
If the licence is a converted trial, this will be the ID of the trial licence
maxNumberOfOutputs
The maximum number of outputs (monitors) that the player can display output to
isInTrash
A boolean value that indicates whether or not the licence has been trashed
Example
Licence Renewal Option
Field Definitions
NAME
DESCRIPTION
id
The Id of the record. This id is dynamically generated at the point that the options are returned
description
Description of the renewal type
value
The length of the renewal in months
Example
Licence Conversion Option
Field Definitions
NAME
DESCRIPTION
id
The Id of the record. This id is dynamically generated at the point that the options are returned
description
Description of the conversion option
value
The length of the conversion in months
Example
Screen Control Settings
Field Definitions
NAME
DESCRIPTION
portName
The name for the serial port
baudRate
Port Baud rate. Any standard serial port baud rate is supported
dataBits
The amount of data bits as an integer
parity
Serial port parity setting. Possible values are: even mark none odd space
stopBits
The number of stop bits. This can be 1, 1.5 or 2.
onCommand
The string representation of the on command.
offCommand
The string representation of the off command.
syncCommand
The string representation of the sync command.
sendCarriageReturn
A boolean value indicating whether or not a carriage return will be sent with the command.
type
The type of screen control to use. The value can be one of: RS232 MinicomDSVision3000
Example
Screen Control Schedule
Field Definitions
NAME
DESCRIPTION
screenOnTime
A string representation of the time of day that the screen will turn on
duration
The time, in minutes, that the screen will be on
days
days selections as an integer representation of binary flags where 1 = Sunday and 64 = Saturday. In this example, 62 means that the schedule will be active Monday – Friday
Example
Global Screen Control
An object for setting screen control on all players on the network
Field Definitions
screenControlSettings
A ScreenControlSettings object to apply to all players. Null to use the system default screen control (most players will use this)
screenControlSchedules
An array of ScreenControlSchedule objects to apply to all players
days
days selections as an integer representation of binary flags where 1 = Sunday and 64 = Saturday. In this example, 62 means that the schedule will be active Monday – Friday
Example
Network User
A Network User is a represents a user account in Signagelive.
Field Definitions
NAME
DESCRIPTION
emailAddress
The user’s email address. This is also their username.
firstName
First Name
lastName
Last Name
canAddMedia
For Local Users, can the add new media to Signagelive?
password
For new users, the initial password
role
The access level of the user. Values are: superadministrator administrator user messagemanageruser readonly localuser
enabled
Boolean indicating if the user account is enabled or not
Example
Player Connection
Field Definitions
NAME
DESCRIPTION
type
The type of connection. Allowed values are: Bootup ContentCheck HealthCheck ContentDeployed
time
The date/time of the connection
Example
Player List
A fixed list of players
Field Definitions
NAME
DESCRIPTION
name
The name of the player list
players
The ids of the players in the list
Example
Saved Search
A saved search for players
Field Definitions
NAME
DESCRIPTION
name
The name of the saved search
searchString
A string which will be used to search for players
Example
Publication
Content to be published.
Field Definitions
NAME
DESCRIPTION
content
An object containing the content to publish: defaultPlaylist – The id of the default playlist to publish to the players, or null if not publishing a default playlist. layouts – An array of scheduledLayout objects to publish interrupts – An array of interrupt objects to publish
players
An array of integers containing the player ids to publish to.
ignoreWarnings
A boolean value indicating whether or not warnings should be ignored when publishing.
Example
Publish Issue
Represents a problem that the user should know about when publishing content.
Field Definitions
NAME
DESCRIPTION
issueLevel
The level of the ‘issue’ Possible values are: Warning Error Info An Error means the content cannot be published
issueType
The type of issue. Possible values are: Codec FileType MediaType Size PublishType General None
text
A message to describe the issue to the user.
Example
Publish Result
The result of checking the publication against a player
Field Definitions
NAME
DESCRIPTION
player
The id of the player
type
The type of result. This can have one of two values: Check – The publication has been checked against the player but not published Publish – The content was published to the player
result
The result of the check or publication. This can have one of two values: Success Failure
publishIssues
An array of issues found when checking the publication against this player. An error means that the content cannot be published.
Example
Player Screenshot
An object containing the URL to a player screenshot and details about the screenshot such as the time it was taken.
Field Definitions
NAME
DESCRIPTION
id
ID of the screenshot
player
ID of player the screenshot is for
url
URL pointing to the original, high-quality screenshot image
smallThumbnailUrl
URL pointing to a small thumbnail image of the screenshot
mediumThumbnailUrl
URL pointing to a medium thumbnail image of the screenshot
dateTaken
The date and time that the screenshot was taken
Example
Player Screenshot Settings
An object containing the URL to a player screenshot and details about the screenshot such as the time it was taken.
Field Definitions
NAME
DESCRIPTION
id
ID of the screenshot settings record
player
ID of the player the screenshot settings record is associated to
enabled
True if remote screenshots are enabled for the player and false if they are not
frequency
The frequency that the player should upload screenshots in minutes
takeScreenshotAtNextContentCheck
If true the player will take a screenshot when it next performs a content check
Example
Player Screenshot Request
Field Definitions
NAME
DESCRIPTION
id
ID of the request
player
The player that the request is for
Example
Real Time Event
Field Definitions
NAME
DESCRIPTION
id
ID of the request
name
The name of the RTE
assetStartConfig
A stringified JSON object for the configuration
assetCompleteConfig
A stringified JSON object for the configuration
assetDownloadConfig
A stringified JSON object for the configuration
assetRemoveConfig
A stringified JSON object for the configuration
userPreferencesConfig
A stringified JSON object with the defined values for user preferences used in the above configs
Example
Example JSON Config
Example User Preferences Config
New Media Asset Request
Field Definitions
NAME
DESCRIPTION
type
The type of new media asset request (fileupload, nonfileasset, remotefileupload)
mediaAsset
A Media Asset DTO, for file uploads the name of the file is the only required field, for non file assets, the whole DTO should be complete
remoteRequest
A Remote Sync Media Asset Request
Example
File Upload
Non File Upload
Remote File Upload
New Media Asset Upload Response
Field Definitions
NAME
DESCRIPTION
type
The type of new media asset request (fileupload, nonfileasset, remotefileupload)
success
True/False
errorCode
Any error codes which are resulting from the request
errorMessage
If any errors occurred, a message detailing them
uploadUrl
For file uploads, this is the URL to send the actual file to
uploadContentType
The content type which should be set on the upload request
mediaAsset
The created media asset DTO
Example
Remote Sync Media Asset Request
Field Definitions
NAME
DESCRIPTION
request
The url of the media asset and any required headers for authentication
realTimeEvents
Any real time events, that should be added to the Media Asset when it is created
webHook
The webHook which status updates should be sent to and any headers which should be included
Example
Remote Sync Media Asset Request
Field Definitions
NAME
DESCRIPTION
url
The url of the media asset
remoteSyncRequestId
The ID of the Remote Sync Request so this can be linked to the web hook status messages
metadata
A list of any key value pair data
Example
Remote Sync Request Status
Field Definitions
NAME
DESCRIPTION
remoteSyncRequestId
The ID of the Remote Sync Request
mediaAssetId
If successful, the ID of the created Media Asset
success
A boolean showing the success of the request
errors
An array of any errors in the case that success = false
meta_data
An array of any additional meta_data which was included in the request
Example
Playlist Media Asset Add Request
Field Definitions
NAME
DESCRIPTION
networkId
The ID of the Network the Playlist is on
pma
The Playlist Media Asset object to be added
playlistId
The ID of the Playlist to add the asset to
webHook
The webHook which status updates should be sent to and any headers which should be included
Example
Playlist Media Asset Add Request Status
Field Definitions
NAME
DESCRIPTION
playlistId
The ID of the Remote Sync Request
playlistMediaAssetId
If successful, the ID of the created Media Asset
success
A boolean showing the success of the request
errors
An array of any errors in the case that success = false
Example
Publish Configuration
Field Definitions
NAME
DESCRIPTION
start
The start date and time the schedule will start
end
The end date and time the schedule will finish, set to 9999-12-31T00:00 for it to run until further notice
publishType
Default or Schedule or Interrupt
contentType
mediaAsset or Playlist or Layout
playlist
The Playlist object being published
layout
The Layout object being published
scheduledLayout
The configured scheduled layout for the layout being published, including the scheduled playlists in zones
mediaAsset
The Media Asset being published
publishResults
A list of publish result objects which is the list of players being published to
validity
The validity object if any is to be used
hasValidity
A boolean to say whether validity is being used
startTrigger
The Interrupt Signal object to trigger the interrupt, if serial is not being used
endTrigger
The interrupt Signal object to end the interrupt, if serial is not being used
interruptDuration
The duration the interrupt will play for if set, in seconds
interruptPlayToLength
Whether to play the interrupt to length of the content or the defined duration
interruptResumeOnNext
When next interrupting start at the next asset based on the previous interrupt playback
serialDevice
The serial device to use to trigger the interrupt
serialStartCommand
The serial command to trigger the interrupt
serialEndComand
The serial command to end the interrupt
Example
Operations
Network
GET
DESCRIPTION
Get a Network by ID
HTTP METHOD
GET
URL
/networks/{network_id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A Network object
CREATE
DESCRIPTION
Create a Network (only a single licence can be added using this method)
HTTP METHOD
POST
URL
/networks/
REQUEST BODY
Create Network Request Object
NORMAL RESPONSE CODE
200
RESPONSE BODY
A Network object with an API Authorization Code
Status
GET
DESCRIPTION
Get the Network Status for a Network
HTTP METHOD
GET
URL
/networks/{network_id}/NetworkStatus
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A Network Status Object
Network KPI Setting
GET
DESCRIPTION
Get Network KPI Settings for a Network
HTTP METHOD
GET
URL
/networks/{network_id}/NetworkKPISettings
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A Network KPI Settings Object
Update
DESCRIPTION
Update Network KPI Settings for a Network
HTTP METHOD
PUT
URL
/networks/{network_id}/NetworkKPISettings/{id}
REQUEST BODY
Network KPI Settings object with updates
NORMAL RESPONSE CODE
200
RESPONSE BODY
Updated Network KPI Settings Object
Player
Get a Player
DESCRIPTION
Gets a player object
HTTP METHOD
GET
URL
/players/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Player object
RESPONSE BODY
Updated Network KPI Settings Object
Get List
DESCRIPTION
Returns a collection of player objects, that can be optionally filtered
HTTP METHOD
GET
URL
/players
OPTIONAL PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
search
Term to be used to compare against the player serial number, site fields and tags, if omitted then all assets that are not trashed or deleted are returned
string
Empty String
addedFrom
Returns only players commissioned after this date
Date time
addedTo
Returns only players commissioned before this date
Date time
folderid
Folder ID to return the players for. This implies that it is possible to search within a folder
int
If a folder ID is specified that is not on the user’s network then a Bad Response should be thrown
syncGroupId
Sync Group Id to return the players for.
int
intrash
Boolean indicating if to return players in the trash. If this is true ONLY players in the trash will be returned
Boolean
false
true false
start
Starting position in the array of players, if omitted the default is 0
int
0
limit
Number of players to return
int
50
order
Specifies the order to return players
string
serialno
serialno dateadded
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Array of player objects
Update a Player
DESCRIPTION
Allows the editable fields of a player to be updated
HTTP METHOD
PUT
URL
/players/{id}
REQUEST BODY
Player object with updates
NORMAL RESPONSE
200
RESPONSE BODY
Player object
Delete a Player
DESCRIPTION
Puts a player in the trash
HTTP METHOD
DELETE
URL
/players/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
System Information
Get
DESCRIPTION
Gets the systeminformation for a player
HTTP METHOD
GET
URL
/players/{id}/systeminformation
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
PlayerSystemInformation object
Networking
Get
DESCRIPTION
Gets a player networking object for the player
HTTP METHOD
GET
URL
/players/{id}/networking
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
The PlayerNetworking object
Create
DESCRIPTION
Creates a player networking object
HTTP METHOD
POST
URL
/players/{id}/networking
REQUEST BODY
A new PlayerNetworking object
NORMAL RESPONSE CODE
201
RESPONSE BODY
The new PlayerNetworking object
Update
DESCRIPTION
Edits a player networking object
HTTP METHOD
PUT
URL
/players/{id}/networking
REQUEST BODY
A modified PlayerNetworking object
NORMAL RESPONSE CODE
200
RESPONSE BODY
The modified PlayerNetworking object
Delete
DESCRIPTION
Removes the player networking object from a player
HTTP METHOD
DELETE
URL
/players/{id}/networking
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Notes
Get
DESCRIPTION
Gets all support notes for a player
HTTP METHOD
GET
URL
/players/{id}/notes
OPTIONAL PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
addedFrom
Returns only notes added after this date
Date time
addedTo
Returns only notes added before this date
Date time
start
Starting position in the array of notes, if omitted the default is 0
int
0
limit
Number of notes to return
int
50
NORMAL RESPONSE CODE
A list of note objects
RESPONSE BODY
200
Create
DESCRIPTION
Creates a new note
HTTP METHOD
POST
URL
/players/{id}/notes
REQUEST BODY
A new note object
NORMAL RESPONSE CODE
201
RESPONSE BODY
The created Note
Update
DESCRIPTION
Edits the specified note
HTTP METHOD
PUT
URL
/players/{id}/notes/{noteid}
REQUEST BODY
A modified note object
NORMAL RESPONSE CODE
200
RESPONSE BODY
The updated note object
Delete
DESCRIPTION
Deletes the specified note
HTTP METHOD
DELETE
URL
/players/{id}/notes/{noteid}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Content
Schedules
Get
DESCRIPTION
Gets all scheduled content items for player
HTTP METHOD
GET
URL
/players/{id}/content/schedules
OPTIONAL PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
rangeStart
The start date of the range to search for schedule items.
Date time
00:00:00 on the current date
This will return schedules active at any point after this date.
rangeEnd
The end date of the range to search for schedule items.
Date time
This will return schedules active at any point between the rangeStart and this date
start
Starting position in the array of schedule items, if omitted the default is 0
int
0
limit
Number of schedule items to return
int
50
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A list of ScheduledItem objects
Delete
DESCRIPTION
Deletes the specified scheduled item
HTTP METHOD
DELETE
URL
/players/{id}/content/schedules/{scheduleitemid}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Delete All
DESCRIPTION
Deletes all scheduled items from the player
HTTP METHOD
DELETE
URL
/players/{id}/content/schedules
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Interrupts
Get
DESCRIPTION
Gets all interrupts for player
HTTP METHOD
GET
URL
/players/{id}/content/interrupts/
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A list of interrupt objects
Update
DESCRIPTION
Edits an interrupt on the player
HTTP METHOD
PUT
URL
/players/{id}/content/interrupts/{interruptid}
REQUEST BODY
The interrupt object with either the mediaAsset, playlist, or layout fields modified
NORMAL RESPONSE CODE
200
RESPONSE BODY
Interrupt object with updates
Delete
DESCRIPTION
Removes the specified interrupt from the player
HTTP METHOD
DELETE
URL
/players/{id}/content/interrupts/{interruptid}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Status
Get
DESCRIPTION
Gets the content status for a player
HTTP METHOD
GET
URL
/players/{id}/content/status
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Content status object
Layouts
Get
DESCRIPTION
Gets a scheduled layout for a player by id
HTTP METHOD
GET
URL
/players/{id}/content/layouts/{scheduledlayoutid}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A ScheduledLayout object
Media Assets
Get
DESCRIPTION
Gets a list of all media assets that have been downloaded to the player
HTTP METHOD
GET
URL
/players/{id}/mediaassets
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A list of media asset objects
Licence
Summary
Get
DESCRIPTION
Gets a licence summary object for the specified player
HTTP METHOD
GET
URL
/players/{id}/licence/summary
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Licence collection object
Connections
Get
DESCRIPTION
Gets the list of recorded player connections for the player
HTTP METHOD
GET
URL
/players/{id}/connections
OPTIONAL PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
start
The start position for paging
0
limit
The amount of player connections to return
100
100 is the maximum value
dateFrom
The earliest date to return connections from
Amount is still limited to 100
dateTo
The latest date to return connections from
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Array of Player Connections
Tags
Get
DESCRIPTION
Gets the tags for the specified player
HTTP METHOD
GET
URL
/players/{id}/tags
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Array of Tags
Get All
DESCRIPTION
Gets a list of all player tags in use on the network
HTTP METHOD
GET
URL
/players/tags
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A list of strings
Create
DESCRIPTION
Adds the tag to the tag collection for the specified player
HTTP METHOD
POST
URL
/players/{id}/tags
REQUEST BODY
Tag object with no id
NORMAL RESPONSE CODE
201
RESPONSE BODY
Tag object with id
Update
DESCRIPTION
Allows the user to edit the value of the tag
HTTP METHOD
PUT
URL
/players/{id}/tags/{id}
REQUEST BODY
Tag object with modification to the value
NORMAL RESPONSE CODE
200
RESPONSE BODY
Tag with update
Delete
DESCRIPTION
Allows the user to edit the value of the tag
HTTP METHOD
DELETE
URL
/players/{id}/tags/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Screen Control
Settings
Get
DESCRIPTION
Gets the screen control settings for a player. Note that if nothing is returned, the player will use its own default screen control method. For PC players this means Windows power saving.
HTTP METHOD
GET
URL
/players/{id}/screencontrol/settings
REQUEST BODY
None
NORMAL RESPONSE CODE
201
RESPONSE BODY
A screen control settings object
Create
DESCRIPTION
Creates a new screen control settings object for the player
HTTP METHOD
POST
URL
/players/{id}/screencontrol/settings
REQUEST BODY
A new ScreenControlSettings object with no ID
NORMAL RESPONSE CODE
201
RESPONSE BODY
The ScreenControlSettings object now with an ID
Update
DESCRIPTION
Saves changes to the screen control settings object
HTTP METHOD
PUT
URL
/players/{id}/screencontrol/settings
REQUEST BODY
The edited ScreenControlSettings object
NORMAL RESPONSE CODE
200
RESPONSE BODY
The ScreenControlSettings object with the updates
Delete
DESCRIPTION
Removes screen control settings from a player
HTTP METHOD
DELETE
URL
/players/{id}/screencontrol/settings
REQUEST BODY
None
NORMAL RESPONSE CODE
None
RESPONSE BODY
None
Schedule
Get
DESCRIPTION
Gets the ScreenControlSchedules for this player
HTTP METHOD
GET
URL
/players/{id}/screencontrol/schedules
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
An array of ScreenControlSchedule objects
Create
DESCRIPTION
Creates a new screen control schedule object for the player
HTTP METHOD
POST
URL
/players/{id}/screencontrol/schedules
REQUEST BODY
new ScreenControlSchedule object with no ID
NORMAL RESPONSE CODE
201
RESPONSE BODY
All ScreenControlSchedules for the player
Update
DESCRIPTION
Updates a screen control schedule object for the player
HTTP METHOD
PUT
URL
/players/{id}/screencontrol/schedules/{id}
REQUEST BODY
The updated ScreenControlSchedule object
NORMAL RESPONSE CODE
200
RESPONSE BODY
The updated ScreenControlSchedules object
Delete
DESCRIPTION
Removes a screen control schedule object from the player
Starting position in the array of notes, if omitted the default is 0
int
0
limit
Number of notes to return
int
50
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
An array of available screenshots
Request
Post
DESCRIPTION
Request that the player takes a screenshot at the next content check
HTTP METHOD
POST
URL
/player/{id}/screenshots/request
REQUEST BODY
A PlayerScreenshotRequest containing the id of the player
NORMAL RESPONSE CODE
204
RESPONSE BODY
None
Settings
Get
DESCRIPTION
Get screenshot settings for a player
HTTP METHOD
GET
URL
/player/{id}/screenshots/settings
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
The player’s screenshot configuration
Create
DESCRIPTION
Creates screenshot settings for a player
HTTP METHOD
POST
URL
/player/{id}/screenshots/settings
REQUEST BODY
The new screenshot settings with no ID
NORMAL RESPONSE CODE
200
RESPONSE BODY
The created screenshot settings with generatedID
Update
DESCRIPTION
Updates the screenshot settings for a player
HTTP METHOD
PUT
URL
/player/{id}/screenshots/settings
REQUEST BODY
The edited screenshot settings
NORMAL RESPONSE CODE
200
RESPONSE BODY
The updated screenshot settings
Upload Log Files
DESCRIPTION
Sets the player to upload log files
HTTP METHOD
PUT
URL
/players/{id}/uploadlogfiles
OPTIONAL PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
cancelUpload
If we want to cancel the upload of log files, we set this to true
boolean
false
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Bandwidth
Get
DESCRIPTION
Gets bandwidth used this month by the player
HTTP METHOD
GET
URL
/players/{id}/bandwidth
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A BandwidthUsage object
Proof of Play
Note that calls to Proof of Play will return ‘Unauthorized’ if Proof of Play is not enabled on your network.
Get
DESCRIPTION
Gets the PoP reference or the specified player
HTTP METHOD
GET
URL
/players/{id}/proofofplay/references
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Array of Proof of Play References for the player
Create
DESCRIPTION
Adds the reference to the PoP reference collection for the specified player
HTTP METHOD
POST
URL
/players/{id}/proofofplay/references
REQUEST BODY
Proof of Play reference with no ID
NORMAL RESPONSE CODE
201
RESPONSE BODY
Proof of Play reference with the new ID
Update
DESCRIPTION
Allows the user to edit the value of the proof of play reference
HTTP METHOD
PUT
URL
/players/{id}/proofofplay/references/{id}
REQUEST BODY
Proof of Play reference with modification to the value
NORMAL RESPONSE CODE
200
RESPONSE BODY
Proof of Play reference with update
Delete
DESCRIPTION
Allows the user to delete the Proof of Play reference
HTTP METHOD
DELETE
URL
/players/{id}/proofofplay/references/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Licences
Get
DESCRIPTION
Gets a licence object
HTTP METHOD
GET
URL
/licences/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Licence object
Summary
Get All
DESCRIPTION
Gets a collection of licence summary objects for the specified network.
HTTP METHOD
GET
URL
/licences/summary
OPTIONAL PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
search
Term to be used to compare against the player name, site name, licence code or serial number. If omitted then all licences that are not trashed or deleted are returned
string
type
The type of licence.
Date time
Any type
Standard Trial
inUse
Whether or not a licence has been registered or used as a renewal.
boolean
Both registered and unregistered licences are returned
true false
maxOutputs
Maximum number of outputs for a player using this licence.
integer
Any integer equal to or greater than 0
inTrash
Whether or not a licence is in the trash.
boolean
Only licences not in the trash are returned
true false
start
Starting position in the array of licence summaries, if omitted the default is 0
int
0
limit
Number of licence summaries to return
int
50
status
The licence status.
string
All
All Active Activateable Unregistered Deactivated Expired ExpireToday Expire7 Expire30 Expire60
sort
The sort order for the licences
string
expiryDate
sortDirection
The sort direction, Ascending (asc) or Descending (desc)
string
asc desc
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A collection of Licence summary objects
Get
DESCRIPTION
Gets a licence summary object for the specified licence
HTTP METHOD
GET
URL
/licences/{id}/summary
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Licence summary object
Activate
DESCRIPTION
Gets a licence summary object for the specified licence
DESCRIPTION
Activates a licence using the provided activation code
A csv containing any of the following values: audio image video flash stream web rss tvin widget
folderid
Folder ID to return the assets for. This implies that it is possible to search within a folder
int
If a folder ID is specified that is not on the user’s network then a Bad Response should be thrown
intrash
Boolean indicating if to return asset in the trash. If this is true ONLY assets in the trash will be returned
Boolean
false
true false
start
Starting position in the array of media assets, if omitted the default is 0
int
0
limit
Number of media assets to return,
int
50
providers
CSV of third party providers and will limits the media assets returned to the specified providers
string
Empty String
screenfeed
order
Specifies the order to return media assets options are returned
string
alphanumeric
alphanumeric datecreated lastused lastModified
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Array of Media Asset objects
Get
DESCRIPTION
Gets a single media asset object
HTTP METHOD
GET
URL
/mediaassets/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Media Asset object
Create
DESCRIPTION
Creates a new media asset the same request is used for file uploads, non files (i.e. adds a web page, IPTV Stream or RSS/MRSS Feed) and adding a media asset from a Digital Asset Management Tool
HTTP METHOD
POST
URL
/mediaassets/add
REQUEST BODY
An array of New Media Asset Request Objects
NORMAL RESPONSE CODE
201
RESPONSE BODY
An array of New Media Asset Response Objects
Add Media Asset from a Digital Asset Management Tool
Signagelive have added a mechanism to be able to add content using a URL pointing at their Digital Asset Management platform, Signagelive will take this, download the file, and validate it is usable, and then send the success or failure of this to a provided webhook. It is possible to send multiple Media Assets at once.
DESCRIPTION
Add Media Asset from a Digital Asset Management Tool
HTTP METHOD
POST
URL
/mediaassets/add
REQUEST BODY
An array of New Media Asset Request Objects
NORMAL RESPONSE CODE
201
RESPONSE BODY
An array of New Media Asset Response Objects
Once Signagelive has processed the request, we will send the outcome to the configured webHook. The body included will be a Remote Sync Media Asset Status object. If success is true, the asset is ready to be used and the ID is included.
If success is false, then errors will be included as the reason why. The error codes are as follows:
ERROR CODE
Description
SLRSR0001
Asset could not be downloaded from the remote URL
SLRSR0002
The file type is unknown to Signagelive based on the extension
SLRSR0003
The media asset could not be uploaded to Signagelive storage (cloud files)
SLRSR0004
There was an error saving the new media asset to the database
SLRSR0005
Thumbnail could not be generated
SLRSR0006
Uncaught exception thrown
SLRSR0007
Network Real Time Event not found
SLRSR0008
Unable to add Real Time event/s to media asset
Update
DESCRIPTION
Allows the name of the media asset or if it is included in Proof of Play to be updated.
HTTP METHOD
PUT
URL
/mediaassets/{id}
REQUEST BODY
Media Asset object with updates – note that only the name and PoP is updatable
NORMAL RESPONSE CODE
200
RESPONSE BODY
Media Asset object
Delete
DESCRIPTION
Moves the specified media asset to the trash
HTTP METHOD
DELETE
URL
/mediaassets/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Thumbnails
Request
DESCRIPTION
Requests a new thumbnail for the specified media asset
HTTP METHOD
POST
URL
/mediaassets/{id}/thumbnailrequests
REQUEST BODY
Thumbnail Request object with no id
NORMAL RESPONSE CODE
201
RESPONSE BODY
Thumbnail Request Object with the generated Id
Metadata
Get
DESCRIPTION
Gets the metadata for the specified media asset
HTTP METHOD
GET
URL
/mediaassets/{id}/metadata
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Media Asset Metadata object
Tags
Get
DESCRIPTION
Gets the tags for the specified media asset
HTTP METHOD
GET
URL
/mediaassets/{id}/tags
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Array of Tags
Create
DESCRIPTION
Adds the tag to the tag collection for the specified media asset
HTTP METHOD
POST
URL
/mediaassets/{id}/tags
REQUEST BODY
Tag object with no id
NORMAL RESPONSE CODE
201
RESPONSE BODY
Tag object with id
Update
DESCRIPTION
Allows the user to edit the value of the tag
HTTP METHOD
PUT
URL
/mediaassets/{id}/tags/{id}
REQUEST BODY
Tag object with modification to the value
NORMAL RESPONSE CODE
200
RESPONSE BODY
Tag with update
Delete
DESCRIPTION
Allows the user to edit the value of the tag
HTTP METHOD
DELETE
URL
/mediaassets/{id}/tags/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Proof of Play
Note that calls to Proof of Play will return ‘Unauthorized’ if Proof of Play is not enabled on your network.
Get
DESCRIPTION
Gets the PoP reference or the specified media asset
HTTP METHOD
GET
URL
/mediaassets/{id}/proofofplay/references
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Array of Proof of Play References for the media asset
Add
DESCRIPTION
Adds the reference to the PoP reference collection for the specified media asset
HTTP METHOD
POST
URL
/mediaassets/{id}/proofofplay/references
REQUEST BODY
Proof of Play reference with no ID
NORMAL RESPONSE CODE
201
RESPONSE BODY
Proof of Play reference with the new ID
Edit
DESCRIPTION
Allows the user to edit the value of the proof of play reference
HTTP METHOD
PUT
URL
/mediaassets/{id}/proofofplay/references/{id}
REQUEST BODY
Proof of Play reference with modification to the value
NORMAL RESPONSE CODE
200
RESPONSE BODY
Proof of Play reference with update
Delete
DESCRIPTION
Allows the user to delete the Proof of Play reference
HTTP METHOD
DELETE
URL
/mediaassets/{id}/proofofplay/references/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Playlists
Get List
DESCRIPTION
Gets a list of playlists
HTTP METHOD
GET
URL
/playlists
OPTIONAL PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
search
Term to be used to compare against the name and tags, if omitted then all playlists that are not trashed or deleted are returned
string
Empty String
addedFrom
Returns only playlists added after this date
Date time
addedTo
Returns only playlists added before this date
Date time
usedFrom
Returns only playlists used after this date
Date time
usedTo
Returns only playlists used up to this date
Date time
modifiedFrom
Return only playlists last modified after this date
modifiedTo
Return only playlists last modified before this date
folderid
Folder ID to return the playlists for.
int
If a folder ID is specified that is not on the user’s network then a Bad Response should be thrown
intrash
Boolean indicating if to return playlists in the trash. If this is true ONLY playlists in the trash will be returned
Boolean
false
true false
start
Starting position in the array of playlists, if omitted the default is 0
int
0
limit
Number of playlists to return,
int
50
order
Specifies the order to return playlists options are returned
String
alphanumeric
alphanumeric datecreated Lastused modified
deepload
Indicates if the Playlist Media Assets and child objects should be loaded. Only works when getting all assets i.e. not a folder or not trash
Boolean
false
true false
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
List of playlist objects
Get
DESCRIPTION
Gets a specific playlist
HTTP METHOD
GET
URL
/playlists/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Playlist Model
Create
DESCRIPTION
Creates a playlist
HTTP METHOD
POST
URL
/playlists
REQUEST BODY
Playlist Object with no ID
NORMAL RESPONSE CODE
201
RESPONSE BODY
Playlist Model with Id and ID’s for all PlaylistMediaAssets and associated objects
Update
DESCRIPTION
Updates the Playlist
HTTP METHOD
PUT
URL
/playlists/{id}
REQUEST BODY
Playlist Model
NORMAL RESPONSE CODE
200
RESPONSE BODY
Playlist Model
Delete
DESCRIPTION
Deletes the Playlist (moves it to the trash)
HTTP METHOD
DELETE
URL
/playlists/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Add Asset to Playlist
DESCRIPTION
Add an Asset to a Playlist
HTTP METHOD
POST
URL
/playlists/{id}/playlistmediaasset
REQUEST BODY
Add Asset to Playlist Request Model
NORMAL RESPONSE CODE
200
RESPONSE BODY
Add Asset to Playlist Request Response
The Network API has a method to allow for a Media Asset to be added to a Playlist, without the need for retrieving the entire playlist, adding the media to the media assets collection and then resaving the playlist.
The reason for this addition is to make it possible to add a number of media assets to a single playlist in parallel without having to maintain the entire collection of media assets for a playlist, as this is required for each save.
This method accepts requests, and adds them to a queue which will be processed in the background serially for a specific playlist.
Once the request is processed and the playlist is saved, if it is published to a player, then the player will be automatically updated with the new playlist content.
The body of the request requires the entire Playlist Media Asset object, as it would be when adding to a playlist, this can include Validity and Conditional Playback data if required. This object, must also include the entire Media Asset object.
It is also possible to include a web hook, which will be sent a notification when the media is successfully added to the playlist, or an error when it cannot be added to the playlist.
If you set the position to -1, then the asset will be added to the end of the playlist. If you set a position then the asset will be added in that position, and everything after and including the asset currently at that position, will be moved 1 higher in their position.
NOTE: Positions start from 0, so the first media asset in a playlist, will have a position of 0;
Layouts
Get a List
DESCRIPTION
Gets a list of layouts on the current network
HTTP METHOD
GET
URL
/layouts/
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A list of layouts
Get
DESCRIPTION
Gets a layout
HTTP METHOD
GET
URL
/layouts/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
The Layout object
Create
DESCRIPTION
Create a layout
HTTP METHOD
POST
URL
/layouts/{id}
REQUEST BODY
A new layout object with no ID
NORMAL RESPONSE CODE
200
RESPONSE BODY
A layout object with and ID and IDs for all media windows and sub objects
Update
DESCRIPTION
Edits a layout
HTTP METHOD
PUT
URL
/layouts/{id}
OPTIONAL PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
autoUpdate
boolean
false
true
REQUEST BODY
The layout object with changes
NORMAL RESPONSE CODE
200
RESPONSE BODY
The updated layout object
Folders
Get All
DESCRIPTION
Gets a list of folders
HTTP METHOD
GET
URL
/folders
REQUIRED PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
type
Folders are generic objects in the Signagelive system, so the type of folder must be specified that is appropriate to the view
string
400 – Bad Request
mediaasset playlist layout player
start
Starting position in the array of folders, if omitted the default is 0
int
0
limit
Number of folders to return,
int
50
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
List of folders objects
Get
DESCRIPTION
Gets the specified folder
HTTP METHOD
GET
URL
/folders/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Folder model
Create
DESCRIPTION
Creates a new folder
HTTP METHOD
POST
URL
/folders
REQUEST BODY
Folder model with no id
NORMAL RESPONSE CODE
201
RESPONSE BODY
Folder model with Id
Update
DESCRIPTION
Updates the specified folder
HTTP METHOD
PUT
URL
/folders/{id}
REQUEST BODY
Folder model – note only the name is updateable
NORMAL RESPONSE CODE
200
RESPONSE BODY
Folder model with updates
Delete
DESCRIPTION
Deletes the specified folder
HTTP METHOD
DELETE
URL
/folders/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Items
Get
DESCRIPTION
Get a list of items in a folder.
HTTP METHOD
GET
URL
/folders/{id}/items
OPTIONAL PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
search
Term to be used to compare against the item name and tags, if omitted then all items that are not trashed or deleted are returned
Starting position in the array of items, if omitted the default is 0
int
0
limit
Number of items to return,
int
50
providers
CSV of third party providers and will limits the media assets returned to the specified providers
string
Empty String
screenfeed
order
Specifies the order to return items options are returned
string
alphanumeric
alphanumeric datecreated lastused lastModified
REQUEST BODY
NORMAL RESPONSE CODE
200
RESPONSE BODY
A list of items within the folder
Add
DESCRIPTION
Adds an item to a folder. The server will check the folder and the item are the same type.
HTTP METHOD
POST
URL
/folders/{id}/items
REQUEST BODY
Item to add to folder
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Delete
DESCRIPTION
Removes an item from a folder.
HTTP METHOD
DELETE
URL
/folders/{id}/items/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Tags
Get
DESCRIPTION
Gets the tags for the specified folder
HTTP METHOD
GET
URL
/folders/{id}/tags
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
List of Tag models
Add
DESCRIPTION
Adds a tag to a folder and subsequently the object in it
HTTP METHOD
POST
URL
/folders/{id}/tags
REQUEST BODY
Tag model with no Id
NORMAL RESPONSE CODE
201
RESPONSE BODY
New Tag model with new Id
Update
DESCRIPTION
Edits a tag to a folder and subsequently the object in it
HTTP METHOD
PUT
URL
/folders/{id}/tags/{id}
REQUEST BODY
Tag model with updates
NORMAL RESPONSE CODE
200
RESPONSE BODY
Tag model with edits
Delete
DESCRIPTION
Deletes a tag from a folder and subsequently the object in it
HTTP METHOD
DELETE
URL
/folders/{id}/tags/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Trash
Get
DESCRIPTION
Lists the objects specified in the trash
HTTP METHOD
GET
URL
/{objectname}/trash – Note options are mediaassets, playlists, players
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
List of specified objects
Add
DESCRIPTION
Adds the specified object to the trash
HTTP METHOD
PUT
URL
/{objectname}/trash – Note options are mediaassets, playlists, players
REQUEST BODY
Object to put in trash
NORMAL RESPONSE CODE
200
RESPONSE BODY
Object passed
Restore
DESCRIPTION
Restores the object specified to the library
HTTP METHOD
PUT
URL
/{objectname}/trash/{id}/restore – Note options are mediaassets, playlists, players
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Permanently Delete
DESCRIPTION
Permanently deletes the object so that it is not available for use in Signagelive
HTTP METHOD
DELETE
URL
/{objectname}/trash/{id} – Note options are mediaassets, playlists, players
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Player Types
Get All
DESCRIPTION
Gets a list of all available player types
HTTP METHOD
GET
URL
/playertypes
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
List of playertype objects
Get
DESCRIPTION
Gets the specified player type
HTTP METHOD
GET
URL
/playertypes/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A playertype object
Player Type KPI Setting
Get
Get All Player Type KPI Settings
DESCRIPTION
Get All Player Type KPI Settings for a Network
HTTP METHOD
GET
URL
/networks/{network_id}/PlayerTypeKPISettings
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Array of player type kpi settings objects
Create
Create Player Type KPI Setting
DESCRIPTION
Create a new Player Type KPI Setting
HTTP METHOD
POST
URL
/networks/{network_id}/PlayerTypeKPISettings
REQUEST BODY
A new Player Type KPI Setting object
NORMAL RESPONSE CODE
201
RESPONSE BODY
none
Update
Update Player Type KPI Setting
DESCRIPTION
Update an existing Player Type KPI Setting by Id
HTTP METHOD
PUT
URL
/networks/{network_id}/PlayerTypeKPISettings/{id}
REQUEST BODY
Updated Player Type KPI Settings Object
NORMAL RESPONSE CODE
200
RESPONSE BODY
A Player Type KPI Settings object
Delete
Delete Player Type KPI Setting
DESCRIPTION
Delete a Player Type KPI Setting by Id
HTTP METHOD
DELETE
URL
/networks/{network_id}/PlayerTypeKPISettings/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Global Settings
Players
Content Check
DESCRIPTION
Sets the content check settings for all players on the network
HTTP METHOD
PUT
URL
/globalsettings/players/contentcheck
REQUIRED PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
type
The type of content check, either at a set interval or daily
string
400
setInterval: daily
OPTIONAL PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
interval
The interval for content checks, in minutes
int
None
This can be any value from 1 to 1440. This is required when ‘type’ is ‘setInterval’
time
The time of day for content checks
string
None
The format to be used is HH:MM:SS. This is required when ‘type’ is ‘daily’
separateRssSync
Should RSS feeds by synced separately to content checks?
boolean
None
True if RSS feeds should be synced separately to content checks, otherwise false.
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Health Check
DESCRIPTION
Sets the content check settings for all players on the network
HTTP METHOD
PUT
URL
/globalsettings/players/healthcheck
REQUIRED PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
interval
The interval for health checks, in minutes
int
400
This can be any value from 1 to 1440.
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Reboots
DESCRIPTION
Sets the reboot settings for all players on the network
HTTP METHOD
PUT
URL
/globalsettings/players/reboots
REQUIRED PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
enabled
Enables or disables scheduled reboots
boolean
400
True or false
OPTIONAL PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
time
The time of day for reboots
string
00:00:00
The format to be used is HH:MM:SS.
rebootAtNextContentCheck
If true, players will reboot at the next content check.
boolean
None
True or false
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Proof of Play
DESCRIPTION
Sets the content check settings for all players on the network. This will return forbidden if proof of play is not enabled on the network.
HTTP METHOD
PUT
URL
/globalsettings/players/proofofplay
REQUIRED PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
enabled
A boolean value to enable or disable proof of play
boolean
400
True or false
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Screen Control
DESCRIPTION
Sets the screen control settings for all players on the network
HTTP METHOD
POST
URL
/globalsettings/players/screencontrol
REQUEST BODY
A GlobalScreenControl object
NORMAL RESPONSE CODE
200
RESPONSE BODY
None
Publish Content
Publish
DESCRIPTION
Publish content to players
HTTP METHOD
POST
URL
/publish/publish
REQUEST BODY
A publication configuration object
NORMAL RESPONSE CODE
200
RESPONSE BODY
A list of PublishResult objects
Check
DESCRIPTION
Checks the publication prior to publishing
HTTP METHOD
POST
URL
/publish/checkPublication
REQUEST BODY
A publication configuration object
NORMAL RESPONSE CODE
200
RESPONSE BODY
A list of PublishResult objects
Publish an Interrupt Example
Get the Interrupt
Signagelive provides a list of interrupt signals, which need to be included in the publication, to define which interrupt is being used, and will trigger the published content.
You will need to get all, and find the interrupt you are looking to use.
Publish to Players
So that all players have the Trigger published to them, meaning that when we add content it is automatically published, we need to publish the interrupt to all players we currently know about and want to publish the trigger to. Any new players added after this, will need to have the trigger published to them, using this process.
Make sure you set the Playlist object to be the full playlist object returned for the playlist.
Player List
Get List
DESCRIPTION
Gets all playerlists on the network
HTTP METHOD
GET
URL
/playerlists
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A list of playerlist objects
Get
DESCRIPTION
Gets a playerlist on the network
HTTP METHOD
GET
URL
/playerlists/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A single playerlist object
Create
DESCRIPTION
Saves a playerlist
HTTP METHOD
POST
URL
/playerlists
REQUEST BODY
The new playerlist object
NORMAL RESPONSE CODE
201
RESPONSE BODY
The playerlist object now with an ID
Update
DESCRIPTION
Saves a playerlist
HTTP METHOD
PUT
URL
/playerlists/{ID}/
REQUEST BODY
The playerlist object
NORMAL RESPONSE CODE
200
RESPONSE BODY
The playerlist object with changes
Saved Search
Get All
DESCRIPTION
Gets all saved searches on the network
HTTP METHOD
GET
URL
/savedsearches
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A list of savedsearch objects
Get
DESCRIPTION
Gets a single saved search on the network
HTTP METHOD
GET
URL
/savedsearches/{id}
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
A single savedsearch object
Create
DESCRIPTION
Saves a saved search
HTTP METHOD
POST
URL
/savedsearches
REQUEST BODY
The new SavedSearch object
NORMAL RESPONSE CODE
201
RESPONSE BODY
The saved search object now with an ID
Update
DESCRIPTION
Updates a saved search
HTTP METHOD
PUT
URL
/savedsearches/{ID}/
REQUEST BODY
The SavedSearch object
NORMAL RESPONSE CODE
200
RESPONSE BODY
The saved search object with updates
Users
Get All
DESCRIPTION
Returns a collection of network user objects, that can be optionally filtered
HTTP METHOD
GET
URL
/users
OPTIONAL PARAMETERS
NAME
DESCRIPTION
DATA TYPE
RESPONSE IF OMITTED
PERMITTED VALUES
search
Term to be used to compare against the user’s name or email address. If omitted then all users are returned
string
Empty String
start
Starting position in the array of users, if omitted the default is 0
int
0
limit
Number of users to return,
int
50
order
Specifies the order to return
string
email
email
status
Specifies whether to return all users or only enabled or disabled users
string
all
all enabled disabled
role
Specifies whether to return all user levels or a specific level
string
all
superadministrator administrator user messagemanageruser readonly localuser
REQUEST BODY
None
NORMAL RESPONSE CODE
200
RESPONSE BODY
Array of network user objects
Create
DESCRIPTION
Saves a user
HTTP METHOD
POST
URL
/users
REQUEST BODY
The new network user object
NORMAL RESPONSE CODE
201
RESPONSE BODY
The network user object now with an ID
Real Time Events
GET
DESCRIPTION
Gets all System Real Time Events
HTTP METHOD
GET
URL
/system/realtimeevents/
OPTIONAL PARAMETERS
NAME
DESCRIPTION
DATA TYPE
PERMITTED VALUES
search
Term to be used to compare against the real time event name. If omitted then all real time events are returned