POST /Self/
Registers the person and returns your person credentials (except the password if it was provided in your request).
Required Scope Token
None
______________________________________________________________
Query String Parameter
returnURL
string optional
If this parameter is not specified, the default value is https://bsn.cloud/ .
______________________________________________________________
Request Body
The Person Entity. If you specify a password that matches our security policy, the server will apply the password you specify and will not return a password. If you do not specify a password, the server will generate a password and return it to you.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
returnURL
is set tohttps://bsn.cloud/
POST /2022/06/REST/Self/?returnURL=https%3A%2F%2Fbsn.cloud%2F HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate Content-Type: application/json Content-Length: 309
This is the example request body:
{ "id": 0, "login": "JaneDoe@gmail.com", "password": null, "firstName": "Jane", "lastName": "Doe", "creationDate": "0001-01-01T00:00:00", "lastModifiedDate": "0001-01-01T00:00:00", "activationDate": "0001-01-01T00:00:00" }
______________________________________________________________
Response
Success Response Body
200: Returns the Person Entity
Example
{ "id": 12345, "login": "JaneDoe@gmail.com", "password": "7t#Sqg7*", "firstName": "Jane", "lastName": "Doe", "creationDate": "2023-12-01T16:47:03.3893279Z", "lastModifiedDate": "2023-12-01T16:47:03.3893279Z", "activationDate": null }
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
PUT /Self/
Updates the requestor’s information (your profile).
Any customer can edit their own password, first name, and last name regardless of network membership, but cannot edit someone else's name or password.
The login property, whose values are email addresses, is a key and not editable. To give another customer access to that property or handle an email address change, a user with sufficient privileges need to create a new person, add it to the same network, assign them to the same role, and copy the custom user permissions (if any) from an existing user. This can be done in the Users Endpoints (2022/06)#POST API call.
Required Scope
bsn.api.self.info.update
______________________________________________________________
Request Body
The Person Entity
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
The optional
If-Unmodified-Since
header value equals theLast-Modified
header value retrieved from theGET /Self/
response.
PUT /2022/06/REST/Self/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate If-Unmodified-Since: Wed, 29 Nov 2023 17:40:52 GMT Content-Type: application/json Content-Length: 280
This is the example request body:
{ "id": 0, "login": "JaneDoe@brightsign.biz", "password": null, "firstName": "Jane", "lastName": "Doe", "creationDate": "0001-01-01T00:00:00", "lastModifiedDate": "0001-01-01T00:00:00", "activationDate": "0001-01-01T00:00:00" }
______________________________________________________________
Response
Success
204: The specified person has been 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
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
412: Precondition failed (the resource/person 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
GET /{login}/Password/
Initiate a password reset for a person
Required Scope
None
______________________________________________________________
Segment
login
string
The person's login in the form of an email address
returnURL
string optional
A callback URL that the authentication server will return to the user in case of a successful password reset
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
login
is set toJaneDoe@brightsign.biz
returnURL
is set tohttps://bsn.cloud/
GET /2022/06/REST/JaneDoe%40brightsign.biz/Password?returnUrl=https%3A%2F%2Fbsn.cloud%2F HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Accept-Encoding: gzip,deflate Accept: application/json, application/vnd.bsn.error
______________________________________________________________
Response
Success Response Body
202: On success, this method triggers an email to your login which contains a reference to a password reset page and a return URL as a callback
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
GET /Self/Profile/
Returns a complete person profile
Required Scope Token
bsn.api.self.profile.retrieve
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
GET /2022/06/REST/Self/Profile/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response with Body
200: The return type is object, where property names are profile keys and the profile values are those property values
Example
{ "personAccessTokenLifetime": "00:15:00", "personRefreshTokenLifetime": "1.00:00:00" }
Failure
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
5XX: Any 500 code is an internal server error
POST /Self/Profile/
Creates a new profile property for a person
Required Scope Token
bsn.api.self.profile.update
______________________________________________________________
Request Body
pair
<string, string>
A key value pair of the person profile property
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
POST /2022/06/REST/Self/Profile/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate Content-Type: application/json Content-Length: 44
This is the example request body:
{ "key": "NewProperty1", "value": "111" }
______________________________________________________________
Response
Success Response Body
201: Returns the new resource created and referenced by the Uri (given by the Location header field) in the response. Returns an object where property names correspond to profile keys and property values correspond to profile names.
Example
{ "key": "NewProperty1", "value": "111" }
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: Either the request is malformed and therefore invalid, or the specified profile property key is reserved or longer than 62 characters
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)
409: The person profile property with the specified key already exists
413: The length of the specified person property profile value exceeds the 64KB limit
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 /Self/Profile/{key}/
Returns a profile property value for a person
Required Scope Token
bsn.api.self.profile.retrieve
______________________________________________________________
Segment
key
string
The name of the profile property
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
key
is set toPersonAccessTokenLifetime
GET /2022/06/REST/Self/Profile/PersonAccessTokenLifetime/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response Body
200: Returns a profile property value
Example
This is an example of a 200 level response:
"00:15:00"
Success Response
304: The resource was not modified since the time specified in the “If-Modified-Since” header
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
PUT /Self/Profile/{key}/
Creates or updates a person profile property value
Required Scope Token
bsn.api.self.profile.update
______________________________________________________________
Segment
key
string
The name of the profile property
______________________________________________________________
Request Body
string
The profile property value to update
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
key
is set toPersonRefreshTokenLifetime
PUT /2022/06/REST/Self/Profile/PersonRefreshTokenLifetime/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate Content-Type: application/json Content-Length: 12
This is the example request body:
"1.00:00:00"
______________________________________________________________
Response
Success
201: Returns this status code if the person property value is defined for first time
204: Returns this status code if the person property value already exists and has been 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)
412: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)
413: The length of the specified user profile property exceeds the 64KB limit
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 /Self/Profile/{key}/
Removes a profile property for a person
Required Scope Token
bsn.api.self.profile.update
______________________________________________________________
Segment
key
string
The name of the profile property
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
key
is set toNewProperty1
DELETE /2022/06/REST/Self/Profile/NewProperty1/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success
204: The profile property 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
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 /Self/Tokens/{token}/
Gets the status of the specified OAuth2 person access or refresh token
Required Scope Token
bsn.api.self.token.validate
______________________________________________________________
Segment
token
string
A person access or refresh token
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
token
is set to{{Token}}
GET /2022/06/REST/Self/Tokens/{{Token}}/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response Body
200: Returns the Token Info Entity
Example
{ "token": {{Token}}, "scope": "bsn.api.self", "validFrom": "2023-11-29T17:43:55Z", "validTo": "2023-11-29T17:58:55Z" }
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The specified person or access refresh token is expired, revoked, or invalid.
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
DELETE /Self/Tokens/{token}/
Revokes a person access or refresh token
Required Scope Token
bsn.api.self.token.revoke
______________________________________________________________
Segment
token
string
A person access or refresh token
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
token
is set to{{Token}}
DELETE /2022/06/REST/Self/Tokens/{{Token}}/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success
204: The person access or refresh token has been deleted
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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 specified person or access refresh token is expired, revoked, or invalid.
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 /Self/Networks/
Returns the networks associated with a person
Required Scope Token
bsn.api.self.networks.retrieve
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
GET /2022/06/REST/Self/Networks/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response Body
200: Returns an array of Network Entity instances in which the current person is a member
Example
[ { "id": 12345, "name": "ControlCloud_Network1", "creationDate": "2020-07-14T18:40:58.087Z", "lastModifiedDate": "2020-07-14T18:40:58.087Z", "lockoutDate": null, "isLockedOut": false, "lastLockoutDate": null, "settings": { "userAccessTokenLifetime": "00:15:00", "userRefreshTokenLifetime": "1.00:00:00", "deviceAccessTokenLifetime": "00:15:00", "deviceRefreshTokenLifetime": "730.00:00:00", "deviceRegistrationTokenLifetime": "730.00:00:00", "automaticTaggedPlaylistApprovalEnabled": false, "lastModifiedDate": "2020-07-14T18:41:00.613Z" }, "subscription": { "id": 12345, "level": "Control", "creationDate": "2020-07-14T18:40:58.783Z", "lastModifiedDate": "2020-07-14T18:40:58.783Z", "expireDate": null } } ]
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
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 /Self/Networks/
Creates a network for the person.
Required Scope Token
bsn.api.self.networks.create
______________________________________________________________
Request Body
The Network Entity
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
POST /2022/06/REST/Self/Networks/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate Content-Type: application/json Content-Length: 581
This is the example request body:
{ "id": 0, "name": "TestDisplay", "creationDate": "0001-01-01T00:00:00", "lastModifiedDate": "0001-01-01T00:00:00", "lockoutDate": null, "isLockedOut": false, "lastLockoutDate": null, "settings": { "userAccessTokenLifetime": "00:15:00", "userRefreshTokenLifetime": "1.00:00:00", "deviceAccessTokenLifetime": "00:15:00", "deviceRefreshTokenLifetime": "730.00:00:00", "deviceRegistrationTokenLifetime": "730.00:00:00", "automaticTaggedPlaylistApprovalEnabled": false, "lastModifiedDate": "0001-01-01T00:00:00" }, "subscription": null }
______________________________________________________________
Response
Success Response Body
201: Returns the new resource created and referenced by the Uri (given by the Location header field) in the response. The response includes the network entity (see Network Entity).
Example
{ "id": 12345, "name": "TestDisplay", "creationDate": "2023-12-07T18:29:58.5041056Z", "lastModifiedDate": "2023-12-07T18:29:58.5041056Z", "lockoutDate": null, "isLockedOut": false, "lastLockoutDate": null, "settings": { "userAccessTokenLifetime": "00:15:00", "userRefreshTokenLifetime": "1.00:00:00", "deviceAccessTokenLifetime": "00:15:00", "deviceRefreshTokenLifetime": "730.00:00:00", "deviceRegistrationTokenLifetime": "730.00:00:00", "automaticTaggedPlaylistApprovalEnabled": false, "lastModifiedDate": "2023-12-07T18:29:58.5041056Z" }, "subscription": { "id": 12345, "level": "Control", "creationDate": "2023-12-07T18:29:58.5142438Z", "lastModifiedDate": "2023-12-07T18:29:58.5142438Z", "expireDate": null } }
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 /Self/Networks/{id:int}/
Get a network associated with a specified id
Required Scope Token
bsn.api.self.networks.retrieve
______________________________________________________________
Segment
id
int
The unique identifier for a network
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
GET /2022/06/REST/Self/Networks/12345/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response with Body
200: Returns the Network Entity
Example
This is an example of a 200 level response:
{ "id": 12345, "name": "JaneDoeTesting", "creationDate": "2020-07-09T19:09:04.937Z", "lastModifiedDate": "2020-07-09T19:09:04.937Z", "lockoutDate": null, "isLockedOut": false, "lastLockoutDate": null, "settings": { "userAccessTokenLifetime": "00:15:00", "userRefreshTokenLifetime": "1.00:00:00", "deviceAccessTokenLifetime": "00:15:00", "deviceRefreshTokenLifetime": "730.00:00:00", "deviceRegistrationTokenLifetime": "730.00:00:00", "automaticTaggedPlaylistApprovalEnabled": false, "lastModifiedDate": "2020-07-09T19:09:06.77Z" }, "subscription": { "id": 12345, "level": "Content", "creationDate": "2020-08-17T20:49:45.633Z", "lastModifiedDate": "2020-08-17T20:49:45.633Z", "expireDate": "2030-08-16T00:00:00Z" } }
Success Response
304: The resource was not modified since the time specified in the “If-Modified-Since” header
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
PATCH /Self/Networks/{networkId:int}/
Applies changes to a network associated with a specified id
Required Scope Token
bsn.api.self.networks.update
______________________________________________________________
Segment
networkId
int
The unique identifier for a network
______________________________________________________________
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:
networkId
is set to12345
PATCH /2022/06/REST/Self/Networks/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-patch+json Content-Length: 94
This is the example request body:
[ { "op": "replace", "path": "/subscription/level/", "value": "Trial" } ]
______________________________________________________________
Response
Success
204: The parameters have been successfully replaced
Failure
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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)
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 /Self/Networks/{name}/
Returns a network associated with a specified name.
Required Scope Token
bsn.api.self.networks.retrieve
______________________________________________________________
Segment
name
string
The name of a network
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toJaneDoeTesting
GET /2022/06/REST/Self/Networks/JaneDoeTesting/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response Body
200: Returns the Network Entity
Example
This is an example of a 200 level response:
{ "id": 12345, "name": "JaneDoeTesting", "creationDate": "2020-07-09T19:09:04.937Z", "lastModifiedDate": "2020-07-09T19:09:04.937Z", "lockoutDate": null, "isLockedOut": false, "lastLockoutDate": null, "settings": { "userAccessTokenLifetime": "00:15:00", "userRefreshTokenLifetime": "30.00:00:00", "deviceAccessTokenLifetime": "00:15:00", "deviceRefreshTokenLifetime": "730.00:00:00", "deviceRegistrationTokenLifetime": "730.00:00:00", "automaticTaggedPlaylistApprovalEnabled": false, "lastModifiedDate": "2023-12-07T21:41:44.01Z" }, "subscription": { "id": 12345, "level": "Content", "creationDate": "2020-08-17T20:49:45.633Z", "lastModifiedDate": "2020-08-17T20:49:45.633Z", "expireDate": "2030-08-16T00:00:00Z" } }
Success Response
304: The resource was not modified since the time specified in the “If-Modified-Since” header
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
PATCH /Self/Networks/{networkName}/
Applies changes to a network associated with a specified id
Required Scope Token
bsn.api.self.networks.update
______________________________________________________________
Segment
networkName
string
The name of the network
______________________________________________________________
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:
networkName
is set toJaneDoeTesting
PATCH /2022/06/REST/Self/Networks/JaneDoeTesting/ 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-patch+json Content-Length: 94
This is the example request body:
[ { "op": "replace", "path": "/subscription/level/", "value": "Trial" } ]
______________________________________________________________
Response
Success
204: The parameters have been successfully replaced
Failure
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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)
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 /Self/Networks/{id:int}/Settings/
Returns the settings associated with a specified network.
Required Scope Token
bsn.api.self.networks.retrieve
______________________________________________________________
Segment
id
int
The unique identifier for a network
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
GET /2022/06/REST/Self/Networks/12345/Settings/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response with Body
200: Returns the Network Settings Entity
Example
This is an example of a 200 level response:
{ "userAccessTokenLifetime": "00:15:00", "userRefreshTokenLifetime": "1.00:00:00", "deviceAccessTokenLifetime": "00:15:00", "deviceRefreshTokenLifetime": "730.00:00:00", "deviceRegistrationTokenLifetime": "730.00:00:00", "automaticTaggedPlaylistApprovalEnabled": false, "lastModifiedDate": "2020-07-09T19:09:06.77Z" }
Success Response
304: The resource was not modified since the time specified in the “If-Modified-Since” header
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
PUT /Self/Networks/{id:int}/Settings/
Update the settings associated with a specified network
Required Scope Token
bsn.api.self.networks.update
______________________________________________________________
Segment
id
int
The unique identifier for a network
______________________________________________________________
Request Body
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
PUT /2022/06/REST/Self/Networks/12345/Settings/ 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: 335
This is the example request body:
{ "userAccessTokenLifetime": "00:15:00", "userRefreshTokenLifetime": "30.00:00:00", "deviceAccessTokenLifetime": "00:15:00", "deviceRefreshTokenLifetime": "730.00:00:00", "deviceRegistrationTokenLifetime": "730.00:00:00", "automaticTaggedPlaylistApprovalEnabled": false, "lastModifiedDate": "0001-01-01T00:00:00" }
______________________________________________________________
Response
Success
204: The specified settings have been updated on the network
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
GET /Self/Networks/{name}/Settings/
Get the settings associated with a specified network.
Required Scope Token
bsn.api.self.networks.retrieve
______________________________________________________________
Segment
name
string
The network name
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set toJaneDoeTesting
GET /2022/06/REST/Self/Networks/JaneDoeTesting/Settings/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response Body
200: Returns the Network Settings Entity
Example
{ "userAccessTokenLifetime": "00:15:00", "userRefreshTokenLifetime": "1.00:00:00", "deviceAccessTokenLifetime": "00:15:00", "deviceRefreshTokenLifetime": "730.00:00:00", "deviceRegistrationTokenLifetime": "730.00:00:00", "automaticTaggedPlaylistApprovalEnabled": false, "lastModifiedDate": "2020-07-09T19:09:06.77Z" }
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 /Self/Networks/{name}/Settings/
Update the settings associated with a specified network
Required Scope Token
bsn.api.self.networks.update
______________________________________________________________
Segment
name
string
The network name
______________________________________________________________
Request Body
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toJaneDoeTesting
PUT /2022/06/REST/Self/Networks/JaneDoeTesting/Settings/ 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: 335
This is the example request body:
{ "userAccessTokenLifetime": "00:15:00", "userRefreshTokenLifetime": "30.00:00:00", "deviceAccessTokenLifetime": "00:15:00", "deviceRefreshTokenLifetime": "730.00:00:00", "deviceRegistrationTokenLifetime": "730.00:00:00", "automaticTaggedPlaylistApprovalEnabled": false, "lastModifiedDate": "0001-01-01T00:00:00" }
______________________________________________________________
Response
Success
204: The network settings have been 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
GET /Self/Networks/{id:int}/Subscription/
Returns the current subscription information associated with a specified network.
Required Scope Token
bsn.api.self.networks.retrieve
______________________________________________________________
Segment
id
int
The unique identifier for a network
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
GET /2022/06/REST/Self/Networks/12345/Subscription/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response with Body
200: Returns the Network Subscription Entity
Example
This is an example of a 200 level response:
{ "id": 12345, "level": "Content", "creationDate": "2020-08-17T20:49:45.633Z", "lastModifiedDate": "2020-08-17T20:49:45.633Z", "expireDate": "2030-08-16T00:00:00Z" }
Success Response
304: The resource was not modified since the time specified in the “If-Modified-Since” header
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
PUT /Self/Networks/{id:int}/Subscription/
Updates the current subscription information associated with a specified network. A regular user can only use this to enable a trial period of the Content Cloud (if it was not previously enabled).
Required Scope Token
bsn.api.self.networks.update
______________________________________________________________
Segment
id
int
The unique identifier for a network
______________________________________________________________
Request Body
The Network Subscription Entity
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
PUT /2022/06/REST/Self/Networks/12345/Subscription/ 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: 114
This is the example request body:
{ "id": 0, "level": "Trial", "creationDate": "0001-01-01T00:00:00", "lastModifiedDate": "0001-01-01T00:00:00", "expireDate": null }
______________________________________________________________
Response
Success
204: The subscription information was 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)
412: Precondition failed (the resource changed since the time specified in the “If-Unmodified-Since” header value)
415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)
5XX: Any 500 code is an internal server error
GET /Self/Networks/{name}/Subscription/
Returns the current subscription information associated with a specified network.
Required Scope
bsn.api.self.networks.retrieve
______________________________________________________________
Segment
name
string
The network name
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toJaneDoeTesting
GET /2022/06/REST/Self/Networks/JaneDoeTesting/Subscription/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response Body
200: Returns the Network Subscription Entity
Example
{ "id": 12345, "level": "Trial", "creationDate": "2020-08-17T20:49:45.633Z", "lastModifiedDate": "2020-08-17T20:49:45.633Z", "expireDate": "2030-08-16T00:00:00Z" }
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 /Self/Networks/{name}/Subscription/
Updates the current subscription information associated with a specified network. A regular user can only use this to enable a trial period of the Content Cloud (if it was not previously enabled).
Required Scope Token
bsn.api.self.networks.update
______________________________________________________________
Segment
name
string
The network name
______________________________________________________________
Request Body
The Network Subscription Entity
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toJaneDoeTesting
PUT /2022/06/REST/Self/Networks/JaneDoeTesting/Subscription/ 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: 114
This is the example request body:
{ "id": 0, "level": "Trial", "creationDate": "0001-01-01T00:00:00", "lastModifiedDate": "0001-01-01T00:00:00", "expireDate": null }
______________________________________________________________
Response
Success
204: Updated the subscription information associated with the network
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
GET /Self/Networks/{id:int}/Subscriptions/
Returns the current subscription, and all previously expired subscriptions, associated with a specified network
Required Scope Token
bsn.api.self.networks.retrieve
______________________________________________________________
Segment
id
int
The network identifier
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
GET /2022/06/REST/Self/Networks/12345/Subscriptions/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response Body
200: Returns an array of Network Subscription entities
Example
[ { "id": 12347, "level": "Content", "creationDate": "2020-08-17T20:49:45.633Z", "lastModifiedDate": "2020-08-17T20:49:45.633Z", "expireDate": "2030-08-16T00:00:00Z" }, { "id": 12346, "level": "Trial", "creationDate": "2020-07-24T23:05:45.517Z", "lastModifiedDate": "2020-07-24T23:05:45.517Z", "expireDate": "2020-08-17T20:49:45.633Z" }, { "id": 12345, "level": "Control", "creationDate": "2020-07-09T19:09:05.853Z", "lastModifiedDate": "2020-07-09T19:09:05.853Z", "expireDate": "2020-07-24T23:05:45.517Z" } ]
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
GET /Self/Networks/{name}/Subscriptions/
Returns the current subscription, and all previously expired subscriptions, associated with a specified network
Required Scope Token
bsn.api.self.networks.retrieve
______________________________________________________________
Segment
name
string
The network name
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
name
is set toJaneDoeTesting
GET /2022/06/REST/Self/Networks/JaneDoeTesting/Subscriptions/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response Body
200: Returns an array of Network Subscription entities
Example
[ { "id": 12347, "level": "Content", "creationDate": "2020-08-17T20:49:45.633Z", "lastModifiedDate": "2020-08-17T20:49:45.633Z", "expireDate": "2030-08-16T00:00:00Z" }, { "id": 12346, "level": "Trial", "creationDate": "2020-07-24T23:05:45.517Z", "lastModifiedDate": "2020-07-24T23:05:45.517Z", "expireDate": "2020-08-17T20:49:45.633Z" }, { "id": 12345, "level": "Control", "creationDate": "2020-07-09T19:09:05.853Z", "lastModifiedDate": "2020-07-09T19:09:05.853Z", "expireDate": "2020-07-24T23:05:45.517Z" } ]
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
GET /Self/Users/
Returns all user entities that the customer is associated with over all networks where the person has a user record
Required Scope Token
bsn.api.self.users.retrieve
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
GET /2022/06/REST/Self/Users/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response Body
200: Returns an array of user entities (see User Entity) if the user is a member of multiple networks, or to a single User Entity if the user is only a member of one network, or nothing if the user is not a member of any network.
Example
[ { "id": 12345, "person": { "id": 1234, "login": "JaneDoe@brightsign.biz", "password": null, "firstName": "Jane", "lastName": "Doe", "creationDate": "2020-07-09T19:05:20.247Z", "lastModifiedDate": "2023-11-29T17:40:54.403Z", "activationDate": "2020-07-09T19:05:38.723Z" }, "network": { "id": 1234, "name": "JaneDoeTesting" }, "description": "Network Administrator", "creationDate": "2020-07-09T19:09:04.98Z", "lastModifiedDate": "2020-08-17T20:49:48.377Z", "lastLoginDate": "2023-12-07T22:11:53.24Z", "isLockedOut": false, "lastLockoutDate": null, "roleName": "Administrators", "permissions": [ { "entityId": 54321, "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e", "principal": { "login": "JaneDoe@brightsign.biz", "type": "User", "id": 12345 }, "isFixed": true, "isInherited": false, "isAllowed": true, "creationDate": "2020-08-17T20:49:48.353Z" } ] } ]
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 /Self/Users/{id:int}/
Returns information about your membership in a network
Required Scope Token
bsn.api.self.users.retrieve
______________________________________________________________
Segment
id
int
The unique identifier for a user
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
GET /2022/06/REST/Self/Users/12345/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response with Body
200: Returns the User Entity
Example
This is an example of a 200 level response:
{ "id": 12345, "person": { "id": 1234, "login": "JaneDoe@brightsign.biz", "password": null, "firstName": "Jane", "lastName": "Doe", "creationDate": "2020-07-09T19:05:20.247Z", "lastModifiedDate": "2023-11-29T17:40:54.403Z", "activationDate": "2020-07-09T19:05:38.723Z" }, "network": { "id": 1234, "name": "JaneDoeTesting" }, "description": "Network Administrator", "creationDate": "2020-07-09T19:09:04.98Z", "lastModifiedDate": "2020-08-17T20:49:48.377Z", "lastLoginDate": "2023-12-07T22:11:53.24Z", "isLockedOut": false, "lastLockoutDate": null, "roleName": "Administrators", "permissions": [ { "entityId": 54321, "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e", "principal": { "login": "JaneDoe@brightsign.biz", "type": "User", "id": 12345 }, "isFixed": true, "isInherited": false, "isAllowed": true, "creationDate": "2020-08-17T20:49:48.353Z" } ] }
Success Response
304: The resource was not modified since the time specified in the “If-Modified-Since” header
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
GET /Self/Users/{id:int}/Role/
Returns information about the role you have in a network
Required Scope Token
bsn.api.self.roles.retrieve
______________________________________________________________
Segment
id
int
The unique identifier for a user
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
GET /2022/06/REST/Self/Users/12345/Role/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response with Body
200: This returns the User Entity
Example
This is an example of a 200 level response:
{ "id": 12345, "isCustom": true, "name": "CustomRole", "description": "", "creationDate": "2023-07-10T14:16:58.433Z", "userCount": 1, "users": null, "permissions": [ { "entityId": null, "operationUID": "b41ac545-d505-7014-edde-51bc4c0d21a0", "principal": { "name": "CustomRole", "isCustom": true, "type": "Role", "id": 12345 }, "isFixed": false, "isInherited": false, "isAllowed": true, "creationDate": "2023-08-17T20:49:45.793Z" } ] }
Success Response
204: No content (the user is not assigned to a role)
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
GET /Self/Users/{id:int}/Profile/
Returns the user profile settings
Required Scope Token
bsn.api.self.users.profile.retrieve
______________________________________________________________
Segment
id
int
The unique identifier for a user
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
GET /2022/06/REST/Self/Users/12345/Profile/ HTTP/1.1 Host: api.bsn.cloud Connection: Keep-Alive Authorization: Bearer {{PersonAccessToken}} Accept: application/json, application/vnd.bsn.error+json Accept-Encoding: gzip,deflate
______________________________________________________________
Response
Success Response Body
200: The return type is object, where property names are profile keys and the profile values are those property values
Example
{ "enableCustomRolesManagement": "true", "showAdvancedSecuritySettings": "False" }
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 /Self/Users/{id:int}/Profile/
Creates a new user profile property (it does not replace an existing user profile property)
Required Scope Token
bsn.api.self.users.profile.update
______________________________________________________________
Segment
id
int
The unique identifier for a user
______________________________________________________________
Request Body
pair
<string, string>
A key value pair. There should be not more than 100 properties per user, and each property value should be not more than 64KB.
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
POST /2022/06/REST/Self/Users/12345/Profile/ 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: 45
This is the example request body:
{ "key": "New Key 1", "value": "My Value" }
______________________________________________________________
Response
Success Response Body
201: Returns the key value pair and a link to the GET method to retrieve it.
Example
{ "key": "New Key 1", "value": "My Value" }
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request or request body is malformed and therefore invalid, or it is rejected in accordance 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)
409: The profile property with the specified key already exists or is reserved
413: The specified profile property value size exceeds the 64KB limit
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 /Self/Users/{id:int}/Profile/{key}/
Returns the value of a user profile property
Required Scope Token
bsn.api.self.users.profile.retrieve
______________________________________________________________
Segment
id
int
The unique identifier for a user
key
string
The name of the profile property
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
key
is set toNew Key 1
GET /2022/06/REST/Self/Users/12345/Profile/New%20Key%201 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 value of the requested user profile key
Example
This is an example of a status 200 response:
"My Value"
Success Response
304: The resource was not modified since the time specified in the “If-Modified-Since” header
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
PUT /Self/Users/{id:int}/Profile/{key}/
Creates or updates the value of a user profile property
Required Scope Token
bsn.api.self.users.profile.update
______________________________________________________________
Segments
id
int
The unique identifier for a user
key
string
The name of the profile property
______________________________________________________________
Request Body
string
The profile property value to update
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
key
is set touserStartupPage
string
is set to"Admin"
PUT /2022/06/REST/Self/Users/12345/Profile/userStartupPage 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: 7
This is the example request body:
"Admin"
______________________________________________________________
Response
Success
201: Returns this status code if the property value is defined for first time
204: Returns this status code if the property already exists and has been updated
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: Either the request is malformed and therefore invalid, or the specified user profile property key is reserved or longer than 62 characters
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)
413: The length of the specified user profile property exceeds the 64KB limit
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 /Self/Users/{id:int}/Profile/{key}/
Removes a specified property from a user profile
Required Scope Token
bsn.api.self.users.profile.update
______________________________________________________________
Segments
id
int
The unique identifier for a user
key
string
The name of the profile property
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
key
is set toNew Key 1
DELETE /2022/06/REST/Self/Users/12345/Profile/New%20Key%201 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 property has been removed from the user profile
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)
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 /Self/Users/{id:int}/Permissions/
Returns the permissions granted to a given user
Required Scope Token
bsn.api.self.users.retrieve
______________________________________________________________
Segment
id
int
A unique identifier for a user
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
GET /2022/06/REST/Self/Users/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 the paged list of Permission entities granted to a specific user
Example
[ { "entityId": 12345, "operationUID": "67b9b0ab-fb5f-36c4-d598-a71aa8998e4e", "principal": { "login": "JohnDoe@brightsign.biz", "type": "User", "id": 12345 }, "isFixed": true, "isInherited": false, "isAllowed": true, "creationDate": "2020-08-17T20:49:48.353Z" } ]
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
GET /Self/Users/{id:int}/Role/Permissions/
Returns permissions granted to a given user
Required Scope Token
bsn.api.self.roles.retrieve
______________________________________________________________
Segment
id
int
A unique identifier for a user
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
GET /2022/06/REST/Self/Users/12345/Role/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 the array of Permission entities granted to a specific role
Example
[ { "entityId": null, "operationUID": "b41ac545-d505-7014-edde-51bc4c0d21a0", "principal": { "name": "CustomRole", "isCustom": true, "type": "Role", "id": 12345 }, "isFixed": false, "isInherited": false, "isAllowed": true, "creationDate": "2020-08-17T20:49:45.793Z" } ]
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
GET /Self/Users/{id:int}/Notifications/
Returns the user notification settings
Required Scope Token
bsn.api.self.users.notifications.retrieve
______________________________________________________________
Segment
id
int
A unique identifier for a user
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
GET /2022/06/REST/Self/Users/12345/Notifications/ 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 information about whether each setting in User Notification Settings Entity is enabled or disabled
Example
{ "networkSuspendingNotificationEnabled": false, "networkSuspendingNotificationTemplate": null, "networkSuspendedNotificationEnabled": true, "networkSuspendedNotificationTemplate": null, "networkSubscriptionUpgradedNotificationEnabled": true, "networkSubscriptionUpgradedNotificationTemplate": null, "networkTrialPeriodStartedNotificationEnabled": true, "networkTrialPeriodStartedNotificationTemplate": null, "networkTrialPeriodExpiringNotificationEnabled": true, "networkTrialPeriodExpiringNotificationTemplate": null, "networkTrialPeriodExpiredNotificationEnabled": true, "networkTrialPeriodExpiredNotificationTemplate": null, "deviceFailureNotificationEnabled": false, "deviceFailureNotificationTemplate": null, "devicesFailureNotificationEnabled": false, "devicesFailureNotificationTemplate": null, "deviceDisconnectedNotificationEnabled": false, "deviceDisconnectedNotificationTemplate": null, "devicesDisconnectedNotificationEnabled": false, "devicesDisconnectedNotificationTemplate": null, "subscriptionCreatedNotificationEnabled": false, "subscriptionCreatedNotificationTemplate": null, "subscriptionsCreatedNotificationEnabled": false, "subscriptionsCreatedNotificationTemplate": null, "subscriptionQueuedNotificationEnabled": false, "subscriptionQueuedNotificationTemplate": null, "subscriptionsQueuedNotificationEnabled": false, "subscriptionsQueuedNotificationTemplate": null, "graceSubscriptionExpiringNotificationEnabled": false, "graceSubscriptionExpiringNotificationTemplate": null, "graceSubscriptionsExpiringNotificationEnabled": false, "graceSubscriptionsExpiringNotificationTemplate": null, "demoSubscriptionExpiringNotificationEnabled": false, "demoSubscriptionExpiringNotificationTemplate": null, "demoSubscriptionsExpiringNotificationEnabled": false, "demoSubscriptionsExpiringNotificationTemplate": null, "subscriptionExpiringNotificationEnabled": false, "subscriptionExpiringNotificationTemplate": null, "subscriptionsExpiringNotificationEnabled": false, "subscriptionsExpiringNotificationTemplate": null, "subscriptionExpiredNotificationEnabled": false, "subscriptionExpiredNotificationTemplate": null, "subscriptionsExpiredNotificationEnabled": false, "subscriptionsExpiredNotificationTemplate": null, "subscriptionSuspendingNotificationEnabled": false, "subscriptionSuspendingNotificationTemplate": null, "subscriptionsSuspendingNotificationEnabled": false, "subscriptionsSuspendingNotificationTemplate": null, "subscriptionSuspendedNotificationEnabled": true, "subscriptionSuspendedNotificationTemplate": null, "subscriptionsSuspendedNotificationEnabled": true, "subscriptionsSuspendedNotificationTemplate": null }
Failure
300: The requested representation could not be returned because it is ambiguous (there are multiple requested representations)
400: The request is malformed and therefore invalid
401: The access token is invalid or not specified
403: The supplied access token, though valid, doesn't provide access to this method
404: The server cannot find the requested resource (the path does not exist)
406: The server cannot return the data representation that you requested (as specified in the "Accept" header)
5XX: Any 500 code is an internal server error
PUT /Self/Users/{id:int}/Notifications/
Updates the user notification settings
Required Scope Token
bsn.api.self.users.notifications.update
______________________________________________________________
Segment
id
int
A unique identifier for a user
______________________________________________________________
Request Body
The User Notification Settings Entity
______________________________________________________________
Request Example
The example request parameters and headers are set as follows:
id
is set to12345
PUT /2022/06/REST/Self/Users/12345/Notifications/ 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: 2799
This is the example request body:
{ "networkSuspendingNotificationEnabled": false, "networkSuspendingNotificationTemplate": null, "networkSuspendedNotificationEnabled": true, "networkSuspendedNotificationTemplate": null, "networkSubscriptionUpgradedNotificationEnabled": true, "networkSubscriptionUpgradedNotificationTemplate": null, "networkTrialPeriodStartedNotificationEnabled": true, "networkTrialPeriodStartedNotificationTemplate": null, "networkTrialPeriodExpiringNotificationEnabled": true, "networkTrialPeriodExpiringNotificationTemplate": null, "networkTrialPeriodExpiredNotificationEnabled": true, "networkTrialPeriodExpiredNotificationTemplate": null, "deviceFailureNotificationEnabled": false, "deviceFailureNotificationTemplate": null, "devicesFailureNotificationEnabled": false, "devicesFailureNotificationTemplate": null, "deviceDisconnectedNotificationEnabled": false, "deviceDisconnectedNotificationTemplate": null, "devicesDisconnectedNotificationEnabled": false, "devicesDisconnectedNotificationTemplate": null, "subscriptionCreatedNotificationEnabled": false, "subscriptionCreatedNotificationTemplate": null, "subscriptionsCreatedNotificationEnabled": false, "subscriptionsCreatedNotificationTemplate": null, "subscriptionQueuedNotificationEnabled": false, "subscriptionQueuedNotificationTemplate": null, "subscriptionsQueuedNotificationEnabled": false, "subscriptionsQueuedNotificationTemplate": null, "graceSubscriptionExpiringNotificationEnabled": false, "graceSubscriptionExpiringNotificationTemplate": null, "graceSubscriptionsExpiringNotificationEnabled": false, "graceSubscriptionsExpiringNotificationTemplate": null, "demoSubscriptionExpiringNotificationEnabled": false, "demoSubscriptionExpiringNotificationTemplate": null, "demoSubscriptionsExpiringNotificationEnabled": false, "demoSubscriptionsExpiringNotificationTemplate": null, "subscriptionExpiringNotificationEnabled": false, "subscriptionExpiringNotificationTemplate": null, "subscriptionsExpiringNotificationEnabled": false, "subscriptionsExpiringNotificationTemplate": null, "subscriptionExpiredNotificationEnabled": false, "subscriptionExpiredNotificationTemplate": null, "subscriptionsExpiredNotificationEnabled": false, "subscriptionsExpiredNotificationTemplate": null, "subscriptionSuspendingNotificationEnabled": false, "subscriptionSuspendingNotificationTemplate": null, "subscriptionsSuspendingNotificationEnabled": false, "subscriptionsSuspendingNotificationTemplate": null, "subscriptionSuspendedNotificationEnabled": true, "subscriptionSuspendedNotificationTemplate": null, "subscriptionsSuspendedNotificationEnabled": true, "subscriptionsSuspendedNotificationTemplate": null }
______________________________________________________________
Response
Success
204: The specified user notification settings have been updated on the network
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