Versions Compared

Key

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

This endpoint allows for management and monitoring of devices on the network. 

Base URL for these endpoints:  https://api.bsn.cloud/2022/06/REST/Devices

_________________________________________________________________________

GET /

Retrieves a list of devices on the network.

...

bsn.api.main.devices.retrieve

______________________________________________________________

Query String Parameters

filter string optional

An expression for filtering search results. The default value is null.

sort string optional

An expression for sorting the search results. The sort expression specifies the entry used for sorting and the ascending/descending (ASC/DESC) sorting order (e.g. "[Device].[Serial] ASC"). 

marker string optional

A value specifying which page to retrieve. This value is useful if the isTruncated entry in the response body of the previous GET call indicates that the number of device instances exceeds the pageSize.

This parameter is only required if you need more elements in the paged list than the pageSize (100).

pageSize int optional

The maximum number of device instances that can be contained in the response body. This defaults to the maximum allowed page size (100).

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/?marker=Mj0kwMTU2&pageSize=1&filter=%5BModel%5D%20IS%20%27HD1024%27&sort=%5BLastModifiedDate%5D%20ASC HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns a paged list of Player Entity instances on a network. This will return not more than 100 entities along with the information necessary to return any other remaining pages.

...

Expand
titleExpand
Code Block
languagejson
{
  "items": [
    {
      "id": 12345,
      "serial": "46C89C101829",
      "model": "HD1024",
      "family": "Pagani",
      "registrationDate": "2020-07-09T19:15:22.773Z",
      "lastModifiedDate": "2021-05-04T18:04:17.97Z",
      "settings": {
        "name": "HDPlayer",
        "description": "Primary Display",
        "concatNameAndSerial": false,
        "setupType": "BSN",
        "lastModifiedDate": "2022-01-05T18:12:22.643Z",
        "group": {
          "id": 123,
          "name": "TestGroup",
          "link": null
        },
        "brightWall": null,
        "timezone": "PST",
        "screen": {
          "idleColor": "FF702896",
          "splashUrl": null
        },
        "synchronization": {
          "status": {
            "period": "00:05:00"
          },
          "settings": {
            "period": "00:00:00"
          },
          "schedule": {
            "period": "06:00:00"
          },
          "content": {
            "start": null,
            "end": null
          }
        },
        "network": {
          "hostname": "BrightSign-46C89C101829",
          "proxyServer": null,
          "proxyBypass": [],
          "timeServers": [
            "http://time.brightsignnetwork.com/"
          ],
          "interfaces": [
            {
              "name": "eth0",
              "type": "Ethernet",
              "enabled": true,
              "proto": "Static",
              "ip": [
                "192.168.0.2/24",
                "EF88:7::2FAB:7657/64"
              ],
              "gateway": "192.168.0.1",
              "dns": [
                "192.168.0.125",
                "74.38.99.135"
              ],
              "rateLimitDuringInitialDownloads": null,
              "rateLimitInsideContentDownloadWindow": null,
              "rateLimitOutsideContentDownloadWindow": null,
              "contentDownloadEnabled": true,
              "textFeedsDownloadEnabled": true,
              "mediaFeedsDownloadEnabled": true,
              "healthReportingEnabled": true,
              "logsUploadEnabled": true
            },
            {
              "name": "eth0.25",
              "type": "Virtual",
              "enabled": false,
              "parent": "eth0",
              "vlanId": 25,
              "proto": "DHCPv4",
              "ip": null,
              "gateway": null,
              "dns": null,
              "rateLimitDuringInitialDownloads": null,
              "rateLimitInsideContentDownloadWindow": null,
              "rateLimitOutsideContentDownloadWindow": null,
              "contentDownloadEnabled": false,
              "textFeedsDownloadEnabled": false,
              "mediaFeedsDownloadEnabled": false,
              "healthReportingEnabled": true,
              "logsUploadEnabled": true
            },
            {
              "name": "wlan0",
              "type": "WiFi",
              "enabled": true,
              "ssid": "hall_devices",
              "security": {
                "authentication": {
                  "mode": "Shared",
                  "passphrase": "A8200E996438DE85103486A44CA96A999B0A6D"
                },
                "encryption": {
                  "mode": "TKIP"
                }
              },
              "proto": "NDP, DHCPv6",
              "ip": null,
              "gateway": null,
              "dns": null,
              "rateLimitDuringInitialDownloads": 10240000,
              "rateLimitInsideContentDownloadWindow": 10240000,
              "rateLimitOutsideContentDownloadWindow": 256000,
              "contentDownloadEnabled": true,
              "textFeedsDownloadEnabled": true,
              "mediaFeedsDownloadEnabled": false,
              "healthReportingEnabled": true,
              "logsUploadEnabled": false
            },
            {
              "name": "ppp0",
              "type": "Cellular",
              "enabled": true,
              "modems": [
                {
                  "model": "BrightSign IK41",
                  "usbDeviceIds": [
                    "1bbb:00b6"
                  ]
                }
              ],
              "sims": [
                {
                  "mcc": "901",
                  "mnc": "28",
                  "connection": {
                    "type": "Default"
                  }
                },
                {
                  "mcc": "204",
                  "mnc": "04",
                  "connection": {
                    "type": "Default"
                  }
                }
              ],
              "rateLimitDuringInitialDownloads": null,
              "rateLimitInsideContentDownloadWindow": null,
              "rateLimitOutsideContentDownloadWindow": null,
              "contentDownloadEnabled": true,
              "textFeedsDownloadEnabled": true,
              "mediaFeedsDownloadEnabled": true,
              "healthReportingEnabled": true,
              "logsUploadEnabled": true
            },
            {
              "name": "usb0",
              "type": "Ethernet",
              "enabled": true,
              "proto": "Static",
              "ip": [
                "132.80.245.191/24"
              ],
              "gateway": null,
              "dns": [
                "132.80.245.142"
              ],
              "rateLimitDuringInitialDownloads": null,
              "rateLimitInsideContentDownloadWindow": null,
              "rateLimitOutsideContentDownloadWindow": null,
              "contentDownloadEnabled": false,
              "textFeedsDownloadEnabled": false,
              "mediaFeedsDownloadEnabled": false,
              "healthReportingEnabled": false,
              "logsUploadEnabled": false
            },
            {
              "name": "eth0.110",
              "type": "Virtual",
              "enabled": true,
              "parent": "eth0",
              "vlanId": 110,
              "proto": "Static",
              "ip": [
                "16.194.230.251/28"
              ],
              "gateway": "16.194.230.241",
              "dns": [
                "192.168.0.125",
                "74.38.99.135"
              ],
              "rateLimitDuringInitialDownloads": null,
              "rateLimitInsideContentDownloadWindow": null,
              "rateLimitOutsideContentDownloadWindow": null,
              "contentDownloadEnabled": true,
              "textFeedsDownloadEnabled": true,
              "mediaFeedsDownloadEnabled": true,
              "healthReportingEnabled": true,
              "logsUploadEnabled": true
            }
          ]
        },
        "beacons": [],
        "location": {
         "placeId": null,
         "gpsLatitude": 37.4152,
         "gpsLongitude": -122.1224,
         "country": "US",
         "countryLongName": "United States",
         "adminAreaLevel1": "CA",
         "adminAreaLevel1LongName": "California",
         "adminAreaLevel2": "Santa Clara County",
         "adminAreaLevel2LongName": "Santa Clara County",
         "locality": "Palo Alto",
         "localityLongName": "Palo Alto",
         "path": "/US/CA/Santa Clara County/Palo Alto/",
         "pathLongName": "/United States/California/Santa Clara County/Palo Alto/"
        },
        "screenshots": null,
        "logging": {
          "enableDiagnosticLog": false,
          "enableEventLog": false,
          "enablePlaybackLog": false,
          "enableStateLog": false,
          "enableVariableLog": false,
          "uploadAtBoot": false,
          "uploadTime": null
        },
        "lws": {
          "username": "",
          "password": "",
          "enableUpdateNotifications": true
        },
        "ldws": {
          "password": "RLSJZ35Sm9b1lB0npVFW4kPYegscBlMF3NFG6wtOaSTXIoC+iR5NGrhJa77ZaWTgpiCzPdDdnwMlQSb4QLqe6nEFx6q/927scO6LlVTtRBVch+RlgzlJ2SXYqAH6TUx66JRFuvCxyHzL0iUNKR/R4E1hdTQpxH3yXIPJ5OBOTlaw8OW6DZNixDGMuvhgmWAW9/TgksUYTlwb1SKqGzQOrDYmmg+A71YMGV6NcKbuN3P0DjQsMrVxlFe9+awQ73LSxqKF5Q52FjUhgSKsYcTtnoJvY/n9HWcREyxOPKF7vsEIfKOeG/qoFBvgZZKOoqaTyD82iBKbOQu9WllBGX+qaaTTQHR1SrZoyS2PDmBlddLhngE4BHiDxmOPhm69bsmiakUcUqgjvgi8sRL/9kUxLXuayeQ6VYzUnHdX7K3nYqbhgJCxVbSURe5wIS/vQ97zi4wt0NpF55FmoAQlZA1JcSk/85w8S4hfpCYlDnqQMI8jXqvNZ5apc7nKsg6NSibGhh4h1cpA7DG6d6MzjBldVKhutni3Bj991cP45RIaGlmWipbC9eKwODrsDPYMK2CDN/JEygmfiUdJJW4Cvgi4s6Z3oyqddiEV+plZtGD69NAau4OMCoHcR1STJdsVOrq++tF+R0/IkC5wDhAUBszXvlSdcKja7Gv7v4kOAZC0CmtA="
        }
      },
      "status": {
        "group": {
          "id": 123,
          "name": "TestGroup",
          "link": null
        },
        "brightWall": null,
        "presentation": {
          "id": 12345,
          "name": "Test2",
          "type": "Presentation",
          "link": null
        },
        "timezone": "PST",
        "synchronization": {
          "settings": {
            "enabled": false
          },
          "schedule": {
            "enabled": false
          },
          "content": {
            "enabled": false
          }
        },
        "script": {
          "type": "Autorun",
          "version": "10.0.100",
          "plugins": null
        },
        "firmware": {
          "version": "8.5.35"
        },
        "storage": [
          {
            "interface": "SD1",
            "system": "ExFAT",
            "access": "Read, Write",
            "stats": {
              "sizeTotal": 31905546240,
              "sizeFree": 31898959872,
              "blockSize": 32768
            }
          }
        ],
        "network": {
          "externalIp": "98.134.53.219",
          "interfaces": [
            {
              "name": "eth0",
              "type": "Ethernet",
              "proto": "Static",
              "mac": "D0:6A:85:DA:FE:71",
              "ip": [
                "192.168.0.1/24",
                "EF88:7::2FAB:7657/64",
                "FE80::C60C:27BF:74E0:2E0F/128"
              ],
              "gateway": "192.168.0.1",
              "metric": 100
            },
            {
              "name": "eth0.25",
              "type": "Virtual",
              "proto": "DHCPv4",
              "mac": "D0:6A:85:DA:FE:71",
              "ip": [
                "176.216.148.166/16",
                "FE80::1623:693:8588:65BB/128"
              ],
              "gateway": "176.216.0.1",
              "metric": 2
            },
            {
              "name": "wlan0",
              "type": "WiFi",
              "proto": "NDP, DHCPv6",
              "mac": "33:5B:FE:4A:E1:BB",
              "ip": [
                "10.10.0.2/16"
              ],
              "gateway": "10.10.0.1",
              "metric": 110
            },
            {
              "name": "ppp0",
              "type": "Cellular",
              "proto": "Static",
              "mac": "FE:98:1A:AA:B4:72",
              "ip": [
                "192.168.255.255/31"
              ],
              "gateway": "192.168.255.254",
              "metric": 120,
              "modem": {
                "imei": "35778404001349",
                "manufacturer": "Vodafone",
                "model": "IK41US_USBC4G_V2_NA",
                "revision": "IK41_00_02.00_09"
              },
              "sims": [
                {
                  "status": "OK",
                  "iccid": "8910412345678907",
                  "connection": {
                    "network": "Vodafone Libertel",
                    "signal": -53
                  }
                }
              ]
            },
            {
              "name": "usb0",
              "type": "Ethernet",
              "proto": "Static",
              "mac": "5A:64:A1:72:EE:12",
              "ip": [
                "132.80.245.191/24"
              ],
              "gateway": null,
              "metric": null
            },
            {
              "name": "eth0.110",
              "type": "Virtual",
              "proto": "Static",
              "mac": "D0:6A:85:DA:FE:71",
              "ip": [
                "16.194.230.251/28",
                "FE80::8C6F:34A9:C88:31D5/128"
              ],
              "gateway": "16.194.230.241",
              "metric": 3
            }
          ]
        },
        "uptime": "08:20:46",
        "currentSettingsTimestamp": "2021-05-04T10:45:06Z",
        "currentScheduleTimestamp": "2021-05-04T10:45:06Z",
        "health": "Error",
        "lastModifiedDate": "2022-02-15T23:53:50.16Z"
      },
      "subscription": {
        "id": 123456,
        "device": {
          "id": 12345,
          "serial": "46C89C101829"
        },
        "type": "Commercial",
        "activityPeriod": "365.00:00:00",
        "status": "Active",
        "creationDate": "2020-08-17T20:49:49.09Z",
        "lastModifiedDate": "2020-08-17T20:49:49.09Z",
        "activationDate": "2020-08-17T20:49:49.09Z",
        "suspensionDate": null,
        "expirationDate": null
      },
      "taggedGroups": [],
      "tags": {
        "string::[Content].<Anon>": "image",
        "number::[Content].<BillingRate>": "30"
      },
      "permissions": []
    }
  ],
  "totalItemCount": 3,
  "matchingItemCount": 2,
  "pageSize": 1,
  "nextMarker": "LDM3MjA2",
  "isTruncated": false,
  "sortExpression": "[LastModifiedDate] ASC",
  "filterExpression": "[Model] IS 'HD1024'"
}

