Versions Compared

Key

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

These endpoints allow users to manage their settings in the current network. 

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

_________________________________________________________________________

GET /Self/ 

Returns your Person Entity (2022/06) information

...

bsn.api.self.info.retrieve

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
GET /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-Modified-Since: Wed, 29 Nov 2023 17:40:51 GMT

____________________________________________________________

Success Response with Body

200: Returns the Person Entity

...

Code Block
languagejson
{
   "id": 12345,
   "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"
}

Success Response

304: The resource was not modified since the time specified in the “If-Modified-Since” header

Failure Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

...

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 to https://bsn.cloud/

Code Block
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

...

Code Block
languagejson
{
   "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"
}

______________________________________________________________

Success Response Body

200: Returns the Person Entity

...

Code Block
languagejson
{
   "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 Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

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

415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)

5XX: Any 500 code is an internal server error

...

Required Scope

bsn.api.self.info.update

______________________________________________________________

Request Body

The Person Entity

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
{
   "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"
}

______________________________________________________________

Success Response

204: The specified person has been updated

Failure Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

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

...

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 to JaneDoe@brightsign.bizreturnURL is set to https://bsn.cloud/

Code Block
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

______________________________________________________________

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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

bsn.api.self.profile.retrieve

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

Code Block
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

______________________________________________________________

Success Response with Body

200: The return type is object, where property names are profile keys and the profile values are those property values

...

Code Block
languagejson
{
   "personAccessTokenLifetime": "00:15:00",
   "personRefreshTokenLifetime": "1.00:00:00"
}

Failure Response

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

...

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:

...

Code Block
languagejson
{
	"key": "NewProperty1",
	"value": "111"
}

______________________________________________________________

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.

...

Code Block
languagejson
{
   "key": "NewProperty1",
   "value": "111"
}

Failure Response

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

...

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:

...

Code Block
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

______________________________________________________________

Success Response Body

200: Returns a profile property value

...

Code Block
languagejson
"00:15:00"

Success Response

304: The resource was not modified since the time specified in the “If-Modified-Since” header

Failure Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

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:

...

Code Block
languagejson
"1.00:00:00"

______________________________________________________________

Success Response

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 Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

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

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

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

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

...

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:

...

Code Block
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

______________________________________________________________

Success Response

204: The profile property has been removed

Failure Response

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

400: The request is malformed and therefore invalid, 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

...

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:

...

Code Block
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

______________________________________________________________

Success Response Body

200: Returns the Token Info Entity

...

Code Block
languagejson
{
   "token": {{Token}},
   "scope": "bsn.api.self",
   "validFrom": "2023-11-29T17:43:55Z",
   "validTo": "2023-11-29T17:58:55Z"
}

Failure Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

404: The 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

...

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:

...

Code Block
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

______________________________________________________________

Success Response

204: The person access or refresh token has been deleted

Failure Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

404: The 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

...

bsn.api.self.networks.retrieve

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

Code Block
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

______________________________________________________________

Success Response Body

200: Returns an array of Network Entity instances in which the current person is a member

...

