Versions Compared

Key

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

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Use these endpoints to manage groups on the network. 

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

_________________________________________________________________________

GET /

Retrieves a list of groups on the network.

Required Scope Token

bsn.api.main.groups.regular.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 (see this 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 group 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 group 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 [PagedList].[NextMarker] property value from the previous BSN.cloud API response.

  • pageSize is set to 1

  • filter is set to [CreationDate] IS IN THE RANGE '2020-07-01' AND '2023-08-01'

  • sort is set to [Name] ASC

Code Block
GET /2022/06/REST/Groups/Regular/?marker=YXVkaW8tdGVzdCwyNjQ1Mjg%3D&pageSize=1&filter=%5BCreationDate%5D%20IS%20IN%20THE%20RANGE%20%272020-07-01%27%20AND%20%272023-08-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

______________________________________________________________

Response

Success Response Body

200: Returns a paged list

...

of Regular Groups 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

Expand
titleExpand

...

Code Block
languagejson
{
   "items": [   {
      "id": 123456,
      "name": "ConferenceRoom",
      "creationDate": "2023-7-11T22:24:51.347Z",
      "lastModifiedDate": "2023-12-11T22:45:47.007Z",
      "autorun": null,
      "hdX23Firmware": "",
      "hdX23FirmwareId": -1,
      "lsX23Firmware": "",
      "lsX23FirmwareId": -1,
      "hsX23Firmware": "",
      "hsX23FirmwareId": -1,
      "hoX23Firmware": "",
      "hoX23FirmwareId": -1,
      "xdX33Firmware": "",
      "xdX33FirmwareId": -1,
      "xtX43Firmware": "",
      "xtX43FirmwareId": -1,
      "xdX34_XTX44Firmware": "",
      "xdX34_XTX44FirmwareId": -1,
      "hdX4_HSX4_LSX4Firmware": "8.5.47",
      "hdX4_HSX4_LSX4FirmwareId": 12345678,
      "auX5Firmware": "",
      "auX5FirmwareId": -1,
      "4KX42Firmware": "",
      "4KX42FirmwareId": -1,
      "xcX55Firmware": "",
      "xcX55FirmwareId": -1,
      "xtX45_XDX35_HDX25_LS4X5_HS1X5Firmware": "",
      "xtX45_XDX35_HDX25_LS4X5_HS1X5FirmwareId": -1,
      "enableSerialDebugging": false,
      "enableSystemLogDebugging": false,
      "enableStorageSpaceLimit": false,
      "storageSpaceLimitUnits": "Percentage",
      "publishedDataSizeLimit": 0,
      "dynamicDataSizeLimit": 0,
      "htmlDataSizeLimit": 0,
      "htmlLocalStorageSizeLimit": 0,
      "webDatabaseSizeLimit": 0,
      "devicesCount": 2,
      "devicesHealthStatus":       {
         "normal": 1,
         "error": 1
      },
      "devices": null,
      "schedule": [],
      "permissions": []
   }],
   "totalItemCount": 8,
   "matchingItemCount": 8,
   "pageSize": 1,
   "nextMarker": "Q29uZmVyZW5jZVJvb20sMzIwMzA3",
   "isTruncated": true,
   "sortExpression": "[Name] ASC",
   "filterExpression": "[CreationDate] IS IN THE RANGE '2020-07-01T00:00:00.000Z' AND '2023-08-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

...

Endpoints:

...

POST /

Creates a group on the network.

Required Scope Token

bsn.api.main.groups.regular.create

______________________________________________________________

Request Body

The Regular Groups Entity

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

Code Block
POST /2022/06/REST/Groups/Regular/ 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: 1053

This is the example request body:

Code Block
languagejson
{
   "id": 0,
   "name": "NewGroup",
   "creationDate": "0001-01-01T00:00:00.000Z",
   "lastModifiedDate": "0001-01-01T00:00:00.000Z",
   "autorun": null,
   "hdX23Firmware": "",
   "hdX23FirmwareId": -1,
   "lsX23Firmware": "",
   "lsX23FirmwareId": -1,
   "hsX23Firmware": "",
   "hsX23FirmwareId": -1,
   "hoX23Firmware": "",
   "hoX23FirmwareId": -1,
   "xdX33Firmware": "",
   "xdX33FirmwareId": -1,
   "xtX43Firmware": "",
   "xtX43FirmwareId": -1,
   "xdX34_XTX44Firmware": "",
   "xdX34_XTX44FirmwareId": -1,
   "hdX4_HSX4_LSX4Firmware": "8.5.47",
   "hdX4_HSX4_LSX4FirmwareId": -1,
   "4KX42Firmware": "",
   "4KX42FirmwareId": -1,
   "enableSerialDebugging": false,
   "enableSystemLogDebugging": false,
   "enableStorageSpaceLimit": false,
   "storageSpaceLimitUnits": "Percentage",
   "publishedDataSizeLimit": 0,
   "dynamicDataSizeLimit": 0,
   "htmlDataSizeLimit": 0,
   "htmlLocalStorageSizeLimit": 0,
   "webDatabaseSizeLimit": 0,
   "devicesCount": 0,
   "devicesHealthStatus": null,
   "devices": null,
   "schedule": null,
   "permissions": []
}

______________________________________________________________

Response

Success Response Body

201: Returns the Regular Groups Entity created and referenced by the Uri (given by the Location header field) in the response.  

Example

Code Block
languagejson
{
   "id": 123456,
   "name": "NewGroup",
   "creationDate": "2023-10-19T20:30:35.833Z",
   "lastModifiedDate": "2023-10-19T20:30:35.833Z",
   "autorun": null,
   "hdX23Firmware": "",
   "hdX23FirmwareId": -1,
   "lsX23Firmware": "",
   "lsX23FirmwareId": -1,
   "hsX23Firmware": "",
   "hsX23FirmwareId": -1,
   "hoX23Firmware": "",
   "hoX23FirmwareId": -1,
   "xdX33Firmware": "",
   "xdX33FirmwareId": -1,
   "xtX43Firmware": "",
   "xtX43FirmwareId": -1,
   "xdX34_XTX44Firmware": "",
   "xdX34_XTX44FirmwareId": -1,
   "hdX4_HSX4_LSX4Firmware": "8.5.47",
   "hdX4_HSX4_LSX4FirmwareId": 12345,
   "auX5Firmware": "",
   "auX5FirmwareId": -1,
   "4KX42Firmware": "",
   "4KX42FirmwareId": -1,
   "xcX55Firmware": "",
   "xcX55FirmwareId": -1,
   "xtX45_XDX35_HDX25_LS4X5_HS1X5Firmware": "",
   "xtX45_XDX35_HDX25_LS4X5_HS1X5FirmwareId": -1,
   "enableSerialDebugging": false,
   "enableSystemLogDebugging": false,
   "enableStorageSpaceLimit": false,
   "storageSpaceLimitUnits": "Percentage",
   "publishedDataSizeLimit": 0,
   "dynamicDataSizeLimit": 0,
   "htmlDataSizeLimit": 0,
   "htmlLocalStorageSizeLimit": 0,
   "webDatabaseSizeLimit": 0,
   "devicesCount": 0,
   "devicesHealthStatus": {},
   "devices": null,
   "schedule": [],
   "permissions": []
}

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 

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

DELETE /

Removes groups, specified by a filter, from a network. This allows multiple groups to be deleted at once.

Required Scope Token

bsn.api.main.groups.regular.delete

______________________________________________________________

Query String Parameter

filter string required

An expression for filtering search results. 

reassignmentGroupId int optional 

The identifier of the group instance to which affected devices should be reassigned. If this value is negative, the devices will be reassigned to the default “Unassigned” group instance. If a group instance with the specified positive [int] Id does not exist, the method will return a descriptive error. The default value is 0.

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • filter is set to [DevicesCount] IS 0

  • reassignmentGroupId is set to 12345

Code Block
DELETE /2022/06/REST/Groups/Regular/?reassignmentGroupId=12345&filter=%5BDevicesCount%5D%20IS%200 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 groups 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

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 groups on the network that match the specified filter criteria. If no filter is included, this call returns the total number of groups on the network. 

Required Scope Token

bsn.api.main.groups.regular.retrieve

______________________________________________________________

Query String Parameter

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 [Name] CONTAINS 'test'

Code Block
GET /2022/06/REST/Groups/Regular/Count/?filter=%5BName%5D%20CONTAINS%20%27test%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 number of groups 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 a specified group

Required Scope Token

bsn.api.main.groups.regular.retrieve

______________________________________________________________

Segment

id int 

The unique identifier for the group

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • id is set to 12345

  • The optional If-Modified-Since header value equals the Last-Modified header value retrieved from the previous GET /id or GET /name response

Code Block
GET /2022/06/REST/Groups/Regular/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-Modified-Since: Wed, 20 Dec 2023 21:32:34 GMT

______________________________________________________________

...

Success Response with Body

200: Returns the Regular Groups Entity

Example

This is an example of a 200 level response:

Code Block
languagejson
{
   "id": 12345,
   "name": "ConferenceRoom",
   "creationDate": "2023-12-11T22:24:51.347Z",
   "lastModifiedDate": "2023-12-20T21:32:35.093Z",
   "autorun": null,
   "hdX23Firmware": "",
   "hdX23FirmwareId": -1,
   "lsX23Firmware": "",
   "lsX23FirmwareId": -1,
   "hsX23Firmware": "",
   "hsX23FirmwareId": -1,
   "hoX23Firmware": "",
   "hoX23FirmwareId": -1,
   "xdX33Firmware": "",
   "xdX33FirmwareId": -1,
   "xtX43Firmware": "",
   "xtX43FirmwareId": -1,
   "xdX34_XTX44Firmware": "",
   "xdX34_XTX44FirmwareId": -1,
   "hdX4_HSX4_LSX4Firmware": "",
   "hdX4_HSX4_LSX4FirmwareId": -1,
   "auX5Firmware": "",
   "auX5FirmwareId": -1,
   "4KX42Firmware": "",
   "4KX42FirmwareId": -1,
   "xcX55Firmware": "",
   "xcX55FirmwareId": -1,
   "xtX45_XDX35_HDX25_LS4X5_HS1X5Firmware": "",
   "xtX45_XDX35_HDX25_LS4X5_HS1X5FirmwareId": -1,
   "enableSerialDebugging": true,
   "enableSystemLogDebugging": false,
   "enableStorageSpaceLimit": false,
   "storageSpaceLimitUnits": "Percentage",
   "publishedDataSizeLimit": 0,
   "dynamicDataSizeLimit": 0,
   "htmlDataSizeLimit": 0,
   "htmlLocalStorageSizeLimit": 0,
   "webDatabaseSizeLimit": 0,
   "devicesCount": 2,
   "devicesHealthStatus":    {
      "normal": 1,
      "error": 1
   },
   "devices":    [
            {
         "id": 12345,
         "serial": "XXXXXX000000"
      },
            {
         "id": 67890,
         "serial": "YYYYYY000000"
      }
   ],
   "schedule": [],
   "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

PUT /{id:int}/  

Updates the specified group

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

id int

The unique identifier for the group

______________________________________________________________

Request Body

The Regular Groups Entity

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • id is set to 12345

  • The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /name response.

Code Block
PUT /2022/06/REST/Groups/Regular/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, 20 Dec 2023 21:32:34 GMT
Content-Type: application/json
Content-Length: 1785

This is the example request body:

Code Block
languagejson
{
  "id": 0,
  "name": "Default",
  "creationDate": "0001-01-01T00:00:00",
  "lastModifiedDate": "0001-01-01T00:00:00",
  "autorun": null,
  "hdX23Firmware": "",
  "hdX23FirmwareId": -1,
  "lsX23Firmware": "",
  "lsX23FirmwareId": -1,
  "hsX23Firmware": "",
  "hsX23FirmwareId": -1,
  "hoX23Firmware": "",
  "hoX23FirmwareId": -1,
  "xdX33Firmware": "",
  "xdX33FirmwareId": -1,
  "xtX43Firmware": "",
  "xtX43FirmwareId": -1,
  "xdX34_XTX44Firmware": "",
  "xdX34_XTX44FirmwareId": -1,
  "hdX4_HSX4_LSX4Firmware": "8.5.47",
  "hdX4_HSX4_LSX4FirmwareId": -1,
  "auX5Firmware": "",
  "auX5FirmwareId": -1,
  "4KX42Firmware": "",
  "4KX42FirmwareId": -1,
  "xcX55Firmware": "",
  "xcX55FirmwareId": -1,
  "xtX45_XDX35_HDX25_LS4X5_HS1X5Firmware": "",
  "xtX45_XDX35_HDX25_LS4X5_HS1X5FirmwareId": -1,
  "enableSerialDebugging": false,
  "enableSystemLogDebugging": true,
  "enableStorageSpaceLimit": false,
  "storageSpaceLimitUnits": "Percentage",
  "publishedDataSizeLimit": 0,
  "dynamicDataSizeLimit": 0,
  "htmlDataSizeLimit": 0,
  "htmlLocalStorageSizeLimit": 0,
  "webDatabaseSizeLimit": 0,
  "devicesCount": 0,
  "devicesHealthStatus": null,
  "devices": null,
  "schedule": null,
  "permissions": []
}

______________________________________________________________

Success Response

...

204: The specified group has been updated

Failure Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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)

412: Precondition failed (the resource/group 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}/  

Applies a sequence of changes to a specific group entity specified by id. See RFC 6902.

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

id int 

The identifier for the group entity, which is a resource Uri

______________________________________________________________

Request Body

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

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

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

value object:  The replacement value(s) for the

...

parameters that must be updated. This can be an array.

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • id is 12345

  • The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /name response.

Code Block
PATCH /2022/06/REST/Groups/Regular/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, 20 Dec 2023 21:32:34 GMT
Content-Type: application/json-patch+json
Content-Length: 91

This is the example request body:

Code Block
languagejson
[
  {
    "op": "replace",
    "path": "/xdX34_XTX44Firmware/",
    "value": "8.5.33"
  }
]

______________________________________________________________

Success Response

Success

204: The parameters have been successfully replaced.

Failure Response

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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)

412: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)

