...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Base URL for these endpoints: https://ws.bsn.cloud/rest/v1/
______________________________________________________________________
...
GET /info/
Retrieves general information about the player
Request Example
Code Block |
---|
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+json |
Response
...
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
interfaceConfig{ }: An InterfaceConfig object containing information about the Ethernet connection. This property will only be available if there's a valid Ethernet connection on the player. The Interface Config object can contain the following properties:
...
IPv4
ipConfig{ }: An IPConfig object containing information about the IPv4 configuration. The IPConfig object can contain the following properties:
address
stringnetmask
stringfamily
stringmac
stringinternal
boolcidr
string
...
___
GET /info/
Retrieves general information about the player
Request Example
Code Block |
---|
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+json |
Response
serial
string: The serial number of the playermodel
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 addressnetmask
string: The IPv4 network maskfamily
string:IPv4
mac
string: The MAC address of the network interfaceinternal
bool:true
if the network interface is a loopback or similar interface that is not remotely accessible; otherwisefalse
cidr
string: The assigned IPv4 address with the routing prefix in CIDR notation. If thenetmask
is invalid, this property is set tonull
.
IPv6
object: An object containing information about the IPv6 configuration:address
string: The assigned IPv6 addressnetmask
string: The IPv6 network maskfamily
string:IPv6
mac
string: The MAC address of the network interfaceinternal
bool:true
if the network interface is a loopback or similar interface that is not remotely accessible; otherwisefalse
cidr
string: The assigned IPv4 address with the routing prefix in CIDR notation. If thenetmask
is invalid, this property is set tonull
.
bootVersion
string: The current version of the boot loaderfwVersion
string: The current version of firmware installed on the playerupTime
string: The amount of time (as a human-readable string) that the player has been powered on and working correctlyupTimeSeconds
int: The amount of time (in seconds) that the player has been powered on and working correctlyextensions
extension[ ]: An array of Extension objects describing Firmware Extensions currently installed on the playerblessings
blessing[ ]: An array of Blessing objects describing proprietary codecs that are currently authorized on the player
Response Example
Expand | ||
---|---|---|
|
...
|
...
|
...
Endpoints:
...
|
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
Code Block |
---|
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+json |
...
Response Example
Code Block |
---|
...
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+json
Response Example
...
language | json |
---|
...
| ||
{ "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
Code Block |
---|
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: 117 |
This is the example request body:
Code Block | ||
---|---|---|
| ||
{ " |
...
data": |
...
{ |
...
" |
...
time": |
...
"22:00:00", |
...
|
...
PUT /time/
Sets the date/time on the player
Request Body Parameters
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
Code Block |
---|
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: 117 |
This is the example request body:
Code Block | ||
---|---|---|
| ||
{
"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:
Code Block | ||
---|---|---|
| ||
{
"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
Code Block |
---|
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+json |
Response Body
...
status
string: The player status. The only possible value is "active".
...
"date": "2023-11-07",
"applyTimezone": true
}
} |
Response Example
A successful response would be a 200 status code with the following body:
Code Block | ||
---|---|---|
| ||
{
"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
Code Block |
---|
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+json |
Response 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
Code Block | ||
---|---|---|
| ||
{
"route": "/v1/health",
"method": "GET",
"data": {
"result": {
"status": "active",
"statusTime": "2024-01-30 07:38:05 PST"
}
}
} |