Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

DELETE /v1/storage/:device/ 

Formats a storage device

You must disable the autorun before reformatting the SD card on your device.

To disable the autorun, use the PUT /v1/control/reboot with body parameter {“autorun”:”disable”}, as described in this page.

Segment

  • :device string: The specified storage device (see this page for a list of available devices)

Request Body

  • fs string: The file system to use when reformatting a storage device. The default value of fs is "exfat".

Request Example

Code Block
DELETE /api/v1/storage/sd/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/json, application/vnd.bsn.error+json
Content-Type: application/json
Content-Length: 49

This is the example request body:

Code Block
languagejson
{
  "fs": "exfat"
}

Response Example

Code Block
languagejson
{
  "data": {
    "result": {
      "success": true,
      "output": "Format completeted successfully.",
      "error": ""
    }
  }
}

Endpoints:

Table of Contents
minLevel1
maxLevel25
include
outlinefalse
indent
stylenone
excludeEndpoints:
typelist
class
printablefalse

GET /v1/diagnostics/ 

Runs network diagnostics on the player and returns the result in JSON format.

Request Example

Code Block
GET /api/v1/diagnostics/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/json

Response Body

For each of ethernet, wifi, modem, and internet:

  • diagnosis string: Indicates if this type of interface is present

  • log object[ ]: This contains the diagnostic results for the interface:

    • name string:  The name of the diagnostic test

    • pass bool: Indicates whether the test passed or not

    • result string: The actual value for the diagnostic tests like checking type and ping.

  • ok bool: If diagnostics were run on the interface or not.

Response Example

Expand
titleExpand
Code Block
languagejson
{
  "data": {
    "result": {
      "ethernet": {
        "diagnosis": "OK",
        "log": [
          {
            "name": "Checking model networking support",
            "pass": true,
            "result": ""
          },
          {
            "name": "Checking for Ethernet interface",
            "pass": true,
            "result": ""
          },
          {
            "name": "Checking interface type",
            "pass": true,
            "result": "Ethernet"
          },
          {
            "name": "Checking Ethernet link",
            "pass": true,
            "result": ""
          },
          {
            "name": "Checking Ethernet IP address",
            "pass": true,
            "result": ""
          },
          {
            "name": "Checking Ethernet netmask",
            "pass": true,
            "result": ""
          },
          {
            "name": "Checking Ethernet gateway",
            "pass": true,
            "result": "PING 10/10: 1375/1537/1623us"
          }
        ],
        "ok": true
      },
      "wifi": {
        "diagnosis": "WiFi interface not present",
        "log": [
          {
            "name": "Checking model networking support",
            "pass": true,
            "result": ""
          },
          {
            "name": "Checking for WiFi interface",
            "pass": false,
            "result": "WiFi interface not present"
          }
        ],
        "ok": false
      },
      "modem": {
        "diagnosis": "Modem interface not present",
        "log": [
          {
            "name": "Checking model networking support",
            "pass": true,
            "result": ""
          },
          {
            "name": "Checking for Modem interface",
            "pass": false,
            "result": "Modem interface not present"
          }
        ],
        "ok": false
      },
      "internet": {
        "diagnosis": "OK",
        "log": [
          {
            "info": [
              "DNS server 2600:1700:dac0:2060::1 is not a valid IPv4 address"
            ],
            "name": "Checking DNS servers",
            "pass": true,
            "result": "At least one DNS server is valid"
          },
          {
            "info": [
              "DNS pass/fail/timeout/mismatch UDP: 50/0/0/0 TCP 50/0/0/0"
            ],
            "name": "Checking DNS server (cached)",
            "pass": true,
            "result": "DNS servers responded to 100% of potentially cached requests"
          },
          {
            "info": [
              "DNS pass/fail/timeout/mismatch UDP: 5/0/0/0 TCP 5/0/0/0"
            ],
            "name": "Checking DNS server (hopefully not cached)",
            "pass": true,
            "result": "DNS servers responded to 100% of hopefully uncached requests"
          },
          {
            "name": "Checking Internet connectivity",
            "pass": true,
            "result": "PING 10/10: 87398/87760/88247us"
          },
          {
            "name": "Checking HTTP",
            "pass": true,
            "result": "External IP is 76.218.104.224"
          },
          {
            "name": "Checking time server",
            "pass": true,
            "result": ""
          }
        ],
        "ok": true
      }
    }
  }
}