415The 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}/  

Removes the specified group

Required Scope Token

bsn.api.main.groups.regular.delete

______________________________________________________________

Segment

id int 

The unique identifier for the group

______________________________________________________________

Query String Parameter

reassignmentGroupId int optional 

The identifier of the group instance to which affected devices should be reassigned. If this value is negative, the devices will be reassigned to the default “Unassigned” group instance. If a group instance with the specified positive [int] Id does not exist, the method will return a descriptive error. The default value is 0.

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • id is set to 12345

  • reassignmentGroupId is set to 90

  • The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /name response.

Code Block
DELETE /2022/06/REST/Groups/Regular/12345/?reassignmentGroupId=90 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, 20 Dec 2023 21:32:34 GMT

______________________________________________________________

...

Success Response

204: The specified group has been removed from the network 

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)

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 a specified group

Required Scope Token

bsn.api.main.groups.regular.retrieve

______________________________________________________________

Segment

name string 

The name of the group

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • name is set to ConferenceRoom

  • The optional If-Modified-Since header value equals the Last-Modified header value retrieved from the previous GET /id or GET /name response

Code Block
GET /2022/06/REST/Groups/Regular/ConferenceRoom/ 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-Modified-Since: Wed, 20 Dec 2023 21:32:34 GMT

______________________________________________________________