Failure Response

300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

403: The supplied access token, though valid, doesn't provide access to this method 

406: The server cannot return the data representation that you requested (as specified in the "Accept" header)

5XX: Any 500 code is an internal server error

...

bsn.api.main.devices.delete

______________________________________________________________

Query String Parameter

filter string  required

An expression for filtering search results.

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
DELETE /2022/06/REST/Devices/?filter=%5BModel%5D%20IS%20%27HD1024%27 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns the number of affected devices as an integer value.

Failure Response

300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance to the business rules

401: The access token is invalid or not specified

403: The supplied access token, though valid, doesn't provide access to this method 

406: The server cannot return the data representation that you requested (as specified in the "Accept" header)

5XX: Any 500 code is an internal server error

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

locationPath string 

The parts of the returned player location path (country, province, city, etc.) that are common to all players. 

______________________________________________________________

Query String Parameter

filter string optional

An expression for filtering search results

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/Regions/US/?filter=%5BModel%5D%20IS%20%27HD1024%27 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns thePlayers Region Entity.

...

bsn.api.main.devices.retrieve

______________________________________________________________

Query String Parameter

filter string optional

An expression for filtering search results.

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/Count/?filter=%5BModel%5D%20IS%20%27HD1024%27 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response

200: The device count is returned as an integer value.

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