GET /v1/diagnostics/dns-lookup/:address/ 

Runs a DNS lookup for an address, which can be a hostname or IP address.

Segment

  • :address: The hostname (for example, http://google.com) or IP address

Request Example

Code Block
GET /api/v1/diagnostics/dns-lookup/google.com/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/json

Response Body

The player queries each DNS field separately, then collects returned data into the records object, the tcp and udp connection information is in the server_test object, and returned errors into the errorList object.

  • records object:

    • ipv4 string[ ]: IPv4 addresses

    • ipv6 string[ ]: IPv6 addresses

    • text string[ ]: Text records

    • mx object[ ]: Mail exchange records

      • exchange string

      • priority int

  • server_test object:

    • tcp object:

      • made int:  The total number of DNS requests made

      • pass int: The total number of requests that passed

      • fail int: The total number of requests that failed.

      • timeout int: The total number of requests that timed out

      • mismatch int: The total number of mismatched requests between the host and pointer records

    • udp object:

      • made int:  The total number of DNS requests made

      • pass int: The total number of requests that passed

      • fail int: The total number of requests that failed.

      • timeout int: The total number of requests that timed out.

      • mismatch int: The total number of mismatched requests between the host and pointer records

  • errorList object[ ]

    • field string: The field ('ipv4', 'ipv6', 'cname', 'mx',  'service', or 'text') the error came from

    • err object:

Response Example

Code Block
languagejson
{
  "data": {
    "result": {
      "records": {
        "ipv4": [
          "142.250.105.113",
          "142.250.105.102",
          "142.250.105.139",
          "142.250.105.101",
          "142.250.105.138",
          "142.250.105.100"
        ],
        "ipv6": [
          "2607:f8b0:4002:c0c::8a",
          "2607:f8b0:4002:c0c::8b",
          "2607:f8b0:4002:c0c::71",
          "2607:f8b0:4002:c0c::64"
        ],
        "mx": [
          {
            "exchange": "smtp.google.com",
            "priority": 10
          }
        ]
      },
      "server_test": {
        "tcp": {
          "made": 100,
          "pass": 100,
          "fail": 0,
          "timeout": 0,
          "mismatch": 0
        },
        "udp": {
          "made": 100,
          "pass": 100,
          "fail": 0,
          "timeout": 0,
          "mismatch": 0
        }
      },
      "errorList": [
        {
          "field": "cname",
          "err": {
            "code": "ENODATA",
            "syscall": "queryCname",
            "hostname": "google.com"
          }
        },
        {
          "field": "service",
          "err": {
            "code": "ENODATA",
            "syscall": "querySrv",
            "hostname": "google.com"
          }
        },
        {
          "field": "text",
          "err": {
            "code": "ETIMEOUT",
            "syscall": "queryTxt",
            "hostname": "google.com"
          }
        }
      ]
    }
  }
}

GET /v1/diagnostics/ping/:ipAddress/ 

Pings the address passed in the request. This does not work for hostnames, only for IP addresses.

Segment

  • :ipAddress: The specified IP address

Request Example

Code Block
GET /api/v1/diagnostics/ping/0.0.0.0/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/json

Response Body

  • success bool: A flag that indicates if the operation succeeded or not

  • response object:

    • hostname string: The value that you passed in the URL

    • results object:

      • ipv4 object[ ]

        • address string: The IPv4 address that is pinged

        • results object:

          • received int: The number of packets received

          • stats object:

            • average int: The average time for the packet to return

            • quickest int: The quickest time for packet to return

            • slowest int: The slowest time for the packet to return

            • units int: The time units (usually microseconds)

          • transmitted int: The number of packets transmitted

      • ipv6 object[ ]: This will only be returned if IPv6 is present.

        • interface string:

        • source string:

        • address string: The IPv6 address that is pinged

        • results object:

          • received int: The number of packets received

          • transmitted int: The number of packets transmitted

Response Example

Code Block
languagejson
{
  "data": {
    "result": {
      "success": true,
      "response": {
        "hostname": "0.0.0.0",
        "results": {
          "ipv4": [
            {
              "address": "0.0.0.0",
              "results": {
                "received": 10,
                "stats": {
                  "average": 318,
                  "quickest": 223,
                  "slowest": 336,
                  "units": "us"
                },
                "transmitted": 10
              },
              "up": true
            }
          ]
        },
        "up": true
      }
    }
  }
}

GET /v1/diagnostics/trace-route/:address/ 

Runs trace-route on the player. You can optionally pass the boolean query parameter ?resolveAddress to resolve IP addresses in the result.

Segment

  • :address: The specified IP or hostname address

Query String Parameter

  • resolveAddress bool optional: Specifies whether the IP or hostname address should be resolved or not in the result

Request Example

Code Block
GET /api/v1/diagnostics/trace-route/google.com/?resolveAddress%3Dtrue HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/json

Response Body

  • address string: The IP address on which you are running the trace route

  • results object:

    • output string[ ]: Returns the trace route output information in text format

    • protocol string: The IP protocol (for example, "ipv4")

    • route object[ ]:

      • hop int: How many times the data moves from one router to the next 

      • servers object:

        • address string: The address to which the trace route request is made

        • hostname string: The server hostname

        • stats object[ ]

          • reachable string:

          • time string: The time required for the trace route request to return

          • units string: The time units (usually in milliseconds)

Response Example

Code Block
languagejson
{
    "data": {
        "result": {
            "address": "123.456.7.890",
            "resolveAddress": "true",
            "results": {
                "152.101.32.76": {
                    "output": [
                        "traceroute to 152.101.32.76 (152.101.32.76), 30 hops max, 46 byte packets",
                        " 1  10.0.4.1  0.744 ms  0.458 ms  1.740 ms",
                        " 2  192.168.0.1  1.738 ms  1.387 ms  1.387 ms",
                        " 3  96.120.89.217  10.553 ms  11.250 ms  11.961 ms",
                        " 4  96.110.176.145  11.958 ms  11.250 ms  9.845 ms",
                        " 5  162.151.78.253  11.957 ms  13.366 ms  10.549 ms",
                        " 6  96.108.99.249  13.366 ms  14.072 ms  20.414 ms",
                        " 7  68.86.143.93  13.368 ms  11.960 ms  10.549 ms",
                        " 8  96.97.98.246  32.397 ms  96.112.146.22  11.954 ms  69.241.75.42  9.841 ms",
                        " 9  *  *  *",
                        "10  152.101.32.76  10.452 ms  152.101.32.76  13.302 ms  152.101.32.76  12.649 ms",
                        "11  192.178.105.102  11.948 ms  142.251.224.181  11.073 ms  192.178.46.198  17.759 ms",
                        "12  142.251.32.46  11.955 ms  12.649 ms  10.543 ms"
                    ],
                    "protocol": "ipv4",
                    "result": 0,
                    "route": [
                        {
                            "error": "timeout",
                            "hop": 9
                        }
                    ]
                }
            }
        }
    }
}

GET /v1/diagnostics/network-neighborhood/ 

Retrieves information about the player’s current network neighborhood (the other players on the same network).

Request Example

Code Block
GET /api/v1/diagnostics/network-neighborhood/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}
Accept: application/json

