NAV Navigation
curl JavaScript Go Python Ruby

myViewBoard Open API Doc v2.3

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

This API allow user to integrate myViewBoard control system with the myViewBoard Manager. User can obtain a valid API Key and use it to make operations on remote devices.

Base URLs:

Authentication

Groups

Get list

Code samples

# You can also use wget
curl -X GET https://oapi.myviewboard.com/groups?entity_id=type,string \
-H 'Accept: application/json' \
-H 'Authorization: bearer ************'

const headers = {
'Accept':'application/json',
'Authorization':'bearer ************'
};

fetch('https://oapi.myviewboard.com/groups?entity_id=type,string',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"bearer ************"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://oapi.myviewboard.com/groups", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'bearer ************'
}

r = requests.get('https://oapi.myviewboard.com/groups', params={
'entity_id': {
"type": "string"
}
}, headers = headers)

print(r.json())
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json',
'Authorization' => 'bearer ************'
}

result = RestClient.get 'https://oapi.myviewboard.com/groups',
params: {
'entity_id' => 'string'
}, headers: headers

p JSON.parse(result)

GET /groups

Get the list of group information

Parameters

Name In Type Required Description
entity_id query string true entity ID
count query string false the number of groups per page, 100 by default
page query string false the page number, it will start at 1 by default

Example responses

200 Response

[
{
"id": "s8tml877-udgm-3751-n2rn-atzk96r9b2k2",
"name": "Ay3Wt8kephFs2xGT",
"number_of_devices": 60215330
},
{
"id": "meme378n-7ht8-xlaw-2dw7-5w988aywdudn",
"name": "YgYdike5mOisJHNE",
"number_of_devices": -23609716
}
]

Responses

Status Meaning Description Schema
200 OK 200 response GroupInfoList

Get device list

Code samples

# You can also use wget
curl -X GET https://oapi.myviewboard.com/groups/devices?entity_id=type,string&group_id=type,string \
-H 'Accept: application/json' \
-H 'Authorization: bearer ************'

const headers = {
'Accept':'application/json',
'Authorization':'bearer ************'
};

fetch('https://oapi.myviewboard.com/groups/devices?entity_id=type,string&group_id=type,string',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"bearer ************"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://oapi.myviewboard.com/groups/devices", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'bearer ************'
}

r = requests.get('https://oapi.myviewboard.com/groups/devices', params={
'entity_id': {
"type": "string"
}, 'group_id': {
"type": "string"
}
}, headers = headers)

print(r.json())
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json',
'Authorization' => 'bearer ************'
}

result = RestClient.get 'https://oapi.myviewboard.com/groups/devices',
params: {
'entity_id' => 'string',
'group_id' => 'string'
}, headers: headers

p JSON.parse(result)

GET /groups/devices

Get the list of device information

Parameters

Name In Type Required Description
count query string false the number of devices per page, 100 by default
page query string false the page number, it will start at 1 by default
entity_id query string true entity ID
group_id query string true group ID

Example responses

200 Response

[
{
"id": "virf53z5-6y8i-ehws-yrar-27ik0vf8vp6u",
"last_connected": "2022-01-01T03:00:00.000Z",
"local_ip_address": "172E21<0k130",
"model": "RCGJ463XRV",
"name": "vJZHxZfhHzjK6yux",
"note": "w5rc44fnezpq86wo6nysc3rge6c5xio5",
"status": true
},
{
"id": "6ahu7xmi-7kdj-js3z-3jpv-55a8ulyfhcn9",
"last_connected": "2022-01-01T03:00:00.000Z",
"local_ip_address": "172=21%0o130",
"model": "HF9XSBV5C3",
"name": "41ZFdaVfPxJBeckc",
"note": "tp04la6a7lmmqajh6zgjp5oi8pbhoi6w",
"status": true
}
]

Responses

Status Meaning Description Schema
200 OK 200 response GroupDeviceInfoList

Devices

Get list

Code samples

# You can also use wget
curl -X GET https://oapi.myviewboard.com/devices?entity_id=type,string \
-H 'Accept: application/json' \
-H 'Authorization: bearer ************'

const headers = {
'Accept':'application/json',
'Authorization':'bearer ************'
};

fetch('https://oapi.myviewboard.com/devices?entity_id=type,string',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"bearer ************"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://oapi.myviewboard.com/devices", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'bearer ************'
}

r = requests.get('https://oapi.myviewboard.com/devices', params={
'entity_id': {
"type": "string"
}
}, headers = headers)