...

Success Response with Body

200: Returns the Regular Groups Entity

Example

This is an example of a 200 level response:

Code Block
languagejson
{
   "id": 456789,
   "name": "ConferenceRoom",
   "creationDate": "2023-12-11T22:24:51.347Z",
   "lastModifiedDate": "2023-12-20T21:32:35.093Z",
   "autorun": null,
   "hdX23Firmware": "",
   "hdX23FirmwareId": -1,
   "lsX23Firmware": "",
   "lsX23FirmwareId": -1,
   "hsX23Firmware": "",
   "hsX23FirmwareId": -1,
   "hoX23Firmware": "",
   "hoX23FirmwareId": -1,
   "xdX33Firmware": "",
   "xdX33FirmwareId": -1,
   "xtX43Firmware": "",
   "xtX43FirmwareId": -1,
   "xdX34_XTX44Firmware": "",
   "xdX34_XTX44FirmwareId": -1,
   "hdX4_HSX4_LSX4Firmware": "",
   "hdX4_HSX4_LSX4FirmwareId": -1,
   "auX5Firmware": "",
   "auX5FirmwareId": -1,
   "4KX42Firmware": "",
   "4KX42FirmwareId": -1,
   "xcX55Firmware": "",
   "xcX55FirmwareId": -1,
   "xtX45_XDX35_HDX25_LS4X5_HS1X5Firmware": "",
   "xtX45_XDX35_HDX25_LS4X5_HS1X5FirmwareId": -1,
   "enableSerialDebugging": true,
   "enableSystemLogDebugging": false,
   "enableStorageSpaceLimit": false,
   "storageSpaceLimitUnits": "Percentage",
   "publishedDataSizeLimit": 0,
   "dynamicDataSizeLimit": 0,
   "htmlDataSizeLimit": 0,
   "htmlLocalStorageSizeLimit": 0,
   "webDatabaseSizeLimit": 0,
   "devicesCount": 2,
   "devicesHealthStatus":    {
      "normal": 1,
      "error": 1
   },
   "devices":    [
            {
         "id": 12345,
         "serial": "XXXXXX000000"
      },
            {
         "id": 67890,
         "serial": "YYYYYY000000"
      }
   ],
   "schedule": [],
   "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

PUT /{name}/  

Updates a specified group

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

name string

The name of the group

______________________________________________________________

Request Body

The Regular Groups Entity

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • name is set to Default

  • The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /name response.

Code Block
PUT /2022/06/REST/Groups/Regular/Default/ 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, 20 Dec 2023 21:32:34 GMT
Content-Type: Content-Type: application/json-patch+json
Content-Length: 1785

This is the example request body:

Code Block
languagejson
{
  "id": 0,
  "name": "Default",
  "creationDate": "0001-01-01T00:00:00",
  "lastModifiedDate": "0001-01-01T00:00:00",
  "autorun": null,
  "hdX23Firmware": "",
  "hdX23FirmwareId": -1,
  "lsX23Firmware": "",
  "lsX23FirmwareId": -1,
  "hsX23Firmware": "",
  "hsX23FirmwareId": -1,
  "hoX23Firmware": "",
  "hoX23FirmwareId": -1,
  "xdX33Firmware": "",
  "xdX33FirmwareId": -1,
  "xtX43Firmware": "",
  "xtX43FirmwareId": -1,
  "xdX34_XTX44Firmware": "",
  "xdX34_XTX44FirmwareId": -1,
  "hdX4_HSX4_LSX4Firmware": "8.5.47",
  "hdX4_HSX4_LSX4FirmwareId": -1,
  "auX5Firmware": "",
  "auX5FirmwareId": -1,
  "4KX42Firmware": "",
  "4KX42FirmwareId": -1,
  "xcX55Firmware": "",
  "xcX55FirmwareId": -1,
  "xtX45_XDX35_HDX25_LS4X5_HS1X5Firmware": "",
  "xtX45_XDX35_HDX25_LS4X5_HS1X5FirmwareId": -1,
  "enableSerialDebugging": false,
  "enableSystemLogDebugging": true,
  "enableStorageSpaceLimit": false,
  "storageSpaceLimitUnits": "Percentage",
  "publishedDataSizeLimit": 0,
  "dynamicDataSizeLimit": 0,
  "htmlDataSizeLimit": 0,
  "htmlLocalStorageSizeLimit": 0,
  "webDatabaseSizeLimit": 0,
  "devicesCount": 0,
  "devicesHealthStatus": null,
  "devices": null,
  "schedule": null,
  "permissions": []
}

______________________________________________________________

Success Response

...

204: The specified group has been updated

Failure Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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)

412: Precondition failed (the resource/group 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 /{name}/  

Applies a sequence of changes to a specific group entity specified by name. See RFC 6902.

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

name string

The name of the group entity, which is a resource Uri

______________________________________________________________

Request Body

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

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

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

value object:  The replacement value(s) for the

...

parameters that must be updated. This can be an array.

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • name is Default

  • The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /name response.

Code Block
PATCH /2022/06/REST/Groups/Regular/Default/ 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, 20 Dec 2023 21:32:34 GMT
Content-Type: application/json-patch+json
Content-Length: 91

This is the example request body:

Code Block
languagejson
[
  {
    "op": "replace",
    "path": "/xdX34_XTX44Firmware/",
    "value": "8.5.33"
  }
]

______________________________________________________________

Success Response

...

204: The parameters have been successfully replaced.

Failure Response

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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)

412: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)

415The 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}/  

Removes a specified group

Required Scope Token

