Skip to main content

signageOS REST API (0.0.0)

Download OpenAPI specification:Download

Introduction

signageOS helps any developer to build apps for displays and remotely manage large networks of displays in a standardized way. No matter what display you are using, all APIs work across all of them.

Read more here:


About REST API

The signageOS REST API brings extra features for signageOS users with out-of-the-box device management, monitoring, and maintenance service provided by signageOS. With an existing, scalable, and flexible solution you can easily integrate advanced features into your CMS via standardized REST API. No need to re-invent the wheel again.

All APIs are standardized and available across all supported devices.

To use REST API, you need an Organization on Device Plan 1.0, 2.0 or 3.0. REST API does not work on free Open Device Plan.


List of REST API Domains

Domain Description
Device Configure the device, set timers, brightness, volume, RM server url, update the Core App, update firmware and much more, get device uptime, temperature, outages, content status or custom logs.
Applet Way to create your own Applets and its versions over API instead of Box.
Timing Timing REST API helps you schedule Applets (your HTML player) on the devices.
Organizations Organization/User REST API helps you to manage your account and create/delete organizations and retrieve security tokens.
Account Manage or delete security account tokens.
Firmware Manage firmware versions on supported devices.
Emulator Create emulators, test your environment or simply manage them.
Policy Manage policies with various settings, set up new policies or configure exiting policies and assign them to devices.
Tag Manage tags.
Alert (Coming soon) Manage device alerts and get informed about anomalies on production devices.
Location (Coming soon) Managing and filtering devices by assigned locations.
Bulk Provisioning Register your devices and automate the deployment

REST API Authentication

For REST API your application needs to be authenticated using request Header: X-Auth which is different for every single organization (end company owning/using devices). There is a possibility to create a sub-organization for any of your customers in signageOS Box.

  1. Go to Organizations section in signageOS Box and generate your token_id & token_secret.
  2. Use it as X-Auth header separated by semicolon - __TOKEN_ID:__TOKEN_SECRET__.
# X-Auth = client_id:client_secret
curl -XGET -H "X-Auth: 87e376c08d16XXXXb796294744:5ef829c933aXXXX710f5388a27fee" \
  https://api.signageos.io/v1/device

If X-Auth token is invalid or generated token does not have permissions in organization you will receive 403 Forbidden response.


REST API Request Quota

signageOS REST API automatically applies quotas on REST requests. The quota is counted per IP address of the Request origin.

The quota is set to 200 requests per second for instant response and 500 queued requests with a slightly delayed response based on request type and performance.

If you reach the quota API returns 429 Too Many Requests response.

It is important to note that after creating a Company through REST API, the default Device plan is set to 3.0. This can be changed from within SignageOS Box under your Company profile.


Pagination

There is enforced maximum length of data that can be returned in a single response. If there's more data available, than the limit allows, data will be returned in multiple pages. Cursor based pagination will be used. https://jsonapi.org/profiles/ethanresnick/cursor-pagination/#auto-id-query-parameters Parameter limit can be used for setting the page size. Setting the limit over the max allowed limit will result in error. Beware not to change the limit in the middle of the process of fetching pages. If a different limit is specified, process needs to be started over from the first page. Request without additional parameters will return the first page. If there are more data available, the response will contain a header "Link" that will contain the link to the next page, e.g. <https://api.signageos.io/v1/device?until=2021-11-01T00%3A33%3A38.918Z>; rel="next". Then by performing another request with the link next page will be returned. Each response will contain a link to the next page until there are no more data left.


Url structure

List parameters

There are two ways lists could be encoded:

  • ... <LIST_PARAM_NAME>=<VALUE_0>&<LIST_PARAM_NAME>=<VALUE_1>&<LIST_PARAM_NAME>=<VALUE_2> ...
  • ... <LIST_PARAM_NAME>=<VALUE_0>,<VALUE_1>,<VALUE_2>...

For example, list with values uid1, uid2, uid3, encoded in URL as parameter deviceUid will look like this: deviceUid=uid1&deviceUid=uid2&deviceUid=uid3 or deviceUid=uid1,uid2,uid3

In the case of comma-separated values, any string value containing a comma should be escaped.

Asynchronous REST API Requests

While some of API endpoints can be “fire and forget”, i.e. there is no need to report back to the client, for example, when initiating a bulk actions. For others, the client may need a response, but can't get it in the original request because of the long processing time, i.e. in case of firmware upgrade request or Applet operations. In those cases, we have to do a "pre-flight" check and connect directly with device to execute the action, which can be a time-consuming process, often better performed asynchronously. For these asynchronous operations (typically all /device/xxxx endpoints) we adopted a polling strategy. Clients can retrieve the results of asynchronous requests by polling a special endpoint that will return the result of the request, once it's available.

Standard Flow Example

  1. The client sends the PUT request - set brightness to 100% - to the server to begin the operation. 1. The server accepts the request, confirming by 200 OK message. 1. The asynchronous process begins on the server side, triggering desired function - connecting to device, setting a brightness and confirming the value was set and accepted by the device. 1. Finally, the server finished the action by receiving a confirmation from the device - brightness successfully set to 100%. During this process, the client polls the GET URI of the brightness endpoint. The server returns the status of the last request: json { "uid": "deed07d35fdxxx", "deviceUid": "e824fcd24a4fxxx", "createdAt": "2022-07-22T12:06:45.540Z", "succeededAt": "2022-07-22T12:06:55.850Z", "failedAt": null, "brightness1": 90, "brightness2": 40, "timeFrom1": "09:00:00", "timeFrom2": "20:00:00" } Status of the operation is available under succeededAt and failedAt keys. If the request succeeeded, succeededAt will be set. If it failed, failedAt will be set. If non of the two are set, it means that the request is still pending. Flow diagram of async requests

    Important consideration In the polling pattern, the client must decide how frequently to poll the URL and when to give up. One common choice is exponential backoff, which increases the interval between checks until a maximum interval is reached or the response (succeededAt/failedAt) is received.


Account

Create Account Security Token

Create security token for account by username/email/id and password.

query Parameters
identification
string
Example: identification={{username}}

Login username (required)

password
string
Example: password={{password}}

Login password (required)

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Body need to by in JSON

Responses

Delete All Account Security Tokens

Delete all security tokens from account by username/email/id and password.

query Parameters
identification
string
Example: identification={{username}}

Login username (required)

password
string
Example: password={{password}}

Login password (required)

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Delete One Account Security Token

Delete one security token from account by username/email/id and password and token itself.

path Parameters
token
required
string
Example: {{token}}
query Parameters
identification
string
Example: identification={{username}}

Login username (required)

password
string
Example: password={{password}}

Login password (required)

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Applet

The Applet is an HTML5/Javascript application that runs within the signageOS Core App. Applet can leverage the Applet JS API for easy access to the device native functions like saving files into internal memory and using accelerated video playback among others.

Get Applets

Get all applets of current organization

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Create Applet

Create a new Applet that can be assigned to the device.

Body

Content-type: application/json or application/x-www-form-urlencoded

Field Type Required Description
name string required Your new Applet name, eg. Cool Applet

Assigning Applet to Device

Looking for a way how to set Applet to device? The endpoint you are looking for is called Timing.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "Applet Name"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Applet

Get one applet by appletUid. The UID can be found in list of all applets in signageOS Box.

Parameters

Field Type Required Description
appletUid string required Unique applet identification
path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "bd74395949f7de6f143e59f00e8e351b8a01899873bb76be78",
  • "name": "Demo Applet",
  • "createdAt": "2017-05-24T08:58:56.994Z"
}

Delete Applet

Delete one Applet by appletUid. All assigned Timings on any device have to be deleted first.

Parameters

Field Type Required Description
appletUid string required Unique applet identification
path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Create Applet Version

To create new Applet version you need just a new version of HTML (binary).

There is a better way, use signageOS CLI for creating multifile Applets

Parameters

Field Type Required Description
appletUid string required Unique Applet identification

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Required Description
binary string required HTML file
version string (semver) required Version of your Applet, e.g. 1.0.12
frontAppletVersion string (semver) required Version of Content Applet JS API
entryFile string optional Entry file name

Assigning Applet to Device

Looking for a way how to set Applet to device? The endpoint you are looking for is called Timing.

path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "binary": "<html><h1>Hello world</h1></html>",
  • "version": "{{appletVersion}}",
  • "frontAppletVersion": "1.0.5"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Applet Versions

Get all Applet versions of the Applet by appletUid.

Several Applet versions make upgrade process and device operation a lot safer. This API call returns versions of selected Applet.

Parameters

Field Type Required Description
appletUid string required unique applet identification
path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get Applet Version

Get one specific Applet version of the Applet by appletUid and appletVersion

Parameters

Field Type Required Description
appletUid string required Unique applet identification
appletVersion string (semver) optional Version of your Applet, e.g. 1.0.12
path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "appletUid": "bd74395949f7de6f143e59f00e8e351b8a01899873bb76be78",
  • "version": "0.0.1",
  • "createdAt": "2017-05-24T09:12:13.251Z",
  • "updatedAt": "2017-09-12T09:09:53.240Z",
  • "binary": null,
  • "frontAppletVersion": "1.0.3",
  • "publishedSince": null,
  • "deprecatedSince": null,
  • "builtSince": "2017-10-10T19:54:25.206Z"
}

Update Applet Version

Update existing Applet version of the Applet by appletUid and appletVersion.

To update any of your Applet version you need just new version of HTML (binary).

There is a better way, use signageOS CLI for creating multifile Applets

Parameters

Field Type Required Description
appletUid string required Unique Applet identification
appletVersion string (semver) optional Version of your Applet, e.g. 1.0.12

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Required Description
binary string required HTML file as string
frontAppletVersion string (semver) required Version of Content Applet JS API
path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "binary": "<html><h1>Hello world</h1></html>",
  • "frontAppletVersion": "1.0.5"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Upload Applet Version Files

Upload file to applet version files by appletUid & appletVersion.

path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

query Parameters
build
boolean

Do the build of applet version when file is uploaded. Accepted values '0', '1', 'true', 'false'.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
path
required
string

Path where will be file uploaded. Must be an absolute path.

hash
required
string

MD5 checksum of uploaded file

type
string

Content-Type (MIME type) of the uploaded file

Responses

Request samples

Content type
application/json
{
  • "path": "index.html",
  • "hash": "045e372a1eeafee2ce5580443c18a91d",
  • "type": "text/html"
}

Response samples

Content type
application/json
{
  • "upload": {
    },
}

Get Applet Version Files

Get file of applet version files by appletUid, appletVersion

path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Get Applet Version File

Get file of applet version files by appletUid, appletVersion & appletFileName

path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

appletFileName
required
string
Example: {{appletFileName}}

File name in Applet Version. It has to be relative path to applet root. It cannot start with slash /. It's forbidden to upload files inside node_modules directory.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Upload and Update Applet Version Files

Upload and update existing file to applet version files by appletUid , appletVersion & appletFileName

path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

appletFileName
required
string
Example: {{appletFileName}}

File name in Applet Version. It has to be relative path to applet root. It cannot start with slash /. It's forbidden to upload files inside node_modules directory.

query Parameters
build
boolean

Do the build of applet version when file is uploaded. Accepted values '0', '1', 'true', 'false'.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
hash
required
string

MD5 checksum of uploaded file

type
string

Content-Type (MIME type) of the uploaded file

Responses

Request samples

Content type
application/json
{
  • "hash": "045e372a1eeafee2ce5580443c18a91d",
  • "type": "text/javascript"
}

Response samples

Content type
application/json
{
  • "upload": {
    },
}

Delete Applet Version File

Delete an existing file to applet version files by appletUid, appletVersion & appletFileName

path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

appletFileName
required
string
Example: {{appletFileName}}

File name in Applet Version. It has to be relative path to applet root. It cannot start with slash /. It's forbidden to upload files inside node_modules directory.

query Parameters
build
boolean

Do the build of applet version when file is uploaded. Accepted values '0', '1', 'true', 'false'.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Applet/Applet Tests

Test Applet By Version

Create new applet version test of applet by appletUid and appletVersion.

To create a new Applet version test suite you need just the binary (string with test source code).

Parameters

Field Type Required Description
appletUid string required Unique Applet identification
version string required Applet version

Body

Field Type Required Description
identifier string required Test suite identifier
binary string required Binary as string
path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "identifier": "{{testIdentifier}}",
  • "binary": "console.log('OK');"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Test Applet By Version

Get all applet version tests of applet by appletUid & appletVersion.

Applet tests allow you to test the functionality and performance of your applets automatically.

Parameters

Field Type Required Description
appletUid string required Unique applet identification
appletVersion string (semver) required Version of your Applet, e.g. 1.0.12
path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Test Applet By Version and Test Identifier

Get content from one applet version test of applet by appletUid , appletVersion and testIdentifier.

Applet tests allow you to test the functionality and performance of your applets automatically.

Parameters

Field Type Required Description
appletUid string required Unique applet identification
appletVersion string (semver) required Version of your Applet, e.g. 1.0.12
testIdentifier string required Name of the test suite
path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