Code Block
languagejson
[
  {
    "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

5XX: Any 500 code is an internal server error

...

bsn.api.self.networks.create

______________________________________________________________

Request Body

The Network Entity

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
{
  "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
}

______________________________________________________________

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).

...

Code Block
languagejson
{
   "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 Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

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

415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)

5XX: Any 500 code is an internal server error

...

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:

...

Code Block
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

______________________________________________________________

Success Response with Body

200: Returns the Network Entity

...

Code Block
languagejson
{
   "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

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 to 12345

Code Block
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

...

Code Block
languagejson
[
  {
    "op": "replace",
    "path": "/subscription/level/",
    "value": "Trial"
  }
]

______________________________________________________________

Success Response

204: The parameters have been successfully replaced

Failure Response

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

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

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

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

...

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:

...

Code Block
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

______________________________________________________________

Success Response Body

200: Returns the Network Entity

...

Code Block
languagejson
{
   "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

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 to JaneDoeTesting

Code Block
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

...

Code Block
languagejson
[
  {
    "op": "replace",
    "path": "/subscription/level/",
    "value": "Trial"
  }
]

______________________________________________________________

Success Response

204: The parameters have been successfully replaced

Failure Response

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

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

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

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

...

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:

...

Code Block
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

______________________________________________________________

Success Response with Body

200: Returns the Network Settings Entity

...

Code Block
languagejson
{
   "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

bsn.api.self.networks.update

______________________________________________________________

Segment

id int 

The unique identifier for a network

______________________________________________________________

Request Body

The Network Settings Entity

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
{
   "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"
}

______________________________________________________________

Success Response

204: The specified settings have been updated on the network

Failure Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

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

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

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

...

bsn.api.self.networks.retrieve

______________________________________________________________

Segment

name string 

The network name

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
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

______________________________________________________________

Success Response Body

200: Returns the Network Settings Entity

...

Code Block
languagejson
{
   "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

bsn.api.self.networks.update

______________________________________________________________

Segment

name string

The network name

______________________________________________________________

Request Body

The Network Settings Entity

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
languagejson
{
   "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"
}

______________________________________________________________

Success Response

204: The network settings have been updated

Failure Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

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

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

415: The server cannot accept the data representation that you sent (as specified in the "Content-Type" header)

5XX: Any 500 code is an internal server error

...

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:

...

Code Block
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

______________________________________________________________

Success Response with Body

200: Returns the Network Subscription Entity

...

Code Block
languagejson
{
   "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

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:

...

Code Block
languagejson
{
   "id": 0,
   "level": "Trial",
   "creationDate": "0001-01-01T00:00:00",
   "lastModifiedDate": "0001-01-01T00:00:00",
   "expireDate": null
}

______________________________________________________________

Success Response

204: The subscription information was updated

Failure Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

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

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

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

...

bsn.api.self.networks.retrieve

______________________________________________________________

Segment

name string

The network name

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
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

______________________________________________________________

Success Response Body

200: Returns the Network Subscription Entity

...

Code Block
languagejson
{
   "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

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:

...

Code Block
languagejson
{
   "id": 0,
   "level": "Trial",
   "creationDate": "0001-01-01T00:00:00",
   "lastModifiedDate": "0001-01-01T00:00:00",
   "expireDate": null
}

______________________________________________________________

Success Response

204: Updated the subscription information associated with the network

Failure Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

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

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

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

...

bsn.api.self.networks.retrieve

______________________________________________________________

Segment

id int 

The network identifier

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
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

______________________________________________________________

Success Response Body

200: Returns an array of Network Subscription entities 

...

Code Block
languagejson
[
      {
      "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

bsn.api.self.networks.retrieve

______________________________________________________________

Segment

name string

The network name

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

...

Code Block
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

______________________________________________________________

Success Response Body

200: Returns an array of Network Subscription entities 

...

Code Block
languagejson
[
      {
      "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

bsn.api.self.users.retrieve

______________________________________________________________

Request Example

The example request parameters and headers are set as follows:

Code Block
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

______________________________________________________________

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.

...

Code Block
languagejson
[
      {
      "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

5XX: Any 500 code is an internal server error

...

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:

...

Code Block
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

______________________________________________________________

Success Response with Body

200: Returns the User Entity

...

Code Block
languagejson
{
  "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

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:

...

Code Block
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

______________________________________________________________

Success Response with Body

200: This returns the User Entity

...

Code Block
languagejson
{
   "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

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:

...

Code Block
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

______________________________________________________________

Success Response Body

200: The return type is object, where property names are profile keys and the profile values are those property values

...

Code Block
languagejson
{
   "enableCustomRolesManagement": "true",
   "showAdvancedSecuritySettings": "False"
}

Failure Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

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:

...

Code Block
languagejson
{
	"key": "New Key 1",
	"value": "My Value"
}

______________________________________________________________

Success Response Body

201: Returns the key value pair and a link to the GET method to retrieve it. 

...

Code Block
languagejson
{
   "key": "New Key 1",
   "value": "My Value"
}

Failure Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

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

...

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 to 12345

  • key is set to New Key 1

Code Block
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

______________________________________________________________

Success Response with Body

200: Returns the value of the requested user profile key 

...

Code Block
languagejson
"My Value"

Success Response

304: The resource was not modified since the time specified in the “If-Modified-Since” header

Failure Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

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 to 12345

  • key is set to userStartupPage

  • string is set to "Admin"

...

Code Block
languagejson
"Admin"

______________________________________________________________

Success Response

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 Response

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

...

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 to 12345

  • key is set to New Key 1

Code Block
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

______________________________________________________________

Success Response

204: The specified property has been removed from the user profile

Failure Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

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

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

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

5XX: Any 500 code is an internal server error

...

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:

...

Code Block
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

______________________________________________________________

Success Response Body

200: Returns the paged list of Permission entities granted to a specific user

...

Code Block
languagejson
[
  {
    "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

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:

...

Code Block
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

______________________________________________________________

Success Response Body

200: Returns the array of Permission entities granted to a specific role

...

Code Block
languagejson
[
  {
    "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

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:

...

Code Block
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

______________________________________________________________

Success Response Body

200: Returns information about whether each setting in User Notification Settings Entity is enabled or disabled

...

Code Block
languagejson
{
   "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 Response

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

400: The request is malformed and therefore invalid

401: The access token is invalid or not specified

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

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

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

5XX: Any 500 code is an internal server error

...

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:

...

Code Block
languagejson
{
   "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
}

______________________________________________________________

Success Response

204: The specified user notification settings have been updated on the network

Failure Response

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

400: The request or request body is malformed and therefore invalid, or it is rejected in accordance with the business rules

401: The access token is invalid or not specified

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

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

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

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

...