bsn.api.main.groups.regular.delete

______________________________________________________________

Segment

name string

The name of the group

______________________________________________________________

Query String Parameter

reassignmentGroupId int optional 

The identifier of the group instance to which affected devices should be reassigned. If this value is negative, the devices will be reassigned to the default “Unassigned” group instance. If a group instance with the specified positive [int] Id does not exist, the method will return a descriptive error. The default value is 0.

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • id is set to Default

  • reassignmentGroupId is set to 90

  • The optional If-Unmodified-Since header value equals the Last-Modified header value retrieved from the GET /id or GET /name response.

Code Block
DELETE /2022/06/REST/Groups/Regular/Default/?reassignmentGroupId=90 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, 20 Dec 2023 21:32:34 GMT

______________________________________________________________

Success Response

Success

204: The specified group has been removed from the network 

FailureResponse

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)

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 /{Id:int}/Schedule/  

Returns a list of the Scheduled Presentations in the specified group

Required Scope Token

bsn.api.main.groups.regular.retrieve

______________________________________________________________

Segment

groupId int 

The unique identifier of the group

______________________________________________________________

Query String Parameter

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 group instances exceeds the pageSize.

pageSize int optional  

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

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • groupId is set to 12345

  • pageSizeis set to 1

  • marker value is set to the [PagedList].[NextMarker] property value from the previous BSN.cloud API response.

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

______________________________________________________________

...

Success Response Body

200: Returns a list of the scheduled presentations of the specified group

Example

Code Block
languagejson
{
   "items": [   {
      "id": 2345678,
      "presentationId": 123456,
      "presentationName": "October2023Prez",
      "isRecurrent": false,
      "eventDate": "2023-11-03T00:00:00",
      "startTime": "00:00:00",
      "duration": "23:59:00",
      "recurrenceStartDate": null,
      "recurrenceEndDate": null,
      "daysOfWeek": "None",
      "creationDate": "2023-11-03T21:04:32.81Z",
      "lastModifiedDate": "2023-11-03T21:04:32.81Z",
      "expirationDate": "2023-11-04T11:59:00Z",
      "interruptScheduling": false
   }],
   "totalItemCount": 3,
   "matchingItemCount": 3,
   "pageSize": 1,
   "nextMarker": "GWpbWFcsw15NjI5MjN0",
   "isTruncated": true,
   "sortExpression": "[ScheduledPresentation].[ExpireDate] DESC",
   "filterExpression": null
}

Failure Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

POST /{Id:int}/Schedule/  

Adds a scheduled presentation to the specified group

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

groupId int 

The unique identifier of the group

______________________________________________________________

Request Body

The Scheduled Presentation Entity

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • groupId is set to 12345

Code Block
POST /2022/06/REST/Groups/Regular/12345/Schedule/ 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: 419

This is the example request body:

Code Block
languagejson
{
  "id": 0,
  "presentationId": 23456,
  "presentationName": "October2023Prez",
  "isRecurrent": false,
  "eventDate": "2023-11-04T00:00:00",
  "startTime": "00:00:00",
  "duration": "23:59:00",
  "recurrenceStartDate": null,
  "recurrenceEndDate": null,
  "daysOfWeek": "None",
  "creationDate": "0001-01-01T00:00:00",
  "lastModifiedDate": "0001-01-01T00:00:00",
  "expirationDate": null,
  "interruptScheduling": false
}

______________________________________________________________

...

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 theScheduled Presentation Entity.

Example

Code Block
languagejson
{
   "id": 1234567,
   "presentationId": 23456,
   "presentationName": "October2023Prez",
   "isRecurrent": false,
   "eventDate": "2023-11-04T00:00:00",
   "startTime": "00:00:00",
   "duration": "23:59:00",
   "recurrenceStartDate": null,
   "recurrenceEndDate": null,
   "daysOfWeek": "None",
   "creationDate": "2023-11-03T18:14:09.3506335Z",
   "lastModifiedDate": "2023-11-03T18:14:09.3506335Z",
   "expirationDate": "2023-11-05T11:59:00Z",
   "interruptScheduling": false
}

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)

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 /{name}/Schedule/  

Returns a list of the Scheduled Presentations in the specified group

Required Scope Token

bsn.api.main.groups.regular.retrieve

______________________________________________________________

Segment

groupName string 

The name of the group

______________________________________________________________

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 group instances exceeds the pageSize.

pageSize int optional 

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

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • groupName is set to October2023Prez

  • pageSize is set to 1

  • marker value is set to the [PagedList].[NextMarker] property value from the previous BSN.cloud API response.

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

______________________________________________________________

...

Success Response Body

200: Returns a list of the scheduled presentations of the specified group

Example

Code Block
languagejson
{
   "items": [   {
      "id": 2345678,
      "presentationId": 123456,
      "presentationName": "October2023Prez",
      "isRecurrent": true,
      "eventDate": null,
      "startTime": "00:00:00",
      "duration": "1.00:00:00",
      "recurrenceStartDate": null,
      "recurrenceEndDate": null,
      "daysOfWeek": "EveryDay",
      "creationDate": "2023-10-20T21:11:48.233Z",
      "lastModifiedDate": "2023-10-20T21:11:48.233Z",
      "expirationDate": null,
      "interruptScheduling": false
   }],
   "totalItemCount": 3,
   "matchingItemCount": 3,
   "pageSize": 1,
   "nextMarker": "GWpbWFcsw15NjI5MjN0",
   "isTruncated": true,
   "sortExpression": "[ScheduledPresentation].[ExpireDate] DESC",
   "filterExpression": null
}

Failure Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

POST /{name}/Schedule/  

Adds a scheduled presentation to the specified group

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

groupName string

The name of the group

______________________________________________________________

Request Body

TheScheduled Presentation Entity

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • groupName is set to October2023Prez

Code Block
POST /2022/06/REST/Groups/Regular/October2023Prez/Schedule/ 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: 419

This is the example request body:

Code Block
languagejson
{
  "id": 0,
  "presentationId": 123456,
  "presentationName": "October2023Prez",
  "isRecurrent": false,
  "eventDate": "2023-11-04T00:00:00",
  "startTime": "00:00:00",
  "duration": "23:59:00",
  "recurrenceStartDate": null,
  "recurrenceEndDate": null,
  "daysOfWeek": "None",
  "creationDate": "0001-01-01T00:00:00",
  "lastModifiedDate": "0001-01-01T00:00:00",
  "expirationDate": null,
  "interruptScheduling": false
}

______________________________________________________________

...

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 theScheduled Presentation Entity.

Example

Code Block
languagejson
{
   "id": 2345678,
   "presentationId": 23456,
   "presentationName": "October2023Prez",
   "isRecurrent": false,
   "eventDate": "2023-11-04T00:00:00",
   "startTime": "00:00:00",
   "duration": "23:59:00",
   "recurrenceStartDate": null,
   "recurrenceEndDate": null,
   "daysOfWeek": "None",
   "creationDate": "2023-11-03T18:14:09.3506335Z",
   "lastModifiedDate": "2023-11-03T18:14:09.3506335Z",
   "expirationDate": "2023-11-05T11:59:00Z",
   "interruptScheduling": false
}

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)

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}/Schedule/{scheduledPresentationId:int}/  

