Self Endpoints (2020/10 and 2022/06)(BCN-12198)

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

Base URL for these endpoints:  https://api.bsn.cloud/2020/10/REST/

Self/GET

Returns the information associated with the person (the requestor).

Response Body

Success

200: Returns the Person Entity

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 either zero or 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 specified representation of the person entity is not acceptable

5XX: Any 500 code is an internal server error

Self/POST

Registers the person and returns your person credentials (except the password if it was provided in your request). 

Query String Parameter

returnURL string optional

If this parameter is not specified, the parameters value from BSN configuration file will be used.

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.

Response Body

Success

201: Returns the Person Entity

Failure

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

400: Either the request or the person entity is invalid or not specified

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

Self/PUT

Updates a person's information.

Request Body

The Person Entity

Response Body

Success

204: The specified person has been updated on the network

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 either zero or multiple requested representations)

400: Either the request or the person entity is invalid or not specified

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

406: The specified representation of the person entity is not acceptable

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

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

5XX: Any 500 code is an internal server error

{login}/Password/GET

Initiate a password reset for a person

Segment

login string 

The person's login information 


returnURL string optional

The location header will be set to this Url, if specified.

Response Body

Success

200: On success, this method triggers an email to your login which contains a reference to the returnURL that you specified. 

Failure

300: The requested representation could not be returned because it is ambiguous (there are either zero or 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 specified representation of the person entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Tokens/{token}/GET

Gets the status of the specified OAuth2 person access or refresh token

Segment

token string 

 A device registration token for a BSN.cloud network

Response Body

Success

200: Returns the Token Info Entity

Failure

300: The requested representation could not be returned because it is ambiguous (there are either zero or 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 specified representation of the token is not acceptable

5XX: Any 500 code is an internal server error

Self/Tokens/{token}/DELETE

Revokes a person access or refresh token

Segment

token string

 A device registration token for a BSN.cloud network

Response Body

Success

204: The person access or refresh token has been deleted

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 

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

5XX: Any 500 code is an internal server error

Endpoints:


Self/Networks/GET

Returns the networks associated with a person

Response Body

Success

200: Returns a complete list of Network Entity instances associated with a person.

Failure

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

Self/Networks/POST

Creates a network for the person.

Request Body

The Network Entity

Response Body

Success

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

Failure

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

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

Self/Networks/{id:int}/GET

Get a list of networks associated with a specified id.

Segment

id int

The unique identifier for a network

Response Body

Success

200: Returns the Network Entity

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 either zero or 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 specified representation of the network entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Networks/{networkId:int}/PATCH

Applies changes to a network associated with a specified id

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:  The replacement value(s) for the id or serial of the group(s). This can be an array.

Response Body

Success

204The parameters have been successfully replaced

Failure

400: Either the request or the provided patch parameters are 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)

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

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

5XX: Any 500 code is an internal server error

Self/Networks/{networkName}/PATCH

Applies changes to a network associated with a specified id

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:  The replacement value(s) for the id or serial of the group(s). This can be an array.

Response Body

Success

204The parameters have been successfully replaced

Failure

400: Either the request or the provided patch parameters are 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)

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

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

5XX: Any 500 code is an internal server error


Self/Networks/{name}/GET

Get a list of networks associated with a specified name.

Segment

name string

The name of a network

Response Body

Success

200: Returns the Network Entity

Failure

300: The requested representation could not be returned because it is ambiguous (there are either zero or 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 specified representation of the network entity is not acceptable

5XX: Any 500 code is an internal server error


Self/Networks/{id:int}/Settings/GET

Returns the settings associated with a specified network.

Segment

id int 

The unique identifier for a network

Response Body

Success

200: Returns the Network Settings Entity

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 either zero or 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 specified representation of the network entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Networks/{id:int}/Settings/PUT

Update the settings associated with a specified network

Segment

id int 

The unique identifier for a network

Request Body

The Network Settings Entity

Response Body

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 either zero or multiple requested representations)

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 specified representation of the network entity is not acceptable

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

5XX: Any 500 code is an internal server error

Self/Networks/{name}/Settings/GET

Get the settings associated with a specified network.

Segment

name string 

The network name

Response Body

Success

200: Returns the Network Settings Entity

Failure