Response Body

  • success bool: A flag that indicates if the operation succeeded

  • response object[ ]: An array of information about players in your network neighborhood

    • chassis-descr string: The model version, OS version, serial number, etc.

    • chassis-id string: A unique identifier for the player

    • chassis-name string: The name of the player

    • mgmt-ip string:

    • port-descr string: Which interface the player is using

    • port-id string:

    • vlan-pvid string:

If the diagnostic could not be performed, the response body may instead be an error message.

Response Example

Code Block
languagejson
{
  "data": {
    "result": {
      "success": true,
      "response": [
        {
          "chassis-descr": "BrightSign XT1144 REVE 8.5.47 UHE015005214",
          "chassis-id": "90:ac:3f:28:fb:a4",
          "chassis-name": "BrightSign-UHE015005214",
          "mgmt-ip": "2601:647:4500:1e5e:92ac:3fff:fe28:fba4",
          "port-descr": "eth0",
          "port-id": "90:ac:3f:28:fb:a4",
          "vlan-pvid": "0"
        }
      ]
    }
  }
}

GET /v1/diagnostics/network-configuration/:interfaceName/ 

Gets the network configuration on the player. See Local DWS APIs for more information about digest authentication.

Segment

  • :interfaceName: The network interface. Possible names include eth0wlan0, and modem.