id int 

A unique identifier for the device

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/12345/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response with Body

...

bsn.api.main.devices.update

______________________________________________________________

Segment

id int

A unique identifier for the device

______________________________________________________________

Request Body

ThePlayer Entity

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Expand
titleExpand to see the example request body
Code Block
languagejson
{
   "id": 0,
   "serial": "46D89C107131",
   "model": "HD1024",
   "family": "Pagani",
   "registrationDate": "0001-01-01T00:00:00",
   "lastModifiedDate": "0001-01-01T00:00:00",
   "settings":    {
      "name": "OutsidePlayer",
      "description": "Outside of Building A",
      "concatNameAndSerial": false,
      "setupType": "BSN",
      "lastModifiedDate": "2022-01-05T18:12:22.643Z",
      "group":       {
         "id": 123,
         "name": "TestGroup",
         "link": null
      },
      "brightWall": null,
      "timezone": "PST",
      "screen":       {
         "idleColor": "FF702896",
         "splashUrl": null
      },
      "synchronization":       {
         "status": {"period": "00:05:00"},
         "settings": {"period": "00:00:00"},
         "schedule": {"period": "06:00:00"},
         "content":          {
            "start": null,
            "end": null
         }
      },
      "network":       {
         "hostname": "BrightSign-46D89C107131",
         "proxyServer": null,
         "proxyBypass": [],
         "timeServers": ["http://time.brightsignnetwork.com/"],
         "interfaces":          [
                        {
               "enabled": true,
               "proto": "DHCP",
               "ip": null,
               "gateway": null,
               "dns": null,
               "rateLimitDuringInitialDownloads": 0,
               "rateLimitInsideContentDownloadWindow": 0,
               "rateLimitOutsideContentDownloadWindow": null,
               "contentDownloadEnabled": true,
               "textFeedsDownloadEnabled": true,
               "mediaFeedsDownloadEnabled": true,
               "healthReportingEnabled": true,
               "logsUploadEnabled": true,
               "name": "eth0",
               "type": "Ethernet"
            },
                        {
               "enabled": false,
               "ssid": "",
               "security":                {
                  "authentication":                   {
                     "mode": "Shared",
                     "passphrase": ""
                  },
                  "encryption": {"mode": "TKIP, CCMP"}
               },
               "proto": "DHCP",
               "ip": null,
               "gateway": null,
               "dns": null,
               "rateLimitDuringInitialDownloads": 0,
               "rateLimitInsideContentDownloadWindow": 0,
               "rateLimitOutsideContentDownloadWindow": 0,
               "contentDownloadEnabled": false,
               "textFeedsDownloadEnabled": false,
               "mediaFeedsDownloadEnabled": false,
               "healthReportingEnabled": false,
               "logsUploadEnabled": false,
               "name": "wlan0",
               "type": "WiFi"
            }
         ]
      },
      "beacons": [],
      "location": null,
      "screenshots": null,
      "logging":       {
         "enableDiagnosticLog": false,
         "enableEventLog": false,
         "enablePlaybackLog": false,
         "enableStateLog": false,
         "enableVariableLog": false,
         "uploadAtBoot": false,
         "uploadTime": null
      },
      "lws":       {
         "username": "",
         "password": "",
         "enableUpdateNotifications": true
      },
      "ldws": {"password": "RLSJPQSm9z15lB8nwVFWjkPYegscBlMF3NFG6wt3aSTXIoC+iR5NGrhJa77ZaWTgpiCzPdDdnwMlQSb4QLqe6nEFx6q/927scO6LlVTtRBVch+RlgzlJ2SXYqAH6TUx66JRFuvCxyHzL0iUNKR/R4E1hdTQpxH3yXIPJ5OBOTlaw8OW6DZNixDGMuvhgmWAW9/TgksUYTlwb1SKqGzQOrDYmmg+A71YMGV6NcKbuN3P0DjQsMrVxlFe9+awQ73LSxqKF5Q52FjUhgSKsYcTtnoJvY/n9HWcREyxOPKF7vsEIfKOeG/qoFBvgZZKOoqaTyD82iBKbOQu9WllBGX+qaaTTQHR1SrZoyS2PDmBlddLhngE4BHiDxmOPhm69bsmiakUcUqgjvgi8sRL/9kUxLXuayeQ6VYzUnHdX7K3nYqbhgJCxVbSURe5wIS/vQ97zi4wt0NpF55FmoAQlZA1JcSk/85w8S4hfpCYlDnqQMI8jXqvNZ5apc7nKsg6NSibGhh4h1cpA7DG6d6MzjBldVKhutni3Bj991cP45RIaGlmWipbC9eKwODrsDPYMK2CDN/JEygmfiUdJJW4Cvgi4s6Z3oyqddiEV+plZtGD69NAau4OMCoHcR1STJdsVOrq++tF+R0/IkC5wDhAUBszXvlSdcKja7Gv7v4kOAZC0CmtA="}
   },
   "status": null,
   "subscription": null,
   "taggedGroups": [],
   "tags": {},
   "permissions": []
}