Returns the schedule of the specified presentation in the specified group

Required Scope Token

bsn.api.main.groups.regular.retrieve

______________________________________________________________

Segment

groupId int 

The unique identifier of the group

scheduledPresentationId int 

The unique identifier for the scheduled presentation

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • groupId is set to 12345

  • scheduledPresentationId is set to 234567

Code Block
GET /2022/06/REST/Groups/Regular/12345/Schedule/234567/ 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 Scheduled Presentation Entity

Example

Code Block
languagejson
{
   "id": 234567,
   "presentationId": 1234567,
   "presentationName": "Default",
   "isRecurrent": true,
   "eventDate": null,
   "startTime": "00:00:00",
   "duration": "1.00:00:00",
   "recurrenceStartDate": null,
   "recurrenceEndDate": null,
   "daysOfWeek": "EveryDay",
   "creationDate": "2023-10-19T17:21:32.767Z",
   "lastModifiedDate": "2023-10-19T17:21:32.767Z",
   "expirationDate": null,
   "interruptScheduling": false
}

Failure Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

PUT /{id:int}/Schedule/{scheduledPresentationId:int}/  

Updates the specified scheduled presentation in the specified group.

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

groupId int

The unique identifier of the group

scheduledPresentationId int 

The unique identifier for the scheduled presentation

______________________________________________________________

Request Body

TheScheduled Presentation Entity

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • groupId is set to 12345

  • scheduledPresentationId is set to 234567

Code Block
PUT /2022/06/REST/Groups/Regular/12345/Schedule/234567/ 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: 443

This is the example request body:

Code Block
languagejson
{
   "id": 0,
   "presentationId": 1234567,
   "presentationName": "Default",
   "isRecurrent": true,
   "eventDate": null,
   "startTime": "00:00:00",
   "duration": "1.00:00:00",
   "recurrenceStartDate": null,
   "recurrenceEndDate": null,
   "daysOfWeek": "EveryDay",
   "creationDate": "0001-01-01T00:00:00",
   "lastModifiedDate": "0001-01-01T00:00:00",
   "expirationDate": null,
   "interruptScheduling": false
}

______________________________________________________________

Success Response

...

204: The scheduled presentation in the specified group has been updated

Failure Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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)

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}/Schedule/{scheduledPresentationId:int}/  

Removes a specified scheduled presentation from the specified group

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

groupId int 

The unique identifier of the group

scheduledPresentationId int 

The unique identifier for the scheduled presentation

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • groupId is set to 12345

  • scheduledPresentationId is set to 234567

Code Block
DELETE /2022/06/REST/Groups/Regular/12345/Schedule/234567/ 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

Success

204: The scheduled presentation has been deleted from the specified group

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}/Schedule/{scheduledPresentationId:int}/  

Returns the schedule of the specified presentation in the specified group

Required Scope Token

bsn.api.main.groups.regular.retrieve

______________________________________________________________

Segment

groupName string

The name of the group

scheduledPresentationId int

The unique identifier for the scheduled presentation

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • groupName is set to Default

  • scheduledPresentationId is set to 234567

Code Block
GET /2022/06/REST/Groups/Regular/Default/Schedule/234567/ 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 theScheduled Presentation Entity.

Example

Code Block
languagejson
{
   "id": 234567,
   "presentationId": 987654,
   "presentationName": "Default",
   "isRecurrent": true,
   "eventDate": null,
   "startTime": "00:00:00",
   "duration": "1.00:00:00",
   "recurrenceStartDate": null,
   "recurrenceEndDate": null,
   "daysOfWeek": "EveryDay",
   "creationDate": "2023-10-19T17:21:32.767Z",
   "lastModifiedDate": "2023-10-19T17:21:32.767Z",
   "expirationDate": null,
   "interruptScheduling": false
}

Failure Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

PUT /{name}/Schedule/{scheduledPresentationId:int}/  

Updates the specified scheduled presentation in the specified group.

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

groupName string

The name of the group

scheduledPresentationId int

The unique identifier for the scheduled presentation

______________________________________________________________

Request Body

The Scheduled Presentation Entity

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • groupName is set to Default

  • scheduledPresentationId is set to 234567

Code Block
PUT /2022/06/REST/Groups/Regular/Default/Schedule/234567/ 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: 443

This is the example request body:

Code Block
languagejson
{
   "id": 0,
   "presentationId": 987654,
   "presentationName": "Default",
   "isRecurrent": true,
   "eventDate": null,
   "startTime": "00:00:00",
   "duration": "1.00:00:00",
   "recurrenceStartDate": null,
   "recurrenceEndDate": null,
   "daysOfWeek": "EveryDay",
   "creationDate": "0001-01-01T00:00:00",
   "lastModifiedDate": "0001-01-01T00:00:00",
   "expirationDate": null,
   "interruptScheduling": false
}

______________________________________________________________

Success Response

...

204: The specified scheduled presentation has been updated in the specified group

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)

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}/Schedule/{scheduledPresentationId:int}/ 

Removes the specified scheduled presentation from the specified group

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

groupName string

The name of the group

scheduledPresentationId int 

The unique identifier for the scheduled presentation

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • groupName is set to Default

  • scheduledPresentationId is set to 234567

Code Block
DELETE /2022/06/REST/Groups/Regular/Default/Schedule/234567/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate

______________________________________________________________

Success Response

...

204: The specified scheduled presentation has been deleted from the specified group

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 /Operations/  

Returns operational permissions granted to roles for specific business operations

Required Scope Token

bsn.api.main.groups.operations.retrieve

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

Code Block
GET /2022/06/REST/Groups/Regular/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 theBusiness Operations Entity

Example

