Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Base URL for these endpoints:

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 string

    • netmask string

    • family string

    • mac string

    • internal bool

    • cidr string

  • IPv6 ipConfig{ }: An IPConfig object containing information about the IPv6 configuration
    =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 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

    Expand
    titleExpand to see response example:
    Code Block
    languagejson
    {
        "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
            }
        }
    }

    Endpoints:

    Table of Contents
    minLevel1
    maxLevel2
    outlinefalse
    indent20px
    typelist
    printablefalse

    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
    languagejson
    {
        "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
    languagejson
    {
        "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
    languagejson
    {
      "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
    languagejson
    {
        "route": "/v1/health",
        "method": "GET",
        "data": {
            "result": {
                "status": "active",
                "statusTime": "2024-01-30 07:38:05 PST"
            }
        }
    }