Request Example

Code Block
GET /api/v1/diagnostics/network-configuration/eth0/ HTTP/1.1
Host: {{playerIP}}
Authorization: {{DigestAuth}}

Response Body

Some entries (e.g. caCertificatesclientIdentifier) are identical for all interfaces.

  • text string: The network configuration information in plain-text form

  • output Output: The network configuration information as a JSON object:

    • interfaces Interface[ ]: An array of Interface objects representing network interfaces:

      • name string: The interface name (for example, "eth0")

      • errors  Error[ ]: An array of error messages associated with the interface

      • params Param[ ]: An array of Param objects representing parameters associated with the network interface. Each Param interface has the following entries:

        • name string: The property name (e.g. "MAC")

        • value string: The property value (e.g. "90:ac:3f:0b:d2:88")

    • host Info[ ]: An array of Info objects providing network host information. Each object can have the following entries:

      • errors Error[ ]: An array of error messages associated with the network host

      • params Param[ ]: An array of Param objects representing parameters associated with the network host 

    • bsn Info[ ]: An array of Info objects providing information about BSN communication. 

    • other Info[ ]: An array of Info objects providing information miscellaneous network information.

  • caCertificate string optional: The contents of a CA certificate file in text form (i.e. a "pem" file).

  • clientCertificate bool optional: A flag indicating whether the player is using a client certificate

  • clientIdentifier string optional: The DHCP client identifier for the network interface

  • dnsServerListstring[ ] optional:  An IP address list of the DNS servers

  • domain string optional: The domain name for the network interface

  • eapTlsOptions string optional: A string containing EAP-specific options

  • enabledProtocolList string[ ] optional: An array of enabled IP protocols. Currently supported values are "IPv4" and "IPv6".

  • identity string optional: The RADIUS identity

  • ipAddressList string[ ] optional: The IP addresses assigned to the player

  • inboundShaperRate int optional: The bandwidth limit for inbound traffic in bits per second. A value of -1 specifies the default bandwidth limit, and a value of 0 specifies no bandwidth limit (these two settings are functionally the same).

  • metric int optional:  The routing metric for the default gateway on the interface. Routes with lower metrics are preferred over routes with higher metrics.

  • mtu int optional: The maximum transmission unit (MTU) for the network interface in bytes

  • privateKey string optional: The private key for authentication

  • vlanIdList int[ ] optional: An array of VLAN IDs that are supported on the parent network interface

  • securityMode string optional: Security mode for authentication

Response Example