______________________________________________________________

Success Response

204: The specified device was successfully updated

...

bsn.api.main.devices.update

______________________________________________________________

Segment

id int

A unique identifier for the device

______________________________________________________________

Request Body

These properties are entries in an array. Every entry must have all three of these properties:

op string The type of operation - in this case it is always "replace"

path string: A Uri path that references the location within the target document where the update will be performed

value object:  The replacement value(s) for the parameters that must be updated

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
[
  {
    "op": "replace",
    "path": "/settings/description/",
    "value": "Main Screen Player"
  }
]

______________________________________________________________

Success Response

204: The parameters have been successfully replaced.

...

bsn.api.main.devices.delete

______________________________________________________________

Segment

id int

A unique identifier for the device to delete

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
DELETE /2022/06/REST/Devices/12345/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}}
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response

204: The device was successfully deleted

...

404The server cannot find the requested resource (the path does not exist)

406: The server cannot return the data representation that you requested (as specified in the "Accept" header)

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

serial string

The device serial number

______________________________________________________________ 

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/46D89C101139/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response with Body

...

bsn.api.main.devices.update

______________________________________________________________

Segment

serial string 

The device serial number 

______________________________________________________________

Request Body

ThePlayer Entity

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Expand
titleExpand to see an example request body:
Code Block
languagejson
{
   "id": 0,
   "serial": "46D89C107131",
   "model": "HD1024",
   "family": "Pagani",
   "registrationDate": "0001-01-01T00:00:00",
   "lastModifiedDate": "0001-01-01T00:00:00",
   "settings":    {
      "name": "OutsidePlayer",
      "description": "Outside of Building A",
      "concatNameAndSerial": false,
      "setupType": "BSN",
      "lastModifiedDate": "2022-01-05T18:12:22.643Z",
      "group":       {
         "id": 123,
         "name": "TestGroup",
         "link": null
      },
      "brightWall": null,
      "timezone": "PST",
      "screen":       {
         "idleColor": "FF702896",
         "splashUrl": null
      },
      "synchronization":       {
         "status": {"period": "00:05:00"},
         "settings": {"period": "00:00:00"},
         "schedule": {"period": "06:00:00"},
         "content":          {
            "start": null,
            "end": null
         }
      },
      "network":       {
         "hostname": "BrightSign-46D89C107131",
         "proxyServer": null,
         "proxyBypass": [],
         "timeServers": ["http://time.brightsignnetwork.com/"],
         "interfaces":          [
                        {
               "enabled": true,
               "proto": "DHCP",
               "ip": null,
               "gateway": null,
               "dns": null,
               "rateLimitDuringInitialDownloads": 0,
               "rateLimitInsideContentDownloadWindow": 0,
               "rateLimitOutsideContentDownloadWindow": null,
               "contentDownloadEnabled": true,
               "textFeedsDownloadEnabled": true,
               "mediaFeedsDownloadEnabled": true,
               "healthReportingEnabled": true,
               "logsUploadEnabled": true,
               "name": "eth0",
               "type": "Ethernet"
            },
                        {
               "enabled": false,
               "ssid": "",
               "security":                {
                  "authentication":                   {
                     "mode": "Shared",
                     "passphrase": ""
                  },
                  "encryption": {"mode": "TKIP, CCMP"}
               },
               "proto": "DHCP",
               "ip": null,
               "gateway": null,
               "dns": null,
               "rateLimitDuringInitialDownloads": 0,
               "rateLimitInsideContentDownloadWindow": 0,
               "rateLimitOutsideContentDownloadWindow": 0,
               "contentDownloadEnabled": false,
               "textFeedsDownloadEnabled": false,
               "mediaFeedsDownloadEnabled": false,
               "healthReportingEnabled": false,
               "logsUploadEnabled": false,
               "name": "wlan0",
               "type": "WiFi"
            }
         ]
      },
      "beacons": [],
      "location": null,
      "screenshots": null,
      "logging":       {
         "enableDiagnosticLog": false,
         "enableEventLog": false,
         "enablePlaybackLog": false,
         "enableStateLog": false,
         "enableVariableLog": false,
         "uploadAtBoot": false,
         "uploadTime": null
      },
      "lws":       {
         "username": "",
         "password": "",
         "enableUpdateNotifications": true
      },
      "ldws": {"password": "RLSJPQSm9z15lB8nwVFWjkPYegscBlMF3NFG6wt3aSTXIoC+iR5NGrhJa77ZaWTgpiCzPdDdnwMlQSb4QLqe6nEFx6q/927scO6LlVTtRBVch+RlgzlJ2SXYqAH6TUx66JRFuvCxyHzL0iUNKR/R4E1hdTQpxH3yXIPJ5OBOTlaw8OW6DZNixDGMuvhgmWAW9/TgksUYTlwb1SKqGzQOrDYmmg+A71YMGV6NcKbuN3P0DjQsMrVxlFe9+awQ73LSxqKF5Q52FjUhgSKsYcTtnoJvY/n9HWcREyxOPKF7vsEIfKOeG/qoFBvgZZKOoqaTyD82iBKbOQu9WllBGX+qaaTTQHR1SrZoyS2PDmBlddLhngE4BHiDxmOPhm69bsmiakUcUqgjvgi8sRL/9kUxLXuayeQ6VYzUnHdX7K3nYqbhgJCxVbSURe5wIS/vQ97zi4wt0NpF55FmoAQlZA1JcSk/85w8S4hfpCYlDnqQMI8jXqvNZ5apc7nKsg6NSibGhh4h1cpA7DG6d6MzjBldVKhutni3Bj991cP45RIaGlmWipbC9eKwODrsDPYMK2CDN/JEygmfiUdJJW4Cvgi4s6Z3oyqddiEV+plZtGD69NAau4OMCoHcR1STJdsVOrq++tF+R0/IkC5wDhAUBszXvlSdcKja7Gv7v4kOAZC0CmtA="}
   },
   "status": null,
   "subscription": null,
   "taggedGroups": [],
   "tags": {},
   "permissions": []
}

