---
title: Endpoints propios (2022/06)
slug: develop/es/endpoints-propios-202206
docTags: 
createdAt: 2025-03-11T07:03:30.743Z
---

Estos endpoints permiten a los usuarios administrar su configuración en la red actual. 

URL base para estos endpoints: ***https\://api.bsn.cloud/2022/06/REST***

*\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_*

## GET /Self/ 

Devuelve su información de [Entidad Person](docId\:PUejlhYW0S15hWHvXWCif)

**Token de alcance requerido**

bsn.api.self.info.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

- El valor opcional del encabezado `If-Modified-Since` es igual al valor del encabezado `Última modificación` recuperado de la respuesta de `GET /Self/`.

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta exitosa con cuerpo**

<font color="#089a4d">200</font>: Devuelve la [Entidad Person](docId\:PUejlhYW0S15hWHvXWCif)

**Ejemplo**

Este es un ejemplo de una respuesta de nivel 200:

```json
{
   "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"
}
```

**Respuesta exitosa**

<font color="#089a4d">304</font>: El recurso no fue modificado desde la hora especificada en el encabezado “If-Modified-Since”

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">4</font><font color="#9a0808">00</font>: La solicitud está mal formada y por lo tanto es inválida

<font color="#9a0808">401</font>: El token de acceso es inválido o no fue especificado

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## POST /Self/ 

Registra a la persona y devuelve sus credenciales de persona (excepto la contraseña si fue proporcionada en su solicitud). 

**Token de alcance requerido**

Ninguno

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

- La [Entidad Person](docId\:PUejlhYW0S15hWHvXWCif). Si especifica una contraseña que coincida con nuestra política de seguridad, el servidor aplicará la contraseña que especifique y no devolverá una contraseña. Si no especifica una contraseña, el servidor generará una contraseña y se la devolverá.

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