Expand
titleExpand to see response information:
Code Block
languagejson
{
   "uid": "d430853f-c05f-61b4-d137-0237a6984032",
   "singularName": "Full Control",
   "pluralName": "Group (Full Control)",
   "fullName": "Group (Full Control)",
   "targetEntity": "Group",
   "appliance": "Instance, Collection",
   "parent": null,
   "descendants":    [
            {
         "uid": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e",
         "singularName": "View Group",
         "pluralName": "View Groups",
         "fullName": "Group (Full Control) - View Groups",
         "targetEntity": "Group",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "d430853f-c05f-61b4-d137-0237a6984032",
            "singularName": "Full Control",
            "pluralName": "Group (Full Control)",
            "fullName": "Group (Full Control)",
            "targetEntity": "Group",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.907Z"
            },
                        {
               "entityId": null,
               "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.983Z"
            },
                        {
               "entityId": null,
               "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.95Z"
            },
                        {
               "entityId": null,
               "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.237Z"
            },
                        {
               "entityId": null,
               "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.553Z"
            },
                        {
               "entityId": null,
               "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.487Z"
            },
                        {
               "entityId": null,
               "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e",
               "principal":                {
                  "name": "Custom",
                  "isCustom": true,
                  "type": "Role",
                  "id": 10498
               },
               "isFixed": false,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2023-10-05T22:24:13.543Z"
            }
         ]
      },
            {
         "uid": "2e0ef6d3-8e8e-f704-258c-82c8ecae089d",
         "singularName": "View Devices",
         "pluralName": "View Devices",
         "fullName": "Group (Full Control) - View Devices",
         "targetEntity": "Group",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "d430853f-c05f-61b4-d137-0237a6984032",
            "singularName": "Full Control",
            "pluralName": "Group (Full Control)",
            "fullName": "Group (Full Control)",
            "targetEntity": "Group",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "2e0ef6d3-8e8e-f704-258c-82c8ecae089d",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.993Z"
            },
                        {
               "entityId": null,
               "operationUID": "2e0ef6d3-8e8e-f704-258c-82c8ecae089d",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.95Z"
            },
                        {
               "entityId": null,
               "operationUID": "2e0ef6d3-8e8e-f704-258c-82c8ecae089d",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.237Z"
            },
                        {
               "entityId": null,
               "operationUID": "2e0ef6d3-8e8e-f704-258c-82c8ecae089d",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.553Z"
            },
                        {
               "entityId": null,
               "operationUID": "2e0ef6d3-8e8e-f704-258c-82c8ecae089d",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.893Z"
            },
                        {
               "entityId": null,
               "operationUID": "2e0ef6d3-8e8e-f704-258c-82c8ecae089d",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.487Z"
            },
                        {
               "entityId": null,
               "operationUID": "2e0ef6d3-8e8e-f704-258c-82c8ecae089d",
               "principal":                {
                  "name": "Custom",
                  "isCustom": true,
                  "type": "Role",
                  "id": 10498
               },
               "isFixed": false,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2023-10-05T22:24:13.543Z"
            }
         ]
      },
            {
         "uid": "432d38a8-7055-40f0-8dd2-348805c1b725",
         "singularName": "View Schedule",
         "pluralName": "View Schedule",
         "fullName": "Group (Full Control) - View Schedule",
         "targetEntity": "Group",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "d430853f-c05f-61b4-d137-0237a6984032",
            "singularName": "Full Control",
            "pluralName": "Group (Full Control)",
            "fullName": "Group (Full Control)",
            "targetEntity": "Group",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "432d38a8-7055-40f0-8dd2-348805c1b725",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.93Z"
            },
                        {
               "entityId": null,
               "operationUID": "432d38a8-7055-40f0-8dd2-348805c1b725",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:48.003Z"
            },
                        {
               "entityId": null,
               "operationUID": "432d38a8-7055-40f0-8dd2-348805c1b725",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.95Z"
            },
                        {
               "entityId": null,
               "operationUID": "432d38a8-7055-40f0-8dd2-348805c1b725",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.237Z"
            },
                        {
               "entityId": null,
               "operationUID": "432d38a8-7055-40f0-8dd2-348805c1b725",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.553Z"
            },
                        {
               "entityId": null,
               "operationUID": "432d38a8-7055-40f0-8dd2-348805c1b725",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.487Z"
            },
                        {
               "entityId": null,
               "operationUID": "432d38a8-7055-40f0-8dd2-348805c1b725",
               "principal":                {
                  "name": "Custom",
                  "isCustom": true,
                  "type": "Role",
                  "id": 10498
               },
               "isFixed": false,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2023-10-05T22:24:13.543Z"
            }
         ]
      },
            {
         "uid": "08a3a36f-163c-7f44-9586-839aeee44587",
         "singularName": "Create Group",
         "pluralName": "Create Group",
         "fullName": "Group (Full Control) - Create Group",
         "targetEntity": "Group",
         "appliance": "Collection",
         "parent":          {
            "uid": "d430853f-c05f-61b4-d137-0237a6984032",
            "singularName": "Full Control",
            "pluralName": "Group (Full Control)",
            "fullName": "Group (Full Control)",
            "targetEntity": "Group",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "08a3a36f-163c-7f44-9586-839aeee44587",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.95Z"
            },
                        {
               "entityId": null,
               "operationUID": "08a3a36f-163c-7f44-9586-839aeee44587",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.237Z"
            },
                        {
               "entityId": null,
               "operationUID": "08a3a36f-163c-7f44-9586-839aeee44587",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.553Z"
            },
                        {
               "entityId": null,
               "operationUID": "08a3a36f-163c-7f44-9586-839aeee44587",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.893Z"
            },
                        {
               "entityId": null,
               "operationUID": "08a3a36f-163c-7f44-9586-839aeee44587",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.487Z"
            },
                        {
               "entityId": null,
               "operationUID": "08a3a36f-163c-7f44-9586-839aeee44587",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.97Z"
            },
                        {
               "entityId": null,
               "operationUID": "08a3a36f-163c-7f44-9586-839aeee44587",
               "principal":                {
                  "name": "Custom",
                  "isCustom": true,
                  "type": "Role",
                  "id": 10498
               },
               "isFixed": false,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2023-10-05T22:24:13.543Z"
            }
         ]
      },
            {
         "uid": "294648cf-9961-4b93-9ab9-23264a58328d",
         "singularName": "Update Group",
         "pluralName": "Update Group",
         "fullName": "Group (Full Control) - Update Group",
         "targetEntity": "Group",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "d430853f-c05f-61b4-d137-0237a6984032",
            "singularName": "Full Control",
            "pluralName": "Group (Full Control)",
            "fullName": "Group (Full Control)",
            "targetEntity": "Group",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "294648cf-9961-4b93-9ab9-23264a58328d",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.95Z"
            },
                        {
               "entityId": null,
               "operationUID": "294648cf-9961-4b93-9ab9-23264a58328d",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.237Z"
            },
                        {
               "entityId": null,
               "operationUID": "294648cf-9961-4b93-9ab9-23264a58328d",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.553Z"
            },
                        {
               "entityId": null,
               "operationUID": "294648cf-9961-4b93-9ab9-23264a58328d",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.893Z"
            },
                        {
               "entityId": null,
               "operationUID": "294648cf-9961-4b93-9ab9-23264a58328d",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.487Z"
            },
                        {
               "entityId": null,
               "operationUID": "294648cf-9961-4b93-9ab9-23264a58328d",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.97Z"
            },
                        {
               "entityId": null,
               "operationUID": "294648cf-9961-4b93-9ab9-23264a58328d",
               "principal":                {
                  "name": "Custom",
                  "isCustom": true,
                  "type": "Role",
                  "id": 10498
               },
               "isFixed": false,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2023-10-05T22:24:13.543Z"
            }
         ]
      },
            {
         "uid": "2f860f4e-c67b-a9d4-95de-f0bdd6c10f58",
         "singularName": "Add Device",
         "pluralName": "Add Device",
         "fullName": "Group (Full Control) - Add Device",
         "targetEntity": "Group",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "d430853f-c05f-61b4-d137-0237a6984032",
            "singularName": "Full Control",
            "pluralName": "Group (Full Control)",
            "fullName": "Group (Full Control)",
            "targetEntity": "Group",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "2f860f4e-c67b-a9d4-95de-f0bdd6c10f58",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.95Z"
            },
                        {
               "entityId": null,
               "operationUID": "2f860f4e-c67b-a9d4-95de-f0bdd6c10f58",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.237Z"
            },
                        {
               "entityId": null,
               "operationUID": "2f860f4e-c67b-a9d4-95de-f0bdd6c10f58",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.553Z"
            },
                        {
               "entityId": null,
               "operationUID": "2f860f4e-c67b-a9d4-95de-f0bdd6c10f58",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.893Z"
            },
                        {
               "entityId": null,
               "operationUID": "2f860f4e-c67b-a9d4-95de-f0bdd6c10f58",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.487Z"
            },
                        {
               "entityId": null,
               "operationUID": "2f860f4e-c67b-a9d4-95de-f0bdd6c10f58",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.97Z"
            },
                        {
               "entityId": null,
               "operationUID": "2f860f4e-c67b-a9d4-95de-f0bdd6c10f58",
               "principal":                {
                  "name": "Custom",
                  "isCustom": true,
                  "type": "Role",
                  "id": 10498
               },
               "isFixed": false,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2023-10-05T22:24:13.543Z"
            }
         ]
      },
            {
         "uid": "31cd7f9e-1cd2-22b4-7909-83de98da8115",
         "singularName": "Remove Device",
         "pluralName": "Remove Device",
         "fullName": "Group (Full Control) - Remove Device",
         "targetEntity": "Group",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "d430853f-c05f-61b4-d137-0237a6984032",
            "singularName": "Full Control",
            "pluralName": "Group (Full Control)",
            "fullName": "Group (Full Control)",
            "targetEntity": "Group",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "31cd7f9e-1cd2-22b4-7909-83de98da8115",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.95Z"
            },
                        {
               "entityId": null,
               "operationUID": "31cd7f9e-1cd2-22b4-7909-83de98da8115",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.237Z"
            },
                        {
               "entityId": null,
               "operationUID": "31cd7f9e-1cd2-22b4-7909-83de98da8115",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.553Z"
            },
                        {
               "entityId": null,
               "operationUID": "31cd7f9e-1cd2-22b4-7909-83de98da8115",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.893Z"
            },
                        {
               "entityId": null,
               "operationUID": "31cd7f9e-1cd2-22b4-7909-83de98da8115",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.487Z"
            },
                        {
               "entityId": null,
               "operationUID": "31cd7f9e-1cd2-22b4-7909-83de98da8115",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.97Z"
            },
                        {
               "entityId": null,
               "operationUID": "31cd7f9e-1cd2-22b4-7909-83de98da8115",
               "principal":                {
                  "name": "Custom",
                  "isCustom": true,
                  "type": "Role",
                  "id": 10498
               },
               "isFixed": false,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2023-10-05T22:24:13.543Z"
            }
         ]
      },
            {
         "uid": "66702586-1ae4-4079-83e7-d803e6b105d5",
         "singularName": "Update Schedule",
         "pluralName": "Update Schedule",
         "fullName": "Group (Full Control) - Update Schedule",
         "targetEntity": "Group",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "d430853f-c05f-61b4-d137-0237a6984032",
            "singularName": "Full Control",
            "pluralName": "Group (Full Control)",
            "fullName": "Group (Full Control)",
            "targetEntity": "Group",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "66702586-1ae4-4079-83e7-d803e6b105d5",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.943Z"
            },
                        {
               "entityId": null,
               "operationUID": "66702586-1ae4-4079-83e7-d803e6b105d5",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.5Z"
            },
                        {
               "entityId": null,
               "operationUID": "66702586-1ae4-4079-83e7-d803e6b105d5",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.95Z"
            },
                        {
               "entityId": null,
               "operationUID": "66702586-1ae4-4079-83e7-d803e6b105d5",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.237Z"
            },
                        {
               "entityId": null,
               "operationUID": "66702586-1ae4-4079-83e7-d803e6b105d5",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.553Z"
            },
                        {
               "entityId": null,
               "operationUID": "66702586-1ae4-4079-83e7-d803e6b105d5",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.97Z"
            },
                        {
               "entityId": null,
               "operationUID": "66702586-1ae4-4079-83e7-d803e6b105d5",
               "principal":                {
                  "name": "Custom",
                  "isCustom": true,
                  "type": "Role",
                  "id": 10498
               },
               "isFixed": false,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2023-10-05T22:24:13.543Z"
            }
         ]
      },
            {
         "uid": "df37d180-183f-68e4-1515-5ea51a0d053f",
         "singularName": "Edit Permissions",
         "pluralName": "Edit Permissions",
         "fullName": "Group (Full Control) - Edit Permissions",
         "targetEntity": "Group",
         "appliance": "Collection",
         "parent":          {
            "uid": "d430853f-c05f-61b4-d137-0237a6984032",
            "singularName": "Full Control",
            "pluralName": "Group (Full Control)",
            "fullName": "Group (Full Control)",
            "targetEntity": "Group",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "df37d180-183f-68e4-1515-5ea51a0d053f",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.95Z"
            },
                        {
               "entityId": null,
               "operationUID": "df37d180-183f-68e4-1515-5ea51a0d053f",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.237Z"
            },
                        {
               "entityId": null,
               "operationUID": "df37d180-183f-68e4-1515-5ea51a0d053f",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.553Z"
            },
                        {
               "entityId": null,
               "operationUID": "df37d180-183f-68e4-1515-5ea51a0d053f",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.893Z"
            },
                        {
               "entityId": null,
               "operationUID": "df37d180-183f-68e4-1515-5ea51a0d053f",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.487Z"
            },
                        {
               "entityId": null,
               "operationUID": "df37d180-183f-68e4-1515-5ea51a0d053f",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.97Z"
            },
                        {
               "entityId": null,
               "operationUID": "df37d180-183f-68e4-1515-5ea51a0d053f",
               "principal":                {
                  "name": "Custom",
                  "isCustom": true,
                  "type": "Role",
                  "id": 10498
               },
               "isFixed": false,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2023-10-05T22:24:13.543Z"
            }
         ]
      },
            {
         "uid": "0720a4b7-7c43-76f4-4913-4d92f5709149",
         "singularName": "Delete Group",
         "pluralName": "Delete Group",
         "fullName": "Group (Full Control) - Delete Group",
         "targetEntity": "Group",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "d430853f-c05f-61b4-d137-0237a6984032",
            "singularName": "Full Control",
            "pluralName": "Group (Full Control)",
            "fullName": "Group (Full Control)",
            "targetEntity": "Group",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "0720a4b7-7c43-76f4-4913-4d92f5709149",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:45.95Z"
            },
                        {
               "entityId": null,
               "operationUID": "0720a4b7-7c43-76f4-4913-4d92f5709149",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:46.237Z"
            },
                        {
               "entityId": null,
               "operationUID": "0720a4b7-7c43-76f4-4913-4d92f5709149",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.553Z"
            },
                        {
               "entityId": null,
               "operationUID": "0720a4b7-7c43-76f4-4913-4d92f5709149",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:46.893Z"
            },
                        {
               "entityId": null,
               "operationUID": "0720a4b7-7c43-76f4-4913-4d92f5709149",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-08-17T20:49:47.487Z"
            },
                        {
               "entityId": null,
               "operationUID": "0720a4b7-7c43-76f4-4913-4d92f5709149",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-08-17T20:49:47.97Z"
            },
                        {
               "entityId": null,
               "operationUID": "0720a4b7-7c43-76f4-4913-4d92f5709149",
               "principal":                {
                  "name": "Custom",
                  "isCustom": true,
                  "type": "Role",
                  "id": 10498
               },
               "isFixed": false,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2023-10-05T22:24:13.543Z"
            }
         ]
      }
   ],
   "permissions":    [
            {
         "entityId": null,
         "operationUID": "d430853f-c05f-61b4-d137-0237a6984032",
         "principal":          {
            "name": "Administrators",
            "isCustom": false,
            "type": "Role",
            "id": 1
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": true,
         "creationDate": "2020-08-17T20:49:45.95Z"
      },
            {
         "entityId": null,
         "operationUID": "d430853f-c05f-61b4-d137-0237a6984032",
         "principal":          {
            "name": "General Managers",
            "isCustom": false,
            "type": "Role",
            "id": 2
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": true,
         "creationDate": "2020-08-17T20:49:46.237Z"
      },
            {
         "entityId": null,
         "operationUID": "d430853f-c05f-61b4-d137-0237a6984032",
         "principal":          {
            "name": "Creators",
            "isCustom": false,
            "type": "Role",
            "id": 3
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": false,
         "creationDate": "2020-08-17T20:49:46.553Z"
      },
            {
         "entityId": null,
         "operationUID": "d430853f-c05f-61b4-d137-0237a6984032",
         "principal":          {
            "name": "Publishers",
            "isCustom": false,
            "type": "Role",
            "id": 4
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": false,
         "creationDate": "2020-08-17T20:49:46.893Z"
      },
            {
         "entityId": null,
         "operationUID": "d430853f-c05f-61b4-d137-0237a6984032",
         "principal":          {
            "name": "Network Managers",
            "isCustom": false,
            "type": "Role",
            "id": 5
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": true,
         "creationDate": "2020-08-17T20:49:47.487Z"
      },
            {
         "entityId": null,
         "operationUID": "d430853f-c05f-61b4-d137-0237a6984032",
         "principal":          {
            "name": "Viewers",
            "isCustom": false,
            "type": "Role",
            "id": 6
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": false,
         "creationDate": "2020-08-17T20:49:47.97Z"
      },
            {
         "entityId": null,
         "operationUID": "d430853f-c05f-61b4-d137-0237a6984032",
         "principal":          {
            "name": "Custom",
            "isCustom": true,
            "type": "Role",
            "id": 10498
         },
         "isFixed": false,
         "isInherited": false,
         "isAllowed": false,
         "creationDate": "2023-10-05T22:24:13.543Z"
      }
   ]
}

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 group instance.

Required Scope Token

bsn.api.main.groups.regular.retrieve

______________________________________________________________

Segment

id int 

The unique identifier of the group

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • id is set to 56789

Code Block
GET /2022/06/REST/Groups/Regular/56789/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

Code Block
languagejson
[
  {
    "entityId": 56789,
    "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e",
    "principal": {
      "login": "johndoe@brightsign.biz",
      "type": "User",
      "id": 5432
    },
    "isFixed": true,
    "isInherited": false,
    "isAllowed": true,
    "creationDate": "2020-06-01T17:13:32.927Z"
  },
  {
    "entityId": 56789,
    "operationUID": "d430853f-c05f-61b4-d137-0237a6984032",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 12345
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "2023-10-27T18:48:11.053Z"
  }
]

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 to the specified group

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

id int 

The unique identifier of the group

______________________________________________________________

Request Body

An array of Permission entities

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • id is set to 12345

Code Block
POST /2022/06/REST/Groups/Regular/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: 343

This is the example request body:

Code Block
languagejson
{
  "entityId": 12345,
  "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e",
  "principal": {
    "login": "JaneDoe@brightsign.biz",
    "type": "User",
    "id": 12345
  },
  "isFixed": false,
  "isInherited": false,
  "isAllowed": true,
  "creationDate": "0001-01-01T00:00:00"
}

______________________________________________________________

Success Response

...

204: The permissions were successfully added to the group

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/  

Deletes permissions from the specified group

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

id int

The unique identifier of the group

______________________________________________________________

Request Body

An array of Permission entities

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • id is set to 56789

Code Block
DELETE /2022/06/REST/Groups/Regular/56789/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: 604

This is the example request body:

Code Block
languagejson
[
  {
    "entityId": 56789,
    "operationUID": "d430853f-c05f-61b4-d137-0237a6984032",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 12345
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "2023-10-27T18:48:11.053Z"
  }
]

______________________________________________________________

Success Response

...

204: The specified permissions have been removed from the group

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 group instance.

Required Scope Token

bsn.api.main.groups.regular.retrieve

______________________________________________________________

Segment

name string 

The name of the group

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • name is set to Device Control

Code Block
GET /2022/06/REST/Groups/Regular/Device Control/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

Code Block
languagejson
[
  {
    "entityId": 12345,
    "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e",
    "principal": {
      "login": "johndoe@brightsign.biz",
      "type": "User",
      "id": 1234
    },
    "isFixed": true,
    "isInherited": false,
    "isAllowed": true,
    "creationDate": "2020-06-01T17:13:32.927Z"
  },
  {
    "entityId": 12345,
    "operationUID": "d430853f-c05f-61b4-d137-0237a6984032",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 12345
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "2023-10-27T18:48:11.053Z"
  }
]

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 to the specified group

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

name string

The name of the group

______________________________________________________________

Request Body

An array of Permission entities

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • name is set to Device Control

Code Block
POST /2022/06/REST/Groups/Regular/Device Control/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: 343

This is the example request body:

Code Block
languagejson
{
  "entityId": 56789,
  "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e",
  "principal": {
    "login": "JaneDoe@brightsign.biz",
    "type": "User",
    "id": 12345
  },
  "isFixed": false,
  "isInherited": false,
  "isAllowed": true,
  "creationDate": "0001-01-01T00:00:00"
}

______________________________________________________________

Success Response

Success

204: The permissions were successfully added to the group

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 the specified group

Required Scope Token

bsn.api.main.groups.regular.update

______________________________________________________________

Segment

name string

The name of the group

______________________________________________________________

Request Body

An array of Permission entities

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

  • name is set to Device Control

Code Block
DELETE /2022/06/REST/Groups/Regular/Device Control/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: 604

This is the example request body:

Code Block
languagejson
[
  {
    "entityId": 12345,
    "operationUID": "d430853f-c05f-61b4-d137-0237a6984032",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 12345
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "2023-10-27T18:48:11.053Z"
  }
]

______________________________________________________________

Success Response

Success

204: The specified permissions have been removed from the group

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