These endpoints allow users to manage webpages (that is, an HTML file and associated asset files) on a network.
Base URL for these endpoints: https://api.bsn.cloud/2022/06/REST/WebPages
_________________________________________________________________________
GET /
Returns a list of webpages on a network
Required Scope Token
bsn.api.main.webpages.retrieve
______________________________________________________________
Query String Parameters
filter
string optional
An expression for filtering search results. The default value is null.
sort
string optional
An expression for sorting the search results. The sort expression specifies the entry used for sorting and the ascending/descending (ASC/DESC) sorting order (e.g. "[Device].[Serial] ASC
"). 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 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 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:
filter
is set to[UploadDate] IS IN THE RANGE '2020-01-01' AND '2024-01-01'
sort
is set to[Name] 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/WebPages/?marker=Y29udHJwxMjU5OTg2Ng%3D%3D&pageSize=1&filter=%5BUploadDate%5D%20IS%20IN%20THE%20RANGE%20%272020-01-01%27%20AND%20%272024-01-01%27&sort=%5BName%5D%20ASC HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{UserAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Success Response Body
200: Returns a paged list of 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": 12345, "name": "PresentationBsDateTimeWidget", "uploadDate": "2023-07-26T19:35:26.087Z", "lastModifiedDate": "2023-07-26T19:35:26.087Z", "indexFile": { "fileName": "bsDateTimeWidget.html", "physicalPath": "https://bsncloud.s3.amazonaws.com/JaneDoe/3285cf5ee2926a8b47e30b12f51ed169", "relativePath": "\\", "fileSize": 2084573, "fileHash": "SHA1:69780C154749DFE32B04459B7103C07B11E0DA59" }, "assets": null, "presentations": [ { "id": 123, "name": "ClockZone", "type": "Presentation", "link": null }], "permissions": [] }], "totalItemCount": 6, "matchingItemCount": 6, "pageSize": 1, "nextMarker": "RGVmYXVsdF9QcmVzZW50YXRpb25Cc0RhdGVUaW1lV2lkZ2V0LDEwMDM3MjU0", "isTruncated": true, "sortExpression": "[Name] ASC", "filterExpression": "[UploadDate] IS IN THE RANGE '2020-01-01T00:00:00.000Z' AND '2024-01-01T00:00:00.000Z'" }
Failure Response
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
DELETE /
Deletes webpages, specified by a filter, on a network. This allows multiple webpages to be deleted at once.
Required Scope Token
bsn.api.main.webpages.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[UploadDate] IS IN THE RANGE '2019-01-01' AND '2020-01-01'
DELETE /2022/06/REST/WebPages/?filter=%5BUploadDate%5D%20IS%20IN%20THE%20RANGE%20%272019-01-01%27%20AND%20%272020-01-01%27 HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{UserAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Success Response
200: Returns the number of affected 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 or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules. For example, you cannot delete a 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 webpages on a network
Required Scope Token
bsn.api.main.webpages.retrieve
______________________________________________________________
Query String Parameters
filter
string optional
An expression 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-01-01' AND '2024-01-01'
GET /2022/06/REST/WebPages/Count/?filter=%5BUploadDate%5D%20IS%20IN%20THE%20RANGE%20%272020-01-01%27%20AND%20%272024-01-01%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: The webpage 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:int}/
Returns the specified webpage
Required Scope Token
bsn.api.main.webpages.retrieve
______________________________________________________________
Segment
id
int
A unique identifier for the webpage
______________________________________________________________
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 /name
response
GET /2022/06/REST/WebPages/12345/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{UserAccessToken}} If-Modified-Since: Wed, 20 Dec 2023 21:32: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": 12345, "name": "PresentationBsDateTimeWidget", "uploadDate": "2023-07-26T19:35:26.087Z", "lastModifiedDate": "2023-12-20T21:32:35.093Z", "indexFile": { "fileName": "bsDateTimeWidget.html", "physicalPath": "https://bsncloud.s3.amazonaws.com/JaneDoe/3285cf5ee2926a8b47e30b12f51ed169", "relativePath": "\\", "fileSize": 2084573, "fileHash": "SHA1:69782C054749DFE39B94859B7103C07B11E0DA59" }, "assets": [], "presentations": [ { "id": 123, "name": "ClockZone", "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:int}/
Deletes the specified webpage
Required Scope Token
bsn.api.main.webpages.delete
______________________________________________________________
Segment
id
int
A unique identifier for the webpage
______________________________________________________________
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 /name
response.
DELETE /2022/06/REST/WebPages/12345/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{UserAccessToken}} If-Unmodified-Since: Wed, 20 Dec 2023 21:32:34 GMT Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Success Response
204: The specified webpage was deleted
Failure Response
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules. For example, you cannot delete a 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 webpage
Required Scope Token
bsn.api.main.webpages.retrieve
______________________________________________________________
Segment
name
string
A unique identifier for the webpage
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toPresentationBsDateTimeWidget
The optional
If-Modified-Since
header value equals theLast-Modified
header value retrieved from the previousGET /id
orGET /name
response
GET /2022/06/REST/WebPages/PresentationBsDateTimeWidget/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{UserAccessToken}} If-Modified-Since: Wed, 20 Dec 2023 21:32: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": 12345, "name": "PresentationBsDateTimeWidget", "uploadDate": "2023-07-26T19:35:26.087Z", "lastModifiedDate": "2023-12-20T21:32:35.093Z", "indexFile": { "fileName": "bsDateTimeWidget.html", "physicalPath": "https://bsncloud.s3.amazonaws.com/JaneDoe/3285cf5ee2926a8b47e30b12f51ed169", "relativePath": "\\", "fileSize": 2084573, "fileHash": "SHA1:69782C054749DFE39B94859B7103C07B11E0DA59" }, "assets": [], "presentations": [ { "id": 123, "name": "ClockZone", "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 webpage
Required Scope Token
bsn.api.main.webpages.delete
______________________________________________________________
Segment
name
string
A unique identifier for the webpage
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toPresentationBsDateTimeWidget
The optional
If-Unmodified-Since
header value equals theLast-Modified
header value retrieved from theGET /id
orGET /name
response.
DELETE /2022/06/REST/WebPages/PresentationBsDateTimeWidget/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{UserAccessToken}} If-Unmodified-Since: Wed, 20 Dec 2023 21:32:34 GMT Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Success Response
204: The specified webpage was deleted
Failure Response
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules. For example, you cannot delete a 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 the 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/WebPages/Operations/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{UserAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Success Response Body
200: Returns the Business Operations Entity
Example
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:int}/Permissions/
Includes object permissions for a given webpage instance.
Required Scope Token
bsn.api.main.webpages.retrieve
______________________________________________________________
Segment
id
int
A unique identifier for the webpage
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
GET /2022/06/REST/WebPages/12345/Permissions/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{UserAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Success Response Body
200: Returns an array of Permission entities
Example
[ { "entityId": 12345, "operationUID": "0a565477-e461-4b86-b74f-3cc0d98c28f6", "principal": { "name": "Custom", "isCustom": true, "type": "Role", "id": 10000 }, "isFixed": false, "isInherited": false, "isAllowed": true, "creationDate": "2024-01-23T19:39:26.157Z" } ]
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:int}/Permissions/
Adds permissions for a webpage on a network
Required Scope Token
bsn.api.main.webpages.update
______________________________________________________________
Segment
id
int
A unique identifier for the webpage
______________________________________________________________
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/WebPages/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: 476
This is the example request body:
[ { "entityId": 12345, "operationUID": "0a565477-e461-4b86-b74f-3cc0d98c28f6", "principal": { "name": "Custom", "isCustom": true, "type": "Role", "id": 10000 }, "isFixed": false, "isInherited": false, "isAllowed": true, "creationDate": "2024-01-24T16:36:28.663Z" } ]
______________________________________________________________
Success Response
204: The permissions were successfully added to the specified webpage
Failure Response
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with 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 permissions from a webpage on a network
Required Scope Token
bsn.api.main.webpages.delete
______________________________________________________________
Segment
id
int
A unique identifier for the webpage
______________________________________________________________
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/WebPages/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: 476
This is the example request body:
[ { "entityId": 12345, "operationUID": "0a565477-e461-4b86-b74f-3cc0d98c28f6", "principal": { "name": "Custom", "isCustom": true, "type": "Role", "id": 10000 }, "isFixed": false, "isInherited": false, "isAllowed": true, "creationDate": "2024-01-24T16:36:28.663Z" } ]
______________________________________________________________
Success Response
204: The specified permissions were successfully deleted
Failure Response
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with 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 webpage instance.
Required Scope Token
bsn.api.main.webpages.retrieve
______________________________________________________________
Segment
name
string
A unique identifier for the webpage
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toPresentationBsDateTimeWidget
GET /2022/06/REST/WebPages/PresentationBsDateTimeWidget/Permissions/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{UserAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Success Response Body
200: Returns an array of Permission entities
Example
[ { "entityId": 12345, "operationUID": "0a565477-e461-4b86-b74f-3cc0d98c28f6", "principal": { "name": "Custom", "isCustom": true, "type": "Role", "id": 10000 }, "isFixed": false, "isInherited": false, "isAllowed": true, "creationDate": "2024-01-23T19:39:26.157Z" } ]
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 webpage on a network
Required Scope Token
bsn.api.main.webpages.update
______________________________________________________________
Segment
name
string
A unique identifier for the webpage
______________________________________________________________
Request Body
An array of Permission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toPresentationBsDateTimeWidget
POST /2022/06/REST/WebPages/PresentationBsDateTimeWidget/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: 476
This is the example request body:
[ { "entityId": 12345, "operationUID": "0a565477-e461-4b86-b74f-3cc0d98c28f6", "principal": { "name": "Custom", "isCustom": true, "type": "Role", "id": 10000 }, "isFixed": false, "isInherited": false, "isAllowed": true, "creationDate": "2024-01-24T16:36:28.663Z" } ]
______________________________________________________________
Success Response
204: The permissions were successfully added to the specified webpage
Failure Response
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with 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 webpage on a network
Required Scope Token
bsn.api.main.webpages.update
______________________________________________________________
Segment
name
string
A unique identifier for the webpage
______________________________________________________________
Request Body
An array of Permission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toPresentationBsDateTimeWidget
DELETE /2022/06/REST/WebPages/PresentationBsDateTimeWidget/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: 476
This is an example request body:
[ { "entityId": 12345, "operationUID": "0a565477-e461-4b86-b74f-3cc0d98c28f6", "principal": { "name": "Custom", "isCustom": true, "type": "Role", "id": 10000 }, "isFixed": false, "isInherited": false, "isAllowed": true, "creationDate": "2024-01-24T16:36:28.663Z" } ]
______________________________________________________________
Success Response
204: The specified permissions were successfully deleted
Failure Response
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with 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