Devices Endpoints (2022/06)
This endpoint allows for management and monitoring of players on the network.
Base URL for these endpoints: https://api.bsn.cloud/2022/06/REST/Devices
_________________________________________________________________________
GET /
Retrieves a list of players on the network.
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Query String Parameters
- filter string optional: An expressionexpression 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 player instances exceeds the pageSize. This parameter is only required if you need more elements in the paged list than the pageSize (100).
- pageSize int optionalThe maximum number of player 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:
- marker value is set to the [PagedList].[NextMarker] property value from the previous BSN.Cloud API response.
- pageSize is set to 1
- filter is set to [Model] IS 'HD1024'
- sort is set to [LastModifiedDate] ASC
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 listpaged list of Player EntityPlayer Entity instances on a network. This will return not more than 100 entities along with the information necessary to return any other remaining pages.
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
DELETE /
Removes players, specified by a filter, from a network. This allows multiple players to be deleted at once.
Required Scope Token
bsn.api.main.devices.delete
______________________________________________________________
Query String Parameter
- filter string required: An expressionexpression for filtering search results.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- filter is set to [Model] IS 'HD1024'
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 players 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
GET /Regions/{*locationPath}/
Returns a region which contains all the players located in the specified path.
Required Scope Token
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 expressionexpression for filtering search results
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- filter is set to [Model] IS 'HD1024'
- locationPath is set to /US/
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 the Player Region Entity
Example
[
{
"country": "US",
"countryLongName": "United States",
"adminAreaLevel1": "MO",
"adminAreaLevel1LongName": "Missouri",
"adminAreaLevel2": "Callaway County",
"adminAreaLevel2LongName": "Callaway County",
"locality": "Fulton",
"localityLongName": "Fulton",
"minGPSLatitude": 38.8513,
"maxGPSLatitude": 38.8513,
"minGPSLongitude": -91.9604,
"maxGPSLongitude": -91.9604,
"devicesCount": 1,
"devicesHealthStatus": [
"Normal"
],
"locationPath": "/US/MO/Callaway County/Fulton/"
}
]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
404: The 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)
5XX: Any 500 code is an internal server error
GET /Count/
Retrieves the number of players on the network matching the specified filter criteria. If no filter is included, this call returns the total number of players on the network.
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Query String Parameter
- filter string optional: An expressionexpression for filtering search results.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- filter is set to [Model] IS 'HD1024'
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 player count is returned 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 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
GET /{id}/
Return the information for a specified player
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- id int: A unique identifier for the player
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 12345
- The optional If-Modified-Since header value equals the Last-Modified header value retrieved from the previous GET /id or GET /serial response
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
200: Returns the Player EntityPlayer Entity
Success Response
304: The resource was not modified since the time specified in the “If-Modified-Since” header
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
404: The 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)
5XX: Any 500 code is an internal server error
PUT /{id}/
Update the specified player. Applies only to the player settings.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- id int: A unique identifier for the player
______________________________________________________________
Request Body
- The Player EntityPlayer Entity
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 12345
- The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /serial response.
PUT /2022/06/REST/Devices/12345/ 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
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Content-Type: application/json
Content-Length: 5947Success Response
204: The specified player was successfully updated
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
404: The 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)
412: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error
PATCH /{id}/
Replaces certain parameters on the specified player. Applies only to the player settings. See rfc6902.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- id int: A unique identifier for the player
______________________________________________________________
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:
- id is 12345
- The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /serial response.
PATCH /2022/06/REST/Devices/12345/ 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
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Content-Type: application/json-patch+json
Content-Length: 94This is the example request body:
[
{
"op": "replace",
"path": "/settings/description/",
"value": "Main Screen Player"
}
]______________________________________________________________
Success Response
204: The parameters have been successfully replaced.
Failure Response
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance to the business rules
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
412: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error
DELETE /{id}/
Delete the specified player
Required Scope Token
bsn.api.main.devices.delete
______________________________________________________________
Segment
- id int: A unique identifier for the player to delete
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 12345
- The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /serial response.
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 player was successfully deleted
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
404: The 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)
412: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)
5XX: Any 500 code is an internal server error
GET /{serial}/
Return the specified player information
Required Scope
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- serial string: The player serial number
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- serial is set to 46D89C101139
- The optional If-Modified-Since header value equals the Last-Modified header value retrieved from the previous GET /id or GET /serial response
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
200: Returns the Player EntityPlayer Entity
Success Response
304: The resource was not modified since the time specified in the “If-Modified-Since” header
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
404: The 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)
5XX: Any 500 code is an internal server error
PUT /{serial}/
Update a specified player. Applies only to the player settings.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- serial string: The player serial number
______________________________________________________________
Request Body
- The Player EntityPlayer Entity
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- serial is set to 46D89C107131
- The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /serial response.
PUT /2022/06/REST/Devices/46D89C107131/ 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
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Content-Type: application/json
Content-Length: 5947This is the example request body:
{
"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 player was successfully updated
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
404: The 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)
412: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error
PATCH /{serial}/
Replaces certain parameters on the specified player. Applies only to player settings. See rfc6902.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- serial string: The serial number of the player 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:
- serial is 46D89C101139
- The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /serial response.
PATCH /2022/06/REST/Devices/46D89C101139/ 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
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Content-Type: application/json-patch+json
Content-Length: 94This is the example request body:
[
{
"op": "replace",
"path": "/settings/description/",
"value": "Main Screen Player"
}
]______________________________________________________________
Success Response
204: The parameters have been successfully replaced.
Failure Response
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance to the business rules
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
412: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error
DELETE /{serial}/
Delete the specified player
Required Scope Token
bsn.api.main.devices.delete
______________________________________________________________
Segment
- serial string: The player serial number
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- serial is set to 46D89C101139
- The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /serial response.
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 player was successfully deleted
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
404: The 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)
412: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)
5XX: Any 500 code is an internal server error
GET /{deviceId}/Beacons/
Return the array of all beacons defined for the player that is specified
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- deviceId int: A unique identifier for the player instance
______________________________________________________________
Success Response Body
200: The collection of Player Beacon EntitiesPlayer Beacon Entities
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
404: The 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)
5XX: Any 500 code is an internal server error
GET /{serial}/Beacons/
Return the array of all beacons defined for the player that is specified
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- serial string: The serial number of the player instance
______________________________________________________________
Success Response Body
200: The collection of Player Beacon EntitiesPlayer Beacon Entities
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
404: The 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)
5XX: Any 500 code is an internal server error
GET /{deviceId}/Beacons/{name}/
Returns a device beacon of a certain type associated with a specified player and the specified name
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- deviceId int: A unique identifier for the player instance
- name string: The name of the player beacon
______________________________________________________________
Success Response Body
200: Returns the Player Beacon EntityPlayer Beacon Entity
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
404: The 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)
5XX: Any 500 code is an internal server error
DELETE /{deviceId}/Beacons/{name}/
Delete a specified player beacon from a specified player.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- deviceId int: A unique identifier for the player instance
- name string: The name of the player beacon
______________________________________________________________
Success Response
204: The specified player beacon was successfully deleted from the player
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
404: The 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)
5XX: Any 500 code is an internal server error
GET /{serial}/Beacons/{name}/
Returns a player beacon of a certain type associated with a specified player and the specified name
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- serial string: The serial number of the player
- name string: The name of the player
______________________________________________________________
Success Response Body
200: Returns the Player Beacon EntityPlayer Beacon Entity
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
404: The 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)
5XX: Any 500 code is an internal server error
DELETE /{serial}/Beacons/{name}/
Delete a specified player beacon on a specified player.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- serial string: The serial number of the player
- name string: The name of the beacon to delete
______________________________________________________________
Success Response
204: The specified player beacon was successfully deleted from the player
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
404: The 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)
5XX: Any 500 code is an internal server error
POST /{id}/Beacons/
Create a player beacon
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- id int: A unique identifier for the player instance on which you want to create the beacon
______________________________________________________________
Request Body
- The Player Beacon EntityPlayer 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 the Player Beacon EntityPlayer Beacon Entity.
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
404: The 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)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error
POST /{serial}/Beacons/
Create a player beacon on a specified player.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- serial string: The serial number of the player on which you want to create the beacon
______________________________________________________________
Request Body
- The Player Beacon EntityPlayer 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 the Player Beacon EntityPlayer Beacon Entity.
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
404: The 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)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error
GET /{id}/Errors/
Returns a list of errors associated with a specified player
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- id int: A unique identifier for the player 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:
- id is set to 12345
- marker value is set to the [PagedList].[NextMarker] property value from the previous BSN.Cloud API response.
- pageSize is set to 1
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 EntityPlayer Error Entity
Example
{
"items": [
{
"timestamp": "2023-03-21T20:36:21.887Z",
"errorName": "Failed to download sync list",
"errorEvent": "deviceError",
"reason": "Connection timed out after 30000 milliseconds",
"responseCode": -28
}
],
"totalItemCount": 9,
"matchingItemCount": 9,
"pageSize": 1,
"nextMarker": "9DH34d23Bc1fjkdsa",
"prevMarker": "9DH34d23Bc1fj786t",
"isTruncated": false,
"sortExpression": "[DeviceError].[Timestamp] DESC",
"filterExpression": null
}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
404: The 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)
5XX: Any 500 code is an internal server error
GET /{serial}/Errors/
Returns a list of errors associated with a specified player
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- serial string: The serial number of the player 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:
- serial is set to 46D89C101139
- marker value is set to the [PagedList].[NextMarker] property value from the previous BSN.Cloud API response.
- pageSize is set to 1
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 EntityPlayer Error Entity
Example
{
"items": [
{
"timestamp": "2023-03-21T20:36:21.887Z",
"errorName": "Failed to download sync list",
"errorEvent": "deviceError",
"reason": "Connection timed out after 30000 milliseconds",
"responseCode": -28
}
],
"totalItemCount": 9,
"matchingItemCount": 9,
"pageSize": 1,
"nextMarker": "34DH04d23c00JK",
"prevMarker": "34DH04d23cfhg9",
"isTruncated": false,
"sortExpression": "[DeviceError].[Timestamp] DESC",
"filterExpression": null
}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
404: The 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)
5XX: Any 500 code is an internal server error
GET /{id}/Downloads/
Returns the downloads associated with a specified player
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- id int: The unique identifier for the player 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:
- id is set to 12345
- marker value is set to the [PagedList].[NextMarker] property value from the previous BSN.Cloud API response.
- pageSize is set to 3
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 the Player Download EntityPlayer Download Entity
Example
{
"items": [
{
"timestamp": "2021-05-04T17:44:06.533Z",
"fileName": "ZoomBG.jpeg",
"fileHash": "SHA1:311822ED6A306CB3F2775CB3D9FF1A8C96680E92",
"progress": 42,
"status": "downloading"
},
{
"timestamp": "2021-05-04T17:44:06.533Z",
"fileName": "featureMinRevs.json",
"fileHash": "SHA1:98E4C18E11C4D41D5742756213C103B671B985E9",
"progress": 100,
"status": "ok"
},
{
"timestamp": "2021-05-04T17:44:06.533Z",
"fileName": "autoplugins.brs",
"fileHash": "SHA1:A0ACB3E76C85E48D326E802428B23F1325667410",
"progress": 100,
"status": "ok"
}
],
"totalItemCount": 7,
"matchingItemCount": 7,
"pageSize": 3,
"nextMarker": "HFfakds789nm06",
"prevMarker": "HFfakds789/0nm",
"isTruncated": true,
"sortExpression": "[DeviceDownload].[Timestamp] DESC",
"filterExpression": null
}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
404: The 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)
5XX: Any 500 code is an internal server error
GET /{serial}/Downloads/
Returns a list of downloads carried out by a player (specified by serial number).
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- serial string: The serial number of the player 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:
- serial is set to 46D89C101139
- marker value is set to the [PagedList].[NextMarker] property value from the previous BSN.Cloud API response.
- pageSize is set to 3
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 EntityPlayer Download Entity
Example
{
"items": [
{
"timestamp": "2021-05-04T17:44:06.533Z",
"fileName": "ZoomBG.jpeg",
"fileHash": "SHA1:311822ED6A306CB3F2775CB3D9FF1A8C96680E92",
"progress": 42,
"status": "downloading"
},
{
"timestamp": "2021-05-04T17:44:06.533Z",
"fileName": "featureMinRevs.json",
"fileHash": "SHA1:98E4C18E11C4D41D5742756213C103B671B985E9",
"progress": 100,
"status": "ok"
},
{
"timestamp": "2021-05-04T17:44:06.533Z",
"fileName": "autoplugins.brs",
"fileHash": "SHA1:A0ACB3E76C85E48D326E802428B23F1325667410",
"progress": 100,
"status": "ok"
}
],
"totalItemCount": 7,
"matchingItemCount": 7,
"pageSize": 3,
"nextMarker": "fjdkah890vdjk",
"prevMarker": "fjdkah890546k",
"isTruncated": true,
"sortExpression": "[DeviceDownload].[Timestamp] DESC",
"filterExpression": null
}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
404: The 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)
5XX: Any 500 code is an internal server error
GET /{deviceid}/ScreenShots/
Returns a list of screenshots uploaded by a specified player
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- id int: The unique identifier for the player
______________________________________________________________
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:
- id is set to 1234567
- marker value is set to the [PagedList].[NextMarker] property value from the previous BSN.Cloud API response.
- pageSize is set to 1
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 the ScreenShot Entity .
Example
{
"items": [
{
"id": 12345,
"device": {
"id": 1234567,
"serial": "CFD02W901738"
},
"groupName": "Default",
"presentationName": "videos-and-images",
"utcTimestamp": "2023-10-19T15:07:57Z",
"localTimestamp": "2023-10-19T10:07:57",
"width": 1920,
"height": 1080,
"filePath": "https://bsncloud-dssp.s3.amazonaws.com/DeviceScreenShots/Public/CFD02W901738/2023-10-19T15-07-57.7710000Z.jpg",
"fileSize": 802681,
"thumbPath": "https://bsncloud-dssp.s3.amazonaws.com/DeviceScreenShots/Public/CFD02W901738/2023-10-19T15-07-57.7710000Z.thumb.150x150.jpg"
}
],
"totalItemCount": 4,
"matchingItemCount": 4,
"pageSize": 1,
"nextMarker": "LDE4ODYzNTI0OTU=",
"prevMarker": "LDE4ODYzNTI0h893",
"isTruncated": true,
"sortExpression": "[DeviceScreenShot].[UTCTimestamp] DESC",
"filterExpression": null
}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
404: The 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)
5XX: Any 500 code is an internal server error
GET /{serial}/ScreenShots/
Returns a list of screenshots uploaded by a specified player
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- serial string: The player 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:
- serial is set to CFD02W901738
- marker value is set to the [PagedList].[NextMarker] property value from the previous BSN.Cloud API response.
- pageSize is set to 1
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 the ScreenShot Entity
Example
{
"items": [
{
"id": 12345,
"device": {
"id": 1234567,
"serial": "CFD02W901738"
},
"groupName": "Default",
"presentationName": "videos-and-images",
"utcTimestamp": "2023-10-19T15:07:57Z",
"localTimestamp": "2023-10-19T10:07:57",
"width": 1920,
"height": 1080,
"filePath": "https://bsncloud-dssp.s3.amazonaws.com/DeviceScreenShots/Public/CFD02W901738/2023-10-19T15-07-57.7710000Z.jpg",
"fileSize": 802681,
"thumbPath": "https://bsncloud-dssp.s3.amazonaws.com/DeviceScreenShots/Public/CFD02W901738/2023-10-19T15-07-57.7710000Z.thumb.150x150.jpg"
}
],
"totalItemCount": 4,
"matchingItemCount": 4,
"pageSize": 1,
"nextMarker": "GH0dkf78aok34",
"prevMarker": "GH0dkf78a5783",
"isTruncated": true,
"sortExpression": "[DeviceScreenShot].[UTCTimestamp] DESC",
"filterExpression": null
}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
404: The 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)
5XX: Any 500 code is an internal server error
GET /ScreenShots/
Returns a list of screenshots uploaded by a player
Required Scope Token
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 expressionexpression 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:
- projection is set to TOP(3,[Nodes])
- filter is set to [groupName] IS 'Default'
- grouping is set to [Serial]
- sort is set to [Id] ASC
- marker value is set to the [PagedList].[NextMarker] property value from the previous BSN.Cloud API response.
- pageSize is set to 1
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 the ScreenShot Entity
Example
{
"items": [
{
"id": 1829566038,
"device": {
"id": 0123456,
"serial": "E9E8J5401510"
},
"groupName": "Default",
"presentationName": "videos-and-images",
"utcTimestamp": "2023-09-22T06:05:43Z",
"localTimestamp": "2023-09-22T01:05:43",
"width": 1920,
"height": 1080,
"filePath": "https://bsncloud-dssp.s3.amazonaws.com/DeviceScreenShots/Public/D9E8D5001519/2023-09-22T06-05-43.2670000Z.jpg",
"fileSize": 1169176,
"thumbPath": "https://bsncloud-dssp.s3.amazonaws.com/DeviceScreenShots/Public/D9E8D5001519/2023-09-22T06-05-43.2670000Z.thumb.150x150.jpg"
}
],
"totalItemCount": 1256,
"matchingItemCount": 19,
"pageSize": 1,
"nextMarker": "MTgyOTYwODM2NCwxODI5NjA4MzY0",
"prevMarker": "MTgyOTYwODM2NCwxODI5NjA478gh",
"isTruncated": true,
"sortExpression": "[Id] ASC",
"filterExpression": "[groupName] IS 'Default'"
}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
GET /{id}/Tags/
Returns an object whose property names match tag keys and whose property values match tag values on a player
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- id int: The unique identifier for the player
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 12345
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 in Player EntityPlayer Entity for more information.
Example
{"string::[Device].<Testing2>": "PlayAllDay"}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
404: The 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)
5XX: Any 500 code is an internal server error
POST /{id}/Tags/
Adds tags to a specified player
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- id int: The unique identifier for the player
______________________________________________________________
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 Player EntityPlayer Entity for more information.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 12345
POST /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
Content-Type: application/json
Content-Length: 73This is the example request body:
{
"Number::[Device].<Number>":"1",
"Boolean::[Device].<Boolean>":true
}______________________________________________________________
Success Response
204: The tags were added to the specified player
Failure Response
400: Either a tag with the specified key was already defined, the request is malformed and therefore invalid, or there is a conflict
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error
DELETE /{id}/Tags/
Remove tags from a specified player
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- id int: The unique identifier for the player
______________________________________________________________
Request Body
- list string[]: An array of tag keys to delete
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 12345
DELETE /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
Content-Type: application/json
Content-Length: 64This is the example request body:
[
"Number::[Device].<Number>",
"Boolean::[Device].<Boolean>"
]______________________________________________________________
Success Response
204: The specified tag was successfully deleted from the player
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
404: The 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)
5XX: Any 500 code is an internal server error
GET /{serial}/Tags/
Returns an object whose property names match tag keys and whose property values match tag values on a player
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- serial string: The player serial number
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- serial is set to 35F89C022150
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 the Player EntityPlayer Entity for more information.
Example
{"string::[Device].<Testing2>": "PlayAllDay"}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
404: The 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)
5XX: Any 500 code is an internal server error
POST /{serial}/Tags/
Adds one or more tags to a specified player
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- serial string: The player 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 the Player EntityPlayer Entity for more information.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- serial is set to 35F89C022150
POST /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
Content-Type: application/json
Content-Length: 73This is the example request body:
{
"Number::[Device].<Number>":"1",
"Boolean::[Device].<Boolean>":true
}______________________________________________________________
Success Response
204: The tags were added to the specified player
Failure Response
400: Either a tag with the specified key was already defined, the request is malformed and therefore invalid, or there is a conflict
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error
DELETE /{serial}/Tags/
Removes one or more tags from a specified player
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- serial string: The player 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:
- serial is set to 35F89C022150
DELETE /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
Content-Type: application/json
Content-Length: 64This is the example request body:
[
"Number::[Device].<Number>",
"Boolean::[Device].<Boolean>"
]______________________________________________________________
Success Response
204: The specified tag was successfully deleted from the player
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
404: The 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)
5XX: Any 500 code is an internal server error
GET /Models/
Returns the list of player models supported by the current Main API version
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
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
Example
[
"HD223",
"HD1023",
"HD1423",
"LS423",
"XD233",
"XD1033",
"XD1133",
"XT243",
"XT1043",
"XT1143",
"4K242",
"4K1042",
"4K1142",
"HS123",
"HO523",
"XD234",
"XD1034",
"XT244",
"XT1144",
"HS124",
"HS144",
"LS424",
"HD224",
"HD1024",
"AU325",
"AU335",
"XC2055",
"XC4055",
"LS425",
"LS445",
"HS125",
"HS145",
"HD225",
"HD1025",
"XD235",
"XD1035",
"XT245",
"XT1145",
"XT2145"
]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
GET /Models/{model}/
Returns the list of player models supported by the current Main API version
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- model string: The player model
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- model is XD1034
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
Example
"XD1034"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
404: The provided player model does not exist (the path does not exist)
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
GET /Models/{model}/Connectors/
Returns the list of connectors available on a given player model.
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- model string: The player model
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- model is set to XD1034
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 player model
Example
["HDMI"]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
404: The provided player model does not exist or is incorrect
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
GET /Models/{model}/Connectors/{connector}/
Returns the list of connectors available on a given player model
Required Scope Token
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:
- model is set to XD1034
- connector is set to HDMI
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 player model
Example
"HDMI"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
404: The provided player model or connector does not exist or is incorrect
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
GET /Models/{model}/Connectors/{connector}/VideoModes/
Returns the Video Modes supported by the specified connector on the specified player model.
Required Scope Token
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:
- model is set to XD1034
- connector is set to HDMI
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 player model.
Example
[
"4096x2160x23.976p",
"4096x2160x24p",
"4096x2160x25p",
"4096x2160x29.97p",
"4096x2160x30p",
"4096x2160x50p",
"4096x2160x59.94p",
"4096x2160x60p",
"3840x2160x60p",
"3840x2160x59.94p",
"3840x2160x50p",
"3840x2160x30p",
"3840x2160x29.97p",
"3840x2160x25p",
"3840x2160x24p",
"3840x2160x23.976p",
"3840x1080x60p",
"3840x1080x50p",
"3840x1080x30p",
"3840x1080x25p",
"3840x600x60p",
"3440x1440x60p",
"3440x1440x50p",
"3440x1440x30p",
"2560x1600x60p",
"2560x1440x60p",
"2560x1440x30p",
"2560x1080x60p",
"2560x960x60p",
"2048x1152x60p",
"1920x1920x60p",
"1920x1200x60p",
"1920x1200x50p",
"1920x1080x60p",
"1920x1080x59.94p",
"1920x1080x50p",
"1920x1080x30p",
"1920x1080x29.97p",
"1920x1080x25p",
"1920x1080x24p",
"1920x1080x23.976p",
"1920x1080x60i",
"1920x1080x59.94i",
"1920x1080x50i",
"1920x540x60p",
"1680x1050x60p",
"1600x1200x60p",
"1600x900x60p",
"1440x1080x60p",
"1440x900x75p",
"1440x900x60p",
"1400x1050x75p",
"1400x1050x60p",
"1366x768x60p",
"1360x768x60p",
"1280x1024x75p",
"1280x1024x60p",
"1280x960x60p",
"1280x800x75p",
"1280x800x60p",
"1280x768x60p",
"1280x720x60p",
"1280x720x59.94p",
"1280x720x50p",
"1280x720x25p",
"1280x720x24p",
"1280x720x23.976p",
"1200x1920x60p",
"1024x768x75p",
"1024x768x60p",
"960x960x60p",
"800x1280x60p",
"800x600x75p",
"800x600x60p",
"720x576x50p",
"720x576x50i",
"720x480x60p",
"720x480x60i",
"720x480x59.94p",
"640x480x60p"
]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
404: The provided player model or connector does not exist or is incorrect
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
GET /Operations/
Returns operational permissions granted to roles for specific business operations
Required Scope Token
bsn.api.main.operations.retrieve
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
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 EntityBusiness Operations Entity
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
GET /{id}/Permissions/
Returns the list of permissions allowing or denying specific business operations to be executed on the specified player
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- id int: A unique identifier for the player
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 12345
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 PermissionPermission entities
Example
[
{
"entityId": 12345,
"operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
"principal": {
"login": "[email protected]",
"type": "User",
"id": 54321
},
"isFixed": false,
"isInherited": false,
"isAllowed": false,
"creationDate": "2023-10-06T15:55:35.587Z"
},
{
"entityId": 12345,
"operationUID": "0cf93b59-dbd4-4ad1-89b4-4024c08d8ddc",
"principal": {
"name": "Custom",
"isCustom": true,
"type": "Role",
"id": 54321
},
"isFixed": false,
"isInherited": false,
"isAllowed": true,
"creationDate": "2023-10-06T15:55:35.553Z"
}
]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
404: The 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)
5XX: Any 500 code is an internal server error
POST /{id}/Permissions/
Applies permissions allowing or denying specific business operations to be executed on a specified player
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- id int: A unique identifier for the player
______________________________________________________________
Request Body
- An array of PermissionPermission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 12345
POST /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
Content-Type: application/json
Content-Length: 322This is the example request body:
[
{
"entityId": 12345,
"operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
"principal": {
"login": "[email protected]",
"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
Failure Response
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
404: The server cannot find the requested resource (the path does not exist)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error
DELETE /{id}/Permissions/
Removes custom permissions granted to execute business operations from a specified player
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- id int: A unique identifier for the player
______________________________________________________________
Request Body
- An array of PermissionPermission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 12345
DELETE /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
Content-Type: application/json
Content-Length: 322This is the example request body:
[
{
"entityId": 12345,
"operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
"principal": {
"login": "[email protected]",
"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 player
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
404: The 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)
5XX: Any 500 code is an internal server error
GET /{serial}/Permissions/
Returns the list of permissions allowing or denying specific business operations to be executed on a specified player
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- serial string: The serial number of the player
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- serial is set to 46D89C001033
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 PermissionPermission entities
Example
[
{
"entityId": 12345,
"operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
"principal": {
"login": "[email protected]",
"type": "User",
"id": 54321
},
"isFixed": false,
"isInherited": false,
"isAllowed": false,
"creationDate": "2023-10-06T15:55:35.587Z"
},
{
"entityId": 12345,
"operationUID": "0cf93b59-dbd4-4ad1-89b4-4024c08d8ddc",
"principal": {
"name": "Custom",
"isCustom": true,
"type": "Role",
"id": 54321
},
"isFixed": false,
"isInherited": false,
"isAllowed": true,
"creationDate": "2023-10-06T15:55:35.553Z"
}
]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
404: The 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)
5XX: Any 500 code is an internal server error
POST /{serial}/Permissions/
Applies permissions allowing or denying specific business operations to be executed on a specified player
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- serial string: The serial number of the player
______________________________________________________________
Request Body
- An array of PermissionPermission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- serial is set to 46D89C001032
POST /2022/06/REST/Devices/46D89C001032/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
Content-Type: application/json
Content-Length: 322This is the example request body:
[
{
"entityId": 12345,
"operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
"principal": {
"login": "[email protected]",
"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
Failure Response
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
404: The server cannot find the requested resource (the path does not exist)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error
DELETE /{serial}/Permissions/
Removes custom permissions granted to execute business operations from a specified player
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- serial string: The serial number of the player
______________________________________________________________
Request Body
- An array of PermissionPermission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- serial is set to 46D89C001033
DELETE /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
Content-Type: application/json
Content-Length: 322This is the example request body:
[
{
"entityId": 12345,
"operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
"principal": {
"login": "[email protected]",
"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 player
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
404: The 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)
5XX: Any 500 code is an internal server error
GET /{serial}/Tokens/{token}/
Validates an OAuth2 device access or refresh token on a specified player
Required Scope Token
bsn.api.main.devices.token.validate
______________________________________________________________
Segment
- serial string: The serial number of the player
- token string: An OAuth2 device access or refresh token issued for the specified player
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- serial is set to 47G49C000042
- token is set to {{Token}}
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 the Token Info Entity
Example
{
"token": {{Token}},
"scope": "bdeploy certs bsn.api.device bsn.api.main.groups.regular.retrieve bsn.api.main.groups.regular.schedule.retrieve bsn.api.main.content.retrieve",
"validFrom": "2023-11-29T17:43:55Z",
"validTo": "2023-11-29T17:58:55Z"
}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
404: The 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)
5XX: Any 500 code is an internal server error
DELETE /{serial}/Tokens/{token}/
Revokes an OAuth2 device access or refresh token on a specified player
Required Scope Token
bsn.api.main.devices.token.revoke
______________________________________________________________
Segment
- serial string: The serial number of the player
- token string: An OAuth2 device access or refresh token issued for the specified player
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- serial is set to 47G49C000042
- token is set to {{Token}}
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 player
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
404: The 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)
5XX: Any 500 code is an internal server error
GET /{id}/Tokens/{token}/
Validates an OAuth2 device access or refresh token on a specified player
Required Scope Token
bsn.api.main.devices.token.validate
______________________________________________________________
Segment
- id int: A unique identifier for the player
- token string: An OAuth2 device access or refresh token issued for the specified player
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 123456
- token is set to {{Token}}
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
Example
{
"token": {{Token}},
"scope": "bdeploy certs bsn.api.device bsn.api.main.groups.regular.retrieve bsn.api.main.groups.regular.schedule.retrieve bsn.api.main.content.retrieve",
"validFrom": "2023-11-29T17:43:55Z",
"validTo": "2023-11-29T17:58:55Z"
}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
404: The 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)
5XX: Any 500 code is an internal server error
DELETE /{id}/Tokens/{token}/
Revokes an OAuth2 device access or refresh token on a specified player
Required Scope Token
bsn.api.main.devices.revoke
______________________________________________________________
Segment
- id int: A unique identifier for the player
- token string: An OAuth2 device access or refresh token issued for the specified player
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 123456
- token is set to {{Token}}
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 player
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
404: The 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)
5XX: Any 500 code is an internal server error
GET /All/Notes/
Retrieves a list of notes for all players on the network.
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Query String Parameters
- filter string optional: An expressionexpression 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 (see this pagethis page for more information). The default value is null.
- 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 autorun plugin 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 player 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:
- pageSize is set to 1
- filter is set to [Device].[Id] IS '*inaccessible*'
- sort is set to [LastModifiedDate] DESC
- marker value is set to the [PagedList].[NextMarker] property value from the previous BSN.Cloud API response.
GET /2022/06/REST/Devices/All/Notes/?pageSize=1&sort=%5BLastModifiedDate%5D%20DESC&filter=%5BDevice%5D.%5BId%5D%20IS%20%27%2Ainaccessible%2A%27&marker=oxNjo0NydaLDY0Njg2NA%3D 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 listpaged list of Player Note instances on a network. This will return not more than 100 entities along with the information necessary to return any other remaining pages.
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
GET /{id}/Notes/
Return the notes for a specified player
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
id int: A unique identifier for the player
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 12345
GET /2022/06/REST/Devices/12345/Notes/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Mon, 11 Mar 2024 10:00:00 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate______________________________________________________________
Success Response with Body
200: Returns the Player Note instance for the specified player.
Example
{
"device": {
"id": 12345,
"serial": "ABCD12345678"
},
"notes": "This player is behind the TV in an inaccessible place",
"creationDate": "2024-01-10T18:30:11.123Z",
"lastModifiedDate": "2024-03-15T15:51:01.123Z"
}Success Response
304: The resource was not modified since the time specified in the “If-Modified-Since” header
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
404: The 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)
5XX: Any 500 code is an internal server error
PUT /{id}/Notes/
Updates the notes for the specified player.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- id int: A unique identifier for the player
______________________________________________________________
Request Body
- The Player Note
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 12345
PUT /2022/06/REST/Devices/12345/Notes/ 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
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Content-Type: application/json
Content-Length: 59This is the example request body:
{
"device": {
"id": 12345,
"serial": "ABCD12345678"
},
"notes": "This player is behind the TV in an inaccessible place",
"creationDate": "0001-01-01T00:00:00",
"lastModifiedDate": "0001-01-01T00:00:00"
}______________________________________________________________
Success Response
204: The notes on the specified player were successfully updated
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
404: The 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)
412: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error
GET /{serial}/Notes/
Return the notes for a specified player
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
- serial string: The serial number of the player
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to ABCD12345678
GET /2022/06/REST/Devices/ABCD12345678/Notes/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Mon, 11 Mar 2024 10:00:00 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate______________________________________________________________
Success Response with Body
200: Returns the Player Note instance for the specified player
Example
{
"device": {
"id": 12345,
"serial": "ABCD12345678"
},
"notes": "This player is behind the TV in an inaccessible place",
"creationDate": "2024-01-10T18:30:11.123Z",
"lastModifiedDate": "2024-03-15T15:51:01.123Z"
}Success Response
304: The resource was not modified since the time specified in the “If-Modified-Since” header
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
404: The 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)
5XX: Any 500 code is an internal server error
PUT /{serial}/Notes/
Updates the notes for the specified player
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
- serial string: The serial number of the player
______________________________________________________________
Request Body
- The Player Note
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- serial is set to ABCD12345678
PUT /2022/06/REST/Devices/ABCD12345678/Notes/ 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
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Content-Type: application/json
Content-Length: 59This is the example request body:
{
"device": {
"id": 12345,
"serial": "ABCD12345678"
},
"notes": "This player is behind the TV in an inaccessible place",
"creationDate": "0001-01-01T00:00:00",
"lastModifiedDate": "0001-01-01T00:00:00"
}______________________________________________________________
Success Response
204: The note on the specified player was successfully updated
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
404: The 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)
412: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error