rDWS Information Endpoints
Base URL for these endpoints: https://ws.bsn.cloud/rest/v1/
_________________________________________________________________________
GET /info/
Retrieves general information about the player
Request Example
GET /rest/v1/info/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonResponse
- serial string: The serial number of the player
- model string: The model number of the device (e.g. "XD234")
- connectionType string: The currently active network interface, which can be either "Ethernet" or "WiFi"
- ethernet object: An object containing information about the ethernet connection. This property will only be available if there's a valid ethernet connection on the player. The object can contain the following properties:
- IPv4 object: An object containing information about the IPv4 configuration. The object can contain the following properties:
- address string: The assigned IPv4 address
- netmask string: The IPv4 network mask
- family string: IPv4
- mac string: The MAC address of the network interface
- internal bool: true if the network interface is a loopback or similar interface that is not remotely accessible; otherwise false
- cidr string: The assigned IPv4 address with the routing prefix in CIDR notation. If the netmask is invalid, this property is set to null.
- IPv6 object: An object containing information about the IPv6 configuration:
- address string: The assigned IPv6 address
- netmask string: The IPv6 network mask
- family string: IPv6
- mac string: The MAC address of the network interface
- internal bool: true if the network interface is a loopback or similar interface that is not remotely accessible; otherwise false
- cidr string: The assigned IPv4 address with the routing prefix in CIDR notation. If the netmask is invalid, this property is set to null.
- bootVersion string: The current version of the boot loader
- fwVersion string: The current version of firmware installed on the player
- upTime string: The amount of time (as a human-readable string) that the player has been powered on and working correctly
- upTimeSeconds int: The amount of time (in seconds) that the player has been powered on and working correctly
- extensions extension[ ]: An array of Extension objects describing Firmware Extensions currently installed on the player
- blessings blessing[ ]: An array of Blessing objects describing proprietary codecs that are currently authorized on the player
Response Example
{
"route": "/v1/info",
"method": "GET",
"data": {
"result": {
"serial": "RE433D006644",
"upTime": "30 minutes",
"upTimeSeconds": 1832,
"model": "XD1035",
"FWVersion": "9.0.97",
"bootVersion": "9.0.85",
"family": "cobra",
"isPlayer": true,
"power": {
"result": {
"battery": "absent",
"source": "AC",
"switch_mode": "hard"
}
},
"poe": {
"result": {
"status": "inactive"
}
},
"extensions": {
"result": {
"extensions": []
}
},
"blessings": {
"result": {
"ac3": false,
"eac3": false
}
},
"networking": {
"result": {
"description": "Test_player",
"name": "XD5-RE433D006644"
}
},
"bvnPipelines": {
"result": {
"pipelines": []
}
},
"bvnComponents": {
"result": {
"components": []
}
},
"hardware_features": {
"hdmi": true,
"component video": false,
"vga": false,
"two channel audio": true,
"ethernet": true,
"usb": true,
"serial port 0": true,
"serial port 1": false,
"gpio connector": true,
"svc button": true,
"reset button": true,
"rtc": true,
"settings rom": false,
"microsd": false,
"sdhc": true,
"six channel audio": false,
"ir blaster": true,
"wifi": false,
"serial port 2": false,
"audio input": false,
"cec": true,
"battery": false,
"portrait lcd": false,
"hdmi input": false,
"digital tuner": false,
"spdif": true,
"audio input loopback": false,
"msata": false,
"ac3": false,
"eac3": false,
"onboard storage": true,
"no 4k decode": false,
"no bluetooth": false,
"no poe": false,
"internal storage only": false,
"disable packet capture": false,
"disable bsn cloud": false,
"brightear": false,
"disable dws": false
},
"api_features": {
"video": true
},
"active_features": {
"legacyDWS": true
},
"connectionType": "eth0",
"ethernet": [
{
"interfaceName": "eth0",
"interfaceType": "Ethernet",
"IPv4": [
{
"address": "123.456.7.890",
"netmask": "255.255.255.0",
"family": "IPv4",
"mac": "90:ac:3f:2a:01:79",
"internal": false,
"cidr": "192.168.1.174/24"
}
],
"IPv6": [
{
"address": "2600:1700:dac0:2060::23",
"netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
"family": "IPv6",
"mac": "90:ac:3f:2a:01:79",
"internal": false,
"cidr": "2600:1700:dac0:2060::23/128",
"scopeid": 0
},
{
"address": "2600:1700:dac0:2060:92ac:3fff:fe2a:179",
"netmask": "ffff:ffff:ffff:ffff::",
"family": "IPv6",
"mac": "90:ac:3f:2a:01:79",
"internal": false,
"cidr": "2600:1700:dac0:2060:92ac:3fff:fe2a:179/64",
"scopeid": 0
},
{
"address": "fe80::92ac:3fff:fe2a:179",
"netmask": "ffff:ffff:ffff:ffff::",
"family": "IPv6",
"mac": "90:ac:3f:2a:01:79",
"internal": false,
"cidr": "fe80::92ac:3fff:fe2a:179/64",
"scopeid": 2
}
]
}
],
"wireless": [],
"interfaces": [],
"bsnce": true
}
}
}GET /time/
Retrieves the date and time as configured on the player. The date/time value is formatted as "yyyy-mm-dd hh:mm:ss <timezone>". This call is identical to using the Node.js® time API.
Request Example
GET /rest/v1/time/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonResponse Example
{
"route": "/v1/time",
"method": "GET",
"data": {
"result": {
"time": "2018-10-18 14:34:34 PDT",
"timezone_mins": null,
"timezone_name": "America/Los_Angeles",
"timezone_abbr": "PDT",
"year": 2018,
"month": 10,
"date": 18,
"hour": 14,
"minute": 34,
"second": 34,
"millisecond": 569
}
}
}PUT /time/
Sets the date/time on the player
Request Body
- time string: The time to set on the player, formatted as "hh:mm:ss <timezone>"
- date string: The date to set on the player, formatted as "yyyy-mm-dd"
- applyTimezone bool: A flag specifying whether the date and time should be applied using the time zone configured on the player (true) or the UTC time zone (false)
Request Example
PUT /rest/v1/time/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Content-Type: application/json
Content-Length: 117This is the example request body:
{
"data": {
"time": "22:00:00",
"date": "2023-11-07",
"applyTimezone": true
}
}Response Example
A successful response would be a 200 status code with the following body:
{
"data": {
"result": true
}
}GET /health/
Retrieves the current status of the player. Currently, this endpoint is only used to determine if a player can respond to a WebSockets request; it cannot determine the error state of a player.
Request Example
GET /rest/v1/health/?destinationType=player&destinationName={{deviceSerial}} HTTP/1.1
Host: ws.bsn.cloud
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+jsonResponse Body
- status string: The player status. The only possible value is "active".
- statusTime string: The date and time the player responded to the status request. The date/time is formatted as "yyyy-mm-dd hh:mm:ss <timezone>".
Response Example
{
"route": "/v1/health",
"method": "GET",
"data": {
"result": {
"status": "active",
"statusTime": "2024-01-30 07:38:05 PST"
}
}
}