print(r.json())
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json',
'Authorization' => 'bearer ************'
}

result = RestClient.get 'https://oapi.myviewboard.com/devices',
params: {
'entity_id' => 'string'
}, headers: headers

p JSON.parse(result)

GET /devices

Get the list of device information

Parameters

Name In Type Required Description
entity_id query string true entity ID
count query string false the number of devices per page, 100 by default
page query string false the page number, it will start at 1 by default

Example responses

200 Response

[
{
"advanced": true,
"agent_version": "1.52.7",
"asset_tag": "wRDc80LSeCo",
"date_of_enrollment": "2022-01-01T03:00:00.000Z",
"fw_version": "81897352.998447",
"id": "f2mce5q3-i6nd-1w2a-g5ar-molsyptanqsq",
"mac_address": "04:be:c5:16:67:26",
"model": "SMLAUAGXOO",
"name": "QM1U4El960nBvrR9",
"note": "w2tob9qgg8p5mk0z6tepuicn5gm05x60",
"os_version": "5qx1798dpgio",
"serial_number": "LVDJVL3X84N1",
"status": true,
"volume": "28",
"wifi_ssid": "8q29ck"
},
{
"advanced": false,
"agent_version": "1.75.9",
"asset_tag": "TAGyIYhKvbn",
"date_of_enrollment": "2022-01-01T03:00:00.000Z",
"fw_version": "92713959.413865",
"id": "fbgyf5a9-rt6q-rj2k-w6zm-7wo62o7hlc8i",
"mac_address": "33:1d:8d:16:8e:13",
"model": "W9XT5GIBKI",
"name": "28brxdXbtLbiXbsq",
"note": "fczfkvbwsbk69arazjqo6iwo6pp0rblz",
"os_version": "i8m0hhgmk9hf",
"serial_number": "J6RDRHAAP0G1",
"status": false,
"volume": "12",
"wifi_ssid": "776i45"
}
]

Responses

Status Meaning Description Schema
200 OK list of devices DeviceProfileList

Get usage

Code samples

# You can also use wget
curl -X GET https://oapi.myviewboard.com/devices/usage?entity_id=type,string \
-H 'Accept: application/json' \
-H 'Authorization: bearer ************'

const headers = {
'Accept':'application/json',
'Authorization':'bearer ************'
};

fetch('https://oapi.myviewboard.com/devices/usage?entity_id=type,string',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"bearer ************"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://oapi.myviewboard.com/devices/usage", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'bearer ************'
}

r = requests.get('https://oapi.myviewboard.com/devices/usage', params={
'entity_id': {
"type": "string"
}
}, headers = headers)

print(r.json())
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json',
'Authorization' => 'bearer ************'
}

result = RestClient.get 'https://oapi.myviewboard.com/devices/usage',
params: {
'entity_id' => 'string'
}, headers: headers

p JSON.parse(result)

GET /devices/usage

Get the list of device usage

Parameters

Name In Type Required Description
count query string false the number of devices per page, 100 by default
device_id query string false device IDs belong to the entity (concatenate multiple IDs into one string with comma)
entity_id query string true entity ID
group_id query string false group IDs belong to the entity (concatenate multiple IDs into one string with comma)
end_time query string false the end time of time period (unix time in milliseconds)
start_time query string false the start time of time period (unix time in milliseconds)
page query string false the page number, it will start at 1 by default

Example responses

200 Response

[
{
"id": "pxs8j8ig-zl2j-ijvr-7qd3-scsfltn75iow",
"name": "gFH1AoUI8ZDFYRev",
"usage_time": "91.0"
},
{
"id": "7rui6ulf-cdu9-yoc8-uhs8-j5tgcukl08nu",
"name": "kElfl1uQMwsToHgf",
"usage_time": "31.3"
}
]

Responses

Status Meaning Description Schema
200 OK list of devices DeviceUsageList

Get statistics

Code samples

# You can also use wget
curl -X GET https://oapi.myviewboard.com/devices/statistics?entity_id=type,string \
-H 'Accept: application/json' \
-H 'Authorization: bearer ************'

const headers = {
'Accept':'application/json',
'Authorization':'bearer ************'
};

fetch('https://oapi.myviewboard.com/devices/statistics?entity_id=type,string',
{
method: 'GET',

headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"bearer ************"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://oapi.myviewboard.com/devices/statistics", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'bearer ************'
}

r = requests.get('https://oapi.myviewboard.com/devices/statistics', params={
'entity_id': {
"type": "string"
}
}, headers = headers)

print(r.json())
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json',
'Authorization' => 'bearer ************'
}

