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
- API Key (auth-mvbkey)
- Parameter Name: Authorization, in: header.
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 |