DELETE /
Removes devices, specified by a filter, from a network. This allows multiple devices to be deleted at once.
Required Scope Token
bsn.api.main.devices.delete
______________________________________________________________
Query String Parameter
filter
string required
An expression for filtering search results.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
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
______________________________________________________________
Response
Success Response Body
200: Returns the number of affected devices as an integer value.
Failure
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 expression 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
______________________________________________________________
Response
Success Response Body
200: Returns the Players 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
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 devices on the network matching the specified filter criteria. If no filter is included, this call returns the total number of devices on the network.
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Query String Parameter
filter
string optional
An expression for filtering search results.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
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
______________________________________________________________
Response
Success
200: The device count is returned as an integer value.
Failure
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:int}/
Return the information for a specified device
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
id
int
A unique identifier for the device
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
The optional
If-Modified-Since
header value equals theLast-Modified
header value retrieved from the previousGET /id
orGET /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
______________________________________________________________
Response
Success Response with Body
200: Returns the Player Entity
Example
Success Response
304: The resource was not modified since the time specified in the “If-Modified-Since” header
Failure
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:int}/
Update the specified device. Applies only to the player settings.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
id
int
A unique identifier for the device
______________________________________________________________
Request Body
The Player Entity
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
The optional
If-Unmodified-Since
header value equals theLast-Modified
header value retrieved from theGET /id
orGET /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: 5947
This is the example request body:
______________________________________________________________
Response
Success
204: The specified device was successfully updated
Failure
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:int}/
Replaces certain parameters on the specified device. Applies only to the player settings. See rfc6902.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
id
int
A unique identifier for the device
______________________________________________________________
Request Body
These properties are entries in an array. Every entry must have all three of these properties:
op
string: The type of operation - in this case it is always "replace"
path
string: A Uri path that references the location within the target document where the update will be performed
value
: The replacement value(s) for the parameters that must be updated
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is12345
The optional
If-Unmodified-Since
header value equals theLast-Modified
header value retrieved from theGET /id
orGET /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: 94
This is the example request body:
[ { "op": "replace", "path": "/settings/description/", "value": "Main Screen Player" } ]
______________________________________________________________
Response
Success
204: The parameters have been successfully replaced.
Failure
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:int}/
Delete the specified device
Required Scope Token
bsn.api.main.devices.delete
______________________________________________________________
Segment
id
int
A unique identifier for the device to delete
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
The optional
If-Unmodified-Since
header value equals theLast-Modified
header value retrieved from theGET /id
orGET /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
______________________________________________________________
Response
Success
204: The device was successfully deleted
Failure
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 device information
Required Scope
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
serial
string
The device serial number
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set to46D89C101139
The optional
If-Modified-Since
header value equals theLast-Modified
header value retrieved from the previousGET /id
orGET /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
______________________________________________________________
Response
Success Response with Body
200: Returns the Player Entity
Example
Success Response
304: The resource was not modified since the time specified in the “If-Modified-Since” header
Failure
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 device. Applies only to the player settings.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
serial
string
The device serial number
______________________________________________________________
Request Body
The Player Entity
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set to46D89C107131
The optional
If-Unmodified-Since
header value equals theLast-Modified
header value retrieved from theGET /id
orGET /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: 5947
This is the example request body:
______________________________________________________________
Response
Success
204: The specified device was successfully updated
Failure
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 device. Applies only to player settings. See rfc6902.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
serial
string
The serial number of the device to delete
______________________________________________________________
Request Body
These properties are entries in an array. Every entry must have all three of these properties:
op
string: The type of operation - in this case it is always "replace"
path
string: A Uri path that references the location within the target document where the update will be performed
value
: The replacement value(s) for the parameters that must be updated.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is46D89C101139
The optional
If-Unmodified-Since
header value equals theLast-Modified
header value retrieved from theGET /id
orGET /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: 94
This is the example request body:
[ { "op": "replace", "path": "/settings/description/", "value": "Main Screen Player" } ]
______________________________________________________________
Response
Success
204: The parameters have been successfully replaced.
Failure
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 device
Required Scope Token
bsn.api.main.devices.delete
______________________________________________________________
Segment
serial
string
The device serial number
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set to46D89C101139
The optional
If-Unmodified-Since
header value equals theLast-Modified
header value retrieved from theGET /id
orGET /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
______________________________________________________________
Response
Success
204: The device was successfully deleted
Failure
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:int}/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 device instance
______________________________________________________________
Response
Success Response Body
200: The collection of Player Beacon Entities
Failure
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 device instance
______________________________________________________________
Response
Success Response Body
200: The collection of Player Beacon Entities
Failure
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:int}/Beacons/{name}/
Returns a device beacon of a certain type associated with a specified device and the specified name
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
deviceId
int
A unique identifier for the device instance
name
string
The name of the device beacon
______________________________________________________________
Response
Success Response Body
200: Returns the Player Beacon Entity
Failure
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:int}/Beacons/{name}/
Delete a specified device beacon from a specified device.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
deviceId
int
A unique identifier for the device instance
name
string
The name of the device beacon
______________________________________________________________
Response
Success
204: The specified device beacon was successfully deleted from the device
Failure
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 device beacon of a certain type associated with a specified device and the specified name
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
serial
string
The serial number of the device
name
string
The name of the beacon
______________________________________________________________
Response
Success Response Body
200: Returns the Player Beacon Entity
Failure
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 device beacon on a specified device.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
serial
string
The serial number of the device
name
string
The name of the beacon to delete
______________________________________________________________
Response
Success
204: The specified device beacon was successfully deleted from the device
Failure
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:int}/Beacons/
Create a device beacon
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
id
int
A unique identifier for the device instance on which you want to create the beacon
______________________________________________________________
Request Body
______________________________________________________________
Response
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 Entity.
Failure
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 device beacon on a specified device.
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
serial
string
The serial number of the device on which you want to create the beacon
______________________________________________________________
Request Body
______________________________________________________________
Response
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 Entity.
Failure
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:int}/Errors/
Returns a list of errors associated with a specified device
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
id
int
A unique identifier for the device that is reporting the errors
______________________________________________________________
Query String Parameters
marker
string optional
A value specifying which page to retrieve. This value is useful if the isTruncated
entry in the response body of the previous GET call indicates that the number of error instances exceeds the pageSize
.
This parameter is only required if you need more elements in the paged list than the pageSize
(100).
pageSize
int optional
The maximum number of error instances that can be contained in the response body.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
marker
value is set to the[PagedList].[NextMarker]
property value from the previous BSN.cloud API response.pageSize
is set to1
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
______________________________________________________________
Response
Success Response Body
200: Returns the Player 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", "isTruncated": false, "sortExpression": "[DeviceError].[Timestamp] DESC", "filterExpression": null }
Failure
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 device
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
serial
string
The serial number of the device that is reporting the errors
______________________________________________________________
Query String Parameters
marker
string optional
A value specifying which page to retrieve. This value is useful if the isTruncated
entry in the response body of the previous GET call indicates that the number of error instances exceeds the pageSize
.
This parameter is only required if you need more elements in the paged list than the pageSize
(100).
pageSize
int optional
The maximum number of error instances that can be contained in the response body
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set to46D89C101139
marker
value is set to the[PagedList].[NextMarker]
property value from the previous BSN.cloud API response.pageSize
is set to1
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
______________________________________________________________
Response
Success Response Body
200: Returns the Player 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", "isTruncated": false, "sortExpression": "[DeviceError].[Timestamp] DESC", "filterExpression": null }
Failure
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:int}/Downloads/
Returns the downloads associated with a specified device
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
id
int
The unique identifier for the device that has the download instances
______________________________________________________________
Query String Parameters
marker
string optional
A value specifying which page to retrieve. This value is useful if the isTruncated
entry in the response body of the previous GET call indicates that the number of download instances exceeds the pageSize
.
This parameter is only required if you need more elements in the paged list than the pageSize
(100).
pageSize
int optional
The maximum number of download instances that can be contained in the response body
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
marker
value is set to the[PagedList].[NextMarker]
property value from the previous BSN.cloud API response.pageSize
is set to3
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
______________________________________________________________
Response
Success Response Body
200: Returns the Player 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": "2021-05-04T17:44:06", "isTruncated": true, "sortExpression": "[DeviceDownload].[Timestamp] DESC", "filterExpression": null }
Failure
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 device (specified by serial number).
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
serial
string
The serial number of the device that has the download instances
______________________________________________________________
Query String Parameters
marker
string optional
A value specifying which page to retrieve. This value is useful if the isTruncated
entry in the response body of the previous GET call indicates that the number of download instances exceeds the pageSize
.
This parameter is only required if you need more elements in the paged list than the pageSize
(100).
pageSize
int optional
The maximum number of download instances that can be contained in the response body
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set to46D89C101139
marker
value is set to the[PagedList].[NextMarker]
property value from the previous BSN.cloud API response.pageSize
is set to3
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
E______________________________________________________________
Response
Success Response Body
200: Returns the Player 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": "2021-05-04T17:44:06", "isTruncated": true, "sortExpression": "[DeviceDownload].[Timestamp] DESC", "filterExpression": null }
Failure
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:int}/ScreenShots/
Returns a list of screenshots uploaded by a specified device
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
id
int
The unique identifier for the device
______________________________________________________________
Query String Parameters
marker
string optional
A value specifying which page to retrieve. This value is useful if the isTruncated
entry in the response body of the previous GET call indicates that the number of screenshot instances exceeds the pageSize
.
This parameter is only required if you need more elements in the paged list than the pageSize
(100).
pageSize
int optional
The maximum number of screenshot instances that can be contained in the response body
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to1234567
marker
value is set to the[PagedList].[NextMarker]
property value from the previous BSN.cloud API response.pageSize
is set to1
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
______________________________________________________________
Response
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=", "isTruncated": true, "sortExpression": "[DeviceScreenShot].[UTCTimestamp] DESC", "filterExpression": null }
Failure
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 device
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
serial
string
The device serial number
______________________________________________________________
Query String Parameters
marker
string optional
A value specifying which page to retrieve. This value is useful if the isTruncated
entry in the response body of the previous GET call indicates that the number of screenshot instances exceeds the pageSize
.
This parameter is only required if you need more elements in the paged list than the pageSize
(100).
pageSize
int optional
The maximum number of screenshot instances that can be contained in the response body
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set toCFD02W901738
marker
value is set to the[PagedList].[NextMarker]
property value from the previous BSN.cloud API response.pageSize
is set to1
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
______________________________________________________________
Response
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", "isTruncated": true, "sortExpression": "[DeviceScreenShot].[UTCTimestamp] DESC", "filterExpression": null }
Failure
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 device.
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 expression for filtering search results
grouping
string optional
A grouping expression for the filtered entities. This parameter can be used with the projection
parameter to retrieve a certain number of screenshots for a large number of devices in one request (for example, 100 screenshots from 100 players).
sort
string optional
An expression for sorting the search results. The sort expression specifies the entry used for sorting and the ascending/descending (ASC/DESC) sorting order (e.g. "[Device].[Serial] ASC")
marker
string optional
A value specifying which page to retrieve. This value is useful if the isTruncated
entry in the response body of the previous GET call indicates that the number of screenshot instances exceeds the pageSize
.
This parameter is only required if you need more elements in the paged list than the pageSize
(100).
pageSize
int optional
The maximum number of screenshot instances that can be contained in the response body
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
projection
is set toTOP(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 to1
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
______________________________________________________________
Response
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", "isTruncated": true, "sortExpression": "[Id] ASC", "filterExpression": "[groupName] IS 'Default'" }
Failure
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:int}/Tags/
Returns an object whose property names match tag keys and whose property values match tag values on a device
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
id
int
The unique identifier for the device
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
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
______________________________________________________________
Response
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 Entity for more information.
Example
{"string::[Device].<Testing2>": "PlayAllDay"}
Failure
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:int}/Tags/
Adds tags to a specified device
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
id
int
The unique identifier for the device
______________________________________________________________
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 Entity for more information.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
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: 73
This is the example request body:
{ "Number::[Device].<Number>":"1", "Boolean::[Device].<Boolean>":true }
______________________________________________________________
Response
Success
204: The tags were added to the specified device
Failure
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:int}/Tags/
Remove tags from a specified device
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
id
int
The unique identifier for the device
______________________________________________________________
Request Body
list
string[]: An array of tag keys to delete
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
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: 64
This is the example request body:
[ "Number::[Device].<Number>", "Boolean::[Device].<Boolean>" ]
______________________________________________________________
Response
Success
204: The specified tag was successfully deleted from the device
Failure
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 device
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
serial
string
The device serial number
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set to35F89C022150
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
______________________________________________________________
Response
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 Entity for more information.
Example
{"string::[Device].<Testing2>": "PlayAllDay"}
Failure
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 device
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
serial
string
The device serial number
______________________________________________________________
Request Body
tags
DynamicObject
A collection of key value pairs where the key is tag name, and the value is tag value. See the Tags
entry in the Player Entity for more information.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set to35F89C022150
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: 73
This is the example request body:
{ "Number::[Device].<Number>":"1", "Boolean::[Device].<Boolean>":true }
______________________________________________________________
Response
Success
204: The tags were added to the specified device
Failure
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 device
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
serial
string
The device serial number
______________________________________________________________
Request Body
list
string[]: An array of tag keys to delete
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set to35F89C022150
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: 64
This is the example request body:
[ "Number::[Device].<Number>", "Boolean::[Device].<Boolean>" ]
______________________________________________________________
Response
Success
204: The specified tag was successfully deleted from the device
Failure
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
______________________________________________________________
Response
Success Response Body
200: Returns the complete list of player models that are supported on this Main API version
Example
Failure
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
isXD1034
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
______________________________________________________________
Response
Success Response Body
200: Returns the complete list of player models that are supported on this Main API version
Example
"XD1034"
Failure
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 device 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 toXD1034
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
______________________________________________________________
Response
Success Response Body
200: Returns the list of connectors available on a given device model.
Example
["HDMI"]
Failure
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 device 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 toXD1034
connector
is set toHDMI
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
______________________________________________________________
Response
Success Response Body
200: Returns the list of connectors available on a given device model.
Example
"HDMI"
Failure
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 device 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 toXD1034
connector
is set toHDMI
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
______________________________________________________________
Response
Success Response Body
200: The response body is an array of strings listing video modes supported by the specified connector on the specified device model.
Example
Failure
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
______________________________________________________________
Response
Success Response Body
200: Returns the Business Operations Entity
Example
Failure
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:int}/Permissions/
Returns the list of permissions allowing or denying specific business operations to be executed on the specified device
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
id
int
A unique identifier for the device
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
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
______________________________________________________________
Response
Success Response Body
200: Returns an array of Permission entities
Example
[ { "entityId": 12345, "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf", "principal": { "login": "JaneDoe@brightsign.biz", "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
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:int}/Permissions/
Applies permissions allowing or denying specific business operations to be executed on a specified device
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
id
int
A unique identifier for the device
______________________________________________________________
Request Body
An array of Permission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
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: 322
This is the example request body:
[ { "entityId": 12345, "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf", "principal": { "login": "JaneDoe@brightsign.biz", "type": "User", "id": 54321 }, "isFixed": false, "isInherited": false, "isAllowed": false, "creationDate": "0001-01-01T00:00:00" } ]
______________________________________________________________
Response
Success
204: The specified permissions were successfully granted
Failure
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:int}/Permissions/
Removes custom permissions granted to execute business operations from a specified device
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
id
int
A unique identifier for the device
______________________________________________________________
Request Body
An array of Permission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
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: 322
This is the example request body:
[ { "entityId": 12345, "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf", "principal": { "login": "JaneDoe@brightsign.biz", "type": "User", "id": 54321 }, "isFixed": false, "isInherited": false, "isAllowed": false, "creationDate": "0001-01-01T00:00:00" } ]
______________________________________________________________
Response
Success
204: The specified permissions were successfully deleted from the device
Failure
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 device
Required Scope Token
bsn.api.main.devices.retrieve
______________________________________________________________
Segment
serial
string
The serial number of the device
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set to46D89C001033
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
______________________________________________________________
Response
Success Response Body
200: Returns an array of Permission entities
Example
[ { "entityId": 12345, "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf", "principal": { "login": "JaneDoe@brightsign.biz", "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
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 device
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
serial
string
The serial number of the device
______________________________________________________________
Request Body
An array of Permission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set to46D89C001032
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: 322
This is the example request body:
[ { "entityId": 12345, "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf", "principal": { "login": "JaneDoe@brightsign.biz", "type": "User", "id": 54321 }, "isFixed": false, "isInherited": false, "isAllowed": false, "creationDate": "0001-01-01T00:00:00" } ]
______________________________________________________________
Response
Success
204: The specified permissions were successfully granted
Failure
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 device
Required Scope Token
bsn.api.main.devices.update
______________________________________________________________
Segment
serial
string
The serial number of the device
______________________________________________________________
Request Body
An array of Permission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set to46D89C001033
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: 322
This is the example request body:
[ { "entityId": 12345, "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf", "principal": { "login": "JaneDoe@brightsign.biz", "type": "User", "id": 54321 }, "isFixed": false, "isInherited": false, "isAllowed": false, "creationDate": "0001-01-01T00:00:00" } ]
______________________________________________________________
Response
Success
204: The specified permissions were successfully deleted from the device
Failure
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 device
Required Scope Token
bsn.api.main.devices.token.validate
______________________________________________________________
Segment
serial
string
The serial number of the device
token
string
An OAuth2 device access or refresh token issued for the specified device
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set to47G49C000042
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
______________________________________________________________
Response
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
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 device.
Required Scope Token
bsn.api.main.devices.token.revoke
______________________________________________________________
Segment
serial
string
The serial number of the device
token
string
An OAuth2 device access or refresh token issued for the specified device
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
serial
is set to47G49C000042
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
______________________________________________________________
Response
Success
204: The specified token was successfully deleted from the device
Failure
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:int}/Tokens/{token}/
Validates an OAuth2 device access or refresh token on a specified device
Required Scope Token
bsn.api.main.devices.token.validate
______________________________________________________________
Segment
id
int
A unique identifier for the device
token
string
An OAuth2 device access or refresh token issued for the specified device
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to123456
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
______________________________________________________________
Response
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
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:int}/Tokens/{token}/
Revokes an OAuth2 device access or refresh token on a specified device
Required Scope Token
bsn.api.main.devices.revoke
______________________________________________________________
Segment
id
int
A unique identifier for the device
token
string
An OAuth2 device access or refresh token issued for the specified device
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to123456
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
______________________________________________________________
Response
Success
204: The specified token was successfully deleted from the device
Failure
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