result = RestClient.get 'https://oapi.myviewboard.com/devices/statistics',
params: {
'entity_id' => 'string'
}, headers: headers

p JSON.parse(result)

GET /devices/statistics

Get the list of device statistics

Parameters

Name In Type Required Description
count query string false the number of devices per page, 100 by default
page query string false the page number, it will start at 1 by default
device_id query string false device IDs belong to the entity (concatenate multiple IDs into one string with comma)
entity_id query string true entity ID
group_id query string false group IDs belong to the entity (concatenate multiple IDs into one string with comma)

Example responses

200 Response

[
{
"id": "5zqefwuh-34wf-qfaa-6uwe-7ud0kahrjgxf",
"last_boot_up": "2022-01-01T01:00:00.000Z",
"last_connected": "2022-01-01T03:00:00.000Z",
"total_uptime": "7 hrs 31 mins"
},
{
"id": "w3jsa1j2-1c87-f8ay-vpvp-8reekg3hhs9q",
"last_boot_up": "2022-01-01T01:00:00.000Z",
"last_connected": "2022-01-01T03:00:00.000Z",
"total_uptime": "5 hrs 35 mins"
}
]

Responses

Status Meaning Description Schema
200 OK list of devices DeviceStatisticsList

Broadcast

Post broadcast message

Code samples

# You can also use wget
curl -X POST https://oapi.myviewboard.com/devices/broadcast \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: bearer ************'
const inputBody = '{
"title": "Broadcast request",
"required": [
"deviceIds",
"entityId",
"message",
"type"
],
"type": "object",
"properties": {
"deviceIds": {
"type": "array",
"description": "a list of device IDs",
"items": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
}
},
"entityId": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string",
"description": "entity ID"
},
"loops": {
"type": "integer",
"description": "loop period in seconds (0 = forever and it is for standard message only)"
},
"message": {
"pattern": "^.{0,1024}$",
"type": "string",
"description": "message content (1024 character max for standard and 300 character max for urgent)"
},
"siren": {
"type": "boolean",
"description": "siren on or off (it is for urgent message only)"
},
"type": {
"pattern": "^standard|urgent$",
"type": "string",
"description": "standard or urgent message"
}
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'bearer ************'
};

fetch('https://oapi.myviewboard.com/devices/broadcast',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"bearer ************"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://oapi.myviewboard.com/devices/broadcast", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'bearer ************'
}

r = requests.post('https://oapi.myviewboard.com/devices/broadcast', headers = headers)

print(r.json())
require 'rest-client'
require 'json'

headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'bearer ************'
}

result = RestClient.post 'https://oapi.myviewboard.com/devices/broadcast',
params: {
}, headers: headers

p JSON.parse(result)

POST /devices/broadcast

Capture the broadcast message from the manager interface and send it from a control system - meaning that if we can connect myViewBoard Manager to their control system so they can streamline the broadcasting process. Instead of doing the broadcast using their control system and use Manager to broadcast to the panels, if they can integrate with our API, they can make this a one-step process.

Body parameter

{
"title": "Broadcast request",
"required": [
"deviceIds",
"entityId",
"message",
"type"
],
"type": "object",
"properties": {
"deviceIds": {
"type": "array",
"description": "a list of device IDs",
"items": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
}
},
"entityId": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string",
"description": "entity ID"
},
"loops": {
"type": "integer",
"description": "loop period in seconds (0 = forever and it is for standard message only)"
},
"message": {
"pattern": "^.{0,1024}$",
"type": "string",
"description": "message content (1024 character max for standard and 300 character max for urgent)"
},
"siren": {
"type": "boolean",
"description": "siren on or off (it is for urgent message only)"
},
"type": {
"pattern": "^standard|urgent$",
"type": "string",
"description": "standard or urgent message"
}
}
}

Parameters

Name In Type Required Description
body body DeviceBroadcastRequest true none
» deviceIds body [string] true a list of device IDs
» entityId body string true entity ID
» loops body integer false loop period in seconds (0 = forever and it is for standard message only)
» message body string true message content (1024 character max for standard and 300 character max for urgent)
» siren body boolean false siren on or off (it is for urgent message only)
» type body string true standard or urgent message

Example responses

200 Response

{
"message": "success",
"messageCode": -86743683,
"responseCode": 52122960,
"status": 62452725
}

Responses

Status Meaning Description Schema
200 OK 200 response DeviceBroadcastResponse

Post stop the broadcast

Code samples

