POST /
Creates a role on a network
Required Scope Token
bsn.api.main.roles.create
______________________________________________________________
Request Body
The Role Entity
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
POST /2022/06/REST/Roles/ 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: 962
This is the example request body:
{ "id": 0, "isCustom": true, "name": "Custom Role 20231115", "description": "", "creationDate": "0001-01-01T00:00:00", "userCount": 0, "users": null, "permissions": [] }
______________________________________________________________
Response
Success Response Body
201: Returns the Role Entity created and referenced by the Uri (given by the Location header field) in the response.
Example
{ "id": 12345, "isCustom": true, "name": "Custom Role 20231115", "description": "", "creationDate": "2023-11-15T19:14:10.087Z", "userCount": 0, "users": null, "permissions": [] }
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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
GET /{id:int}/
Returns a specified role on a network
Required Scope Token
bsn.api.main.roles.retrieve
______________________________________________________________
Segment
id
int
A unique identifier for a role
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
GET /2022/06/REST/Roles/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
______________________________________________________________
Response
Success Response with Body
200: Returns the Role Entity
Example
This is an example of a 200 level response:
{ "id": 12345, "isCustom": true, "name": "Custom Role 20231115", "description": "", "creationDate": "2023-11-15T19:14:10.087Z", "userCount": 1, "users": [ { "login": "JaneDoe@brightsign.biz", "type": "User", "id": 54321 } ], "permissions": [ { "entityId": null, "operationUID": "3a67ae65-aa94-477b-acab-5291347cef2c", "principal": { "name": "Custom Role 20231115", "isCustom": true, "type": "Role", "id": 12345 }, "isFixed": false, "isInherited": false, "isAllowed": false, "creationDate": "2023-12-01T16:37:19.553Z" } ] }
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
PUT /{id:int}/
Updates the specified role on a network
Required Scope Token
bsn.api.main.roles.update
______________________________________________________________
Segment
id
int
A unique identifier for a role
______________________________________________________________
Request Body
The Role Entity
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
PUT /2022/06/REST/Roles/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 Content-Type: application/json Content-Length: 756
This is the example request body:
{ "id": 0, "isCustom": true, "name": "Custom Role 20231115", "description": "", "creationDate": "0001-01-01T00:00:00", "userCount": 0, "users": null, "permissions": [ { "entityId": null, "operationUID": "3a67ae65-aa94-477b-acab-5291347cef2c", "principal": { "name": "Custom Role 20231115", "isCustom": true, "type": "Role", "id": 12345 }, "isFixed": false, "isInherited": false, "isAllowed": false, "creationDate": "0001-01-01T00:00:00" } ] }
______________________________________________________________
Response
Success
204: The role was successfully updated.
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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}/
Removes the specified custom role on a network
Required Scope Token
bsn.api.main.roles.delete
______________________________________________________________
Segment
id
int
A unique identifier for a custom role
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
DELETE /2022/06/REST/Roles/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
______________________________________________________________
Response
Success
204: The specified role has been removed
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules (for example, if the user attempts to delete a system role).
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}/
Returns the specified role on a network
Required Scope Token
bsn.api.main.roles.retrieve
______________________________________________________________
Segment
name
string
The name of the role
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toCustom Role 20231115
GET /2022/06/REST/Roles/Custom Role 20231115/ 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 with Body
200: Returns the Role Entity
Example
This is an example of a 200 level response:
{ "id": 12345, "isCustom": true, "name": "Custom Role 20231115", "description": "", "creationDate": "2023-11-15T19:14:10.087Z", "userCount": 1, "users": [ { "login": "JaneDoe@brightsign.biz", "type": "User", "id": 54321 } ], "permissions": [ { "entityId": null, "operationUID": "3a67ae65-aa94-477b-acab-5291347cef2c", "principal": { "name": "Custom Role 20231115", "isCustom": true, "type": "Role", "id": 12345 }, "isFixed": false, "isInherited": false, "isAllowed": false, "creationDate": "2023-12-01T16:37:19.553Z" } ] }
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
PUT /{name}/
Updates the specified role on a network
Required Scope Token
bsn.api.main.roles.update
______________________________________________________________
Segment
name
string
The name of the role
______________________________________________________________
Request Body
The Role Entity
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toCustom Role 20231115
PUT /2022/06/REST/Roles/Custom Role 20231115/ 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: 756
This is the example request body:
{ "id": 0, "isCustom": true, "name": "Custom Role 20231115", "description": "", "creationDate": "0001-01-01T00:00:00", "userCount": 0, "users": null, "permissions": [ { "entityId": null, "operationUID": "3a67ae65-aa94-477b-acab-5291347cef2c", "principal": { "name": "Custom Role 20231115", "isCustom": true, "type": "Role", "id": 12345 }, "isFixed": false, "isInherited": false, "isAllowed": false, "creationDate": "0001-01-01T00:00:00" } ] }
______________________________________________________________
Response
Success
204: The role was successfully updated.
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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}/
Removes the specified custom role on a network
Required Scope Token
bsn.api.main.roles.delete
______________________________________________________________
Segment
name
string
The name of the custom role
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toCustom Role 20231116
DELETE /2022/06/REST/Roles/Custom Role 20231116/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{UserAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success
204: The specified role has been removed
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid, or it is rejected in accordance with the business rules (for example, if the user attempts to delete a system role).
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.operations.retrieve
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
GET /2022/06/REST/Roles/Operations/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{UserAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response Body
200: Returns the Business Operations Entity
Example
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
GET /{id:int}/Permissions/
Includes object permissions granted to a given role
Required Scope Token
bsn.api.main.roles.retrieve
______________________________________________________________
Segment
id
int
A unique identifier for a role
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
GET /2022/06/REST/Roles/12345/Permissions/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{UserAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response Body
200: Returns an array of Permission entities granted to a given role
Example
[ { "entityId": null, "operationUID": "b41ac545-d505-7014-edde-51bc4c0d21a0", "principal": { "name": "Creators", "isCustom": false, "type": "Role", "id": 12345 }, "isFixed": true, "isInherited": false, "isAllowed": false, "creationDate": "2020-08-17T20:49:46.35Z" } ]
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
POST /{id:int}/Permissions/
Add permissions for specified roles on a network
Required Scope Token
bsn.api.main.roles.update
______________________________________________________________
Segment
id
int
A unique identifier for a role
______________________________________________________________
Request Body
An array of Permission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
POST /2022/06/REST/Roles/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: 292
This is the example request body:
{ "entityId": null, "operationUID": "b41ac545-d505-7014-edde-51bc4c0d21a0", "principal": { "name": "Creators", "isCustom": false, "type": "Role", "id": 12345 }, "isFixed": false, "isInherited": false, "isAllowed": false, "creationDate": "0001-01-01T00:00:00" }
______________________________________________________________
Response
Success
204: The permissions were successfully added to the specified role
Failure
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error
DELETE /{id:int}/Permissions/
Removes permissions for specified roles on a network
Required Scope Token
bsn.api.main.roles.delete
______________________________________________________________
Segment
id
int
A unique identifier for a role
______________________________________________________________
Request Body
An array of Permission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
DELETE /2022/06/REST/Roles/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: 359
This is the example request body:
{ "entityId": null, "operationUID": "b41ac545-d505-7014-edde-51bc4c0d21a0", "principal": { "name": "Creators", "isCustom": false, "type": "Role", "id": 12345 }, "isFixed": false, "isInherited": false, "isAllowed": false, "creationDate": "0001-01-01T00:00:00" }
______________________________________________________________
Response
Success
204: The specified permissions have been removed from the role
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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 granted to a given role.
Required Scope Token
bsn.api.main.roles.retrieve
______________________________________________________________
Segment
name
string
The name of the role
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toCreators
GET /2022/06/REST/Roles/Creators/Permissions/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{UserAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response Body
200: Returns an array of Permission entities granted to a given role
Example
[ { "entityId": null, "operationUID": "b41ac545-d505-7014-edde-51bc4c0d21a0", "principal": { "name": "Creators", "isCustom": false, "type": "Role", "id": 12345 }, "isFixed": true, "isInherited": false, "isAllowed": false, "creationDate": "2020-08-17T20:49:46.35Z" } ]
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
POST /{name}/Permissions/
Add permissions for specified roles on a network
Required Scope Token
bsn.api.main.roles.update
______________________________________________________________
Segment
name
string
The name of the role
______________________________________________________________
Request Body
An array of Permission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toCreators
POST /2022/06/REST/Roles/Creators/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: 292
This is the example request body:
{ "entityId": null, "operationUID": "b41ac545-d505-7014-edde-51bc4c0d21a0", "principal": { "name": "Creators", "isCustom": false, "type": "Role", "id": 12345 }, "isFixed": false, "isInherited": false, "isAllowed": false, "creationDate": "0001-01-01T00:00:00" }
______________________________________________________________
Response
Success
204: The permissions were successfully added to the specified role
Failure
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 for specified role on a network
Required Scope Token
bsn.api.main.roles.delete
______________________________________________________________
Segment
name
string
The name of the role
______________________________________________________________
Request Body
An array of Permission entities
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toCreators
DELETE /2022/06/REST/Roles/Creators/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: 359
This is the example request body:
{ "entityId": null, "operationUID": "b41ac545-d505-7014-edde-51bc4c0d21a0", "principal": { "name": "Creators", "isCustom": false, "type": "Role", "id": 12345 }, "isFixed": false, "isInherited": false, "isAllowed": false, "creationDate": "0001-01-01T00:00:00" }
______________________________________________________________
Response
Success
204: The specified permissions have been removed from the role
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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