```text
POST /2022/06/REST/Self/ 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
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
   "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"
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve la [Entidad de Persona](docId\:PUejlhYW0S15hWHvXWCif)

**Ejemplo**

```json
{
   "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
}
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud tiene un formato incorrecto y, por lo tanto, no es válido, o se rechaza de acuerdo con las reglas empresariales

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que envió (según se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor<font color="#0a0a0a06"> Cualquier código 500 es un error interno del servidor</font>

## GET /Self/Profile/ 

Devuelve un perfil de persona completo

**Token de alcance requerido**

bsn.api.self.profile.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta exitosa con cuerpo**

<font color="#089a4d">200</font>: El tipo de retorno es un objeto, donde los nombres de las propiedades son claves de perfil y los valores del perfil son los valores de esas propiedades

**Ejemplo**

```json
{
   "personAccessTokenLifetime": "00:15:00",
   "personRefreshTokenLifetime": "1.00:00:00"
}
```

**Respuesta de error**

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## POST /Self/Profile/ 

Crea una nueva propiedad de perfil para una persona

**Token de alcance requerido**

bsn.api.self.profile.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

- `par` <font color="#704ae0">&lt;string, string&gt;: </font>Un par clave-valor de la propiedad de perfil de la persona

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

```text
POST /2022/06/REST/Self/Profile/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{PersonAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 44
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
	"key": "NewProperty1",
	"value": "111"
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta de éxito**

<font color="#089a4d">201</font>: Devuelve el nuevo recurso creado y referenciado por el Uri (proporcionado por el campo de encabezado Location) en la respuesta. Devuelve un objeto donde los nombres de las propiedades corresponden a las claves del perfil y los valores de las propiedades corresponden a los nombres del perfil.

**Ejemplo**

```json
{
   "key": "NewProperty1",
   "value": "111"
}
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida, o la clave de la propiedad de perfil especificada está reservada o supera los 62 caracteres

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">409</font>: La propiedad de perfil de la persona con la clave especificada ya existe

<font color="#9a0808">413</font>: La longitud del valor especificado de la propiedad de perfil de la persona excede el límite de 64KB

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que usted envió (como se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Profile/\{key}/ 

Devuelve un valor de propiedad de perfil para una persona

**Token de alcance requerido**

bsn.api.self.profile.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `clave` <font color="#704ae0">string: </font>El nombre de la propiedad de perfil

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `clave` se establece en `PersonAccessTokenLifetime`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve un valor de propiedad de perfil

**Ejemplo**

Este es un ejemplo de una respuesta de nivel 200:

```json
"00:15:00"
```

**Respuesta exitosa**

<font color="#089a4d">304</font>: El recurso no fue modificado desde la hora especificada en el encabezado “If-Modified-Since”

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, es inválida

<font color="#9a0808">401</font>: El token de acceso es inválido o no fue especificado

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## PUT  /Self/Profile/\{key}/ 

Crea o actualiza un valor de propiedad de perfil de persona 

**Token de alcance requerido**

bsn.api.self.profile.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `clave` <font color="#704ae0">string: </font>El nombre de la propiedad de perfil

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

- <font color="#704ae0">string: </font>El valor de la propiedad de perfil que se va a actualizar

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `clave` se establece en `PersonRefreshTokenLifetime`

```text
PUT /2022/06/REST/Self/Profile/PersonRefreshTokenLifetime/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{PersonAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 12
```

Este es el cuerpo de la solicitud de ejemplo:

```json
"1.00:00:00"
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta exitosa**

<font color="#089a4d">201</font>: Devuelve este código de estado si el valor de la propiedad de persona se define por primera vez

<font color="#089a4d">204</font>: Devuelve este código de estado si el valor de la propiedad de persona ya existe y ha sido actualizado

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud está mal formado y, por lo tanto, es inválido, o se rechaza de acuerdo con las reglas de negocio

<font color="#9a0808">401</font>: El token de acceso es inválido o no fue especificado

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">412</font>: La condición previa falló (el recurso cambió desde el momento especificado en el valor del encabezado “If-Unmodified-Since”)

<font color="#9a0808">413</font>: La longitud de la propiedad del perfil de usuario especificada supera el límite de 64KB

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que usted envió (según se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## DELETE  /Self/Profile/\{key}/ 

Elimina una propiedad de perfil de una persona

**Token de Scope requerido**

bsn.api.self.profile.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `clave` <font color="#704ae0">string: </font>El nombre de la propiedad del perfil

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `clave` se establece en `NewProperty1`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta satisfactoria**

<font color="#089a4d">204</font>: La propiedad del perfil ha sido eliminada

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, es inválida, o se rechaza de acuerdo con las reglas de negocio

<font color="#9a0808">401</font>: El token de acceso es inválido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">412</font>: La condición previa falló (el recurso cambió desde el momento especificado en el valor del encabezado “If-Unmodified-Since”)

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Session/

Recupera el conjunto completo de atributos definidos en el contexto de la sesión de la persona actual.

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- El valor opcional del encabezado `If-Modified-Since` es igual al valor del encabezado `Última modificación` recuperado de la respuesta anterior de `GET /Self/Session/`.

```text
GET /2022/06/REST/Self/Session/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{AccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
If-Modified-Since: Wed, 29 Nov 2023 17:40:51 GMT
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta con cuerpo**

<font color="#089a4d">200</font>: Devuelve la [Estructura del contexto de sesión](docId\:oQCMAac7DYPOMevxK7jOe)&#x20;

**Ejemplo**

```json
{
   "network":    {
      "id": 12345,
      "name": "JohnDoe"
   },
   "authorizationScope": "bsn.api.main bsn.api.self bsn.api.upload bsn.ui.main player",
   "lastModifiedDate": "2024-08-08T16:10:13.673Z"
}
```

<font color="#089a4d">304</font>: El valor del encabezado HTTP `If-Modified-Since` proporcionado coincide con la marca de tiempo de la asignación del valor del atributo actual

**Respuesta de error**

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso de persona proporcionado no es válido y no se puede recuperar el id de sesión

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">410</font>: El token de acceso de persona proporcionado es válido, pero la sesión con el id resuelto ha sido invalidada

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Session/Network/

Recupera los identificadores de la red en la que ha iniciado sesión el usuario actual.

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

```text
GET /2022/06/REST/Self/Session/Network/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{AccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta con cuerpo**

<font color="#089a4d">200</font>: Devuelve el valor del atributo solicitado, que es Network Info Entity o `null` si la persona actual no ha iniciado sesión en ninguna red.

**Ejemplo**

```json
{
   "id": 12345,
   "name": "JohnDoe"
}
```

<font color="#089a4d">204</font>: La solicitud se ejecutó correctamente, pero no hay contenido para devolver (la red no está configurada en el contexto de la sesión actual).

**Respuesta de error**

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso de persona proporcionado no es válido y no se puede recuperar el id de sesión

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">410</font>: El token de acceso de persona proporcionado es válido, pero la sesión con el id resuelto ha sido invalidada

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## PUT /Self/Session/Network/

Permite que una persona establezca o cambie una red en la que la persona ha iniciado sesión dentro del alcance de la sesión actual

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

```text
PUT /2022/06/REST/Self/Session/Network/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{AccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 40
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
   "id": 12345,
   "name": "JaneDoe"
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta con cuerpo**

<font color="#089a4d">204</font>: La persona inició sesión correctamente en la red especificada

**Respuesta de error**

<font color="#9a0808">400</font>: Solicitud no válida y cualquiera de las siguientes infracciones de reglas de negocio:

- La [Entidad de información de red](docId:374tLdcK1WlKNfx0p9KMW) proporcionada tiene un formato no válido
- No se especifica ni el id de red ni el nombre de red en la solicitud
- No existe una red con el id o nombre especificado
- Una red con el id o nombre especificado está suspendida
- La persona propietaria del token de acceso proporcionado no es miembro de la red con el id o nombre especificado
- La persona en la red con el id o nombre especificado está deshabilitada

<font color="#9a0808">401</font>: El token de acceso de persona proporcionado no es válido y no se puede recuperar el id de sesión

<font color="#9a0808">410</font>: El token de acceso de persona proporcionado es válido, pero la sesión con el id resuelto ha sido invalidada

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Session/AuthorizationScope/

Recupera el alcance de las acciones que el usuario actual está autorizado a realizar con el token de acceso proporcionado.

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

```text
GET /2022/06/REST/Self/Session/AuthorizationScope/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{AccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta con cuerpo**

<font color="#089a4d">200</font>: Devuelve la lista separada por espacios de tokens que representan los recursos disponibles

**Ejemplo**

```json
"bsn.api.main bsn.api.self bsn.api.upload bsn.ui.main player"
```

**Respuesta de error**

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso de persona proporcionado no es válido y no se puede recuperar el id de sesión

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">410</font>: El token de acceso de persona proporcionado es válido, pero la sesión con el id resuelto ha sido invalidada

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## PUT /Self/Session/AuthorizationScope/

Permite que una persona cambie la lista de recursos a los que está autorizada a acceder con el token de acceso proporcionado.

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

```text
PUT /2022/06/REST/Self/Session/AuthorizationScope/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{AccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 40
```

Este es el cuerpo de la solicitud de ejemplo:

```json
"bsn.api.main bsn.api.self bsn.api.upload bsn.ui.main player"
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta**

<font color="#089a4d">204</font>: El ámbito de autorización se ha actualizado correctamente.

**Respuesta de error**

<font color="#9a0808">400</font>: Solicitud no válida y cualquiera de las siguientes infracciones de reglas de negocio:

- El ámbito de autorización proporcionado tiene un formato no válido
- Uno o más tokens de ámbito especificados no están disponibles con el token proporcionado

<font color="#9a0808">401</font>: El token de acceso de persona proporcionado no es válido y no se puede recuperar el id de sesión

<font color="#9a0808">410</font>: El token de acceso de persona proporcionado es válido, pero la sesión con el id resuelto ha sido invalidada

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Tokens/\{token}/ 

Obtiene el estado del token de acceso o de actualización OAuth2 de persona especificado

**Token de ámbito requerido**

bsn.api.self.token.validate

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `token` <font color="#704ae0">string: </font>Un token de acceso o actualización de persona

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

- `token` se establece en `{{Token}}`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de respuesta correcta**

<font color="#089a4d">200</font>: Devuelve la [Entidad de información de token](docId\:enPl448_e5z_X8X0RQsGT)&#x20;

**Ejemplo**

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

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no se pudo devolver porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se ha especificado

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El token de acceso o de actualización de persona especificado ha expirado, ha sido revocado o no es válido.

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## DELETE /Self/Tokens/\{token}/ 

Revoca un token de acceso o refresh de una persona

**Token de Scope requerido**

bsn.api.self.token.revoke

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `token` <font color="#704ae0">string: </font>Un token de acceso o refresh de una persona

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `token` se establece en `{{Token}}`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta exitosa**

<font color="#089a4d">204</font>: El token de acceso o refresh de la persona ha sido eliminado

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud están mal formados y, por lo tanto, son inválidos, o se rechazan de acuerdo con las reglas de negocio

<font color="#9a0808">401</font>: El token de acceso es inválido o no fue especificado

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: La persona especificada o el token de refresh de acceso ha expirado, ha sido revocado o es inválido.

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Networks/ 

Devuelve las redes asociadas con una persona

**Token de Scope requerido**

bsn.api.self.networks.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve un array de [Entidad de red](docId:2jrEcadWf-KZJiNdv6m03) instancias de las que la persona actual es miembro

**Ejemplo**

```json
[
  {
    "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
    }
  }
]
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## POST /Self/Networks/ 

Crea una red para la persona.

**Token de Scope requerido**

bsn.api.self.networks.create

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

- La [Entidad de red](docId:2jrEcadWf-KZJiNdv6m03)

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

```text
POST /2022/06/REST/Self/Networks/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{PersonAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 581
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
  "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
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta exitosa**

<font color="#089a4d">201</font>: Devuelve el nuevo recurso creado y referenciado por el Uri (proporcionado por el campo de encabezado Location) en la respuesta. La respuesta incluye la entidad de red (consulte [Entidad de red](docId:2jrEcadWf-KZJiNdv6m03)).

**Ejemplo**

```json
{
   "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
   }
}
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud están mal formados y, por lo tanto, no son válidos, o se rechazan de acuerdo con las reglas de negocio

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que usted envió (como se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Networks/\{id}/ 

Obtiene una red asociada con un id especificado

**Scope Token requerido**

bsn.api.self.networks.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único de una red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta exitosa con cuerpo**

<font color="#089a4d">200</font>: Devuelve la [Entidad de red](docId:2jrEcadWf-KZJiNdv6m03)

**Ejemplo**

Este es un ejemplo de una respuesta de nivel 200:

```json
{
   "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"
   }
}
```

**Respuesta exitosa**

<font color="#089a4d">304</font>: El recurso no fue modificado desde la hora especificada en el encabezado “If-Modified-Since”

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## PATCH /Self/Networks/\{networkId}/ 

Aplica cambios a una red asociada con un id especificado

**Scope Token requerido**

bsn.api.self.networks.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `networkId` <font color="#704ae0">int: </font>El identificador único de una red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

Estas propiedades son entradas en un arreglo. Cada entrada debe tener las tres propiedades siguientes:

- `op` <font color="#704ae0">string</font>: El tipo de operación; en este caso siempre es "replace"
- `ruta` <font color="#704ae0">string</font>: Una ruta Uri que hace referencia a la ubicación dentro del documento de destino donde se realizará la actualización
- `valor` <font color="#704ae0">object</font> El/Los valor(es) de reemplazo para los parámetros que deben actualizarse. Esto puede ser un arreglo.

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `networkId` se establece en `12345`

```none
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
```

Este es el cuerpo de la solicitud de ejemplo:

```json
[
  {
    "op": "replace",
    "path": "/subscription/level/",
    "value": "Trial"
  }
]
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta**

<font color="#089a4d">204</font>: Los parámetros se han reemplazado correctamente

**Respuesta de error**

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud tiene un formato incorrecto y, por lo tanto, no es válido, o se rechaza de acuerdo con las reglas de negocio

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">412</font>: Condición previa fallida (el recurso cambió desde el momento especificado en el valor del encabezado “If-Unmodified-Since”)

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que usted envió (como se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Networks/\{name}/ 

Devuelve una red asociada con un nombre especificado.

**Token de alcance requerido**

bsn.api.self.networks.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `nombre` <font color="#704ae0">string: </font>El nombre de una red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `nombre` se establece en `JaneDoeTesting`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta correcta**

<font color="#089a4d">200</font>: Devuelve la [Entidad de red](docId:2jrEcadWf-KZJiNdv6m03)

**Ejemplo**

Este es un ejemplo de una respuesta de nivel 200:

```json
{
   "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"
   }
}
```

**Respuesta correcta**

<font color="#089a4d">304</font>: El recurso no se modificó desde la hora especificada en el encabezado “If-Modified-Since”

**Respuesta de error**

<font color="#9a0808">300</font>: No se pudo devolver la representación solicitada porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## PATCH /Self/Networks/\{networkName}/ 

Aplica cambios a una red asociada con un id especificado

**Token de alcance requerido**

bsn.api.self.networks.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `networkName` <font color="#704ae0">string: </font>El nombre de la red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

Estas propiedades son entradas en un array. Cada entrada debe tener estas tres propiedades:

- `op` <font color="#704ae0">string</font>: El tipo de operación; en este caso siempre es "replace"
- `ruta` <font color="#704ae0">string</font>: Una ruta Uri que hace referencia a la ubicación dentro del documento de destino donde se realizará la actualización
- `valor` <font color="#704ae0">object</font>: Los valores de reemplazo para los parámetros que deben actualizarse. Esto puede ser un array.

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `networkName` se establece en `JaneDoeTesting`

```text
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
```

Este es el cuerpo de la solicitud de ejemplo:

```json
[
  {
    "op": "replace",
    "path": "/subscription/level/",
    "value": "Trial"
  }
]
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta**

<font color="#089a4d">204</font>: Los parámetros se reemplazaron correctamente

**Respuesta de error**

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud tienen un formato incorrecto y, por lo tanto, no son válidos, o se rechazan de acuerdo con las reglas de negocio

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">412</font>: Falló la condición previa (el recurso cambió desde el momento especificado en el valor del encabezado “If-Unmodified-Since”)

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que envió (según se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Networks/\{id}/Settings/ 

Devuelve la configuración asociada con una red especificada.

**Token de ámbito requerido**

bsn.api.self.networks.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único de una red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

- `id` se establece en `12345`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta con cuerpo**

<font color="#089a4d">200</font>: Devuelve la [Entidad de configuración de red](docId\:NK0dWpoLmYYB3sPN9Rk3r)

**Ejemplo**

Este es un ejemplo de una respuesta de nivel 200:

```json
{
   "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"
}
```

**Respuesta correcta**

<font color="#089a4d">304</font>: El recurso no se modificó desde el momento especificado en el encabezado “If-Modified-Since”

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## PUT /Self/Networks/\{id}/Settings/ 

Actualiza la configuración asociada con una red especificada

**Token de Scope requerido**

bsn.api.self.networks.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único de una red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

- La [Entidad de configuración de red](docId\:NK0dWpoLmYYB3sPN9Rk3r)

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```text
PUT /2022/06/REST/Self/Networks/12345/Settings/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 335
```

Este es el cuerpo de solicitud de ejemplo:

```json
{
   "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"
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta**

<font color="#089a4d">204</font>: La configuración especificada se ha actualizado en la red

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay varias representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud tiene un formato incorrecto y, por lo tanto, no es válido, o se rechaza de acuerdo con las reglas comerciales

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que envió (según se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Networks/\{name}/Settings/ 

Obtiene la configuración asociada con una red especificada.

**Token de Scope requerido**

bsn.api.self.networks.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `nombre` <font color="#704ae0">string: </font>El nombre de la red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

- `id` se establece en `JaneDoeTesting`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve la [Entidad de configuración de red](docId\:NK0dWpoLmYYB3sPN9Rk3r)

**Ejemplo**

```json
{
   "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"
}
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y por lo tanto no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## PUT /Self/Networks/\{name}/Settings/ 

Actualiza la configuración asociada con una red especificada

**Token de Scope requerido**

bsn.api.self.networks.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `nombre` <font color="#704ae0">string: </font>El nombre de la red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

- La [Entidad de configuración de red](docId\:NK0dWpoLmYYB3sPN9Rk3r)

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

- `nombre` se establece en `JaneDoeTesting`

```text
PUT /2022/06/REST/Self/Networks/JaneDoeTesting/Settings/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 335
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
   "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"
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta**

<font color="#089a4d">204</font>: La configuración de red ha sido actualizada

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud tiene un formato incorrecto y, por lo tanto, no es válido, o se rechaza de acuerdo con las reglas de negocio

<font color="#9a0808">401</font>: El token de acceso no es válido o no fue especificado

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que usted envió (según se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Networks/\{id}/Subscription/ 

Devuelve la información de suscripción actual asociada con una red especificada.

**Token de Scope requerido**

bsn.api.self.networks.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único de una red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta con cuerpo**

<font color="#089a4d">200</font>: Devuelve la [Entidad de suscripción de red](docId:8NZ1hMWb4kY-emeF1oDsy)

**Ejemplo**

Este es un ejemplo de una respuesta de nivel 200:

```json
{
   "id": 12345,
   "level": "Content",
   "creationDate": "2020-08-17T20:49:45.633Z",
   "lastModifiedDate": "2020-08-17T20:49:45.633Z",
   "expireDate": "2030-08-16T00:00:00Z"
}
```

**Respuesta correcta**

<font color="#089a4d">304</font>: El recurso no fue modificado desde el momento especificado en el encabezado “If-Modified-Since”

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método&#x20;

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## PUT /Self/Networks/\{id}/Subscription/&#x20;

Actualiza la información de suscripción actual asociada con una red especificada. Un usuario regular solo puede usar esto para habilitar un período de prueba de Content Cloud (si no se habilitó previamente).

**Token de Scope requerido**

bsn.api.self.networks.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único de una red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

- La [Entidad de suscripción de red](docId:8NZ1hMWb4kY-emeF1oDsy)

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```text
PUT /2022/06/REST/Self/Networks/12345/Subscription/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 114
```

Este es el cuerpo de solicitud de ejemplo:

```json
{
   "id": 0,
   "level": "Trial",
   "creationDate": "0001-01-01T00:00:00",
   "lastModifiedDate": "0001-01-01T00:00:00",
   "expireDate": null
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta exitosa**

<font color="#089a4d">204</font>: La información de suscripción se actualizó

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud tienen un formato incorrecto y, por lo tanto, no son válidos, o se rechazan de acuerdo con las reglas de negocio

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método&#x20;

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">412</font>: Error de condición previa (el recurso cambió desde el momento especificado en el valor del encabezado “If-Unmodified-Since”)

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que envió (como se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Networks/\{name}/Subscription/ 

Devuelve la información de suscripción actual asociada con una red especificada.

**Alcance requerido**

bsn.api.self.networks.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `nombre` <font color="#704ae0">string: </font>El nombre de la red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `nombre` se establece en `JaneDoeTesting`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta correcta**

<font color="#089a4d">200</font>: Devuelve la [Entidad de suscripción de red](docId:8NZ1hMWb4kY-emeF1oDsy)

**Ejemplo**

```json
{
   "id": 12345,
   "level": "Trial",
   "creationDate": "2020-08-17T20:49:45.633Z",
   "lastModifiedDate": "2020-08-17T20:49:45.633Z",
   "expireDate": "2030-08-16T00:00:00Z"
}
```

**Respuesta de error**

<font color="#9a0808">300</font>: No se pudo devolver la representación solicitada porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## PUT /Self/Networks/\{name}/Subscription/ 

Actualiza la información de suscripción actual asociada con una red especificada. Un usuario regular solo puede usar esto para habilitar un período de prueba de Content Cloud (si no se habilitó previamente).

**Token de alcance requerido**

bsn.api.self.networks.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `nombre` <font color="#704ae0">string: </font>El nombre de la red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

- La [Entidad de suscripción de red](docId:8NZ1hMWb4kY-emeF1oDsy)

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `nombre` se establece en `JaneDoeTesting`

```text
PUT /2022/06/REST/Self/Networks/JaneDoeTesting/Subscription/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 114
```

Este es el cuerpo de solicitud de ejemplo:

```json
{
   "id": 0,
   "level": "Trial",
   "creationDate": "0001-01-01T00:00:00",
   "lastModifiedDate": "0001-01-01T00:00:00",
   "expireDate": null
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta**

<font color="#089a4d">204</font>: Se actualizó la información de suscripción asociada con la red

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud tienen un formato incorrecto y, por lo tanto, no son válidos, o se rechazan de acuerdo con las reglas comerciales

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que usted envió (como se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Networks/\{id}/Subscriptions/ 

Devuelve la suscripción actual y todas las suscripciones expiradas anteriormente asociadas con una red especificada

**Token de Scope requerido**

bsn.api.self.networks.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador de red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

- `id` se establece en `12345`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta correcta**

<font color="#089a4d">200</font>: Devuelve una matriz de entidades [Suscripción de red](docId:8NZ1hMWb4kY-emeF1oDsy) 

**Ejemplo**

```json
[
      {
      "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"
   }
]
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Networks/\{name}/Subscriptions/ 

Devuelve la suscripción actual y todas las suscripciones previamente vencidas asociadas con una red especificada

**Token de alcance requerido**

bsn.api.self.networks.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `nombre` <font color="#704ae0">string: </font>El nombre de la red

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

- `nombre` se establece en `JaneDoeTesting`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve un arreglo de entidades de [Suscripción de red](docId:8NZ1hMWb4kY-emeF1oDsy) 

**Ejemplo**

```json
[
      {
      "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"
   }
]
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Users/ 

Devuelve todas las entidades de usuario con las que el cliente está asociado en todas las redes donde la persona tiene un registro de usuario

**Token de alcance requerido**

bsn.api.self.users.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta correcta**

<font color="#089a4d">200</font>: Devuelve una matriz de entidades de usuario (consulte [Entidad de usuario](docId\:LnIBIK7fZ9mxKIkMsurE1)) si el usuario es miembro de varias redes, o una sola [Entidad de usuario](docId\:LnIBIK7fZ9mxKIkMsurE1) si el usuario es miembro de una sola red, o nada si el usuario no es miembro de ninguna red.

**Ejemplo**

```json
[
      {
      "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"
         }
      ]
   }
]
```

**Respuesta de error**

<font color="#9a0808">300</font>: No se pudo devolver la representación solicitada porque es ambigua (hay varias representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET  /Self/Users/\{id}/ 

Devuelve información sobre su membresía en una red

**Token de alcance requerido**

bsn.api.self.users.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único de un usuario

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta con cuerpo**

<font color="#089a4d">200</font>: Devuelve la [Entidad de usuario](docId\:LnIBIK7fZ9mxKIkMsurE1)

**Ejemplo**

Este es un ejemplo de una respuesta de nivel 200:

```json
{
  "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"
    }
  ]
}
```

**Respuesta correcta**

<font color="#089a4d">304</font>: El recurso no se modificó desde la hora especificada en el encabezado “If-Modified-Since”

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Users/\{id}/Role/ 

Devuelve información sobre el rol que usted tiene en una red

**Token de Scope requerido**

bsn.api.self.roles.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único de un usuario

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

- `id` se establece en `12345`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta con cuerpo**

<font color="#089a4d">200</font>: Esto devuelve la [Entidad de usuario](docId\:LnIBIK7fZ9mxKIkMsurE1)

**Ejemplo**

Este es un ejemplo de una respuesta de nivel 200:

```json
{
   "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"
      }
   ]
}
```

**Respuesta correcta**

<font color="#089a4d">204</font>: Sin contenido (el usuario no está asignado a un rol)

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está malformada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no brinda acceso a este método&#x20;

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Users/\{id}/Profile/&#x20;

Devuelve la configuración del perfil del usuario

**Token de alcance requerido**

bsn.api.self.users.profile.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único de un usuario

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta exitosa**

<font color="#089a4d">200</font>: El tipo de retorno es object, donde los nombres de las propiedades son claves de perfil y los valores del perfil son esos valores de propiedad

**Ejemplo**

```json
{
   "enableCustomRolesManagement": "true",
   "showAdvancedSecuritySettings": "False"
}
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está malformada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no brinda acceso a este método&#x20;

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## POST /Self/Users/\{id}/Profile/&#x20;

Crea una nueva propiedad de perfil de usuario (no reemplaza una propiedad de perfil de usuario existente)

**Token de alcance requerido**

bsn.api.self.users.profile.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único de un usuario

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

- `par` <font color="#704ae0">&lt;string, string&gt;: </font>Un par clave-valor. No debe haber más de 100 propiedades por usuario, y cada valor de propiedad no debe superar los 64KB. 

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```text
POST /2022/06/REST/Self/Users/12345/Profile/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 45
```

Este es el cuerpo de solicitud de ejemplo:

```json
{
	"key": "New Key 1",
	"value": "My Value"
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta satisfactoria**

<font color="#089a4d">201</font>: Devuelve el par clave-valor y un enlace al método GET para recuperarlo. 

**Ejemplo**

```json
{
   "key": "New Key 1",
   "value": "My Value"
}
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud están mal formados y, por lo tanto, no son válidos, o se rechazan de acuerdo con las reglas de negocio

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">409</font>: La propiedad de perfil con la clave especificada ya existe o está reservada

<font color="#9a0808">413</font>: El tamaño del valor de la propiedad de perfil especificada supera el límite de 64KB

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que usted envió (según se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Users/\{id}/Profile/\{key}/ 

Devuelve el valor de una propiedad del perfil de usuario

**Token de Scope requerido**

bsn.api.self.users.profile.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único de un usuario
- `clave` <font color="#704ae0">string: </font>El nombre de la propiedad del perfil

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`
- `clave` se establece en `Nueva clave 1`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta con cuerpo**

<font color="#089a4d">200</font>: Devuelve el valor de la clave de perfil de usuario solicitada 

**Ejemplo**

Este es un ejemplo de una respuesta con estado 200:

```json
"My Value"
```

**Respuesta correcta**

<font color="#089a4d">304</font>: El recurso no se modificó desde la hora especificada en el encabezado “If-Modified-Since”

**Respuesta de error**

<font color="#9a0808">300</font>: No se pudo devolver la representación solicitada porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está malformada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## PUT /Self/Users/\{id}/Profile/\{key}/ 

Crea o actualiza el valor de una propiedad del perfil de usuario

**Token de Scope requerido**

bsn.api.self.users.profile.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmentos**

- `id` <font color="#704ae0">int: </font>El identificador único de un usuario
- `clave` <font color="#704ae0">string: </font>El nombre de la propiedad del perfil

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

- <font color="#704ae0">string: </font>El valor de la propiedad del perfil que se va a actualizar

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

- `id` se establece en `12345`
- `clave` se establece en `userStartupPage`
- `cadena` se establece en `"Administrador"`

```text
PUT /2022/06/REST/Self/Users/12345/Profile/userStartupPage HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 7
```

Este es el cuerpo de solicitud de ejemplo:

```json
"Admin"
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta**

<font color="#089a4d">201</font>: Devuelve este código de estado si el valor de la propiedad se define por primera vez

<font color="#089a4d">204</font>: Devuelve este código de estado si la propiedad ya existe y ha sido actualizada

**Respuesta de error**

<font color="#9a0808">300</font>: No se pudo devolver la representación solicitada porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida, o la clave especificada de la propiedad del perfil de usuario está reservada o tiene más de 62 caracteres

<font color="#9a0808">401</font>: El token de acceso no es válido o no fue especificado

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">412</font>: Error de condición previa (el recurso cambió desde el momento especificado en el valor del encabezado “If-Unmodified-Since”)

<font color="#9a0808">413</font>: La longitud de la propiedad especificada del perfil de usuario excede el límite de 64KB

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que envió (como se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## DELETE /Self/Users/\{id}/Profile/\{key}/ 

Elimina una propiedad especificada de un perfil de usuario

**Token de Scope requerido**

bsn.api.self.users.profile.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmentos**

- `id` <font color="#704ae0">int: </font>El identificador único de un usuario
- `clave` <font color="#704ae0">string: </font>El nombre de la propiedad del perfil

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:

- `id` se establece en `12345`
- `clave` se establece en `Nueva clave 1`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta satisfactoria**

<font color="#089a4d">204</font>: La propiedad especificada ha sido eliminada del perfil del usuario

**Respuesta de error**

<font color="#9a0808">300</font>: No se pudo devolver la representación solicitada porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud tiene un formato incorrecto y, por lo tanto, no es válido, o se rechaza de acuerdo con las reglas de negocio

<font color="#9a0808">401</font>: El token de acceso no es válido o no fue especificado

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">412</font>: Error de condición previa (el recurso cambió desde la fecha especificada en el valor del encabezado “If-Unmodified-Since”)

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Users/\{id}/Permissions/ 

Devuelve los permisos otorgados a un usuario determinado

**Token de Scope requerido**

bsn.api.self.users.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>Un identificador único para un usuario

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta correcta**

<font color="#089a4d">200</font>: Devuelve la lista paginada de entidades de [Permiso](docId\:hc70CptqCOfQdZw2spAEK) otorgadas a un usuario específico

**Ejemplo**

```json
[
  {
    "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"
  }
]
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Users/\{id}/Role/Permissions/ 

Devuelve los permisos otorgados a un usuario determinado

**Token de Scope requerido**

bsn.api.self.roles.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>Un identificador único para un usuario

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta de éxito**

<font color="#089a4d">200</font>: Devuelve el array de entidades [Permiso](docId\:hc70CptqCOfQdZw2spAEK) otorgadas a un rol específico

**Ejemplo**

```json
[
  {
    "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"
  }
]
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Users/\{id}/Notifications/ 

Devuelve la configuración de notificaciones del usuario

**Token de Scope requerido**

bsn.api.self.users.notifications.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>Un identificador único para un usuario

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```text
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
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta de éxito**

<font color="#089a4d">200</font>: Devuelve información sobre si cada configuración en [Entidad de configuración de notificaciones del usuario](docId:7MsTA2kEutBL_NNORMmQa) está habilitada o deshabilitada

**Ejemplo**

```json
{
   "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
}
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está malformada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método 

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## PUT /Self/Users/\{id}/Notifications/ 

Actualiza la configuración de notificaciones del usuario

**Token de Scope requerido**

bsn.api.self.users.notifications.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>Un identificador único para un usuario

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

- La [Entidad de configuración de notificaciones del usuario](docId:7MsTA2kEutBL_NNORMmQa) 

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```text
PUT /2022/06/REST/Self/Users/12345/Notifications/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 2799
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
   "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
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta**

<font color="#089a4d">204</font>: La configuración de notificaciones del usuario especificado se ha actualizado en la red

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud está mal formado y, por lo tanto, no es válido, o se rechaza de acuerdo con las reglas de negocio

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que envió (como se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor



## GET /Self/Applications/&#x20;

Devuelve páginas de aplicaciones registradas por una persona autenticada, según el filtrado especificado, en el orden de la consulta de ordenación especificada.

**Token de Scope requerido**

bsn.api.self.applications.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Parámetros de la cadena de consulta**

- `filtro` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </font>Una [expresión](docId\:cOT2DfqiG9WykoYa94HEX) para filtrar resultados de búsqueda. El valor predeterminado es null.
- `ordenar` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </font>Una expresión para ordenar los resultados de búsqueda. El valor predeterminado es null. La expresión de ordenación especifica la entrada utilizada para ordenar y el orden de clasificación ascendente/descendente (ASC/DESC) (p. ej., "\[Application].\[Name] ASC").&#x20;
- `marcador` <font color="#704ae0">string</font> <font color="#01a0af">optional: </font>Un valor que especifica qué página recuperar. Este valor es útil si la entrada isTruncated en el cuerpo de respuesta de la llamada GET anterior indica que el número de instancias de aplicación excede el pageSize. Este parámetro solo es necesario si necesita más elementos en la lista paginada que el pageSize (100).
- `pageSize` <font color="#704ae0">int</font> <font color="#01a0af">optional: </font>El número máximo de instancias de aplicación que pueden incluirse en el cuerpo de respuesta. Esto utiliza de forma predeterminada el tamaño máximo de página permitido (100).

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo están configurados de la siguiente manera:

- `marcador` value is set to the `[PagedList].[NextMarker]` property value from the previous BSN.cloud API response.
- `pageSize` está configurado en `1`
- `filtro` está configurado en `[ClientId] ES '3fde8d97-2e40-4b0b-a76f-445804824799'`
- `ordenar` está configurado en `[LastModifiedDate] ASC`

```none
GET https://api.bsn.cloud/2022/06/REST/Self/Applications/?filter=%5BClientId%5D%20IS%20%273fde8d97-2e40-4b0b-a76f-445804824799%27&sort=%5BLastModifiedDate%5D%20ASC&pageSize=1 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/problem+json
Accept-Encoding: gzip,br
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta con cuerpo**

<font color="#089a4d">200</font>: Devuelve una lista paginada de [Entidad de aplicación](docId\:HalHc-tCw1z77IrDSwTfM)&#x20;

**Ejemplo**

Este es un ejemplo de una respuesta de nivel 200:

```json
{
  "items": [
    {
      "id": 12345,
      "owner": {
        "id": 54321,
        "login": "JaneDoe@brightsign.biz"
      },
      "clientId": "3fde8d97-2e40-4b0b-a76f-445804824799",
      "clientSecret": null,
      "scope": "self.info main.content upload",
      "name": "My Application",
      "description": "Sample Application",
      "creationDate": "2025-02-10T22:32:59.830Z",
      "lastModifiedDate": "2025-02-10T22:32:59.830Z"
    }
  ],
  "totalItemCount": 3,
  "matchingItemCount": 1,
  "pageSize": 1,
  "prevMarker": "MjAyNS0wMi0xMFQyMjozMjo1OS44MzBaLDM5LHByZXY=",
  "nextMarker": "MjAyNS0wMi0xMFQyMjozMjo1OS44MzBaLDM5LG5leHQ=",
  "isTruncated": false,
  "sortExpression": "[LastModifiedDate] ASC",
  "filterExpression": "[ClientId] IS '3fde8d97-2e40-4b0b-a76f-445804824799'"
}
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está mal formada y por lo tanto no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método&#x20;

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Applications/Scopes/

Recupera la lista de tokens de alcance disponibles que pueden otorgarse a una aplicación nueva o existente.

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo están configurados de la siguiente manera:

```none
GET /2022/06/REST/Self/Applications/Scopes/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/problem+json
Accept-Encoding: gzip,br
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve la lista de tokens de alcance OAuth2 disponibles

**Ejemplo**

```json
[
  "self.applications",
  "self.applications.create",
  "self.applications.delete",
  "self.applications.retrieve",
  "self.applications.update",
  "self.info",
  "self.info.retrieve",
  "self.info.update",
  "self.networks",
  "self.networks.create",
  "self.networks.retrieve",
  "self.networks.update",
  "self.profile",
  "self.profile.retrieve",
  "self.profile.update",
  "self.roles",
  "self.roles.retrieve",
  "self.token",
  "self.token.revoke",
  "self.token.validate",
  "self.users",
  "self.users.notifications.retrieve",
  "self.users.notifications.update",
  "self.users.profile.retrieve",
  "self.users.profile.update",
  "self.users.retrieve"
]
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo ser devuelta porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no fue especificado

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método&#x20;

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## POST /Self/Applications/

Registra una nueva aplicación para obtener credenciales de cliente OAuth2

**Token de alcance requerido**

bsn.api.self.applications.create

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

- La  [Entidad de aplicación](docId\:HalHc-tCw1z77IrDSwTfM)&#x20;

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo están configurados de la siguiente manera:

```none
POST /2022/06/REST/Self/Applications/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Content-Type: application/json
Content-Length: 269
Accept: application/json, application/problem+json
Accept-Encoding: gzip,br
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
  "id": 0,
  "name": "My Application",
  "description": "Sample Application",
  "owner": null,
  "scope": "self.info main.content upload",
  "clientId": "",
  "clientSecret": null,
  "creationDate": "0001-01-01T00:00:00",
  "lastModifiedDate": "0001-01-01T00:00:00"
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta exitosa**

<font color="#089a4d">201</font>: Devuelve la [Entidad de aplicación](docId\:HalHc-tCw1z77IrDSwTfM)&#x20;

:::ExpandableHeading
Ejemplo

```json
{
  "id": 12345,
  "owner": {
    "id": 54321,
    "login": "JaneDoe@brightsign.biz"
  },
  "clientId": "3fde8d97-2e40-4b0b-a76f-445804824799",
  "clientSecret": "EChCVGTKzOEx3pTKbgXq2UpMKMCQvXL7",
  "scope": "self.info main.content upload",
  "name": "My Application",
  "description": "Sample Application",
  "creationDate": "2025-02-10T22:32:59.828Z",
  "lastModifiedDate": "2025-02-10T22:32:59.828Z"
}
```
:::

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo ser devuelta porque es ambigua (hay múltiples representaciones solicitadas).

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud están mal formados y, por lo tanto, no son válidos, o se rechazan de acuerdo con las reglas de negocio.

<font color="#9a0808">401</font>: El token de acceso es inválido o no se especificó.

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método.

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept").

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que envió (según se especifica en el encabezado "Content-Type").

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor.

## DELETE /Self/Applications/

Anula el registro de las instancias "Application" existentes sin usar que están registradas por una “Person” autenticada y cumplen los criterios de filtro especificados, y revoca las Credenciales de Cliente OAuth2 relacionadas.&#x20;

**Token de alcance requerido**

bsn.api.self.applications.delete

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Parámetros de Query String**

- `filtro` <font color="#704ae0">string</font> <font color="#01a0af">requerido: </font>Una [expresión](docId\:cOT2DfqiG9WykoYa94HEX) para filtrar resultados de búsqueda. El valor predeterminado es null.

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:``

- `filtro` se establece en `[CreationDate] ES ANTERIOR A '2025-01-01'`

```none
DELETE /2022/06/REST/Self/Applications/?filter=%5BCreationDate%5D%20IS%20BEFORE%20%272025-01-01%27 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/problem+json
Accept-Encoding: gzip,br
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta exitosa**

<font color="#089a4d">200</font>: Se devuelve el número de entidades eliminadas.

**Error**

<font color="#9a0808">300</font>: La representación solicitada no se pudo devolver porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, es inválida

<font color="#9a0808">401</font>: El token de acceso es inválido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método&#x20;

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Applications/Count/

Devuelve el número de instancias de aplicación que están registradas para una persona autenticada y cumplen los criterios de filtro especificados.

**Token de alcance requerido**

bsn.api.main.applications.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Parámetros de Query String**

- `filtro` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </font>Una [expresión](docId\:cOT2DfqiG9WykoYa94HEX) para filtrar resultados de búsqueda. El valor predeterminado es null.

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `filtro` se establece en `[CreationDate] ES ANTERIOR A '2025-01-01'`

```none
GET /2022/06/REST/Self/Applications/Count/?filter=%5BCreationDate%5D%20IS%20BEFORE%20%272025-01-01%27 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/problem+json
Accept-Encoding: gzip,br
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta exitosa**

<font color="#089a4d">200</font>: El recuento de aplicaciones se devuelve como un valor entero.

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Self/Applications/\{id}/

Devuelve información sobre una “Application” registrada por una “Person” autenticada y que tiene el “Id” especificado.

**Token de Scope requerido**

bsn.api.self.applications.retrieve

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">string: </font>El identificador único de la aplicación

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```none
GET /2022/06/REST/Self/Applications/12345/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/problem+json
Accept-Encoding: gzip,br
If-Modified-Since: Thu, 06 Jun 2024 17:32:38 GMT
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta exitosa con cuerpo**

<font color="#089a4d">200</font>: Devuelve la [Entidad de aplicación](docId\:HalHc-tCw1z77IrDSwTfM)

Este es un ejemplo de una respuesta de nivel 200:

```json
{
  "id": 12345,
  "owner": {
    "id": 54321,
    "login": "JaneDoe@brightsign.biz"
  },
  "clientId": "3fde8d97-2e40-4b0b-a76f-445804824799",
  "clientSecret": null,
  "scope": "self.info main.content upload",
  "name": "My Application",
  "description": "Sample Application",
  "creationDate": "2025-02-10T22:32:59.828Z",
  "lastModifiedDate": "2025-02-10T22:32:59.828Z"
}
```

<font color="#089a4d">304</font>: El recurso no fue modificado desde el momento especificado en el encabezado “If-Modified-Since”

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, no es válida

<font color="#9a0808">401</font>: El token de acceso no es válido o no se ha especificado

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método&#x20;

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor



## PUT /Self/Applications/\{id}/

Edita la información sobre una aplicación que tiene un id especificado

**Token de alcance requerido**

bsn.api.main.applications.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">int: </font>Un identificador único para una aplicación

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la solicitud**

- La [Entidad de aplicación](docId\:HalHc-tCw1z77IrDSwTfM) &#x20;

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` es `12345`

```none
PUT /2022/06/REST/Self/Applications/12345/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Content-Type: application/json
Content-Length: 269
Accept: application/json, application/problem+json
Accept-Encoding: gzip,br
If-Unmodified-Since: Thu, 06 Jun 2024 17:32:38 GMT
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
  "id": 0,
  "name": "My Application",
  "description": "Sample Application",
  "owner": null,
  "scope": "self.info main.content upload",
  "clientId": "",
  "clientSecret": null,
  "creationDate": "0001-01-01T00:00:00",
  "lastModifiedDate": "0001-01-01T00:00:00"
}
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta exitosa**

<font color="#089a4d">204</font>: La aplicación especificada ha sido actualizada en la red&#x20;

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud están mal formados y, por lo tanto, no son válidos, o se rechazan de acuerdo con las reglas de negocio

<font color="#9a0808">401</font>: El token de acceso no es válido o no se ha especificado

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">412</font>: Error de condición previa (el recurso/aplicación cambió desde el momento especificado en el valor del encabezado “If-Unmodified-Since”)

<font color="#9a0808">415</font>: El servidor no puede aceptar la representación de datos que envió (como se especifica en el encabezado "Content-Type")

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## DELETE /Self/Applications/\{id}/

Cancela el registro de la instancia existente de “Application” sin usar registrada por una “Person” autenticada y que tiene el “Id” especificado, y revoca las credenciales de cliente OAuth2 relacionadas.

**Token de alcance requerido**

bsn.api.self.applications.delete

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Segmento**

- `id` <font color="#704ae0">string: </font>El identificador único de la aplicación

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```none
DELETE /2022/06/REST/Self/Applications/12345/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/problem+json
Accept-Encoding: gzip,br
If-Unmodified-Since: Thu, 06 Jun 2024 17:32:38 GMT
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Respuesta correcta**

<font color="#089a4d">204</font>: La aplicación especificada ha sido eliminada

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)

<font color="#9a0808">400</font>: La solicitud está mal formada y, por lo tanto, no es válida, o se rechaza de acuerdo con las reglas de negocio. Por ejemplo, pueden existir usuarios del servicio de la aplicación para esta aplicación y deben eliminarse antes de que pueda eliminarse.

<font color="#9a0808">401</font>: El token de acceso no es válido o no se especificó

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método&#x20;

<font color="#9a0808">404</font>: El servidor no puede encontrar el recurso solicitado (la ruta no existe).&#x20;

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")

<font color="#9a0808">412</font>: Falló la condición previa (el recurso cambió desde la hora especificada en el valor del encabezado “If-Unmodified-Since”)

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor

## POST /Self/Applications/\{id}/Secret/

Rota el secreto de cliente OAuth2 de una instancia existente de “Application” registrada por una “Person” autenticada y que tiene el “Id” especificado. Consulte [esta página](https://stackoverflow.com/questions/75571740/how-to-create-keyclock-clientsecret-via-api).

**Token de alcance requerido**

bsn.api.self.applications.update

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Ejemplo de solicitud**

Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:

- `id` se establece en `12345`

```none
POST /2022/06/REST/Self/Applications/12345/Secret/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/problem+json
Accept-Encoding: gzip,br
If-Unmodified-Since: Thu, 06 Jun 2024 17:32:38 GMT
```

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

**Cuerpo de la respuesta correcta**

<font color="#089a4d">200</font>: Invalida el secreto del cliente OAuth2 actual y emite uno nuevo para una aplicación determinada&#x20;

**Ejemplo**

```json
"jqVhz360hRnyMsu45Yx25N8TvNgwxZCB"
```

**Respuesta de error**

<font color="#9a0808">300</font>: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas).

<font color="#9a0808">400</font>: La solicitud o el cuerpo de la solicitud están mal formados y, por lo tanto, son inválidos, o se rechazan de acuerdo con las reglas de negocio.

<font color="#9a0808">401</font>: El token de acceso es inválido o no se especificó.

<font color="#9a0808">403</font>: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método.

<font color="#9a0808">404</font>: No se puede encontrar la aplicación referenciada.

<font color="#9a0808">406</font>: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept").

<font color="#9a0808">412</font>: Falló la condición previa (el recurso/grupo cambió desde el momento especificado en el valor del encabezado “If-Unmodified-Since”)

<font color="#9a0808">5XX</font>: Cualquier código 500 es un error interno del servidor.