testIdentifier
required
string
Example: {{testIdentifier}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
{
  • "binary": "example-binary-content"
}

Test Applet By Version And Identifier

Update existing applet version test of applet by appletUid, appletVersion & testIdentifier

To update existing Applet version test suite you need just the binary (string with test source code).

Parameters

Field Type Required Description
appletUid string required Unique Applet identification
version string required Applet version
identifier string required Test suite identifier

Body

Field Type Required Description
binary string required Binary as string
path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

testIdentifier
required
string
Example: {{testIdentifier}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "binary": "console.log('OK');"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Test Applet By Version And Identifier

Delete existing Applet version test by appletUid, appletVersion & testIdentifier.

Parameters

Field Type Required Description
appletUid string required Unique Applet identification
appletVersion string required Applet version
testIdentifier string required Test suite identifier
path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

testIdentifier
required
string
Example: {{testIdentifier}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Alert

Get Alerts

Get all alerts for current Organization.

Parameters

Field Type Required Description
pagination number greater than 0
optional
Start paginating result by a given number of items on the page. Next page link is available in the response header Link.

E.g.: <https://api.signageos/v1/alert?pagination=50&createdUntil=2020-10-22T16%3A10%3A00.000Z>; rel="next"
createdUntil string
optional
Filter by alert createdAt lower than (exclusive) date time in ISO-8601 format. Internally used for pagination (see pagination parameter).
archived boolean
optional
Filter archived/active alerts. Accepted values '0', '1', 'true', 'false'
query Parameters
pagination
integer
Example: pagination=50
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Create Alert

Get all alerts for current Organization.

Parameters

Field Type Required Description
pagination number greater than 0 optional Start paginating result by a given number of items on the page. Next page link is available in the response header Link.

E.g.: ; rel="next"
createdUntil string optional Filter by alert createdAt lower than (exclusive) date time in ISO-8601 format. Internally used for pagination (see pagination parameter).
archived boolean optional Filter archived/active alerts. Accepted values '0', '1', 'true', 'false'

Body

Field Type Required Description
name string required Name of the new alert
organizationUid string required Uid of organization to which alert will be assigned
description string required Description of the alert
alertRuleUid string required Created alert rule that will be assigned to this new alert
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "New alert name",
  • "description": "new description",
  • "organizationUid": "{{organizationUid}}",
  • "alertRuleUid": "alert rule uid"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Alert

Get alert for current Organization by alertUid.

Parameters

Field Type Required Description
alertUid string required Unique Alert Identification
path Parameters
alertUid
required
string
Example: {{alertUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "alertUid": "e8e6da9206f377289c2c5b8c0eb0155ee8f45c4f76b278085b",
  • "organizationUid": "43259e30b1423d4171e348d6a1a1222e3b0075c8d7ebac868a",
  • "description": "Alert for PB 5",
  • "alertRuleUid": "147c0d4a5846da4b4cfddf231744c4f4597eaf0b7c7610381f",
  • "createdAt": "2021-09-21T13:52:07.665Z",
  • "archivedAt": null,
  • "deviceUids": [ ],
  • "latelyChangedAt": "2021-09-21T13:52:07.665Z",
  • "snoozeRule": null
}

Update Alert Description

Update alert description by alertUid.

Parameters

Field Type Required Description
alertUid string required Unique Alert Identification

Body

Field Type Required Description
description string required New description for updated alert
path Parameters
alertUid
required
string
Example: {{alertUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "description": "new alert description"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Archive Alert

Archive one alert by alertUid.

Parameters

Field Type Required Description
alertUid string required Unique Alert Identification
path Parameters
alertUid
required
string
Example: {{alertUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Unarchive Alert

Unarchive one alert by alertUid.

Parameters

Field Type Required Description
alertUid string required Unique Alert Identification
path Parameters
alertUid
required
string
Example: {{alertUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
text/plain
{
  "message\"": "OK"
}

Snooze Alert

Snooze one alert by alertUid.

Parameters

Field Type Required Description
alertUid string required Unique Alert Identification

Body

Field Type Required Description
snoozeRule object required Properties for alert https://demo.signageos.io/dev/alerts/modules.html#snoozerule
path Parameters
alertUid
required
string
Example: {{alertUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "message": "OK"
}

Snooze Device Alert

Snooze one alert on one device by alertUid and deviceUid.

Parameters

Field Type Required Description
alertUid string required Unique Alert Identification
deviceUid string required Device unique identification

Body

Field Type Required Description
snoozeRule object required Properties for alert (only datetime is available) https://demo.signageos.io/dev/alerts/modules.html#snoozerule
path Parameters
alertUid
required
string
Example: {{alertUid}}
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

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

Response samples

Content type
text/plain
# Empty response

Unsnooze Device Alert

Unsnooze one alert on one device by alertUid and deviceUid.

Parameters

Field Type Required Description
alertUid string required Unique Alert Identification
deviceUid string required Device unique identification

Body

Field Type Required Description
path Parameters
alertUid
required
string
Example: {{alertUid}}
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
text/plain
# Empty response

Unsnooze Alert

Unsnooze one alert by alertUid.

Parameters

Field Type Required Description
alertUid string required Unique Alert Identification
path Parameters
alertUid
required
string
Example: {{alertUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
text/plain
{
  "message": "OK"
}

Assigne Devices to Alert

Assign device to alert by alertUid.

Parameters

Field Type Required Description
alertUid string required Unique Alert Identification

Body

Field Type Required Description
alertUid string required Unique Alert Identification
deviceIdentityHashes array required Array of deviceUids that will be assigned to this alert.
path Parameters
alertUid
required
string
Example: {{alertUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
"{\n \"alertUid\": {{alertUid}},\n \"deviceIdentityHashes\": [{{deviceUid}}]\n}"

Response samples

Content type
application/json
{
  • "message": "OK"
}

Unassigne Devices from Alert

Unassign alert from devices by alertUid.

Parameters

Field Type Required Description
alertUid string required Unique Alert Identification

Body

Field Type Required Description
alertUid string required Unique Alert Identification
deviceIdentityHashes array required Array of deviceUids that will be unassigned from this alert.
path Parameters
alertUid
required
string
Example: {{alertUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
"{\n \"alertUid\": {{alertUid}},\n \"deviceIdentityHashes\": [{{deviceUid}}]\n}"

Response samples

Content type
application/json
{
  • "message": "OK"
}

Alert/Rule

Get Alert Rules

Get list of all alert rules in your company.

Parameters

Field Type Required Description
pagination number optional Start paginating result by given number items on-page. Next page link is available on in response under header `Link`. E.g.: `; rel="next"`
archived boolean optional Filter archived alert rules. Accepted values '0', '1', 'true', 'false'
paused boolean optional Filter paused alert rules. Accepted values '0', '1', 'true', 'false'
name string optional Filter alert rules by name
alertType string optional Filter alert rules corresponding with type. Accepted values 'DEVICE', 'POLICY', 'APPLET'
query Parameters
alertType
string
Example: alertType=DEVICE
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Create Alert Rule

Create a new alert rule within your company by companyUid.

Parameters

Field Type Required Description
No parameters

Body

FIeld Type Required Description
name string required Name of the new alert rule
companyUid string required Unique Company Identification
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "alert rule name",
  • "companyUid": "{{companyUid}}"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Alert Rule

Get one specific alert rule by alertRuleUid.

Parameters

Field Type Required Description
alertRuleUid string required Unique Alert Rule Identification
path Parameters
alertRuleUid
required
string
Example: {{alertRuleUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "alertRuleUid": "9af876c55c17cf13c123261eaac78e59e9d2b5d913a79bf96c",
  • "name": "Test Fry",
  • "companyUid": "7fc1f0cd1b0ae527468fbe6b7a5a98b4cd93872235e11c6aaf",
  • "createdAt": "2021-05-25T18:45:54.983Z"
}

Update Alert Rule

Update one existing alert rule by alertRuleUid.

Parameters

Field Type Required Description
alertRuleUid string required Unique Alert Rule Identification

Body

Field Type Required Description
name string optional New name of the updated alert rule
description string optional New description
alertType string optional Accepted values 'DEVICE', 'POLICY', 'APPLET'
organizationUids array optional Organizations which is checked against the rule
filter object optional Pre-filter of devices which the alert will be checked against. It's used for percentage threshold of alert creation as base. The mandatory filter is organization set above. This is extended filter for example device applicationType (tizen, webos, etc.).
conditions object optional Specify all conditions which devices has to match to state alert as applicable.
threshold object optional Specify threshold of rule. It is comparing number of devices matched the conditions above relatively against the total number devices filtered by filter above
periodicity object optional Specify how often the rule will be checked against the current state of devices.
action object optional Optionally specify the action of alert rule. This action will happen when alert rule is creating an alert.

Filter

Field Type Required Description
applicationType string optional Type of application one of ('sssp', 'tizen', 'webos', 'android', 'chrome', 'brightsign', 'linux', 'windows', 'default' )
applicationVersion array optional Semver comparison of core app version [SemverOperator, string] - ([">", "3.12.0"])
frontDisplayVersion array optional Semver comparison of internal front-display library version[SemverOperator, string] - ([">", "9.15.0"])
firmwareType string optional Partial matching of string
firmwareVersion string optional Partial matching of string
managementPackageVersion array optional Semver comparison of core management package version ([">", "3.12.0"])
frontPackageVersion array optional Semver comparison of core front package version ([">", "3.12.0"])
tagUids string optional List of tags. Device has match all tags in list
model string optional Partial matching of string
name string optional Partial matching of string
extendedManagement boolean optional Filter device with or without extended management
extendedManagement Date optional Filter only devices provisioned since the date
supportedResolutions ResolutionItem optional Filter only devices supporting specified resolution

Conditions

NumericOperator

Operators
>
<
<=
>=
=
!=

TimeRangeOperator

Operators
>
<

Conditions values types

Condition type Type Example
OCCURRENCES_IN_TIME_RANGE_TO_PAST array [operator: NumericOperator, occurrences: number, rangeInPastMs: number] -([">", 12, 36000])
NUMERIC_RANGE array [operator: NumericOperator, nmbr: number] - (">", 12)
STRING_OCCURRENCES_IN_TIME_RANGE_TO_PAST array [str: string, operator: NumericOperator, occurrences: number, rangeInPastMs: number] - ("action", ">" 12, 36000)
TIME_RANGE_TO_PAST array [operator: TimeRangeOperator, rangeInPastMs: number] - ("<", 36000)
PERCENTAGE_RANGE array [operator: NumericOperator, percentage: number] - ("<", 50)
NUMERIC_RANGE array [operator: NumericOperator, nmbr: number] - ("<", 50)
NUMERIC_RANGE string 'DEVICE'
MATCH_SEMVER array [operator: SemverOperator, version: string] - (">", "3.12.0")
STRING_LIST array ["string1", "string2"]
POLICY_LIST string One of ('VOLUME', 'BRIGHTNESS', 'TIMERS', 'PROPRIETARY_TIMERS', 'RESOLUTION', 'ORIENTATION', 'REMOTE_CONTROL', 'APPLICATION_VERSION', 'FIRMWARE_VERSION', 'DEBUG', 'DATETIME', 'POWER_ACTIONS_SCHEDULE', 'TEMPERATURE', 'BUNDLED_APPLET')
WIFI_OR_ETHERNET string One of ('wifi', 'ethernet')
INPUT_SOURCE string One of ('urlLauncher', 'hdmi1', 'hdmi2', 'hdmi3', 'hdmi4')
TIMERS array TimerSettings[]
RESOLUTION object ResolutionItem
ORIENTATION object OrientationSettings

Device condition

Condition Condition values Description
INCORRECT_TIME BOOLEAN Is used when device has incorrect time based on current time & timezone of device
INVALID_SSL_CERTIFICATE BOOLEAN Is used when device is detected having some problems with SSL certificates (it can be even time related)
FAILED_ACTIONS BOOLEAN Is used when device performing/executing action has failed for amount of time in past
CONNECTIONS BOOLEAN Is used when device performing/executing action has failed for amount of time in past
MODEL array BOOLEAN if device has model or not
SERIAL_NUMBER BOOLEAN Check if device has serial number or not
NAME string Check if device partially match some string
PIN_CODE boolean Check if device has PIN code reported
MANAGEMENT_PACKAGE_VERSION MATCH_SEMVER Check if device match semver version
FRONT_PACKAGE_VERSION MATCH_SEMVER Check if device match semver version
FRONT_DISPLAY_VERSION MATCH_SEMVER Check if device match semver version
FIRMWARE_TYPE string Check if device match semver version
TAG_UIDS STRING_LIST Check if device has selected tags
POLICIES POLICY_LIST Check if device has selected policy settings
LAST_PROVISION_AT TIME_RANGE_TO_PAST Check if device was provisioned in specified time range in past. Useful to detect new devices are provisioned
LAST_DEPROVISION_AT TIME_RANGE_TO_PAST Check if device was deprovisioned in specified time range in past. Useful to detect devices are re-provisioned
EXTENDED_MANAGEMENT BOOLEAN Check if device has access to extended management
ALIVE_AT TIME_RANGE_TO_PAST Check if device last ping in specified time range in past
NETWORK_INTERFACES WIFI_OR_ETHERNET Check if device is connected using WiFi or Ethernet
BATTERY_STATUS PERCENTAGE_RANGE Check if device has enough or not enough battery
STORAGE_STATUS PERCENTAGE_RANGE Check if device has or has not enough free storage
CURRENT_TIMEZONE MATCH_STRING Check if timezone match the string
DISPLAY_SETTING_BACKLIGHT PERCENTAGE_RANGE Check if match expected value of display settings
DISPLAY_SETTING_CONTRAST PERCENTAGE_RANGE Check if match expected value of display settings
DISPLAY_SETTING_SHARPNESS PERCENTAGE_RANGE Check if match expected value of display settings
DISPLAY_SETTING_MAX_TEMPERATURE NUMERIC_RANGE Max temperature in celsius
INPUT_SOURCE INPUT_SOURCE Check if current input source is set to specified source
VOLUME PERCENTAGE_RANGE Check if current volume is expected
BRIGHTNESS PERCENTAGE_RANGE Check if current brightness is expected
TIMERS TIMERS Check if current native timers are set as expected
PROPRIETARY_TIMERS TIMERS Check if current proprietary timers are set as expected
RESOLUTION RESOLUTION Check if current resolution is set as expected
ORIENTATION ORIENTATION Check if current orientation is set as expected
REMOTE_CONTROL BOOLEAN Check if current RC is locked or not
APPLICATION_VERSION MATCH_SEMVER Check if current core app version is correct
FIRMWARE_VERSION MATCH_STRING Check if current FW version match some string
DEBUG BOOLEAN Check if debug is enabled or not
POWER_ACTIONS_SCHEDULE SCHEDULED_POWER_ACTIONS Check if current scheduled power actions are correctly set
TEMPERATURE NUMERIC_RANGE Check if current scheduled power actions are correctly set
INSTALLED_PACKAGE MATCH_STRING Check if specified package is installed
SCREENSHOT OCCURRENCES_IN_TIME_RANGE_TO_PAST Check if number of screenshots was received in time
FEATURE_TESTS BOOLEAN Check if feature tests has passed

Policy condition

Condition Condition values Description
POLICY_VIOLATION_VOLUME BOOLEAN Check violation of any of existing policy device settings type
POLICY_VIOLATION_BRIGHTNESS BOOLEAN Check violation of any of existing policy device settings type
POLICY_VIOLATION_TIMERS BOOLEAN Check violation of any of existing policy device settings type
POLICY_VIOLATION_PROPRIETARY_TIMERS BOOLEAN Check violation of any of existing policy device settings type
POLICY_VIOLATION_RESOLUTION BOOLEAN Check violation of any of existing policy device settings type
POLICY_VIOLATION_ORIENTATION BOOLEAN Check violation of any of existing policy device settings type
POLICY_VIOLATION_REMOTE_CONTROL BOOLEAN Check violation of any of existing policy device settings type
POLICY_VIOLATION_APPLICATION_VERSION BOOLEAN Check violation of any of existing policy device settings type
POLICY_VIOLATION_FIRMWARE_VERSION BOOLEAN Check violation of any of existing policy device settings type
POLICY_VIOLATION_DEBUG BOOLEAN Check violation of any of existing policy device settings type
POLICY_VIOLATION_DATETIME BOOLEAN Check violation of any of existing policy device settings type
POLICY_VIOLATION_POWER_ACTIONS_SCHEDULE BOOLEAN Check violation of any of existing policy device settings type
POLICY_VIOLATION_TEMPERATURE BOOLEAN Check violation of any of existing policy device settings type

Applet condition

Condition Condition values Description
APPLET_COMMAND STRING_OCCURRENCES_IN_TIME_RANGE_TO_PAST Is used when to check custom user defined commands occurrences in time

Threshold

Field Type Required Description
type string required Currently only percentage implemented - percentage'
percentage number required The number of percent from 0 to 99 (100 is never matched)

Periodicity

Field Type Required Description
interval string required How often alert will be checked against current state in SECONDS'
activeTimeWindows array required Alert rule won't be checked against current state out of specified active time windows when at least one specified. If no active time window specified, alert rule will be checked anytime.

Action

Account alert actions

Action type Type Required Description
type string required All specified accounts are notified using account notification settings' - (type: 'accounts')
accountIds array of accountIds required AccountIds in array, which will be notified about alert

Organization accounts alert actions

Action type Type Required Description
type string required All accounts assigned to organization of creating rule are notified using account notification settings' (type: 'organization_accounts')

Email alert actions

Action type Type Required Description
type string required All accounts assigned to organization of creating rule are notified using account notification settings' (type: 'emailAddresses')
emailAddresses array of emails required Array of email addresses, which will be notified about alert
path Parameters
alertRuleUid
required
string
Example: {{alertRuleUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "My updated Alert rule name",
  • "description": "Some sort of updated",
  • "alertType": "DEVICE",
  • "organizationUids": [
    ],
  • "conditions": {
    },
  • "filter": {
    },
  • "threshold": {
    },
  • "periodicity": 30,
  • "action": {
    }
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Archive Alert Rule

Archive one alert rule by alertRuleUid.

Parameters

Field Type Required Description
alertRuleUid string required Unique Alert Rule Identification
path Parameters
alertRuleUid
required
string
Example: {{alertRuleUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
text/plain
# Empty response

Pause Alert Rule

Pause one alert rule by alertRuleUid.

Parameters

Field Type Required Description
alertRuleUid string required Unique Alert Rule Identification
path Parameters
alertRuleUid
required
string
Example: {{alertRuleUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
text/plain
# Empty response

Unpause Alert Rule

Unpause one alert rule by alertRuleUid.

Parameters

Field Type Required Description
alertRuleUid string required Unique Alert Rule Identification
path Parameters
alertRuleUid
required
string
Example: {{alertRuleUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
text/plain
# Empty response

BulkProvisioning/Recipe

Create Provision recipe

Creates a new Provision recipe for current Organization

Body

Field Type Required Description
brand string required
seriaNumber string optional
model string optional
macAddress string optional
tagUids string optional List of tags.
deviceName string optional
policyUid string optional Unique policy identification.
locationUid string optional
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "deviceName": "Nice device name",
  • "serialNumber": "1",
  • "macAddress": "12:34:56:78:90:ab",
  • "model": "Good Display LCD",
  • "brand": "Good Display",
  • "tagUids": [
    ],
  • "policyUid": "1234567890c641df0b1a1701a1c6efb93fe053a8faeba5bce2",
  • "locationUid": "123456789071821f914dcfbca02e6a27dd0eaf74b853f108cc"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Provision recipes

Get all provision recipes for current Organization.

query Parameters
limit
number
Example: limit=50

Start paginating result by given number items on page. Next page link is available in response under header Link. E.g.: <https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"

descending
boolean
Default: true
Example: descending=true

Default true. Order resource in descending or ascending order by createdAt.

search
string
Example: search=TV

search by string contained in model, brand, serialNumber or macAddress

status
string
Enum: "Pending" "Applied"
Example: status=Pending

filter by device status

brand
string
Example: brand=Sony

filter by device brand

tagUids
Array of strings
Example: tagUids={{tagUid}}

filter by list of tags

policyUids
Array of strings
Example: policyUids={{policyUid}}

filter by list of policies

locationUid
string
Example: locationUid={{locationUid}}

filter by location

model
string
Example: model=LGE-55SM5C-BF-1

filter by device model matching

macAddress
string
Example: macAddress=12:34:56:78:90:ab

filter by device mac address

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get Provision recipe

Get Provision recipe for current Organization by recipeUid.

Parameters

Field Type Required Description
recipeUid string required
path Parameters
recipeUid
required
string
Example: {{recipeUid}}
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "status": "Pending",
  • "uid": "1234567890c7dbe8ccd61e80e30d46b12902",
  • "organizationUid": "1234567890423d4171e348d6a1a1222e3b0075c8d7ebac868a",
  • "model": "Good Display LCD",
  • "brand": "Good Display",
  • "macAddress": "12:34:56:78:90:ab",
  • "serialNumber": "1"
}

Update Provision recipe

Update existing Provision recipe for current Organization

Parameters

Field Type Required Description
recipeUid string required

Body

Field Type Required Description
brand string optional
seriaNumber string optional
model string optional
macAddress string optional
tagUids string optional List of tags.
deviceName string optional
policyUid string optional Unique policy identification.
locationUid string optional
path Parameters
recipeUid
required
string
Example: {{recipeUid}}
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "deviceName": "Different name",
  • "model": "Bad Display LCD"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Delete Provision recipe

Delete Provision recipe for current Organization by recipeUid.

Parameters

Field Type Required Description
recipeUid string required
path Parameters
recipeUid
required
string
Example: {{recipeUid}}
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Upload provisioning recipes via CSV file

Creates a new Provision recipes for current Organization by uploading CSV file

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Request Body schema: text/csv
string <binary>

Responses

Response samples

Content type
application/json
{
  • "message": "OK",
  • "linesProcessed": 2
}

Device

Device is any digital signage display, player, Windows machine, Raspberry Pi 3, and Raspberry Pi 4. You can see all supported devices here

No matter what device you are using, the APIs are standardized across all of them.

Get Devices v1 Deprecated

This endoint is deprecated and will be removed in the future. Use Get Devices v2 instead.

Get all devices for current Organization.

Parameters

Field Type Required Description
applicationType string - ‘sssp’ , ‘tizen’ , ‘webos’ , ‘android’ , ‘linux’ , ‘default’
optional
one of supported applicationTypes
search string
optional
search by string contained in uid, duid, name of device, serial number, MAC address or verification hash
model string
optional
filter by device model matching
minStorageStatusPercentage number 0 – 100
optional
filter by storage usage minimal value in percentage
maxStorageStatusPercentage number 0 – 100
optional
filter by storage usage maximal value in percentage
pagination number greater than 0
optional
Start paginating result by a given number of items on the page. Next page link is available in the response header Link.

E.g.: <https://api.signageos/v1/device?pagination=50&createdUntil=2020-10-22T16%3A10%3A00.000Z>; rel="next"
createdSince string
optional
filter by device createdAt greater than or equal (inclusive) date time in ISO-8601 format.
createdUntil string
optional
filter by device createdAt lower than (exclusive) date time in ISO-8601 format. Internally used for pagination (see pagination parameter).

Important note

For Organizations with more than 500 devices, we strongly recommend using pagination.

query Parameters
pagination
integer
Example: pagination=50

Start paginating result by given number items on page. Next page link is available on in response under header Link. E.g.: <https://api.signageos/v1/device?pagination=50&createdUntil=2020-10-22T16%3A10%3A00.000Z>; rel="next"

applicationType
string
Enum: "sssp" "tizen" "webos" "android" "linux" "default"
Example: applicationType=webos

filter by application type

search
string
Example: search=Marge

search by string contained in uid, duid or name of device

model
string
Example: model=LGE-55SM5C-BF-1

filter by device model matching

maxStorageStatusPercentage
integer
Example: maxStorageStatusPercentage=20

filter by storage usage maximal value in percentage

minStorageStatusPercentage
integer

filter by storage usage minimal value in percentage

createdSince
string
Example: createdSince=2017-08-02T13:45:39.000Z

filter by device createdAt greater than or equal (inclusive) date time in ISO-8601 format.

createdUntil
string
Example: createdUntil=2017-08-02T13:45:40.000Z

filter by device createdAt lower than (exclusive) date time in ISO-8601 format. Internally used for pagination (see pagination parameter).

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get Devices v2

Get all devices for current Organization.

This endpoint uses pagination. For more information view Pagination section. Max allowed page size is 1000.

query Parameters
applicationType
string
Enum: "sssp" "tizen" "webos" "android" "linux" "default"
Example: applicationType=tizen

filter by application type

search
string
Example: search=Marge

search by string contained in uid, duid or name of device

model
string
Example: model=LGE-55SM5C-BF-1

filter by device model matching

brand
string
Example: brand=Sony

filter by device brand

osVersion
string
Example: osVersion=6.5

filter by device OS version

serialNumber
string
Example: serialNumber=EQK70AAY72Y8

filter by serial number

firmwareVersion
string
Example: firmwareVersion=4.3.0

filter by firmware version

locationUid
string
Example: locationUid={{locationUid}}

filter by location

appletUids
Array of strings
Example: appletUids={{appletUid}}

filter by list of applets

policyUids
Array of strings
Example: policyUids={{policyUid}}

filter by list of policies

tagUids
Array of strings
Example: tagUids={{tagUid}}

filter by list of tags

alertUid
string
Example: alertUid={{alertUid}}

filter by alert

limit
integer
Example: limit={{limit}}

Page size. For more information, view Pagination section.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get Device v1 Deprecated

This endoint is deprecated and will be removed in the future. Use Get Device v2 instead.

Get one device detail by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification
applicationType string/Enum optional One of supported applicationTypes

tizen, webos, android, linux, brightsign, windows
search string optional Search by string contained in uid, duid, name of device, serial number, MAC address or verification hash
model string optional Filter by device model matching
minStorageStatusPercentage number 0 – 100 optional Filter by storage usage minimal value in percentage
maxStorageStatusPercentage number 0 – 100 optional Filter by storage usage maximal value in percentage
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "750dbe59c81b60170b3c2b10650fb200cc82d34e6b0120fc344322",
  • "duid": "a69a6f99f89fa3c9df73759c2fca2164f2e695260fef5d234232e",
  • "name": "Test Emulator",
  • "createdAt": "2021-04-07T16:11:13.485Z",
  • "aliveAt": "2021-04-10T13:54:38.226Z",
  • "pinCode": "0000",
  • "applicationType": "default",
  • "applicationVersion": "8.7.0",
  • "frontDisplayVersion": "8.7.0",
  • "firmwareVersion": "Chrome-89.0.4389.114",
  • "model": "Win32",
  • "serialNumber": "5A1FC776B031",
  • "brand": "signageOS",
  • "osVersion": "1.0.0",
  • "organizationUid": "f4dc889c5bfae798bd652e5d0989e6805d45131b75305fba4c",
  • "networkInterfaces": {
    },
  • "storageStatus": {
    },
  • "connections": [ ],
  • "batteryStatus": null,
  • "currentTime": {
    }
}

Update Device Name Deprecated

This endpoint is deprecated and will be removed in the future. Use v2 PUT Configure Device instead. Update one device by deviceUid - Set device name.

Parameters

Field Type Required Description
deviceUid string
required
unique device identification

Body

Field Type Description
name string device name, eg. Reception Display
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/x-www-form-urlencoded
name
string

device name, eg. Reception Display

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Device v2

Get one device detail by deviceUid.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "c0752280cc7d009c57422be6927b660d7d71456d76b5e2dgdfgdfgd",
  • "duid": "2221b195b6350a6c71318e56e4d493a585f42b6d9c387wqqww334",
  • "name": "Test Emulator",
  • "createdAt": "2021-04-18T22:26:39.405Z",
  • "applicationType": "default",
  • "firmwareVersion": "Chrome-89.0.4389.114",
  • "model": "Linux x86_64",
  • "serialNumber": "EQK70AAY72Y8",
  • "organizationUid": "f4dc889c5bfae798bd652e5d0989e6805d45131b753dwwfgrte",
  • "locationUid": "qn7tks6io6vckl59hxpnmgbzdzxwob3xsh0ezowsqi8cox08o3",
  • "connectionMethod": "websocket"
}

Configure Device

Configure Device by deviceUid.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
name
string
connectionMethod
string
Enum: "websocket" "http"

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Device Authentication Hash

Get authentication contains the authHash for device by deviceUid.

Get device Authentication Hash which is used for device-CMS authentication.

Parameters

Field Type Required Description
deviceUid string required device application id
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "deviceUid": "9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f8440676dwdaww",
  • "authHash": "auth-hash-key",
  • "createdAt": "2021-04-25T19:28:05.835Z"
}

Get Device by Authentication Hash

Get device by Authentication Hash which is used for device-CMS authentication by authHash. JS api sos.authHash JS API Basics.

Parameters

Field Type Required Description
authHash string
required
device autHash from applet (can be used only 6 or more first characters of authHash)
path Parameters
deviceAuthHash
required
string
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "deviceUid": "9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406dwewwq",
  • "authHash": "device-auth-hash",
  • "createdAt": "2021-04-25T19:28:05.835Z"
}

Device/ActionLog (Device History)

Get device history

Action log includes complete history of actions performed with the device as well as the action originator (user/api) and the result. You can see the Action log in a History tab on device detail page in Box.

Parameters

Field Type Required Description
deviceUid string
required
unique device identification
descending boolean
optional
true or false
limit number
optional
limit the number of returned results
since timestamp
optional
limit result by date and time
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Device/Application Version and update

To use any of the supported devices, you need the signageOS Core App. signageOS Core Apps are a natively-built application for various platforms allowing you to run your HTML5/JS application (aka Applet).

Update Core App Version

Request upgrade of the signageOS Core App version by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Device application id
applicationType string - ‘sssp’ ‘tizen’ ‘webos’ ‘android’ ‘chrome’ ‘default’ required One of supported applicationTypes

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Description
version string sOS Core App version you want to set to device
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
applicationType
required
string
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "version": "{{applicationVersion}}"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Current Core App Version

Get version of sOS Core App on device.

Parameters

Field Type Required Description
deviceUid string
required
device application id
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Device/Applet Command

Create Applet Command

Create device applet command by deviceUid & appletUid which will be delivered to device current active applet.

Command may contain any number of custom properties. The only required one is type which is used to identify the command.

Originally the command was sent using the commandPayload field, which is now deprecated. The command field should be used instead.

Once the command is sent, it can be received inside the applet using the following customField:

sos.command.onCommand((commandEvent) => {
  if (commandEvent.command.type === 'TestCommand') {
    console.log(commandEvent.command.customField)
  }
});

For more information, refer to the JS API documentation.

Parameters

Field Type Required Description
deviceUid string required Device unique identification
appletUid string required Applet unique identification
path Parameters
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
required
object

Command object. Must contain at least type. May contain any number of custom properties.

type
required
string
property name*
additional property
any

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Applet Commands

Get all device applet commands by deviceUid.

Get commands – information on how the device operates or was set – for the specific device. You can access all device logs, including your custom logs, within this API call.

Device applet commands are available for the previous 3 days. Historical data of all commands is available as ZIP dump at Get Device Reports (Uptime, Applet Commands) endpoint: https://developers.signageos.io/api/#tag/DeviceMonitoring/paths/~1v1~1device~1%7BdeviceUid%7D~1report/get .

Parameters

Field Type Required Description
deviceUid string
required
device unique identification
appletUid string
optional
applet unique identification
type string
optional
your log type - e.g.: MyCms.Content.PlayVideo
receivedSince Date
optional
get all commands since exact date (included)
receivedUntil Date
optional
get all commands till exact date (excluded)

Sample response

Server never returns all data matching the parameters. Instead, it divides them into pages. First request returns data up to max. size of a page. If more data is available, it returns a header Link with a link to the next page.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Applet Command By Command UID

Get one device applet command by deviceUid, appletUid & timingCommandUid.

Get commands – information on how the device operates or was set – for the specific device. You can access all device logs, including your custom logs, within this API call.

Device applet commands are available for the previous 3 days. Historical data of all commands is available at Data report CSV dump.

Parameters

Field Type Required Description
deviceUid string required Device unique identification
appletUid string required applet unique identification
commandUid string required Command unique identification

Sample response

Server never returns all data matching the parameters. Instead, it divides them into pages. First request returns data up to max. size of a page. If more data is available, it returns a header Link with a link to the next page.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

commandUid
required
string
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Device/Brightness

Update Device Brightness

Request change device brightness by deviceUid.

Parameters

Field Type Required Description
deviceUid string <div class="red">required
device application id

Body

Field Type Description
brightness1 number device brightness in percent 0-100
timeFrom1 HH:MM:SS starting time for brightness 1
brightness2 number device brightness in percent 0-100
timeFrom2 HH:MM:SS starting time for brightness 2
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "brightness1": 90,
  • "timeFrom1": "09:00:00",
  • "brightness2": 40,
  • "timeFrom2": "20:00:00"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Device Brightness

Get requested device brightness changes by deviceUid.

Parameters

Field Type Required Description
deviceUid string required device application id
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Device/Debug

Set Device Debug

Request begin device debug mode by deviceUid. Set debug flag for device to enable remote debugging.

Parameters

Field Type Required Description
deviceUid string required Device application id

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Description
appletEnabled boolean Enable weinre for device inside Applet
nativeEnabled boolean Enable native debug

Note 1

Applet debug settings is only on-demand. So when you set it, the inspection tool is started. Once you do the REBOOT, RESTART, RELOAD or REFRESH power action, the tool is stopped & you must set debug again (turn it off then on again in BOX).

Note 2

Native debug settings behavior differs in every device OS brand (SSSP, Tizen, WebOS1,2+, Android etc.). Here are mentioned a little differences however for more info you can look at official documentation of display manufacturer.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "appletEnabled": true,
  • "nativeEnabled": false
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Device Debug

Get begin device debug mode requests by deviceUid

Parameters

Field Type Required Description
deviceUid string <div class="red">required
device application id
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Device/Firmware

Update Device Firmware

Request change device firmware version by deviceUid.

Set/upgrade Firmware version of a device.

Parameters

Field Type Required Description
deviceUid string required Device uid

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Description
version string ex.: T-HKMLAKUC-2020.5 Version of FW you want to upgrade to. Versions layout differs vendor to vendor.
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "version": "x86_64"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Device Firmware

Get last changed device firmware version requested to deviceUid. Get Firmware version last successfully sent to the device.

Parameters

Field Type Required Description
deviceUid string required device application id
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "DEVICE_CREATE_UID:d342377e18f83bc08d76c44e8b35c05c4e786f2bd3f7aeb42d",
  • "deviceUid": "c0752280cc7d009c57422be6927b660d7d71456d76b5e2c9613bc",
  • "createdAt": "2021-04-18T22:26:39.405Z",
  • "succeededAt": null,
  • "failedAt": null
}

Device/Monitoring

Get Device Hourly Connected Status

DEPRECATED in favor of:

https://developers.signageos.io/api/#tag/DeviceMonitoring/paths/1v11device1%7BdeviceUid%7D1report/get

and

https://developers.signageos.io/api/#tag/DeviceApplet-Command

Get all device connected status grouped hourly by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Device unique identification
from Date optional Get all statistics from exact date (included)
to Date optional Get all statistics to exact date (included)
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Device Reports (Uptime, Applet Commands)

Get all device report files by deviceUid.

Get Report files – historical data containing Device Applet commands, Applet Ready events, Connected/Disconnected actions.

Parameters

Field Type Required Description
deviceUid string required device unique identification
createdSince Date optional get all reports since exact date (included)
createdUntil Date optional get all reports till exact date (excluded)
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
query Parameters
createdSince
string
Example: createdSince=2016-08-02T13:45:39.000Z

get all reports since exact date (included)

createdUntil
string
Example: createdUntil=2017-08-02T13:45:39.000Z

get all reports till exact date (excluded)

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[]

Get Device Temperature

Get all device temperature logs by deviceUid.

Get logs of device temperature in time.

Parameters

Field Type Required Description
deviceUid string required Device unique identification
createdSince Date optional Get all temperature logs since exact date (included) - Example: 2018-09-09T10:49:33.352Z
createdUntil Date optional Get all temperature logs until exact date (excluded) - Example: 2018-09-10T10:49:33.352Z
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Device/Offline Range (coming soon)

Get Offline Ranges

This endpoint is in development.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
query Parameters
limit
integer
Example: limit=1
since
string
Example: since=2017-08-02T13:45:40.000Z
until
string
Example: until=2022-12-02T13:45:40.000Z
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Device/Organization

Set Device Organization

This method sets device to a selected organization by organizationUid.

Parameters

Field Type Required Description
deviceUid string Required Unique Device Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
Content-Type
string
Example: application/json
x-auth
string
Example: {{x-auth-account}}

Replace by token of your account common for both organizations

Request Body schema: application/json
organizationUid
string

Organization UID

Responses

Request samples

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

Response samples

Content type
text/plain
# Empty response

Device/Orientation and Resolution

Set Device Orientation and Resolution

This method is used for setting device orientation and resolution. Just send desired orientation and resolution.

Parameters

Field Type Required Description
deviceUid string required device application id

Body

content-type: application/json or application/x-www-form-urlencoded

Recommended usage:

Field Type Description
orientation string - ‘PORTRAIT’ ‘PORTRAIT_FLIPPED’ ’LANDSCAPE’ ‘LANDSCAPE_FLIPPED’ ‘AUTO’ must be in uppercase set device orientation to portrait, landscape or auto. Auto works only for tablets with gyroscope.
size JSON
`{ "width": 1920, "height": 1080 }`
set specific device resolution, only for external players and devices supporting specific resolutions (BrightSign, Windows, selected Android players)
To be used in combination with orientation field and possibly framerate field on supported device (BrightSign). resolution field needs to be omitted.
framerate number - 60 specify exact video output framerate, only for BrightSign. To be used in combination with size and orientation field.

Legacy usage:

Field Type Description
orientation string - ‘PORTRAIT’ ‘PORTRAIT_FLIPPED’ ’LANDSCAPE’ ‘LANDSCAPE_FLIPPED’ ‘AUTO’ must be in uppercase set device orientation to portrait, landscape or auto. Auto works only for tablets with gyroscope.
resolution string ‘FULL_HD’ ‘HD_READY’ must be in uppercase set device resolution.
Deprecated method to set resolution, framerate field is ignored if used in combination with this method
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "orientation": "LANDSCAPE",
  • "size": {
    },
  • "framerate": 60
}

Response samples

Content type
application/json
Example
{
  • "message": "OK"
}

Get Device Orientation and Resolution

Get change device resolution requests by deviceUid

This method is used to get orientation and resolution you set to the device.

Parameters

Field Type Required Description
deviceUid string required Device application id
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Device/Packages

Install Device Package

Install a package with specific version to device by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Device application id

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Required Description
packageName string required PackageName of package to install
version string required Version (typically semver) of package to install
build string optional Build tag of package version to install. Typically architecture (arm, x386, x64 or versionCode for Android)
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "packageName": "com.google.android.webview",
  • "version": "1.0.0",
  • "build": "1000000000"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Installed Device Packages

Get package installs for device by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Device application id
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Start Installed Device Package

Start specified package installation on device by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Device application id
packageName string required Name of the package to start
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
query Parameters
packageName
string
Example: packageName={{packageName}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Started Device Packages

Get package starts for device by deviceUid

Parameters

Field Type Required Description
deviceUid string required Device application id
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/x-www-form-urlencoded

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Device/Pin code and security

Get Device Pin

Get device PIN code if already exists by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Unique device identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
{
  • "deviceUid": "device-uid",
  • "pinCode": "8379"
}

Device/Policy

Get Device Policies

Get policies currently assigned to the device by deviceUid.

Parameters

Field Type Required Description
deviceUid string Required Unique Device Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Assign Policy to Device

Assign policy to device by deviceUid and policyUid.

Parameters

Field Type Required Description
deviceUid string Required Unique Device Identification

Body

Field Type Required Description
uid string Required Uid of Policy to be assigned to the Device
priority number Required Priority of the policy regarding the Device. Higher the number higher the priority. If multiple policies assigned conflicting policy item will be set by the Policy with higher priority.
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "uid": "{{policyUid}}",
  • "priority": 1
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Device Policy

Get detail of policy assigned to the device by deviceUid and policyUid.

Parameters

Field Type Required Description
deviceUid string Required Unique Device Identification
policyUid string Required Unique Policy Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
policyUid
required
string
Example: {{policyUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "7a4741c842c86c7221ac662899272f7467ecbf30fb8dea5bf1",
  • "name": "Brightness",
  • "createdAt": "2021-06-16T07:51:06.917Z",
  • "items": [
    ],
  • "note": "New policy created"
}

Unassign Policy from Device

Unassign Policy from Device by deviceUid.

Parameters

Field Type Required Description
deviceUid string Required Unique Device Identification
policyUid string Required Unique Policy Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
policyUid
required
string
Example: {{policyUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Device/Policy Status

Policy status provides list of Device Policies assigned to the device.

You get the exact Policy used and list of settings this policy affects (e.g.: volume, brightness, timers,...)

Get Device Policy Status

Get active policy properties assigned on a device by deviceUid, policyUid and itemtype.

Parameters

Field Type Required Description
deviceUid string Required Unique Device Identification
policyUid string Required Unique Policy Identification
itemType string Required Type of policy e.g. VOLUME.
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
policyUid
required
string
Example: {{policyUid}}
itemType
required
string
Example: BRIGHTNESS
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "deviceUid": "b8d99e785d90251a459e838888b0649c8754bf77f50b02c18b671",
  • "policyUid": "7a4741c842c86c7221ac662899272f7467ecbf30fb8dea5bf1",
  • "itemType": {
    },
  • "updatedAt": "2021-06-16T07:51:06.917Z"
}

Get Device Policy Status List

Get a list of all active policy properties assigned on a device by deviceUid, policyUid and itemType.

Parameters

Field Type Required Description
deviceUid string Required Unique Device Identification
policyUid string Required Unique Policy Identification
itemType string Required Type of policy e.g. VOLUME.
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
query Parameters
policyUid
string
Example: policyUid={{policyUid}}
itemType
string
Example: itemType=BRIGHTNESS
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "deviceUid": "b8d99e785d90251a459e838888b0649c8754bf77f50b02c18b671",
  • "policyUid": "7a4741c842c86c7221ac662899272f7467ecbf30fb8dea5bf1",
  • "itemType": [
    ],
  • "updatedAt": "2021-06-16T07:51:06.917Z"
}

Device/Alive

Get Devices Last Alive

Get list of datetimes, when the devices were last active, for all or list of selected devices in the current organization.

This endpoint uses pagination. For more information view Pagination section.

query Parameters
deviceUids
Array of strings
Example: deviceUids={{deviceUid}}

List of device uids. For more information, view List parameters section.

limit
integer
Example: limit={{limit}}

Page size. For more information, view Pagination section.

descending
boolean
Default: true
Example: descending=true

Default true. Order resource in descending or ascending order by createdAt.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get Device Last Alive

Get the datetime, when the device was last active for a device in current organization.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "ca6319cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8",
  • "createdAt": "2022-01-01T10:00:00.000Z",
  • "aliveAt": "2022-01-02T10:00:00.000Z"
}

Device/Power Actions

Reboot, restart, refresh the device

Create Device Power Action

Perform device power action by deviceUid.

Send Power action to a device – restart, shutdown/turn off, turn on, restart an android app, refresh applet and reload applet.

  • APP_RESTART – Restart App on the display and clear HTML caches
  • SYSTEM_REBOOT – Restart device
  • APPLET_RELOAD – Hard reload of saved content and files
  • APPLET_REFRESH – Soft refresh of an applet (like F5)
  • DISPLAY_POWER_ON – Turn on display (not chip)
  • DISPLAY_POWER_OFF – Turn off display (not chip)
  • APPLET_DISABLE – Disable applet for the current session and show basic device info
  • APPLET_ENABLE – Enable applet again for the current session and show the current applet

Parameters

Field Type Required Description
deviceUid string Required Unique Device Identification

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Description
devicePowerAction string - ‘APP_RESTART’ ‘SYSTEM_REBOOT’ ‘APPLET_RELOAD’ ‘APPLET_REFRESH’ ‘DISPLAY_POWER_ON’ ‘DISPLAY_POWER_OFF’ ‘APPLET_DISABLE’ ‘APPLET_ENABLE’ the Power action type, UPPERCASE
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "devicePowerAction": "APP_RESTART"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Performed Device Power Actions

Get all performed device power actions by deviceUid

Get Power actions sent to the device – restart, shutdown/turn off, turn on, restart the android app, refresh applet and reload applet.

  • APP_RESTART – Restart APP on the display and clear HTML caches;
  • SYSTEM_REBOOT – Restart device
  • APPLET_RELOAD – Hard reload of saved content and files
  • APPLET_REFRESH – Soft refresh of the applet (like F5)
  • DISPLAY_POWER_ON – Turn on display (not chip)
  • DISPLAY_POWER_OFF – Turn off the display (not chip)
  • APPLET_DISABLE – Disable applet for the current session and show basic device info
  • APPLET_ENABLE – Enable applet again for the current session and show the current applet

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Create Device Scheduled Power Action

Set device scheduled power action by deviceUid.

Schedule new power action.

  • APP_RESTART – Restart APP on the display and clear HTML caches;
  • SYSTEM_REBOOT – Restart device
  • APPLET_RELOAD – Hard reload of saved content and files
  • APPLET_REFRESH – Soft refresh of the applet (like F5)
  • DISPLAY_POWER_ON – turn on display (not chip)
  • DISPLAY_POWER_OFF – Turn off the display (not chip)
  • APPLET_DISABLE – Disable applet for the current session and show basic device info
  • APPLET_ENABLE – Enable applet again for the current session and show current applet

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Description
powerAction string ‘APP_RESTART’ ‘SYSTEM_REBOOT’ ‘APPLET_RELOAD’ ‘APPLET_REFRESH’ ‘DISPLAY_POWER_ON’ ‘DISPLAY_POWER_OFF’ ‘APPLET_DISABLE’ ‘APPLET_ENABLE’ the Power action type, UPPERCASE
weekdays (weekdays[0] - for x-www-form-urlencoded) string[] ‘MONDAY’ ‘TUESDAY’ ‘WEDNESDAY’ ‘THURSDAY’ ‘FRIDAY’ ‘SATURDAY’ ‘SUNDAY’ List of weekdays when the power action should be triggered, UPPERCASE
time string - HH:MM:SS Time in 24 hour format, when the power action should be triggered
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "powerAction": "APP_RESTART",
  • "time": "12:45:00",
  • "weekdays": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Device Scheduled Power Actions

Get all set device scheduled power actions by deviceUid.

Parameters

Field Type Required Description
deviceUid string Required Unique Device Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete Device Scheduled Power Action

Delete or cancel scheduled power action on a device by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification
scheduledPowerActionUid string required Scheduled power action id
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
scheduledActionUid
required
string
Example: {{scheduledActionUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Device/Provisioning, Adding and removing devices

Deprovision/remove Device

Unpair device by device UID and reset content

Deprovision device (removes device organization and removes device verification).

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
""

Response samples

Content type
application/json
{
  • "message": "OK"
}

Verify Device via Verification Hash

Register device to your account by sending Verification Hash.

When a device is successfully verified & paired with an organization. The request returns response code 201. Additionally in response Header Location will be available link to just verified device verification resource.

Parameters

Field Type Required Description
none

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Description
verificationHash string Verification hash generated on screen during deployment
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Device Verification

Get device verification containing hash by deviceVerificationUid.

Parameters

Field Type Required Description
deviceVerificationUid string required Unique device verification identification
path Parameters
deviceVerificationUid
required
string
Example: {{deviceVerificationUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "d2f3e255fad2dd6f3e12f0f16dc594fe99654fec351f3fa338",
  • "createdAt": "2021-05-04T10:38:54.483Z",
  • "deviceUid": "e3f9f4291feff2dc0ee17319f1cdab15fb41007bbd0cd5c37a244",
  • "hash": "e0a7fe",
  • "verifiedAt": "2022-02-22T16:34:42.518Z"
}

Device/Kiosk mode & IR Remote Control

Update Device Kiosk Mode/IR Remote Control

This endpoint enables/disables the IR Remote Control sensor on the SoC devices & locks/unlocks Android devices Kiosk mode.

If you want to disable IR Remote Control sensor to prevent anyone from controlling your device over IR remote control or if you want to lock tablet into kiosk mode.

Android Device Attention Required:

In order to prevent Android from displaying Android homepage and thus not showing your content, you must Enable Kiosk Mode (= Lock Remote Control) either through Box device settings or through API.

Always set the Remote Control to enabled=false via this REST API or in Box on the device detail's Settings tab.

Parameters

Field Type Required Description
deviceUid string required device application id

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Description
locked boolean FALSE – device is unlocked (possible to use IR control and kiosk mode is disabled)
TRUE – device is locked (no IR control, kiosk mode enabled)
kiosk boolean alias to locked
enabled boolean DEPRECATED - TRUE – device is unlocked (possible to use IR control and kiosk mode is disabled)
FALSE – device is locked (no IR control, kiosk mode enabled)
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "locked": false
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Device Kiosk Mode / IR Remote Control Status

If you want to know if you disabled IR Remote Control or if you locked the tablet into kiosk mode.

locked

  • FALSE, IR Remote Control is UNLOCKED, you can use it to adjust device settings, KIOSK mode is disabled
  • TRUE, IR Remote Control is LOCKED, it is not possible to use it, KIOSK mode is enabled

kiosk

  • alias to locked

enabled DEPRECATED

  • TRUE, IR Remote Control is UNLOCKED, you can use it to adjust device settings, KIOSK mode is disabled
  • FALSE, IR Remote Control is LOCKED, it is not possible to use it, KIOSK mode is enabled

Parameters

Field Type Required Description
deviceUid string required device application id
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Device/Location

Assign Device To Location

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
locationUid
required
string
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Unassign Location From Device

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
locationUid
required
string
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Device/Screenshots

Get Last Screenshot By Devices

Get list of last screenshots. One screenshot for each listed device in current organization. If device doesn't have any screenshots it will be skipped.

This endpoint uses pagination. For more information view Pagination section.

query Parameters
deviceUids
Array of strings
Example: deviceUids={{deviceUid}}

List of device uids. For more information, view List parameters section.

limit
integer
Example: limit={{limit}}

Page size. For more information, view Pagination section.

descending
boolean
Default: true
Example: descending=true

Default true. Order resource in descending or ascending order by createdAt.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Request New Device Screenshot

Request to take live screenshots from the device by deviceUid. You can obtain extra screenshots at any time and it will be shown in a standard list of taken screenshots.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Device Screenshots

Get live screenshots from the device by deviceUid. Usually, we take screenshots automatically every 6 minutes. But you can obtain extra screenshots at any time.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
query Parameters
takenSince
string <date-time>
Example: takenSince={{takenSince}}

Fetch data since this parameter.

takenUntil
string <date-time>
Example: takenUntil={{takenUntil}}

Fetch data until this parameter.

limit
integer
Example: limit={{limit}}

Page size. For more information, view Pagination section.

descending
integer
Example: descending=5

Limit of results

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Device/Storage

Get Device Storage

Get Current storage status of free, used & total memory in internal & external storage by deviceUid.

Returned values are in Bytes.

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "internal": {
    },
  • "removable": {
    },
  • "updatedAt": "2021-04-25T22:22:42.198Z"
}

Device/Tests

Put Device Feature Test

Sets device feature tests by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

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

Response samples

Content type
text/plain
# Empty response

Get Device Feature Test

Get the latest device feature tests by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "deviceUid": "f4a08a660c9e935abad3679001eff5646bfa657d5365aabf48749",
  • "pendingTests": [ ],
  • "successfulTests": [
    ],
  • "failedTests": [
    ],
  • "testResults": {
    },
  • "createdAt": "2022-02-22T17:57:12.433Z",
  • "finishedAt": "2022-02-22T17:57:46.024Z"
}

Put Device Applet Test with Applet UID and Applet Version

Sets applet tests by deviceUid, appletUid and appletVersion.

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification
appletUid string required Unique Applet Identification
appletVersion string (semver) required Applet version e.g. 2.0.1
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

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

Response samples

Content type
text/plain
# Empty response

Get Device Applet Test By UID And Applet Version

Gets the latest applet test results by deviceUid, appletUid and appletVersion.

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification
appletUid string required Unique Applet Identification
appletVersion string (semver) required Applet version e.g. 2.0.1
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
appletUid
required
string
Example: {{appletUid}}

Unique Applet Identifier

appletVersion
required
string
Example: {{appletVersion}}

Version of your Applet, e.g. 1.0.12

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "appletUid": "d1aa183da1a70ca702f9f58bb991454363e37e3c21a6c1dc42",
  • "appletVersion": "2.0.0",
  • "deviceUid": "f4a08a660c9e935abad3679001eff5646bfa657d5365aabf48749",
  • "pendingTests": [
    ],
  • "successfulTests": [ ],
  • "failedTests": [ ],
  • "createdAt": "2022-02-22T18:06:58.628Z"
}

Device/Time

Update Device Time, Date and Timezone

Request change device time by deviceUid

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Description
time datetime - YYYY-MM-DDTHH:MM:SS Set current device date & time e.g. 2017-11-22T09:26:49

Input must be without timezone offset. The offset will be taken from the timezone parameter
Accepted formats are:
- YYYY-MM-DDTHH:MM:SS.mmm (2017-11-22T09:26:49.345)
- YYYY-MM-DDTHH:MM:SS (2017-11-22T09:26:49)
- YYYY-MM-DDT:HH:MM (2017-11-22T09:26) Will be set as 2017-11-22T09:26:00
- UNIX timestamp (1616140800000)
- SQL TIMESTAMP (2013-01-01 00:00:00.000)
timezone string - {Continent}/{City} Set device timezone by the IANA - List of all timezones can be found here - but read more about Tizen below.
ntpServer string Optional NTP server, e.g.: pool.ntp.org

Remarks

Setting NTP server and timezone has side effects:

Platform Side effect
Tizen After calling this API, display Reboots!

Tizen has limited set of available timezones
RaspberryPi After calling this API, RPi Reboots backend server which can take up to 60 seconds!
During the reboot no JS API is available.
Always wait for Promise resolution.
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "time": "2021-03-19T22:37",
  • "timezone": "Europe/Prague",
  • "ntpServer": "pool.ntp.org"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Device Time, Date and Timezone

This method is used for get settings of timestamp and timezone on device by devideUid.

Current device date and time is available under /device endpoint

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Device/Timers

Scheduled turning on and off devices based on day in a week and time.

Create, Update and Remove Device Timer

When the device should be woken up and when to turn it off to standby.

This endpoint is used for adding the Timers and also for removing Timers.

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Description
type string - ‘TIMER_1’, ‘TIMER_2’, ‘TIMER_3’, ‘TIMER_4’, ‘TIMER_5’, ‘TIMER_6’, ‘TIMER_7’ Which of seven timers you would like to set
timeOn time / NULL, HH:MM:SS / NULL Wake up time for selected timer
timeOff time / NULL, HH:MM:SS / NULL Turn off time for selected timer
volume number / 0-100 Volume, if device has speakers
weekdays (weekdays[0-6] - for x-www-form-urlencoded) string[] / ex.: sun, mon, tue, wed, thu, fri, sat For which days the timer should be applied
level string - ‘NATIVE’ / ‘PROPRIETARY’ Should the device turn off completely or should it just turn off the display

How to remove Timers

Set timeOn and timeOff for respective type (TIMER_1, TIMER_2,..) to NULL.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "type": "TIMER_1",
  • "timeOn": "08:00:00",
  • "timeOff": "23:00:00",
  • "volume": "50",
  • "weekdays": [
    ],
  • "level": "PROPRIETARY"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Device Timers

List of device timer sets when the device should be woken up and when to turn it off. This retrieves previously set timers.

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Device/Telemetry

Get Device Latest Telemetry by Type

Telemetry provides access to the latest device settings reported from the device.

Using this endpoint you can get the current value of:

Settings type Notes
DISPLAY_SETTING Only available on Tizen with enabled Extended control
INPUT_SOURCE Only available on Tizen with enabled Extended control
VOLUME
BRIGHTNESS
TIMERS
PROPRIETARY_TIMERS
RESOLUTION
ORIENTATION
REMOTE_CONTROL
APPLICATION_VERSION
FRONT_DISPLAY_VERSION
FIRMWARE_VERSION
DEBUG
DATETIME
POWER_ACTIONS_SCHEDULE
TEMPERATURE
ONLINE_STATUS
BUNDLED_APPLET
PROXY
WIFI_STRENGTH
AUTO_RECOVERY Only available on Tizen and WebOS
PEER_RECOVERY only available on Tizen

IMPORTANT: Telemetry works on the following Core Apps versions

Platform Min. version
Tizen 2.3.0
webOS 2.3.0
Brightsign 1.5.0
Android 3.13.0
signageOS OS 2.0.0
Windows 2.2.0
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
telemetryType
required
string
Example: {{telemetryType}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "deviceUid": "f4a08a660c9e935abad3679001eff5646bfa657d5365aabf48749",
  • "type": "BRIGHTNESS",
  • "createdAt": "2022-01-27T17:26:42.640Z",
  • "data": {
    }
}

Get Device History by Type

Telemetry history provides access to the device settings reported from the device.
This endpoint uses pagination. For more information view Pagination section. Max allowed page size is 100.
Using this endpoint you can get the current value of:

Settings type Notes
DISPLAY_SETTING Only available on Tizen with enabled Extended control
INPUT_SOURCE Only available on Tizen with enabled Extended control
VOLUME
BRIGHTNESS
TIMERS
PROPRIETARY_TIMERS
RESOLUTION
ORIENTATION
REMOTE_CONTROL
APPLICATION_VERSION
FRONT_DISPLAY_VERSION
FIRMWARE_VERSION
DEBUG
DATETIME
POWER_ACTIONS_SCHEDULE
TEMPERATURE
ONLINE_STATUS
BUNDLED_APPLET
PROXY
WIFI_STRENGTH
AUTO_RECOVERY Only available on Tizen and WebOS
PEER_RECOVERY only available on Tizen

IMPORTANT: Telemetry works on the following Core Apps versions

Platform Min. version
Tizen 2.3.0
webOS 2.3.0
Brightsign 1.5.0
Android 3.13.0
signageOS OS 2.0.0
Windows 2.2.0
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
telemetryType
required
string
Example: {{telemetryType}}
query Parameters
limit
integer
Example: limit={{limit}}

Page size. For more information, view Pagination section.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get Devices Latest Telemetries

Get list all telemetry records (e.g.: REMOTE_CONTROL, OFFLINE_RANGE and etc.), for all or list of selected devices in the current organization.

This endpoint uses pagination. For more information view Pagination section.

query Parameters
deviceUids
Array of strings
Example: deviceUids={{deviceUid}}

List of device uids. For more information, view List parameters section.

limit
integer
Example: limit={{limit}}

Page size. For more information, view Pagination section.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get Device Latest Telemetries

Get the latest telemetry readings of all types (e.g.: REMOTE_CONTROL, OFFLINE_RANGE and etc.), for a device in the current organization.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "deviceUid": "ca6319cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8",
  • "createdAt": "2022-01-03T10:00:00.000Z",
  • "telemetries": {
    }
}

Device/Volume

Update Device Volume

Set device volume on the device by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Description
volume number Device volume in percent 0-100
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "volume": 90
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Device Volume

Get device audio volume on the device by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Device/AutoRecovery

Get Device Auto Recovery

Get configuration of device auto recovery process if device supports that

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Set Device Auto Recovery

Set configuration of device auto recovery process if device supports that.

Parameters

Field Type Required Description
enabled boolean required Indicates whether peer recovery should be enabled or disabled
healthcheckIntervalMs integer required When auto recovery is enabled, watchdog in node process checks periodically browser process with interval specified in ms. This attribute is required only if enabled is true
autoEnableTimeoutMs integer required When peer recovery is disabled, a time period in ms can be specified, after which the process is enabled automatically. This attribute is required only if enabled is false
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
required
enabled
boolean

When set to true, process is enabled, otherwise it is disabled

healthcheckIntervalMs
integer >= 30000

When auto recovery is enabled, watchdog in node process checks periodically browser process with interval specified in ms

autoEnableTimeoutMs
integer >= 30000

When peer recovery is disabled, a time period in ms can be specified, after which the process is enabled automatically

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "healthcheckIntervalMs": 60000,
  • "autoEnableTimeoutMs": 600000
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Device/PeerRecovery

Get Device Peer Recovery

Get peer recovery settings history of a single device.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Update Device Peer Recovery

Set device peer recovery on the device by deviceUid.

Parameters

Field Type Required Description
enabled boolean required Indicates whether peer recovery should be enabled or disabled
urlLauncherAddress string required When peer recovery is enabled, this URL address has to be set in URL launcher on device that is recovered. This attribute is required only if enabled is true
autoEnableTimeoutMs integer required When peer recovery is disabled, a time period in ms can be specified, after which the process is enabled automatically. This attribute is required only if enabled is false
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
enabled
boolean

Indicates whether peer recovery should be enabled or disabled

urlLauncherAddress
string

When peer recovery is enabled, this URL address has to be set in URL launcher on device that is recovered

autoEnableTimeoutMs
integer >= 30000

When peer recovery is disabled, a time period in ms can be specified, after which the process is enabled automatically

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Firmware

Get Firmwares

Get all available firmware versions

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Create Firmware

Create new firmware version.

Currently for internal usage only

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "applicationType": "linux",
  • "version": "0.378",
  • "hashes": [
    ]
}

Location

Get Locations

Get all locations

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/x-www-form-urlencoded

Responses

Create Location

Create location

Body

Field Type Required Description
name string yes name of the location
coordinates { lat: number, long: number } no this field is mutually exclusive with field address, only one can be in payload. Range from -90 to 90 for latitude and -180 to 180 for longitude
address string no this field is mutually exclusive with field coordinates, only one can be in payload
customId string no unique id which might be used e.g. for referencing the device to other systems
description string no any additional info about the location

Warning: Fields coordinates and address are mutually exclusive, but at least one of them must be in payload

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "test location",
  • "address": "Howard Street, San Francisco, CA, USA",
  • "customId": "custom-id-123",
  • "description": "description note"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Location

Get location

Parameters

Field Type Required Description
uid string
required
location id
path Parameters
locationUid
required
string
Example: {{locationUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/x-www-form-urlencoded

Responses

Update Location

Update location

Body

Field Type Required Description
name string no name of the location
coordinates { lat: number, long: number } no this field is mutually exclusive with field address, only one can be in payload. Range from -90 to 90 for latitude and -180 to 180 for longitude
address string no this field is mutually exclusive with field coordinates, only one can be in payload
customId string no unique id which might be used e.g. for referencing the device

| description | string | no | any additional info about the location |

Warning: Fields coordinates and address are mutually exclusive, but at least one of them must be in payload

path Parameters
locationUid
required
string
Example: {{locationUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "test location",
  • "coordinates": {
    },
  • "organizationUid": "org-uuid-123",
  • "customId": "custom-id-123",
  • "description": "description note updated"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Delete Location

Delete location

Parameters

Field Type Required Description
uid string required unique location id
path Parameters
locationUid
required
string
Example: {{locationUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/x-www-form-urlencoded

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Add Attachment to Location

Add one file attachment to location

path Parameters
locationUid
required
string
Example: {{locationUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: image/*
Request Body schema: image/*

Accepts only binary image files

string <binary>

Only Content-type of 'image/png', 'image/jpeg' or 'image/gif' is allowed

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Remove Attachments from Location

path Parameters
locationUid
required
string
Example: {{locationUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "message": "OK"
}

Location/Tag

Assign Organization Tag To Location

path Parameters
locationUid
required
string
Example: {{locationUid}}
tagUid
required
string
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{ }

Unassign Organization Tag To Location

path Parameters
locationUid
required
string
Example: {{locationUid}}
tagUid
required
string
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Organization

Create Organization

Creates a new Organization for the current account

  1. We use different authentication in the x-auth header for /organization endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET(separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.
  2. Are you using REST API for creating Organizations? Make sure that the user token used for creating a new Organization belongs to the user with Company role Master or Owner.
  3. It is important to note that after creating a Company through REST API, the default Device plan is set to 3.0. This can be changed from within SignageOS Box under your Company profile

Parameters

Field Type Required Description
no parameters required

Body

Field Type Required Description
name string required Organization name

Can contain only letters and numbers separated by dashes and it must start and end with a letter or a number

Min 2 and max 255 length

Example: signageos-test-org-1
title string required Organization title

Min 2 and max 255 length

Example: SignageOS Testing Organization
In the response, you can find Location header with a link to the created organization.
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "my-organization",
  • "title": "My new organization"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Organizations

Get all Organizations for current account

  1. We use different authentication in the x-auth header for /organization endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.

Parameters

Field Type Required Description
organizationUid string optional filter by organization identification
accountId number optional filter by account identification
name string optional filter by name of the organization
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
x-oauth-client_secret
string
Example: {{x-oauth-client_secret}}

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Organization

Get the Organization details by organizationUid for the current account

  1. We use different authentication in the x-auth header for /organization endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.

Parameters

Field Type Required Description
organizationUid string optional filter by organization identification
accountId number optional filter by account identification
name string optional filter by name of the organization
path Parameters
organizationUid
required
string
Example: {{organizationUid}}
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "_id": "5de7ba9ad28dcd1c79d4184557",
  • "uid": "f4dc889c5bfae798bd652e5d0989e6805d4513154857772487",
  • "name": "example",
  • "title": "Example Company",
  • "createdAt": "2018-05-24T08:56:52.550Z",
  • "oauthClientId": "12a1547f940455abe604ae0f1ea41ab11d21659684418787542",
  • "oauthClientSecret": "2e220142ed58adef375bdfc0d0b14a65c9f5d99127ab86c0c7fe4174845424457",
  • "subscriptionType": "all",
  • "accountIds": [
    ],
  • "parentUid": "5d9bd72df4d187053cc7d2474c781cf590b10d2d7a12dwers",
  • "isCompany": false,
  • "accountMasterIds": [
    ],
  • "maxDevicesCount": 100
}

Delete Organization

Delete Organization by organizationUid for the current account.

  1. We use different authentication in the x-auth header for /organization endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.

Parameters

Field Type Required Description
organizationUid string required organization identification
path Parameters
organizationUid
required
string
Example: {{organizationUid}}
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Update Organization

Update existing organization

path Parameters
organizationUid
required
string
Example: {{organizationUid}}
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
title
required
string

Organization title

Min 2 and max 255 length

Example: SignageOS Testing Organization

Responses

Request samples

Content type
application/json
{
  • "title": "My new organization title"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Update Organization Device Plan

Sets the organization's Device Plan.

We use different authentication in the x-auth header for /organization endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.

Available Device Plans

  • open
  • 1.0
  • 2.0
  • 3.0

Parameters

Field Type Required Description
newOrganizationUID string required unique organization identification
subscriptionType string required subscription type. (One of: "open", "1.0", "2.0", "3.0")
path Parameters
newOrganizationUID
required
string
Example: {{newOrganizationUID}}
subscriptiontype
required
string
Example: {{subscriptiontype}}
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Create organization token

Creates organization token.

We use different authentication in the x-auth header for /organization endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.

path Parameters
newOrganizationUID
required
string
Example: {{newOrganizationUID}}
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "Your Token Name"
}

Response samples

Content type
application/json
{
  • "id": "fbb807a23f009af05dww",
  • "securityToken": "454f512635cd7dwdwdwdwdwfwwxw2eb161a7fdwdwerr",
  • "name": "Example Token Name"
}

Delete organization token

Deletes organization token in your organization by organizationUid and organizationSecurityTokenId.

  1. We use different authentication in the x-auth header for /organization endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.

Parameters

Field Type Required Description
organizationUid string required Unique Organization Identification
organizationSecurityTokenId string required Security token
path Parameters
organizationUid
required
string
Example: {{organizationUid}}
organizationSecurityTokenID
required
string
Example: {{organizationSecurityTokenID}}
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Company organizations

Get list of all organizations within your company.

  1. We use different authentication in the x-auth header for /organization endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.

Parameters

Field Type Required Description
companyUid string required Company identification
path Parameters
companyUid
required
string
Example: {{companyUid}}
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get organization devices count

Get count of all devices in your organization by organizationUid.

  1. We use different authentication in the x-auth header for /organization endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.

Parameters

Field Type Required Description
organizationUid string required Unique Organization Identification
path Parameters
organizationUid
required
string
Example: {{organizationUid}}
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "a326d675e4688a7ee2bf4ab951a5299a87c036a8e69e9e2dwwq",
  • "name": "example-org",
  • "title": "Example",
  • "createdAt": "2021-05-25T08:28:50.372Z",
  • "oauthClientId": "8a2cfadab69a748e7595c8eb11e547f7361c7429f00f4cxxwQ",
  • "oauthClientSecret": "cca347855de76c22f84c7109307a50afa980111a77542ea389b99bb2ebdwerrw",
  • "devicesCount": 42
}

Policy

Get Policies

Get all policies for current Organization.

Parameters

Field Type Required Description
pagination number greater than 0
optional
Start paginating result by a given number of items on the page. Next page link is available in the response header Link.

E.g.: <https://api.signageos/v1/policy?pagination=50&createdUntil=2020-10-22T16%3A10%3A00.000Z>; rel="next"
createdUntil string
optional
Filter by policy createdAt lower than (exclusive) date time in ISO-8601 format. Internally used for pagination (see pagination parameter).
archived boolean
optional
Filter archived/active policies. Accepted values '0', '1', 'true', 'false'
query Parameters
pagination
number
Example: pagination=50

Start paginating result by given number items on page. Next page link is available on in response under header Link. E.g.: <https://api.signageos/v1/policy?pagination=50&createdUntil=2020-10-22T16%3A10%3A00.000Z>; rel="next"

createdUntil
string
Example: createdUntil=2017-08-02T13:45:40.000Z

Filter by policy createdAt lower than (exclusive) date time in ISO-8601 format. Internally used for pagination (see pagination parameter).

archived
boolean

Filter archived/active policies. Accepted values '0', '1', 'true', 'false'

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Policy

Create new policy in specifies Organization.

Parameters

Field Type Required Description
No parameters

Body

Field Type Required Description
name string required Name of new policy
organizationUid string required UID of organization where will be policy created.
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "My new policy",
  • "organizationUid": "{{organizationUid}}"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Policy

Get one policy by policyUid.

Parameters

Field Type Required Description
policyUid string Required Unique Policy Identification
path Parameters
policyUid
required
string
Example: {{policyUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "a75e1c9087af913c32ec35cd7b5b812193163d06cef952cb00",
  • "name": "My device Policy",
  • "createdAt": "2021-03-30T18:57:33.669Z",
  • "items": [ ],
  • "note": "New policy created"
}

Update Policy

Update existing policy in the organization by policyUid.

Parameters

Field Type Required Description
policyUid string required Unique Policy Identification

Body

Field Type Required Description
name string required New name for updated policy.
note string required Sets new policy note.
items array required An array of policy items.
path Parameters
policyUid
required
string
Example: {{policyUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "My updated Policy name",
  • "note": "Set high volume and brightness by my store opening hours",
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Clone Policy

Clone existing policy in organization by policyUid.

Parameters

Field Type Required Description
policyUid string required Unique Policy Identification

Body

Field Type Required Description
name string required New name of the cloned policy.
organizationUid string required Organization UID where will be new policy cloned.
path Parameters
policyUid
required
string
Example: {{policyUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "My new cloned policy",
  • "organizationUid": "{{organizationUid}}"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Archive Policy

Archive existing policy by policyUid.

Parameters

Field Type Required Description
policyUid string required Unique Policy Identification

Body

Field Type Required Description
archived boolean required If true policy is archived and not active.
path Parameters
policyUid
required
string
Example: {{policyUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "archived": true
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Tag

Get organization tags

Get all tags for current organization

This endpoint uses pagination. For more information view Pagination section. Max allowed page size is 500.

query Parameters
limit
integer
Example: limit={{limit}}

Page size. For more information, view Pagination section.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Tag

Create tag

Payload

{
    name: string;
    color?: string;
    parentTagUid?: string;
}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "Organization tag 1"
}

Get Organization Tag

Gets organization tag

path Parameters
uid
required
string
Example: {{uid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "8dda7620af7b485ab14fb1e6fb9952717d276e32adb8aa291c",
  • "organizationUid": "48889e30b1423d4171e348d6a1a1222e3b0075c8d7abcc868a",
  • "name": "example",
  • "createdAt": "2022-07-22T13:00:00.000Z",
  • "color": null,
  • "parentTagUid": null
}

Update Tag

Update tag

Payload

{
    name: string;
    color?: string;
    parentTagUid?: string;
}
path Parameters
uid
required
string
Example: {{uid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "name": "Tag 1 updated"
}

Delete Tag

Delete tag

path Parameters
uid
required
string
Example: {{uid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Timing

Create Timing

Timing might be a misleading name (apologies), but it has nothing to do with scheduling content. Timing is an endpoint that will allow you to set your Applet on device.

Create new Timing record for deploying selected Applet and to the target device.

Parameters

Field Type Required Description
no query parameters

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Description
deviceUid string Unique device identification
appletUid string Applet unique identification
appletVersion string (semver) Version of your applet
startsAt Date YYYY-MM-DDTHH:MM:SS.sss Since when the Applet should be set on device e.g. 2017-11-22T09:26:49.246
endsAt Date - YYYY-MM-DDTHH:MM:SS.sss Untill when the Applet should be set on device e.g. 2017-11-22T09:26:49.246
configuration JSON Unique configuration specific to the applet and device, usually your internal ID’s, links to APIs, etc.
position number When more then one Applet is set for device, in which order are they available on the device
finishEventType string - ‘DURATION’ , ‘SCREEN_TAP’ , ‘IDLE_TIMEOUT’ Which event is triggering switch between multiple Applets‘DURATION’ – after specific amount of time‘SCREEN_TAP’ – after display is touched‘IDLE_TIMEOUT’ – after time of inactivity (without any tapping on display)
finishEventData any used for setting DURATION or IDLE_TIMEOUT values of finishEventType

Remarks on startsAt and endsAt

  • When you set endsAt to timing, it sticks to the device until the applet with the later startsAt date is in the system. In most cases you will set startsAt and endsAt date to the same value.
  • configuration values have to be always a key-value pairs where value is a string. To pass JSON object use JSON.stringify().
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "deviceUid": "{{deviceUid}}",
  • "appletUid": "{{appletUid}}",
  • "appletVersion": "{{appletVersion}}",
  • "startsAt": "2017-12-01T12:00:00",
  • "endsAt": "2017-12-31T12:00:00",
  • "position": "1",
  • "finishEventType": "DURATION",
  • "finishEventData": 1000,
  • "configuration": "{\"identification\":\"XXX\"}"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Timings

Timing might be a misleading name (apologies), but it has nothing to do with scheduling content. Timing is an endpoint that will allow you to set your Applet on device.

Get all your Timings.

Parameters

Field Type Required Description
timingUid string optional unique timing identification
deviceUid string optional unique device identification
current boolean optional retrieve current timing set for device
query Parameters
deviceUid
string
Example: deviceUid={{deviceUid}}
current
boolean
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Timing

Timing might be a misleading name (apologies), but it has nothing to do with scheduling content. Timing is an endpoint that will allow you to set your Applet on device.

Get Timing by timingUid or by deviceUid.

Parameters

Field Type Required Description
timingUid string
required
unique timing identification
deviceUid string
optional
unique device identification
current boolean
optional
retrieve current timing set for device
path Parameters
timingUid
required
string
Example: {{timingUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "4dcb018285c5ca8709bcc3beea45c306e6823ff9648e8edf6c",
  • "appletUid": "ae831411425df581cae9d74c2a8c04386166d0cbb70ef377f2",
  • "deviceUid": "cf98c9d5f3442737e40221838bf2ef92f2b1173786ad3cb61519b",
  • "createdAt": "2021-03-31T09:40:30.431Z",
  • "updatedAt": "2021-04-12T13:24:01.269Z",
  • "startsAt": "2021-04-09T06:40:00.000Z",
  • "endsAt": "2021-04-11T06:40:00.000Z",
  • "configuration": {
    },
  • "appletVersion": "0.0.1",
  • "finishEvent": {
    },
  • "position": 1
}

Update Timing

Timing might be a misleading name (apologies), but it has nothing to do with scheduling content. Timing is an endpoint that will allow you to set your Applet on device.

Update device Timing with the selected Applet and assign it to the device. You can update the applet version and more.

Parameters

Field Type Required Description
timingUid string required unique Timing identification

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Description
appletVersion string (semver) version of your applet
startsAt Date YYYY-MM-DDTHH:MM:SS.sss since when the Applet should be set on device e.g. 2017-11-22T09:26:49.246
endsAt Date - YYYY-MM-DDTHH:MM:SS.sss untill when the Applet should be set on device e.g. 2017-11-22T09:26:49.246
configuration JSON unique configuration specific to the applet and device, usually your internal ID’s, links to APIs, etc.
position number when more then one Applet is set for device, in which order are they available on the device
finishEventType string - ‘DURATION’ , ‘SCREEN_TAP’ , ‘IDLE_TIMEOUT’ Which event is triggering switch between multiple Applets‘DURATION’ – after specific amount of time‘SCREEN_TAP’ – after display is touched‘IDLE_TIMEOUT’ – after time of inactivity (without any tapping on display)
finishEventData any used for setting DURATION or IDLE_TIMEOUT values of finishEventType

Remarks on startsAt and endsAt:

  • When you set endsAt to timing, it sticks to device until applet with later startsAt date is in the system. In the most of cases you just set startsAt and endsAt date to the same value.
  • configuration values have to be always a key-value pairs where value is a string. To pass JSON object use JSON.stringify()
path Parameters
timingUid
required
string
Example: {{timingUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json
{
  • "deviceUid": "{{deviceUid}}",
  • "appletUid": "{{appletUid}}",
  • "appletVersion": "{{appletVersion}}",
  • "startsAt": "2017-12-01T12:00:00",
  • "endsAt": "2018-12-31T12:00:00",
  • "position": "1",
  • "finishEventType": "DURATION",
  • "finishEventData": 1000,
  • "configuration": "{'identification':'XXX'}"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Delete Timing

Timing might be a misleading name (apologies), but it has nothing to do with scheduling content. Timing is an endpoint that will allow you to set your Applet on device.

Delete existing Timing by unique id.

Parameters

Field Type Required Description
timingUid string
required
unique timing identification
path Parameters
timingUid
required
string
Example: {{timingUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Emulator

Create new emulator

Create a new emulator in your organization.

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get list of emulators

Get all emulators within your organization.

query Parameters
organizationUid
string
Example: organizationUid=2b6d9c3873b5a852221b195b6350a6c71318e56e4d493a585f4

filter by organizationUid

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Remove emulator

Delete specific emulator by emulatorUid.

path Parameters
emulatorUid
required
string
Example: {{emulatorUid}}
header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
text/plain
# Empty response

Uptime

Get uptime stats

Get device connection uptime for the device.

query Parameters
since
string
Example: since=2017-08-02T13:45:40.000Z

Default date is month ago

until
string
Example: until=2017-08-02T13:45:40.000Z

Default date is today

deviceUid
string
Example: deviceUid={{deviceUid}}

All devices per organization are included by default and you can specify one device by its uid

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
{
  • "uptime": 58728858,
  • "downtime": 61175894,
  • "total": 119904752,
  • "availabilityPercent": 96,
  • "since": "2022-03-01T14:37:02.972Z",
  • "until": "2022-04-01T14:37:02.973Z"
}

Device/Extended Management Remote Server

Update extended management remote server URL

Set device extended management remote server URL on the device by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification

Body

content-type: application/json or application/x-www-form-urlencoded

Field Type Description
url string Device extended management remote server URL
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object

Responses

Request samples

Content type
application/json

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get extended management remote server URL

Get device extended management remote server URL on the device by deviceUid.

Parameters

Field Type Required Description
deviceUid string required Unique Device Identification
path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "33bc149a44a3948a57a8b7083fe73fb17d5fe98d6066d86cb1",
  • "deviceUid": "9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6",
  • "createdAt": "2021-04-30T01:31:35.756Z",
  • "succeededAt": null,
  • "failedAt": "2021-04-30T01:31:35.955Z",
}

Configuration

Set telemetry intervals

Configure device telemetry check intervals

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
screenshots
number or null
temperature
number or null
applicationVersion
number or null
frontDisplayVersion
number or null
brightness
number or null
datetime
number or null
orientation
number or null
powerActionsSchedule
number or null
proprietaryTimers
number or null
remoteControl
number or null
resolution
number or null
timers
number or null
volume
number or null
storage
number or null
battery
number or null
policy
number or null
peerRecovery
number or null
autoRecovery
number or null
default
number or null

Responses

Request samples

Content type
application/json
{
  • "battery": 1500000,
  • "brightness": 1600000,
  • "screenshots": 1200000,
  • "temperature": 1200000,
  • "applicationVersion": 1200000,
  • "frontDisplayVersion": 1200000,
  • "datetime": 1200000,
  • "orientation": 1200000,
  • "powerActionsSchedule": 1200000,
  • "proprietaryTimers": 1200000,
  • "remoteControl": 1200000,
  • "resolution": 1200000,
  • "timers": 1200000,
  • "volume": 1200000,
  • "storage": 1200000,
  • "policy": 1200000,
  • "peerRecovery": 1200000,
  • "autoRecovery": 1200000,
  • "default": 1200000
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get telemetry intervals

Get device telemetry check intervals

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "battery": 1500000,
  • "brightness": 1600000,
  • "screenshots": 1200000,
  • "temperature": 1200000,
  • "applicationVersion": 1200000,
  • "frontDisplayVersion": 1200000,
  • "datetime": 1200000,
  • "orientation": 1200000,
  • "powerActionsSchedule": 1200000,
  • "proprietaryTimers": 1200000,
  • "remoteControl": 1200000,
  • "resolution": 1200000,
  • "timers": 1200000,
  • "volume": 1200000,
  • "storage": 1200000,
  • "policy": 1200000,
  • "peerRecovery": 1200000,
  • "autoRecovery": 1200000,
  • "default": 1200000
}

Device/Tag (Device Tags)

Assign organization tag to the device.

Enables to assign organization tag to the device that belongs to this organization.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
tagUid
required
string
Example: {{tagUid}}

Organization tag uid

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Unassign organization tag which is assigned to the device.

Enables to unassign organization tag on the device.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
tagUid
required
string
Example: {{tagUid}}

Organization tag uid

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get tags assigned to the device

Get list of tags which was assigned to the device

This endpoint uses pagination. For more information view Pagination section.

path Parameters
deviceUid
required
string
Example: {{deviceUid}}
query Parameters
limit
number
Example: limit=50

Start paginating result by given number items on page. Next page link is available in response under header Link. E.g.: <https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"

descending
boolean
Default: true
Example: descending=true

Default true. Order resource in descending or ascending order by createdAt.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Organization/Member

Add organization member

Adds a new organization member for the provided organization. If the email does not exist, invitation email is sent.

  1. We use different authentication in the x-auth header for /organization/:organizationUid/member endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET(separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.
path Parameters
organizationUid
required
string
Example: {{organizationUid}}

Organization uid

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
role
string
Enum: "owner" "manager" "user" "guest"
email
string

Responses

Request samples

Content type
application/json
{
  • "role": "user",
  • "email": "john.doe@signageos.io"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get organization members

Gets all organization members for given organization

  1. We use different authentication in the x-auth header for /organization/:organizationUid/member endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.
path Parameters
organizationUid
required
string
Example: {{organizationUid}}

Organization uid

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Edit organization member

Edits organization member role for the provided organization.

  1. We use different authentication in the x-auth header for /organization/:organizationUid/member endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET(separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.
path Parameters
organizationUid
required
string
Example: {{organizationUid}}

Organization uid

accountId
required
string
Example: {{accountId}}

Account id

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
role
string
Enum: "owner" "manager" "user" "guest"

Responses

Request samples

Content type
application/json
{
  • "role": "user"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get organization member

Get all organization members for given organization

  1. We use different authentication in the x-auth header for /organization/:organizationUid/member endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.
path Parameters
organizationUid
required
string
Example: {{organizationUid}}

Organization uid

accountId
required
string
Example: {{accountId}}

Account id

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "id": 1252866600347193,
  • "username": "john.doe_fea0bcc5",
  • "email": "john.doe@signageos.io",
  • "firstname": "John",
  • "lastname": "Doe",
  • "role": "user",
  • "assignedAt": "2022-10-07T14:10:39.444Z"
}

Delete organization member

Deletes organization member for given organization

  1. We use different authentication in the x-auth header for /organization/:organizationUid/member endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.
path Parameters
organizationUid
required
string
Example: {{organizationUid}}

Organization uid

accountId
required
string
Example: {{accountId}}

Account id

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Company/Member

Add company member

Adds a new company member for the provided company. If the email does not exist, invitation email is sent.

  1. We use different authentication in the x-auth header for /company/:companyUid/member endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET(separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.
path Parameters
companyUid
required
string
Example: {{companyUid}}

Company uid

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
role
string
Enum: "owner" "manager" "user" "guest"
email
string

Responses

Request samples

Content type
application/json
{
  • "role": "user",
  • "email": "john.doe@signageos.io"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get company members

Gets all company members for given company

  1. We use different authentication in the x-auth header for /company/:companyUid/member endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.
path Parameters
companyUid
required
string
Example: {{companyUid}}

Company uid

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Edit company member

Edits company member role for the provided company.

  1. We use different authentication in the x-auth header for /company/:companyUid/member endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET(separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.
path Parameters
companyUid
required
string
Example: {{companyUid}}

Company uid

accountId
required
string
Example: {{accountId}}

Account id

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
role
string
Enum: "owner" "manager" "user" "guest"

Responses

Request samples

Content type
application/json
{
  • "role": "user"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get company member

Get all company members for given company

  1. We use different authentication in the x-auth header for /company/:companyUid/member endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.
path Parameters
companyUid
required
string
Example: {{companyUid}}

Company uid

accountId
required
string
Example: {{accountId}}

Account id

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "id": 1252866600347193,
  • "username": "john.doe_fea0bcc5",
  • "email": "john.doe@signageos.io",
  • "firstname": "John",
  • "lastname": "Doe",
  • "role": "user",
  • "assignedAt": "2022-10-07T14:10:39.444Z"
}

Delete company member

Deletes company member for given company

  1. We use different authentication in the x-auth header for /company/:companyUid/member endpoints, which consists of USER TOKEN_ID and TOKEN_SECRET (separated by “:”). You can find both on the Settings page (https://box.signageos.io/settings) in SignageOS Box. Learn more here.
path Parameters
companyUid
required
string
Example: {{companyUid}}

Company uid

accountId
required
string
Example: {{accountId}}

Account id

header Parameters
x-auth
string
Example: {{x-auth-account}}

Account authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Package

Get Packages

Get all packages for current Organization.

query Parameters
limit
number
Example: limit=50

Start paginating result by given number items on page. Next page link is available in response under header Link. E.g.: <https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"

descending
boolean
Default: true
Example: descending=true

Default true. Order resource in descending or ascending order by createdAt.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Create New Package

Creates new package with the specified properties

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Request Body schema: application/json
packageName
required
string^[a-zA-Z][\w\-.]*\w$

No special chars

label
required
string
description
string

Responses

Request samples

Content type
application/json
{
  • "packageName": "com.example.new.package",
  • "label": "Example New Package",
  • "description": "This is newly created package"
}

Get One Package

Get one package by the given uid.

path Parameters
packageUid
required
string
Example: {{packageUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
{
  • "uid": "23568258a06d973c8876ffe41c288a19f3833bd2c9fbe5d7cd",
  • "createdAt": "2022-05-24T08:58:56.994Z",
  • "packageName": "com.example.android.kiosk",
  • "label": "Example Kiosk",
  • "description": "Example Kiosk is a signage experience for your TV",
  • "ownerOrganizationUid": "a326d675e4688a7ee2bf4ab951a5299a87c036a8e69e9e2dwwq",
  • "createdByAccountId": 436778
}

Update one Package

Updates package properties

path Parameters
packageUid
required
string
Example: {{packageUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Request Body schema: application/json
label
string
description
string

Responses

Request samples

Content type
application/json
{
  • "label": "Updated Example Package Label",
  • "description": "Updated example description"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Package/Version

Get Package Versions

Get all version of the given package.

path Parameters
packageUid
required
string
Example: {{packageUid}}
query Parameters
limit
number
Example: limit=50

Start paginating result by given number items on page. Next page link is available in response under header Link. E.g.: <https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"

descending
boolean
Default: true
Example: descending=true

Default true. Order resource in descending or ascending order by createdAt.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Create New Package Version

Creates new package version with the specified properties. This resource have to be called after uploading the package version binary to the /package/{packageUid}/file resource. If the file is missing the package version can't be created.

path Parameters
packageUid
required
string
Example: {{packageUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Request Body schema: multipart/form-data
metadata
required
string
binary
required
string <binary>

Responses

Request samples

Content type
multipart/form-data
{
  "metadata": "{ \"version\": \" 1.2.0-rc.2\", \"build\": \"ef430098dd\" }",
  "binary": "JUUyJTlDJTkzJTIwJUMzJUEwJTIwbGElMjBtb2Rl"
}

Get One Package Version

Get one Package Version by the given buildHash and applicationType.

path Parameters
packageUid
required
string
Example: {{packageUid}}
packageVersionUid
required
string
Example: {{packageVersionUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
{
  • "uid": "bd74395949f7de6",
  • "createdAt": "2022-06-22T17:07:52.000Z",
  • "packageName": "com.example.android.webview",
  • "applicationType": "android",
  • "version": "1.2.3-beta.4",
  • "build": "59f00e8e351b8a0",
  • "buildHash": "a06d973c8876ffe41c288a1",
  • "publishedSince": "2022-06-28T17:07:52.000Z",
  • "note": "Example WebView note",
  • "specs": {
    }
}

Update one Package Version

Updates Package Version properties

path Parameters
packageUid
required
string
Example: {{packageUid}}
packageVersionUid
required
string
Example: {{packageVersionUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Request Body schema: application/json
note
required
string or null

Responses

Request samples

Content type
application/json
{
  • "note": "Update package version note"
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Delete one Package Version

Deletes Package Version

path Parameters
packageUid
required
string
Example: {{packageUid}}
packageVersionUid
required
string
Example: {{packageVersionUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get Package Version Binary

Redirect to the Package Version Binary

path Parameters
packageUid
required
string
Example: {{packageUid}}
packageVersionUid
required
string
Example: {{packageVersionUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Get Package Version Icon

Redirect to the Package Version Icon

path Parameters
packageUid
required
string
Example: {{packageUid}}
packageVersionUid
required
string
Example: {{packageVersionUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Publish Package Version

Published Package Version is available for installation to a device

path Parameters
packageUid
required
string
Example: {{packageUid}}
packageVersionUid
required
string
Example: {{packageVersionUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Unpublish Package Version

Unpublished Package Version is not available for installation to a device

path Parameters
packageUid
required
string
Example: {{packageUid}}
packageVersionUid
required
string
Example: {{packageVersionUid}}
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Bulk Operation

Get bulk operations

Get bulk operations by organizationUid.

query Parameters
limit
integer
Example: limit=50
offset
integer
Example: offset=50
header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "a75e1c9087af913c32ec35cd7b5b812193163d06cef952cb00",
  • "name": "My Bulk Operation",
  • "filter": {
    },
  • "deviceUids": [
    ],
  • "failedDeviceUids": [
    ],
  • "successfulDeviceUids": [
    ],
  • "skippedDeviceUids": [
    ],
  • "createdAt": "2021-03-30T18:57:33.669Z",
  • "pausedAt": "2021-03-30T18:57:33.669Z",
  • "stoppedAt": "2021-03-30T18:57:33.669Z",
  • "resumedAt": "2021-03-30T18:57:33.669Z",
  • "archivedAt": "2021-03-30T18:57:33.669Z",
  • "finishedAt": "2021-03-30T18:57:33.669Z",
  • "isRunning": true,
  • "schedule": {
    },
  • "rollingUpdate": {
    },
  • "operationType": "SET_APPLICATION_VERSION",
  • "data": {
    },
  • "progress": {
    }
}

Create bulk operation

Create bulk operation.

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
One of
name
string
required
object
object
object
operationType
required
string
Value: "SET_APPLICATION_VERSION"
required
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "filter": {
    },
  • "schedule": {
    },
  • "rollingUpdate": {
    },
  • "operationType": "TELEMETRY_INTERVALS",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "message": "OK"
}

Get bulk operation

Get bulk operation by bulkOperationUid.

path Parameters
bulkOperationUid
required
string
Example: b14606b90abe94acd006349f2cftd53d650d6dd545a2e40b5a83d

Unique Bulk Operation Identification

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "uid": "a75e1c9087af913c32ec35cd7b5b812193163d06cef952cb00",
  • "name": "My Bulk Operation",
  • "filter": {
    },
  • "deviceUids": [
    ],
  • "failedDeviceUids": [
    ],
  • "successfulDeviceUids": [
    ],
  • "skippedDeviceUids": [
    ],
  • "createdAt": "2021-03-30T18:57:33.669Z",
  • "pausedAt": "2021-03-30T18:57:33.669Z",
  • "stoppedAt": "2021-03-30T18:57:33.669Z",
  • "resumedAt": "2021-03-30T18:57:33.669Z",
  • "archivedAt": "2021-03-30T18:57:33.669Z",
  • "finishedAt": "2021-03-30T18:57:33.669Z",
  • "isRunning": true,
  • "schedule": {
    },
  • "rollingUpdate": {
    },
  • "operationType": "SET_APPLICATION_VERSION",
  • "data": {
    },
  • "progress": {
    }
}

Pause bulk operation

Pause bulk operation by bulkOperationUid.

path Parameters
bulkOperationUid
required
string
Example: b14606b90abe94acd006349f2cftd53d650d6dd545a2e40b5a83d

Unique Bulk Operation Identification

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Stop bulk operation

Stop bulk operation by bulkOperationUid.

path Parameters
bulkOperationUid
required
string
Example: b14606b90abe94acd006349f2cftd53d650d6dd545a2e40b5a83d

Unique Bulk Operation Identification

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}

Resume bulk operation

Resume bulk operation by bulkOperationUid.

path Parameters
bulkOperationUid
required
string
Example: b14606b90abe94acd006349f2cftd53d650d6dd545a2e40b5a83d

Unique Bulk Operation Identification

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json
Request Body schema: application/json
object
batchSize
integer
batchDelay
integer
stopThreshold
integer

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "message": "OK"
}

Archive bulk operation

Archive bulk operation by bulkOperationUid.

path Parameters
bulkOperationUid
required
string
Example: b14606b90abe94acd006349f2cftd53d650d6dd545a2e40b5a83d

Unique Bulk Operation Identification

header Parameters
x-auth
string
Example: {{x-auth}}

Authorization key and token

Content-Type
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "OK"
}