______________________________________________________________

Success Response

204: The specified device was successfully updated

...

bsn.api.main.devices.update

______________________________________________________________

Segment

serial string

The serial number of the device to delete

______________________________________________________________

Request Body

These properties are entries in an array. Every entry must have all three of these properties:

op string:  The type of operation - in this case it is always "replace"

path string: A Uri path that references the location within the target document where the update will be performed

value object:  The replacement value(s) for the parameters that must be updated. 

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
[
  {
    "op": "replace",
    "path": "/settings/description/",
    "value": "Main Screen Player"
  }
]

______________________________________________________________

Success Response

204: The parameters have been successfully replaced.

...

bsn.api.main.devices.delete

______________________________________________________________

Segment

serial string

The device serial number 

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
DELETE /2022/06/REST/Devices/46D89C101139/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}}
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response

204: The device was successfully deleted

...

404The server cannot find the requested resource (the path does not exist)

406: The server cannot return the data representation that you requested (as specified in the "Accept" header)

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

deviceId int

A unique identifier for the device instance

______________________________________________________________

Success Response Body

200: The collection of Player Beacon Entities

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

serial string

The serial number of the device instance

______________________________________________________________

Success Response Body

200: The collection of Player Beacon Entities

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

deviceId int

A unique identifier for the device instance