# You can also use wget
curl -X POST https://oapi.myviewboard.com/devices/broadcast/stop \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: bearer ************'
const inputBody = '{
"title": "root",
"required": [
"deviceIds",
"entityId"
],
"type": "object",
"properties": {
"deviceIds": {
"type": "array",
"description": "a list of device IDs",
"items": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
}
},
"entityId": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string",
"description": "entity ID"
}
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'bearer ************'
};

fetch('https://oapi.myviewboard.com/devices/broadcast/stop',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"bearer ************"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://oapi.myviewboard.com/devices/broadcast/stop", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'bearer ************'
}

r = requests.post('https://oapi.myviewboard.com/devices/broadcast/stop', headers = headers)

print(r.json())
require 'rest-client'
require 'json'

headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'bearer ************'
}

result = RestClient.post 'https://oapi.myviewboard.com/devices/broadcast/stop',
params: {
}, headers: headers

p JSON.parse(result)

POST /devices/broadcast/stop

Stop broadcasting to device

Body parameter

{
"title": "root",
"required": [
"deviceIds",
"entityId"
],
"type": "object",
"properties": {
"deviceIds": {
"type": "array",
"description": "a list of device IDs",
"items": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
}
},
"entityId": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string",
"description": "entity ID"
}
}
}

Parameters

Name In Type Required Description
body body DeviceBroadcastStopRequest true none
» deviceIds body [string] true a list of device IDs
» entityId body string true entity ID

Example responses

200 Response

{
"message": "success",
"messageCode": 59233361,
"responseCode": 31568442,
"status": 84822192
}

Responses

Status Meaning Description Schema
200 OK 200 response DeviceBroadcastResponse

Schemas

DeviceUsageList

{
"title": "Device Usage List",
"type": "array",
"items": {
"title": "Device usage information",
"required": [
"id",
"name",
"usage_time"
],
"type": "object",
"properties": {
"id": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
},
"name": {
"pattern": "^[a-zA-Z0-9]{16}$",
"type": "string"
},
"usage_time": {
"pattern": "^[1-9]{2}[.][0-9]{1}$",
"type": "string"
}
}
}
}

Device Usage List

Properties

Name Type Required Restrictions Description
Device Usage List [DeviceUsage] false none none

DeviceBroadcastRequest

{
"title": "Broadcast request",
"required": [
"deviceIds",
"entityId",
"message",
"type"
],
"type": "object",
"properties": {
"deviceIds": {
"type": "array",
"description": "a list of device IDs",
"items": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
}
},
"entityId": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string",
"description": "entity ID"
},
"loops": {
"type": "integer",
"description": "loop period in seconds (0 = forever and it is for standard message only)"
},
"message": {
"pattern": "^.{0,1024}$",
"type": "string",
"description": "message content (1024 character max for standard and 300 character max for urgent)"
},
"siren": {
"type": "boolean",
"description": "siren on or off (it is for urgent message only)"
},
"type": {
"pattern": "^standard|urgent$",
"type": "string",
"description": "standard or urgent message"
}
}
}

Broadcast request

Properties

Name Type Required Restrictions Description
deviceIds [string] true none a list of device IDs
entityId string true none entity ID
loops integer false none loop period in seconds (0 = forever and it is for standard message only)
message string true none message content (1024 character max for standard and 300 character max for urgent)
siren boolean false none siren on or off (it is for urgent message only)
type string true none standard or urgent message

GroupInfoList

{
"title": "Group list",
"type": "array",
"items": {
"title": "Group information",
"required": [
"id",
"name",
"number_of_devices"
],
"type": "object",
"properties": {
"id": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
},
"name": {
"pattern": "^[a-zA-Z0-9]{16}$",
"type": "string"
},
"number_of_devices": {
"type": "integer"
}
}
}
}

Group list

Properties

Name Type Required Restrictions Description
Group list [GroupInfo] false none none

GroupInfo

{
"title": "Group information",
"required": [
"id",
"name",
"number_of_devices"
],
"type": "object",
"properties": {
"id": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
},
"name": {
"pattern": "^[a-zA-Z0-9]{16}$",
"type": "string"
},
"number_of_devices": {
"type": "integer"
}
}
}

Group information

Properties

Name Type Required Restrictions Description
id string true none none
name string true none none
number_of_devices integer true none none

DeviceBroadcastResponse

{
"title": "Broadcast response",
"required": [
"message",
"messageCode",
"responseCode",
"status"
],
"type": "object",
"properties": {
"message": {
"pattern": "^success$",
"type": "string"
},
"messageCode": {
"type": "integer"
},
"responseCode": {
"type": "integer"
},
"status": {
"type": "integer"
}
}
}