300: The requested representation could not be returned because it is ambiguous (there are either zero or 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 specified representation of the network entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Networks/{name}/Settings/PUT

Update the settings associated with a specified network

Segment

name string

The network name

Request Body

The Network Settings Entity

Response Body

Success

204: The network settings have been updated

Failure

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

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 specified representation of the network entity is not acceptable

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

Self/Networks/{id:int}/Subscription/GET

Returns the current subscription Information associated with a specified network.

Segment

id int 

The unique identifier for a network

Response Body

Success

200: Returns the Network Subscription Entity

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 either zero or 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 specified representation of the network entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Networks/{id:int}/Subscription/PUT

Update the current subscription information associated with a specified network

Segment

id int 

The unique identifier for a network

Request Body

The Network Subscription Entity

Response Body

Success

204: The subscription information was updated

Failure

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

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 specified representation of the network entity is not acceptable

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

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

5XX: Any 500 code is an internal server error

Self/Networks/{name}/Subscription/GET

Returns the current subscription information associated with a specified network.

Segment

name string

The network name

Response Body

Success

200: Returns the Network Subscription Entity

Failure

300: The requested representation could not be returned because it is ambiguous (there are either zero or 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 specified representation of the network entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Networks/{name}/Subscription/PUT

Updates the current subscription information associated with a specified network

Segment

name string 

The network name

Request Body

The Network Subscription Entity

Response Body

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 either zero or multiple requested representations)

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 specified representation of the network entity is not acceptable

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

5XX: Any 500 code is an internal server error

Self/Networks/{id:int}/Subscriptions/GET

Returns all of the network subscriptions associated with a specified network.

Segment

id int 

The network identifier

Response Body

Success

200: Returns all Network Subscription entities on a network

Failure

300: The requested representation could not be returned because it is ambiguous (there are either zero or 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 specified representation of the network entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Networks/{id:int}/Subscriptions/PUT

Update the current subscription information associated with a specified network

Segment

id int 

The network identifier

Request Body

A Network Subscription entity

Response Body

Success

204: The subscription information was updated

Failure

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

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 specified representation of the network entity is not acceptable

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

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

5XX: Any 500 code is an internal server error

Self/Networks/{name}/Subscriptions/GET

Returns all of the network subscriptions associated with a specified network.

Segment

name string

The network name

Response Body

Success

200: Returns all Network Subscription entities on a network

Failure

300: The requested representation could not be returned because it is ambiguous (there are either zero or 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 specified representation of the network entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Networks/{name}/Subscriptions/PUT

Update the current subscription information associated with a specified network

Segment

name string

The network name

Request Body

A Network Subscription entity

Response Body

Success

204: The subscription information was updated

Failure

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

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 specified representation of the network entity is not acceptable

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

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

5XX: Any 500 code is an internal server error

Self/Users/GET

Returns all user entities that the customer is associated with over all networks where the person has a user record

Response Body

Success

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.

Failure

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

Self/Users/{id:int}/GET

Returns information about a specified user on a network

Segment

id int 

The unique identifier for a user

Response Body

Success

200: Returns the User Entity

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 either zero or 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 specified representation of the user entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Users/{id:int}/Role/GET

Returns information about a specified user role on a network

Segment

id int 

The unique identifier for a user

Response Body

Success

200: This returns the User Entity.

204: No content (the user is not assigned to a role)

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 either zero or 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 specified representation of the user entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Users/{id:int}/Profile/GET

Returns the user profile settings

Segment

id int

The unique identifier for a user

Response Body

Success

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

Failure

300: The requested representation could not be returned because it is ambiguous (there are either zero or 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 specified representation of the user entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Users/{id:int}/Profile/POST

Creates the user profile property

Segment

id int 

The unique identifier for a user

Request Body

  • [<string, string>] pair:  A key value pair. There should be not more than 100 properties per user, and each property value should be not more than 64KB. 

Response Body

Success

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

Failure

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

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

Self/Users/{id:int}/Profile/{key}/GET

Returns the value of a user profile key

Segment

id int 

The unique identifier for a user


key string 

The name of the profile property

Response Body

Success

200: Returns the value of the requested user profile key 

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 either zero or 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 specified representation of the user entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Users/{id:int}/Profile/{key}/PUT

Sets a property value in a user profile

Segments

id int 

The unique identifier for a user


key string 

The name of the profile property

Request Body

  • [string] value: The profile property value to update

Response Body

Success

201Returns 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 either zero or multiple requested representations)

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 specified representation of the user entity is not acceptable

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

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

5XX: Any 500 code is an internal server error

Self/Users/{id:int}/Profile/{key}/DELETE

Removes a specified property from a user profile

Segments

id int 

The unique identifier for a user


key string 

The name of the profile property

Response Body

Success

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

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 

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

5XX: Any 500 code is an internal server error

Self/Profile/GET

Returns a complete person profile

Response Body

Success

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

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

Failure

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

Self/Profile/POST

Creates a profile property for the person

Request Body

  • [<string, string>] pair:  A key value pair of the person and profile property

Response Body

Success

201Returns 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.

Failure

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

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

Self/Profile/{key}/GET

Returns a profile property value for a person

Segment

key string

The name of the profile property

Response Body

Success

200: Returns a profile property value

Failure

300: The requested representation could not be returned because it is ambiguous (there are either zero or 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 specified person entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Profile/{key}/PUT

Sets a profile property value for a person

Segment

key string 

The name of the profile property

Request Body

value string

The profile property value to update

Response Body

Success

204: The profile property value was set

Failure

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

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 specified representation of the person entity is not acceptable

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

5XX: Any 500 code is an internal server error

Self/Profile/{key}/DELETE

Removes a profile property for a person

Segment

key string

The name of the profile property

Response Body

Success

204: The profile property has been removed

Failure

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)

5XX: Any 500 code is an internal server error

Self/Users/{id:int}/Permissions/GET

Returns permissions for a given user

Segment

id int 

A unique identifier for a user

Response Body

Success

200: Returns the permissions property value of the Person Entity as a paged list.

Failure

300: The requested representation could not be returned because it is ambiguous (there are either zero or 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 specified representation of the user entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Users/{id:int}/Role/Permissions/GET

Returns permissions for a given user role.

Segment

id int 

A unique identifier for a user

Response Body

Success

200: Returns the permissions property value of the Role Entity as a paged list.

Failure

300: The requested representation could not be returned because it is ambiguous (there are either zero or 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 specified representation of the user entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Users/{id:int}/Notifications/GET

Returns the user notification settings

Segment

id int 

A unique identifier for a user

Response Body

Success

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

Failure

300: The requested representation could not be returned because it is ambiguous (there are either zero or 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 specified representation of the user notifications settings entity is not acceptable

5XX: Any 500 code is an internal server error

Self/Users/{id:int}/Notifications/PUT

Updates the user notification settings

Segment

id int 

A unique identifier for a user

Request Body

The User Notification Settings Entity

Response Body

Success

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

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 either zero or multiple requested representations)

400: Either the request or the user entity is invalid or not specified

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)

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

5XX: Any 500 code is an internal server error