name string 

The name of the device beacon

 ______________________________________________________________

Success Response Body

200: Returns the Player Beacon Entity

...

bsn.api.main.devices.update

______________________________________________________________

Segment

deviceId int 

A unique identifier for the device instance

name string 

The name of the device beacon

______________________________________________________________

Success Response

204: The specified device beacon was successfully deleted from the device

...

404The server cannot find the requested resource (the path does not exist)

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

serial string 

The serial number of the device

name string 

The name of the beacon

______________________________________________________________

Success Response Body

200: Returns thePlayer Beacon Entity

...

bsn.api.main.devices.update

______________________________________________________________

Segment

serial string 

The serial number of the device

name string 

The name of the beacon to delete

______________________________________________________________

Success Response

204: The specified device beacon was successfully deleted from the device

...

404The server cannot find the requested resource (the path does not exist)

406: The server cannot return the data representation that you requested (as specified in the "Accept" header)

...

bsn.api.main.devices.update

______________________________________________________________

Segment

id int 

A unique identifier for the device instance on which you want to create the beacon

______________________________________________________________

Request Body

ThePlayer Beacon Entity

______________________________________________________________

Success Response Body

201: Returns the new resource created and referenced by the Uri (given by the Location header field) in the response. The response includes thePlayer Beacon Entity.

...

bsn.api.main.devices.update

______________________________________________________________

Segment

serial string

The serial number of the device on which you want to create the beacon

______________________________________________________________

Request Body

ThePlayer Beacon Entity

______________________________________________________________

Success Response Body

201: Returns the new resource created and referenced by the Uri (given by the Location header field) in the response. The response includes thePlayer Beacon Entity.

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

id int 

A unique identifier for the device that is reporting the errors

______________________________________________________________

Query String Parameters

marker string optional

A value specifying which page to retrieve. This value is useful if the isTruncated entry in the response body of the previous GET call indicates that the number of error instances exceeds the pageSize.

This parameter is only required if you need more elements in the paged list than the pageSize (100).

pageSize int optional

The maximum number of error instances that can be contained in the response body. 

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/12345/Errors/?pageSize=1&marker=a9DH34d23Bh0 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns the Player Error Entity

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

serial string 

The serial number of the device that is reporting the errors

______________________________________________________________

Query String Parameters

marker string optional

A value specifying which page to retrieve. This value is useful if the isTruncated entry in the response body of the previous GET call indicates that the number of error instances exceeds the pageSize.