Broadcast response

Properties

Name Type Required Restrictions Description
message string true none none
messageCode integer true none none
responseCode integer true none none
status integer true none none

GroupDeviceInfoList

{
"title": "Group device list",
"type": "array",
"items": {
"title": "Group device information",
"required": [
"id",
"last_connected",
"local_ip_address",
"model",
"name",
"note",
"status"
],
"type": "object",
"properties": {
"id": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
},
"last_connected": {
"pattern": "^2022-01-01T03:00:00[.]000Z$",
"type": "string"
},
"local_ip_address": {
"pattern": "172.21.0.130",
"type": "string"
},
"model": {
"pattern": "^[A-Z0-9]{10}$",
"type": "string"
},
"name": {
"pattern": "^[a-zA-Z0-9]{16}$",
"type": "string"
},
"note": {
"pattern": "^[a-z0-9]{32}$",
"type": "string"
},
"status": {
"type": "boolean",
"description": "HTTP Status Code"
}
}
}
}

Group device list

Properties

Name Type Required Restrictions Description
Group device list [GroupDeviceInfo] false none none

GroupDeviceInfo

{
"title": "Group device information",
"required": [
"id",
"last_connected",
"local_ip_address",
"model",
"name",
"note",
"status"
],
"type": "object",
"properties": {
"id": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
},
"last_connected": {
"pattern": "^2022-01-01T03:00:00[.]000Z$",
"type": "string"
},
"local_ip_address": {
"pattern": "172.21.0.130",
"type": "string"
},
"model": {
"pattern": "^[A-Z0-9]{10}$",
"type": "string"
},
"name": {
"pattern": "^[a-zA-Z0-9]{16}$",
"type": "string"
},
"note": {
"pattern": "^[a-z0-9]{32}$",
"type": "string"
},
"status": {
"type": "boolean",
"description": "HTTP Status Code"
}
}
}

Group device information

Properties

Name Type Required Restrictions Description
id string true none none
last_connected string true none none
local_ip_address string true none none
model string true none none
name string true none none
note string true none none
status boolean true none HTTP Status Code

DeviceUsage

{
"title": "Device usage information",
"required": [
"id",
"name",
"usage_time"
],
"type": "object",
"properties": {
"id": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
},
"name": {
"pattern": "^[a-zA-Z0-9]{16}$",
"type": "string"
},
"usage_time": {
"pattern": "^[1-9]{2}[.][0-9]{1}$",
"type": "string"
}
}
}

Device usage information

Properties

Name Type Required Restrictions Description
id string true none none
name string true none none
usage_time string true none none

DeviceProfile

{
"title": "Device information",
"required": [
"advanced",
"agent_version",
"asset_tag",
"date_of_enrollment",
"fw_version",
"id",
"mac_address",
"model",
"name",
"note",
"os_version",
"serial_number",
"status",
"volume",
"wifi_ssid"
],
"type": "object",
"properties": {
"advanced": {
"type": "boolean"
},
"agent_version": {
"pattern": "^([1]{1}[.][1-9]{1,2}[.][1-9]{1,2})$",
"type": "string"
},
"asset_tag": {
"pattern": "^[a-zA-Z0-9]{11}$",
"type": "string"
},
"date_of_enrollment": {
"pattern": "^2022-01-01T03:00:00[.]000Z$",
"type": "string"
},
"fw_version": {
"pattern": "^[0-9]{8}[.][0-9]{6}$",
"type": "string"
},
"id": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
},
"mac_address": {
"pattern": "^([0-9a-f]{2}[:]){5}([0-9a-f]{2})$",
"type": "string"
},
"model": {
"pattern": "^[A-Z0-9]{10}$",
"type": "string"
},
"name": {
"pattern": "^[a-zA-Z0-9]{16}$",
"type": "string"
},
"note": {
"pattern": "^[a-z0-9]{32}$",
"type": "string"
},
"os_version": {
"pattern": "^[a-z0-9]{12}$",
"type": "string"
},
"serial_number": {
"pattern": "^[A-Z0-9]{12}$",
"type": "string"
},
"status": {
"type": "boolean",
"description": "HTTP Status Code"
},
"volume": {
"pattern": "^[1-9]{2}$",
"type": "string"
},
"wifi_ssid": {
"pattern": "^[a-z0-9]{6}$",
"type": "string"
}
}
}

Device information