Expand
titleExpand
Code Block
languagejson
{
  "data": {
    "result": {
      "success": true,
      "response": [
        {
          "text": "\r\nInterface: eth0\r\nType: Wired\r\nLink: Yes\r\nConfiguration: DHCP\r\nClient ID: BrightSign:RE433D006644\r\nMAC: 90:ac:3f:2a:01:79\r\nCurrent IP: 192.168.1.174\r\nNetmask: 255.255.255.0\r\nBroadcast: 192.168.1.255\r\nGateway: 192.168.1.254\r\nIP6 Address: 2600:1700:dac0:2060::43/128\r\nIP6 Address: 2600:1700:dac0:2060:92ac:3fff:fe2a:179/64\r\nIP6 Address: fe80::92ac:3fff:fe2a:179/64\r\nMetric: 0\r\nDomains: attlocal.net\r\nDNS: 192.168.1.254\r\n 2600:1700:dac0:2060::1\r\nShape inbound: No\r\n\r\nHost \r\nHost Name: BrightSign-RE433D006644\r\nmDNS Host Name: BrightSign-RE433D006644.local\r\nTime server: http://time.brightsignnetwork.com\r\nProxy Bypass: <none>\r\n\r\nBSN \r\nCrash URL: https://crashes.brightsignnetwork.com/bs/crashdump\r\nError URL: https://handlers.bsn.cloud//bs/error.ashx\r\nRecovery URL: https://handlers.bsn.cloud//recovery/recovery.ashx\r\n\r\nOther \r\nHttp Port: \r\n\r\n\r\n",
          "output": {
            "interfaces": [
              {
                "name": "eth0",
                "errors": [],
                "params": [
                  {
                    "name": "Type",
                    "value": [
                      "Wired"
                    ]
                  },
                  {
                    "name": "Link",
                    "value": [
                      "Yes"
                    ]
                  },
                  {
                    "name": "Configuration",
                    "value": [
                      "DHCP"
                    ]
                  },
                  {
                    "name": "Client ID",
                    "value": [
                      "BrightSign:RE433D006644"
                    ]
                  },
                  {
                    "name": "MAC",
                    "value": [
                      "90:ac:3f:2a:01:79"
                    ]
                  },
                  {
                    "name": "Current IP",
                    "value": [
                      "192.168.1.174"
                    ]
                  },
                  {
                    "name": "Netmask",
                    "value": [
                      "255.255.255.0"
                    ]
                  },
                  {
                    "name": "Broadcast",
                    "value": [
                      "192.168.1.255"
                    ]
                  },
                  {
                    "name": "Gateway",
                    "value": [
                      "192.168.1.254"
                    ]
                  },
                  {
                    "name": "IP6 Address",
                    "value": [
                      "2600:1700:dac0:2060::43/128"
                    ]
                  },
                  {
                    "name": "IP6 Address",
                    "value": [
                      "2600:1700:dac0:2060:92ac:3fff:fe2a:179/64"
                    ]
                  },
                  {
                    "name": "IP6 Address",
                    "value": [
                      "fe80::92ac:3fff:fe2a:179/64"
                    ]
                  },
                  {
                    "name": "Metric",
                    "value": [
                      "0"
                    ]
                  },
                  {
                    "name": "Domains",
                    "value": [
                      "attlocal.net"
                    ]
                  },
                  {
                    "name": "DNS",
                    "value": [
                      "192.168.1.254",
                      "2600:1700:dac0:2060::1"
                    ]
                  },
                  {
                    "name": "Shape inbound",
                    "value": [
                      "No"
                    ]
                  }
                ]
              }
            ],
            "Host": [
              {
                "errors": [],
                "params": [
                  {
                    "name": "Host Name",
                    "value": [
                      "BrightSign-RE433D006644"
                    ]
                  },
                  {
                    "name": "mDNS Host Name",
                    "value": [
                      "BrightSign-RE433D006644.local"
                    ]
                  },
                  {
                    "name": "Time server",
                    "value": [
                      "http://time.brightsignnetwork.com"
                    ]
                  },
                  {
                    "name": "Proxy Bypass",
                    "value": [
                      "<none>"
                    ]
                  }
                ]
              }
            ],
            "BSN": [
              {
                "errors": [],
                "params": [
                  {
                    "name": "Crash URL",
                    "value": [
                      "https://crashes.brightsignnetwork.com/bs/crashdump"
                    ]
                  },
                  {
                    "name": "Error URL",
                    "value": [
                      "https://handlers.bsn.cloud//bs/error.ashx"
                    ]
                  },
                  {
                    "name": "Recovery URL",
                    "value": [
                      "https://handlers.bsn.cloud//recovery/recovery.ashx"
                    ]
                  }
                ]
              }
            ],
            "Other": [
              {
                "errors": [],
                "params": [
                  {
                    "name": "Http Port",
                    "value": [
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        },
        {
          "caCertificates": "",
          "clientCertificate": false,
          "clientIdentifier": "BrightSign:RE433D006644",
          "dnsServerList": [],
          "domain": "",
          "eapTlsOptions": "",
          "enabledProtocolList": [
            "IPv4",
            "IPv6"
          ],
          "identity": "",
          "ipAddressList": [],
          "metric": 0,
          "privateKey": false,
          "securityMode": "",
          "vlanIdList": []
        }
      ]
    }
  }
}

PUT /v1/diagnostics/network-configuration/:interfaceName/ 

Applies a test network configuration on the player. You should use GET to get the configuration parameters before setting it using this API. The text and output parameters are NOT needed in PUT.

Segment

  • :interfaceName: The network interface. Possible names include eth0wlan0, and modem.

Request Body

  • caCertificate string optional: The contents of a CA certificate file in text form (i.e. a "pem" file).

  • clientCertificate bool optional: A flag indicating whether the player is using a client certificate

  • clientIdentifier string optional: The DHCP client identifier for the network interface

  • dnsServerList string[ ] optional:  An IP address list of the DNS servers

  • domain string optional: The domain name for the network interface

  • eapTlsOptions string optional: A string containing EAP-specific options

  • enabledProtocolList string[ ] optional: An array of enabled IP protocols. Currently supported values are "IPv4" and "IPv6".

  • identity string optional: The RADIUS identity

  • ipAddressList string[ ] optional: The IP addresses assigned to the player

  • inboundShaperRate int optional: The bandwidth limit for inbound traffic in bits per second. A value of -1 specifies the default bandwidth limit, and a value of 0 specifies no bandwidth limit (these two settings are functionally the same).

  • metric int optional:  The routing metric for the default gateway on the interface. Routes with lower metrics are preferred over routes with higher metrics.

  • mtu int optional: The maximum transmission unit (MTU) for the network interface in bytes

  • privateKey string optional: The private key for authentication

  • vlanIdList int[ ] optional: An array of VLAN IDs that are supported on the parent network interface

  • securityMode string optional: Security mode for authentication

Request Example

The example request parameters and headers are set as follows:

Code Block
PUT /api/v1/diagnostics/network-configuration/eth0 HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 75

This is the example request body:

Code Block
languagejson
{
  "caCertificates": "",
  "clientCertificate": false,
  "clientIdentifier": "BrightSign:D7E8CV332141",
  "dnsServerList": ["192.168.86.1"],
  "domain": "lan",
  "eapTlsOptions": "",
  "enabledProtocolList": [
    "IPv4",
    "IPv6"
  ],
  "identity": "",
  "ipAddressList": [],
  "inboundShaperRate": 0, 
  "metric": 1002,
  "privateKey": false,
  "securityMode": "",
  "vlanIdList": []
}

Response Example

Code Block
languagejson
{
    "success": true, 
    "reboot": true // Indicates whether the player will reboot 
}

GET /v1/diagnostics/interfaces/ 

Returns list of applied network interfaces on the player.

Request Body

Code Block
GET /api/v1/diagnostics/interfaces/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json

Response Body

Code Block
languagejson
{
    "data": {
        "result": [
            "eth0",
            "ppp0"
        ]
    }
}

GET /v1/diagnostics/packet-capture/ 

Returns the current status of packet capture operation. 

Request Example

Code Block
GET /api/v1/diagnostics/packet-capture/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json

Response Body

  • statusCode int: The success or error code (200 is success)

  • is_running bool: Flag indicating if the packet capture operation is running

Response Example

Code Block
languagejson
{
  "data": {
    "result": {
      "statusCode": 200,
      "is_running": false
    }
  }
}

POST /v1/diagnostics/packet-capture/ 

Starts a packet capture operation

Request Body

  • filename string: The name of the packet capture file. If you don't pass this string, 'capture.pcap' is the default.

  • net_interface string: The name of the network interface for which we are performing packet capture. 'eth0' is the default.

  • duration int: The duration for which the packet capture runs in seconds. The default is 300 seconds (5 minutes).

  • maxpackets int: The maximum number of packets to capture before concluding the process. 0 is the default value.

  • snaplen int: The maximum size of each packet. Specifying 0 will instruct the function to capture the entire packet no matter the size.

  • filter string:  A field for conditional filtering of packets. This operation uses standard pcap syntax. This string is empty by default

Request Example

Code Block
POST /api/v1/diagnostics/packet-capture/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 190

This is the example request body:

Code Block
languagejson
{
  "filename": "capture.pcap",
  "interface": "eth0",
  "duration": 300,
  "maxpackets": 0,
  "snaplen": 0,
  "filter": ""
}

Response Example

Code Block
languagejson
{
  "data": {
    "result": {
      "statusCode": 200,
      "is_running": true
    }
  }
}

DELETE /v1/diagnostics/packet-capture/ 

Stops a packet capture operation

Request Example

Code Block
DELETE /api/v1/diagnostics/packet-capture/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json

Response Example

Code Block
languagejson
{
  "data": {
    "result": {
      "statusCode": 200,
      "is_running": false
    }
  }
}

GET /v1/diagnostics/telnet/

Returns information about whether or not Telnet is enabled on the player, and the port number on which it is enabled if it is. This is only available in BOS 9.0.110 or 8.5.46 and above.

Request Example

Code Block
GET /api/v1/diagnostics/telnet/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json

Response Example

A successful response is a 200 and this response body:

Code Block
languagejson
{
    "enabled": true,
    "portNumber": 23
}

PUT /v1/diagnostics/telnet/

This is only available in BOS 9.0.110 or 8.5.46 and above.

Request Body

  • enabled boolean: Enable or disable Telnet on the player

  • portNumber integer: The port number on which to enable Telnet

  • reboot boolean: This optional parameter reboots the player immediately after executing this operation. It is true by default.

Request Example

The example request parameters and headers are set as follows:

Code Block
PUT /api/v1/diagnostics/telnet/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 75

This is the example request body:

Code Block
languagejson
{
   "enabled": true
   "portNumber": "23"
}

Response Example

Code Block
languagejson
{
    "success": true, 
    "reboot": true 
}

GET /v1/diagnostics/ssh/

Returns information about whether or not SSH is enabled on the player, and the port number on which it is enabled if it is. This is only available in BOS 9.0.110 or 8.5.46 and above.

Request Example

The example request parameters and headers are set as follows:

Code Block
GET /api/v1/diagnostics/ssh/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json

Response Example

A successful response is a 200 and this response body:

Code Block
languagejson
{
    "enabled": true,
    "portNumber": 22,
    "password": true // Indicates that a value is set
}

PUT /v1/diagnostics/ssh/

This is only available in BOS 9.0.110 or 8.5.46 and above.

Request Body

  • enabled boolean: Enable or disable SSH on the player

  • portNumber integer: The port number on which to enable SSH

  • password string: Sets the plain-text login password for the SSH connection

  • reboot boolean: This optional parameter reboots the player immediately after executing this operation. It is true by default.

  • obfuscatedPassword string: This optional parameter sets the login password for the SSH connection. The password should previously have been obfuscated using a shared secret. Contact support@brightsign.biz to learn more about generating a key for obfuscation and storing it on the player.

Request Example

The example request parameters and headers are set as follows:

Code Block
PUT /api/v1/diagnostics/ssh/ HTTP/1.1
Host: {{PlayerIP}}
Authorization: {{DigestAuth}}
Accept: application/json
Content-Type: application/json
Content-Length: 65

This is the example request body:

Code Block
languagejson
{
    "enabled": true,
    "portNumber": 22,
    "password": {{password}}
}

Response Example

Code Block
languagejson
{
    "success": true, 
    "reboot": true
}