This parameter is only required if you need more elements in the paged list than the pageSize (100).

pageSize int optional

The maximum number of error instances that can be contained in the response body

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/46D89C101139/Errors/?pageSize=1&marker=Vsh54Uh9Mn0s HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns the Player Error Entity

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

id int 

The unique identifier for the device that has the download instances

______________________________________________________________

Query String Parameters

marker string optional

A value specifying which page to retrieve. This value is useful if the isTruncated entry in the response body of the previous GET call indicates that the number of download instances exceeds the pageSize.

This parameter is only required if you need more elements in the paged list than the pageSize (100).

pageSize int optional

The maximum number of download instances that can be contained in the response body

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/12345/Downloads/?pageSize=3&marker=BN548plV2hZW4tWW HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json, application/*
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns thePlayer Download Entity

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

serial string

The serial number of the device that has the download instances

______________________________________________________________

Query String Parameters

marker string optional

A value specifying which page to retrieve. This value is useful if the isTruncated entry in the response body of the previous GET call indicates that the number of download instances exceeds the pageSize.

This parameter is only required if you need more elements in the paged list than the pageSize (100).

pageSize int optional

The maximum number of download instances that can be contained in the response body

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/46D89C101139/Downloads/?pageSize=3&marker=W4tWW3hcnMsMTcyMU478ngh HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json, application/*
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns the Player Download Entity 

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

id int

The unique identifier for the device

______________________________________________________________

Query String Parameters

marker string optional

A value specifying which page to retrieve. This value is useful if the isTruncated entry in the response body of the previous GET call indicates that the number of screenshot instances exceeds the pageSize.

This parameter is only required if you need more elements in the paged list than the pageSize (100).

pageSize int optional

The maximum number of screenshot instances that can be contained in the response body

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/1234567/ScreenShots/?marker=SE4ODYzNF230OTv&pageSize=1 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns theScreenShot Entity

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

serial string

The device serial number

______________________________________________________________

Query String Parameters

marker string optional

A value specifying which page to retrieve. This value is useful if the isTruncated entry in the response body of the previous GET call indicates that the number of screenshot instances exceeds the pageSize.

This parameter is only required if you need more elements in the paged list than the pageSize (100).

pageSize int optional

The maximum number of screenshot instances that can be contained in the response body

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/CFD02W901738/ScreenShots/?marker=G140faj35k8as&pageSize=1 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns theScreenShot Entity

...

bsn.api.main.devices.retrieve

______________________________________________________________

Query String Parameters

projection string optional

This parameter currently supports only one placeholder (TOP({int},[Nodes])]) which limits the number of entities in a group. The possible value for {int} is any number from 1 to 100.

filter string optional

An expression for filtering search results

grouping string optional

A grouping expression for the filtered entities. This parameter can be used with the projection parameter to retrieve a certain number of screenshots for a large number of devices in one request (for example, 100 screenshots from 100 players).

sort string optional

An expression for sorting the search results. The sort expression specifies the entry used for sorting and the ascending/descending (ASC/DESC) sorting order (e.g. "[Device].[Serial] ASC")

marker string optional

A value specifying which page to retrieve. This value is useful if the isTruncated entry in the response body of the previous GET call indicates that the number of screenshot instances exceeds the pageSize.

This parameter is only required if you need more elements in the paged list than the pageSize (100).

pageSize int optional

The maximum number of screenshot instances that can be contained in the response body

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/ScreenShots/?marker=MTgzMDA1MTQ5MiwxODMwMDUxNDky&projection=TOP%283%2C%5BNodes%5D%29&pageSize=1&filter=%5BgroupName%5D%20IS%20%27Default%27&grouping=%5BSerial%5D&sort=%5BId%5D%20ASC HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json, application/*
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns theScreenShot Entity

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

id int

The unique identifier for the device

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/12345/Tags/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: A collection of key value pairs where the key is tag name, and the value is tag value. See the Tags entry inPlayer Entity for more information.

...

bsn.api.main.devices.update

______________________________________________________________

Segment

id int

The unique identifier for the device

______________________________________________________________

Request Body

tags DynamicObjectA collection of key value pairs where the key is tag name, and the value is tag value.  See the Tags entry inPlayer Entity for more information.

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
{
	"Number::[Device].<Number>":"1",
	"Boolean::[Device].<Boolean>":true
}

______________________________________________________________

Success Response

204: The tags were added to the specified device 

...

bsn.api.main.devices.update

______________________________________________________________

Segment

id int

The unique identifier for the device

______________________________________________________________

Request Body

list string[]An array of tag keys to delete

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
[
	"Number::[Device].<Number>",
	"Boolean::[Device].<Boolean>"
]

______________________________________________________________

Success Response

204: The specified tag was successfully deleted from the device

...

404The server cannot find the requested resource (the path does not exist)

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

serial string

The device serial number

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/35F89C022150/Tags/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: A collection of key value pairs where the key is tag name, and the value is tag value. See the Tags entry in thePlayer Entity for more information.

...

bsn.api.main.devices.update

______________________________________________________________

Segment

serial string 

The device serial number

______________________________________________________________

Request Body

tags DynamicObject

A collection of key value pairs where the key is tag name, and the value is tag value.  See the Tags entry in thePlayer Entity for more information.

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
{
	"Number::[Device].<Number>":"1",
	"Boolean::[Device].<Boolean>":true
}

______________________________________________________________

Success Response

204: The tags were added to the specified device

...

bsn.api.main.devices.update

______________________________________________________________

Segment

serial string 

The device serial number

______________________________________________________________

Request Body

list string[]An array of tag keys to delete

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
[
	"Number::[Device].<Number>",
	"Boolean::[Device].<Boolean>"
]

______________________________________________________________

Success Response

204: The specified tag was successfully deleted from the device

...

404The server cannot find the requested resource (the path does not exist)

406: The server cannot return the data representation that you requested (as specified in the "Accept" header)

...

bsn.api.main.devices.retrieve

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

Code Block
GET /2022/06/REST/Devices/Models/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns the complete list of player models that are supported on this Main API version

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

model string 

The player model

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/Models/XD1034/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns the complete list of player models that are supported on this Main API version

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

model string

The player model

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/Models/XD1034/Connectors/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns the list of connectors available on a given device model.

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

model string 

The player model

connector string 

The video connector (for example, "HDMI" or "DisplayPort")

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/Models/XD1034/Connectors/HDMI/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns the list of connectors available on a given device model.

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

model string

The player model

connector string

The video connector (for example, "HDMI" or "DisplayPort")

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
GET /2022/06/REST/Devices/Models/XD1034/Connectors/HDMI/VideoModes/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: The response body is an array of strings listing video modes supported by the specified connector on the specified device model.

...

bsn.api.main.operations.retrieve

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

Code Block
GET /2022/06/REST/Devices/Operations/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns the Business Operations Entity

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

id int 

A unique identifier for the device

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/12345/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns an array of Permission entities 

...

bsn.api.main.devices.update

______________________________________________________________

Segment

id int

A unique identifier for the device

______________________________________________________________

Request Body

An array of Permission entities

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
[
  {
    "entityId": 12345,
    "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
    "principal": {
      "login": "JaneDoe@brightsign.biz",
      "type": "User",
      "id": 54321
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "0001-01-01T00:00:00"
  }
]

______________________________________________________________

Success Response

204: The specified permissions were successfully granted

...

bsn.api.main.devices.update

______________________________________________________________

Segment

id int

A unique identifier for the device

______________________________________________________________

Request Body

An array of Permission entities

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
[
  {
    "entityId": 12345,
    "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
    "principal": {
      "login": "JaneDoe@brightsign.biz",
      "type": "User",
      "id": 54321
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "0001-01-01T00:00:00"
  }
]  

______________________________________________________________

Success Response

204: The specified permissions were successfully deleted from the device

...

bsn.api.main.devices.retrieve

______________________________________________________________

Segment

serial string 

The serial number of the device

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Devices/46D89C001033/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns an array of Permission entities 

...

bsn.api.main.devices.update

______________________________________________________________

Segment

serial string

The serial number of the device

______________________________________________________________

Request Body

An array of Permission entities

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
[
  {
    "entityId": 12345,
    "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
    "principal": {
      "login": "JaneDoe@brightsign.biz",
      "type": "User",
      "id": 54321
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "0001-01-01T00:00:00"
  }
]

______________________________________________________________

Success Response

204: The specified permissions were successfully granted

...

bsn.api.main.devices.update

______________________________________________________________

Segment

serial string

The serial number of the device

______________________________________________________________

Request Body

An array of Permission entities

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
[
  {
    "entityId": 12345,
    "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
    "principal": {
      "login": "JaneDoe@brightsign.biz",
      "type": "User",
      "id": 54321
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "0001-01-01T00:00:00"
  }
]  

______________________________________________________________

Success Response

204: The specified permissions were successfully deleted from the device

...

bsn.api.main.devices.token.validate

______________________________________________________________

Segment

serial string

The serial number of the device

token string

An OAuth2 device access or refresh token issued for the specified device

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Device/47G49C000042/Tokens/{{Token}}/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UsersAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns theToken Info Entity

...

bsn.api.main.devices.token.revoke

______________________________________________________________

Segment

serial string

The serial number of the device

token string

An OAuth2 device access or refresh token issued for the specified device

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
DELETE /2022/06/REST/Device/47G49C000042/Tokens/{{Token}}/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response

204: The specified token was successfully deleted from the device

...

bsn.api.main.devices.token.validate

______________________________________________________________

Segment

id int 

A unique identifier for the device

token string

An OAuth2 device access or refresh token issued for the specified device

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /2022/06/REST/Device/123456/Tokens/{{Token}}/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response Body

200: Returns the Token Info Entity

...

bsn.api.main.devices.revoke

______________________________________________________________

Segment

id int

A unique identifier for the device

token string

An OAuth2 device access or refresh token issued for the specified device

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
DELETE /2022/06/REST/Device/123456/Tokens/{{Token}}/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response

204: The specified token was successfully deleted from the device

...