Properties

Name Type Required Restrictions Description
advanced boolean true none none
agent_version string true none none
asset_tag string true none none
date_of_enrollment string true none none
fw_version string true none none
id string true none none
mac_address string true none none
model string true none none
name string true none none
note string true none none
os_version string true none none
serial_number string true none none
status boolean true none HTTP Status Code
volume string true none none
wifi_ssid string true none none

Empty

{
"title": "Empty Schema",
"type": "object"
}

Empty Schema

Properties

None

DeviceProfileList

{
"title": "Device Profile List",
"type": "array",
"items": {
"title": "Device information",
"required": [
"advanced",
"agent_version",
"asset_tag",
"date_of_enrollment",
"fw_version",
"id",
"mac_address",
"model",
"name",
"note",
"os_version",
"serial_number",
"status",
"volume",
"wifi_ssid"
],
"type": "object",
"properties": {
"advanced": {
"type": "boolean"
},
"agent_version": {
"pattern": "^([1]{1}[.][1-9]{1,2}[.][1-9]{1,2})$",
"type": "string"
},
"asset_tag": {
"pattern": "^[a-zA-Z0-9]{11}$",
"type": "string"
},
"date_of_enrollment": {
"pattern": "^2022-01-01T03:00:00[.]000Z$",
"type": "string"
},
"fw_version": {
"pattern": "^[0-9]{8}[.][0-9]{6}$",
"type": "string"
},
"id": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
},
"mac_address": {
"pattern": "^([0-9a-f]{2}[:]){5}([0-9a-f]{2})$",
"type": "string"
},
"model": {
"pattern": "^[A-Z0-9]{10}$",
"type": "string"
},
"name": {
"pattern": "^[a-zA-Z0-9]{16}$",
"type": "string"
},
"note": {
"pattern": "^[a-z0-9]{32}$",
"type": "string"
},
"os_version": {
"pattern": "^[a-z0-9]{12}$",
"type": "string"
},
"serial_number": {
"pattern": "^[A-Z0-9]{12}$",
"type": "string"
},
"status": {
"type": "boolean",
"description": "HTTP Status Code"
},
"volume": {
"pattern": "^[1-9]{2}$",
"type": "string"
},
"wifi_ssid": {
"pattern": "^[a-z0-9]{6}$",
"type": "string"
}
}
}
}

Device Profile List

Properties

Name Type Required Restrictions Description
Device Profile List [DeviceProfile] false none none

DeviceStatisticsList

{
"title": "Device Statistics List",
"type": "array",
"items": {
"title": "Device statistics information",
"required": [
"id",
"last_boot_up",
"last_connected",
"total_uptime"
],
"type": "object",
"properties": {
"id": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
},
"last_boot_up": {
"pattern": "^2022-01-01T01:00:00[.]000Z$",
"type": "string"
},
"last_connected": {
"pattern": "^2022-01-01T03:00:00[.]000Z$",
"type": "string"
},
"total_uptime": {
"pattern": "^[1-9]{1} hrs [1-5]{1}[0-9]{1} mins$",
"type": "string"
}
}
}
}

Device Statistics List

Properties

Name Type Required Restrictions Description
Device Statistics List [DeviceStatistics] false none none

DeviceStatistics

{
"title": "Device statistics information",
"required": [
"id",
"last_boot_up",
"last_connected",
"total_uptime"
],
"type": "object",
"properties": {
"id": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
},
"last_boot_up": {
"pattern": "^2022-01-01T01:00:00[.]000Z$",
"type": "string"
},
"last_connected": {
"pattern": "^2022-01-01T03:00:00[.]000Z$",
"type": "string"
},
"total_uptime": {
"pattern": "^[1-9]{1} hrs [1-5]{1}[0-9]{1} mins$",
"type": "string"
}
}
}

Device statistics information

Properties

Name Type Required Restrictions Description
id string true none none
last_boot_up string true none none
last_connected string true none none
total_uptime string true none none

DeviceBroadcastStopRequest

{
"title": "root",
"required": [
"deviceIds",
"entityId"
],
"type": "object",
"properties": {
"deviceIds": {
"type": "array",
"description": "a list of device IDs",
"items": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string"
}
},
"entityId": {
"pattern": "^([a-z0-9]{8})(-[a-z0-9]{4}){3}(-[a-z0-9]{12})$",
"type": "string",
"description": "entity ID"
}
}
}

root

Properties

Name Type Required Restrictions Description
deviceIds [string] true none a list of device IDs
entityId string true none entity ID