NAV Navigation
curl JavaScript Go Python Ruby

MyViewboard Open API Doc v2106

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 APIKey and use it to make operations on remote devices.

Base URLs:

Authentication

Devices

Get list

Code samples

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

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

fetch('https://oapi.myviewboard.com/devices?entity_id=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': '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 devices belongs to the entity

Example responses

200 Response

[
{
"agent_version": "gv0fexq7jst8dtoid4md8onfiotxzz4d",
"asset_tag": "xzrxixcu7lb7pfbmj0wy5pbikm11z5nm",
"fw_version": "1h8hm6t71hfyoq026w21z7vpb1ucv647",
"id": "efkjaycw-04wnmjbp-spozeyc9-fijh3w51",
"mac_address": "nr87od8s5mbeubcv16ujdpholyonr6c0",
"model": "181k375xemczw186o3g7ys0u02b3o4dw",
"name": "3nimhe5m32qv6ajj8y5594l5040jvgkr",
"note": "wblb9pabiw60e80bwe17bbiknfwg5r1p",
"os_version": "wjfvtad72i4719ktpab3xykr5ypoxl6i",
"serial_number": "eq6h1e634dha6v5p64pxi8v9d3ort68x",
"status": "wkzrr5a9di7lqstyqlykwz8k5s1aoj5r"
},
{
"agent_version": "lc64rdf4oqeelotbg9v8bu9ao26po8i1",
"asset_tag": "aacw0zdyoqlrhh9rwvlf1jgtwx0di8px",
"fw_version": "nex8vv1ggwh1omrfchg6ll1io5es2okq",
"id": "k8ekwh9b-oxa5v46r-7794sw5k-6hknwrld",
"mac_address": "ynndazvks4ojxu4kl61jvg85l41hv3zb",
"model": "xfwx359b43xzvj53ez1anizq3hj5wuks",
"name": "ily9b49tdtisjl0z39f0a7yq59o62v4t",
"note": "y71e0a0u4htnvq3xuoq6nby3hu55dloz",
"os_version": "fnjlika7fwqde4dojbtirl9srbmtcu6k",
"serial_number": "5occp70zt9b82uvcdf7rpfbo2mhfg44g",
"status": "0w8ktde1tfobxlcpvczysebvo40zitoa"
}
]

Responses

Status Meaning Description Schema
200 OK 200 response DeviceProfileList

Post broadcast message

Code samples

# You can also use wget
curl -X POST https://oapi.myviewboard.com/devices/{act} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: bearer ************'
const inputBody = '{
"deviceIds": [
"kq2x3mbl-0ksn-dcz5-wjw4-c76v0wdpn8nv",
"kwmjt80h-koum-3lh3-srp1-o2mwvsgns2gc"
],
"entityId": "vbua2jcc-0wg7-hegz-n1ti-9bwae2dwui71",
"message": "bPRGyeJNRgSVMpgI?N;EMHU^?L@;^.R(<85TbfX3SHC]o{tiaNdzoGu<x%rR[v: X%!@#*q8d\"[gXYcwi~Q9g^\\Duu5@)-@ti%A",
"type": "urgent",
"siren": false,
"loops": "358"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'bearer ************'
};

fetch('https://oapi.myviewboard.com/devices/{act}',
{
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/{act}", 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/{act}', 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/{act}',
params: {
}, headers: headers

p JSON.parse(result)

POST /devices/{act}

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

{
"deviceIds": [
"kq2x3mbl-0ksn-dcz5-wjw4-c76v0wdpn8nv",
"kwmjt80h-koum-3lh3-srp1-o2mwvsgns2gc"
],
"entityId": "vbua2jcc-0wg7-hegz-n1ti-9bwae2dwui71",
"message": "bPRGyeJNRgSVMpgI?N;EMHU^?L@;^.R(<85TbfX3SHC]o{tiaNdzoGu<x%rR[v: X%!@#*q8d\"[gXYcwi~Q9g^\\Duu5@)-@ti%A",
"type": "urgent",
"siren": false,
"loops": "358"
}

Parameters

Name In Type Required Description
act path string true action post to the device, only support ‘broadcast’ for now
body body DeviceBroadcastRequest true none
» deviceIds body [string] true a list of device IDs
» entityId body string true none
» 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

{
"pariatur_": -99898657,
"ad_a": false,
"in7c5": "aliquip ut veniam"
}

Responses

Status Meaning Description Schema
200 OK 200 response DeviceBroadcastResponse

Schemas

DeviceProfile

{
"agent_version": "string",
"asset_tag": "string",
"fw_version": "string",
"id": "string",
"mac_address": "string",
"model": "string",
"name": "string",
"note": "string",
"os_version": "string",
"serial_number": "string",
"status": "string"
}

Device information

Properties

Name Type Required Restrictions Description
agent_version string true none none
asset_tag 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 string true none none

Empty

{}

Empty Schema

Properties

None

DeviceBroadcastRequest

{
"deviceIds": [
"string"
],
"entityId": "string",
"loops": 0,
"message": "string",
"siren": true,
"type": "string"
}

root

Properties

Name Type Required Restrictions Description
deviceIds [string] true none a list of device IDs
entityId string true none none
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

DeviceProfileList

[
{
"agent_version": "string",
"asset_tag": "string",
"fw_version": "string",
"id": "string",
"mac_address": "string",
"model": "string",
"name": "string",
"note": "string",
"os_version": "string",
"serial_number": "string",
"status": "string"
}
]

Device Profile List

Properties

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

DeviceBroadcastResponse

{
"status": "string"
}

Broadcast response

Properties

Name Type Required Restrictions Description
status string false none none