DeviceWebPages Endpoints (2022/06)
These endpoints allow users to manage device webpages on the network.
Base URL for these endpoints: https://api.bsn.cloud/2022/06/REST/DeviceWebPages
_________________________________________________________________________
GET /
Returns a list of player webpages
Required Scope Token
bsn.api.main.devicewebpages.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 device webpage 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 webpage 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 [Name] CONTAINS 'Page' AND [UploadDate] IS IN THE RANGE '2020-07-01' AND '2023-11-01'
- sort is set to [Name] DESC
GET /2022/06/REST/DeviceWebPages/?marker=TWF0dHNJbnRlcm5hbFBhZ2UsOTczMTk1NQ%3D%3D&pageSize=1&filter=%5BName%5D%20CONTAINS%20%27Page%27%20AND%20%5BUploadDate%5D%20IS%20IN%20THE%20RANGE%20%272020-07-01%27%20AND%20%272023-11-01%27&sort=%5BName%5D%20DESC 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 WebPage Entity instances on a network. This will return not more than 100 entities along with the information necessary to return any other remaining pages.
Example
{
"items": [ {
"id": 11335061,
"name": "HTML_Red_Dot_Test-WebPage",
"uploadDate": "2023-10-17T14:24:21.63Z",
"lastModifiedDate": "2023-10-17T14:24:21.63Z",
"indexFile": {
"fileName": "village-of-menomonee-falls-events.html",
"physicalPath": "https://bsncloud.s3.amazonaws.com/ContentCloud/ee9d33406bf95280fd4bfa4a03ec9965",
"relativePath": "\\",
"fileSize": 1569,
"fileHash": "SHA1:2614BFE3EC74FEE729FB6EQ291E6324E0432317E"
},
"assets": null,
"presentations": [ {
"id": 242058,
"name": "HTML_Red_Dot_Test",
"type": "Presentation",
"link": null
}],
"permissions": []
}],
"totalItemCount": 9,
"matchingItemCount": 6,
"pageSize": 1,
"nextMarker": "SFRNTF9SZWRfRG90X1Rlc3QtV2ViUGFnZSwxMTM0NTA1MA==",
"prevMarker": "SFRNTF9SZWRfRG90X1Rlc3QtV2ViUGFnZSwxMTM0NTA134hU",
"isTruncated": true,
"sortExpression": "[Name] DESC",
"filterExpression": "[Name] CONTAINS 'Page' AND [UploadDate] IS IN THE RANGE '2020-07-01T00:00:00.000Z' AND '2023-11-01T00:00:00.000Z'"
}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
DELETE /
Removes player webpages, specified by a filter, from a network. This allows multiple player webpages to be deleted at once.
Required Scope Token
bsn.api.main.devicewebpages.delete
______________________________________________________________
Query String Parameter
- filter string required: An expressionexpression for filtering search results. The default value is null.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- filter is set to [UploadDate] IS IN THE RANGE '2020-07-01' AND '2020-08-01'
DELETE /2022/06/REST/DeviceWebPages/?filter=%5BName%5D%20CONTAINS%20%27Default%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 player webpages 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. For example, you cannot delete a device webpage that is in use by a presentation.
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 /Count/
Returns the number of player webpages on a device
Required Scope Token
bsn.api.main.devicewebpages.retrieve
______________________________________________________________
Query String Parameter
- filter string optional: An expressionexpression for filtering search results. The default value is null.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- filter is set to [UploadDate] IS IN THE RANGE '2018-01-01' AND '2023-09-01'
GET /2022/06/REST/DeviceWebPages/Count/?filter=%5BUploadDate%5D%20IS%20IN%20THE%20RANGE%20%272018-01-01%27%20AND%20%272023-09-01 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 player webpages 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}/
Returns the specified player webpage
Required Scope Token
bsn.api.main.devicewebpages.retrieve
______________________________________________________________
Segment
- id int: A unique identifier for the player webpage
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 646879
- The optional If-Modified-Since header value equals the Last-Modified header value retrieved from the previous GET /id or GET /name response
GET /2022/06/REST/DeviceWebPages/646879/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Wed, 20 Dec 2023 21:30:34 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate______________________________________________________________
Success Response with Body
200: Returns the WebPage Entity
Example
This is an example of a 200 level response:
{
"id": 646879,
"name": "Default_PresentationWebPage",
"uploadDate": "2020-07-27T16:23:35Z",
"lastModifiedDate": "2023-12-20T21:30:35.093Z",
"indexFile": {
"fileName": "_deviceWebPage.html",
"physicalPath": "https://bsncloud.s3.amazonaws.com/Testing/5ced8fc8c47741c190a19c41f56c85d3",
"relativePath": "\\",
"fileSize": 116305,
"fileHash": "SHA1:F84HF1B0D0361BDC4C2072EBE8C21B16P0HA0031"
},
"assets": [],
"presentations": [
{
"id": 15762,
"name": "CC_Testing",
"type": "Presentation",
"link": null
}
],
"permissions": []
}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
DELETE /{id}/
Deletes the specified player webpage
Required Scope Token
bsn.api.main.devicewebpages.delete
______________________________________________________________
Segment
- id int: A unique identifier for the player webpage to delete
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 646879
- The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /name response.
DELETE /2022/06/REST/DeviceWebPages/646879/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Unmodified-Since: Wed, 20 Dec 2023 21:30:34 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate______________________________________________________________
Success Response
204: The specified player webpage(s) were deleted
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. For example, you cannot delete a device webpage that is in use by a presentation.
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 /{name}/
Returns the specified player webpage
Required Scope Token
bsn.api.main.devicewebpages.retrieve
______________________________________________________________
Segment
- name string: The name of the player webpage
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- name is set to Default_PresentationWebPage
- The optional If-Modified-Since header value equals the Last-Modified header value retrieved from the previous GET /id or GET /name response
GET /2022/06/REST/DeviceWebPages/Default_PresentationWebPage/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Wed, 20 Dec 2023 21:30:34 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate______________________________________________________________
Success Response with Body
200: Returns the WebPage Entity
Example
This is an example of a 200 level response:
{
"id": 646879,
"name": "Default_PresentationWebPage",
"uploadDate": "2020-07-27T16:23:35Z",
"lastModifiedDate": "2023-12-20T21:30:35.093Z",
"indexFile": {
"fileName": "_deviceWebPage.html",
"physicalPath": "https://bsncloud.s3.amazonaws.com/JaneDoeTesting/5ced8fc8c47741c190a19c41f56c85d3",
"relativePath": "\\",
"fileSize": 116305,
"fileHash": "SHA1:F841N1A0D4351BDC4C2072EBC8C21B1550DA0061"
},
"assets": [],
"presentations": [
{
"id": 15762,
"name": "CC_Testing",
"type": "Presentation",
"link": null
}
],
"permissions": []
}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
DELETE /{name}/
Deletes the specified player webpage
Required Scope Token
bsn.api.main.devicewebpages.delete
______________________________________________________________
Segment
- name string: The name of the player webpage to delete
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- name is set to Default_PresentationWebPage
- The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /name response.
DELETE /2022/06/REST/DeviceWebPages/Default_PresentationWebPage/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Unmodified-Since: Wed, 20 Dec 2023 21:30:34 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate______________________________________________________________
Success Response
204: The specified player webpage(s) were deleted
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. For example, you cannot delete a device webpage that is in use by a presentation.
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 /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/DeviceWebPages/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/
Includes object permissions for a given player webpage instance.
Required Scope Token
bsn.api.main.devicewebpages.retrieve
______________________________________________________________
Segment
- id int: A unique identifier for the player webpage
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 646879
GET /2022/06/REST/DeviceWebPages/646879/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": 546701,
"operationUID": "5c6ef943-d660-4907-aa56-e91903ff1772",
"principal": {
"login": "[email protected]",
"type": "User",
"id": 102359
},
"isFixed": false,
"isInherited": false,
"isAllowed": true,
"creationDate": "2023-10-11T18:46:30.1Z"
}
]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/
Adds permissions for a player webpage
Required Scope Token
bsn.api.main.devicewebpages.update
______________________________________________________________
Segment
- id int: A unique identifier for the player webpage
______________________________________________________________
Request Body
- An array of PermissionPermission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 646879
POST /2022/06/REST/DeviceWebPages/646879/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: 316This is the example request body:
[
{
"entityId": 546701,
"operationUID": "5c6ef943-d660-4907-aa56-e91903ff1772",
"principal": {
"name": "Custom",
"isCustom": true,
"type": "Role",
"id": 0
},
"isFixed": false,
"isInherited": false,
"isAllowed": true,
"creationDate": "2023-10-11T18:46:30.1Z"
}
]______________________________________________________________
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 permissions from a player webpage
Required Scope Token
bsn.api.main.devicewebpages.update
______________________________________________________________
Segment
- id int: A unique identifier for the player webpage
______________________________________________________________
Request Body
- An array of PermissionPermission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- id is set to 646879
DELETE /2022/06/REST/DeviceWebPages/646879/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: 316This is the example request body:
[
{
"entityId": 546701,
"operationUID": "5c6ef943-d660-4907-aa56-e91903ff1772",
"principal": {
"name": "Custom",
"isCustom": true,
"type": "Role",
"id": 0
},
"isFixed": false,
"isInherited": false,
"isAllowed": true,
"creationDate": "2023-10-11T18:46:30.1Z"
}
]______________________________________________________________
Success Response
204: The specified permissions were successfully deleted from the player webpage
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 /{name}/Permissions/
Includes object permissions for a given player webpage instance.
Required Scope Token
bsn.api.main.devicewebpages.retrieve
______________________________________________________________
Segment
- name string: The name of the player webpage
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- name is set to Default_PresentationWebPage
GET /2022/06/REST/DeviceWebPages/Default_PresentationWebPage/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": 546701,
"operationUID": "5c6ef943-d660-4907-aa56-e91903ff1772",
"principal": {
"login": "[email protected]",
"type": "User",
"id": 102359
},
"isFixed": false,
"isInherited": false,
"isAllowed": true,
"creationDate": "2023-10-11T18:46:30.1Z"
}
]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 /{name}/Permissions/
Adds permissions for a player webpage
Required Scope Token
bsn.api.main.devicewebpages.update
______________________________________________________________
Segment
- name string: The name of the player webpage
______________________________________________________________
Request Body
- An array of PermissionPermission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- name is set to Default_PresentationWebPage
POST /2022/06/REST/DeviceWebPages/Default_PresentationWebPage/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: 316This is the example request body:
[
{
"entityId": 546701,
"operationUID": "5c6ef943-d660-4907-aa56-e91903ff1772",
"principal": {
"name": "Custom",
"isCustom": true,
"type": "Role",
"id": 0
},
"isFixed": false,
"isInherited": false,
"isAllowed": true,
"creationDate": "2023-10-11T18:46:30.1Z"
}
]______________________________________________________________
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 /{name}/Permissions/
Removes permissions from a player webpage
Required Scope Token
bsn.api.main.devicewebpages.update
______________________________________________________________
Segment
- name string: The name of the player webpage
______________________________________________________________
Request Body
- An array of PermissionPermission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
- name is set to Default_PresentationWebPage
DELETE /2022/06/REST/DeviceWebPages/Default_PresentationWebPage/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: 316This is the example request body:
[
{
"entityId": 546701,
"operationUID": "5c6ef943-d660-4907-aa56-e91903ff1772",
"principal": {
"name": "Custom",
"isCustom": true,
"type": "Role",
"id": 0
},
"isFixed": false,
"isInherited": false,
"isAllowed": true,
"creationDate": "2023-10-11T18:46:30.1Z"
}
]______________________________________________________________
Success Response
204: The specified permissions were successfully deleted from the player webpage
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