---
title: Puntos finales de dispositivos (2022/06)
slug: develop/es/puntos-finales-de-dispositivos-202206
docTags: 
createdAt: 2025-03-11T07:03:30.743Z
---

Este endpoint permite la administración y supervisión de reproductores en la red. 

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

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

## GET /

Recupera una lista de reproductores en la red.

**Token de Scope requerido**

bsn.api.main.devices.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.
- `ordenar` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </font>Una expresión para ordenar los resultados de búsqueda. La expresión de ordenación especifica la entrada usada para ordenar y el orden de clasificación ascendente/descendente (ASC/DESC) (p. ej., "`[Device].[Serial] ASC`"). 
- `marcador` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </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 reproductor excede el `pageSize`. Este parámetro solo es requerido si necesita más elementos en la lista paginada que el `pageSize` (100).
- `pageSize` <font color="#704ae0">int</font> <font color="#01a0af">opcional</font>El número máximo de instancias de reproductor que pueden incluirse en el cuerpo de respuesta. De forma predeterminada, este valor es el tamaño máximo de página permitido (100).

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

**Ejemplo de solicitud**

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

- `marcador` tiene como valor la propiedad `[PagedList].[NextMarker]` de la respuesta anterior de la API de BSN.Cloud.
- `pageSize` tiene como valor `1`
- `filtro` tiene como valor `[Model] IS 'HD1024'`
- `ordenar` tiene como valor `[LastModifiedDate] ASC`

```text
GET /2022/06/REST/Devices/?marker=Mj0kwMTU2&pageSize=1&filter=%5BModel%5D%20IS%20%27HD1024%27&sort=%5BLastModifiedDate%5D%20ASC 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 respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve una [lista paginada](docId:1GSmBtULb07Tf6mcfQCxP) de instancias de [Entidad de reproductor](docId\:y3xobqVNg0QwzlcWqv0z9) en una red. Esto devolverá no más de 100 entidades junto con la información necesaria para devolver cualquier otra página restante.

:::ExpandableHeading
Ejemplo

```text
{
  "items": [
    {
      "id": 12345,
      "serial": "46C89C101829",
      "model": "HD1024",
      "family": "Pagani",
      "registrationDate": "2020-07-09T19:15:22.773Z",
      "lastModifiedDate": "2021-05-04T18:04:17.97Z",
      "settings": {
        "name": "HDPlayer",
        "description": "Primary Display",
        "concatNameAndSerial": false,
        "setupType": "BSN",
        "lastModifiedDate": "2022-01-05T18:12:22.643Z",
        "group": {
          "id": 123,
          "name": "TestGroup",
          "link": null
        },
        "brightWall": null,
        "timezone": "PST",
        "screen": {
          "idleColor": "FF702896",
          "splashUrl": null
        },
        "synchronization": {
          "status": {
            "period": "00:05:00"
          },
          "settings": {
            "period": "00:00:00"
          },
          "schedule": {
            "period": "06:00:00"
          },
          "content": {
            "start": null,
            "end": null
          }
        },
        "network": {
          "hostname": "BrightSign-46C89C101829",
          "proxyServer": null,
          "proxyBypass": [],
          "timeServers": [
            "http://time.brightsignnetwork.com/"
          ],
          "interfaces": [
            {
              "name": "eth0",
              "type": "Ethernet",
              "enabled": true,
              "proto": "Static",
              "ip": [
                "192.168.0.2/24",
                "EF88:7::2FAB:7657/64"
              ],
              "gateway": "192.168.0.1",
              "dns": [
                "192.168.0.125",
                "74.38.99.135"
              ],
              "rateLimitDuringInitialDownloads": null,
              "rateLimitInsideContentDownloadWindow": null,
              "rateLimitOutsideContentDownloadWindow": null,
              "contentDownloadEnabled": true,
              "textFeedsDownloadEnabled": true,
              "mediaFeedsDownloadEnabled": true,
              "healthReportingEnabled": true,
              "logsUploadEnabled": true
            },
            {
              "name": "eth0.25",
              "type": "Virtual",
              "enabled": false,
              "parent": "eth0",
              "vlanId": 25,
              "proto": "DHCPv4",
              "ip": null,
              "gateway": null,
              "dns": null,
              "rateLimitDuringInitialDownloads": null,
              "rateLimitInsideContentDownloadWindow": null,
              "rateLimitOutsideContentDownloadWindow": null,
              "contentDownloadEnabled": false,
              "textFeedsDownloadEnabled": false,
              "mediaFeedsDownloadEnabled": false,
              "healthReportingEnabled": true,
              "logsUploadEnabled": true
            },
            {
              "name": "wlan0",
              "type": "WiFi",
              "enabled": true,
              "ssid": "hall_devices",
              "security": {
                "authentication": {
                  "mode": "Shared",
                  "passphrase": "A8200E996438DE85103486A44CA96A999B0A6D"
                },
                "encryption": {
                  "mode": "TKIP"
                }
              },
              "proto": "NDP, DHCPv6",
              "ip": null,
              "gateway": null,
              "dns": null,
              "rateLimitDuringInitialDownloads": 10240000,
              "rateLimitInsideContentDownloadWindow": 10240000,
              "rateLimitOutsideContentDownloadWindow": 256000,
              "contentDownloadEnabled": true,
              "textFeedsDownloadEnabled": true,
              "mediaFeedsDownloadEnabled": false,
              "healthReportingEnabled": true,
              "logsUploadEnabled": false
            },
            {
              "name": "ppp0",
              "type": "Cellular",
              "enabled": true,
              "modems": [
                {
                  "model": "BrightSign IK41",
                  "usbDeviceIds": [
                    "1bbb:00b6"
                  ]
                }
              ],
              "sims": [
                {
                  "mcc": "901",
                  "mnc": "28",
                  "connection": {
                    "type": "Default"
                  }
                },
                {
                  "mcc": "204",
                  "mnc": "04",
                  "connection": {
                    "type": "Default"
                  }
                }
              ],
              "rateLimitDuringInitialDownloads": null,
              "rateLimitInsideContentDownloadWindow": null,
              "rateLimitOutsideContentDownloadWindow": null,
              "contentDownloadEnabled": true,
              "textFeedsDownloadEnabled": true,
              "mediaFeedsDownloadEnabled": true,
              "healthReportingEnabled": true,
              "logsUploadEnabled": true
            },
            {
              "name": "usb0",
              "type": "Ethernet",
              "enabled": true,
              "proto": "Static",
              "ip": [
                "132.80.245.191/24"
              ],
              "gateway": null,
              "dns": [
                "132.80.245.142"
              ],
              "rateLimitDuringInitialDownloads": null,
              "rateLimitInsideContentDownloadWindow": null,
              "rateLimitOutsideContentDownloadWindow": null,
              "contentDownloadEnabled": false,
              "textFeedsDownloadEnabled": false,
              "mediaFeedsDownloadEnabled": false,
              "healthReportingEnabled": false,
              "logsUploadEnabled": false
            },
            {
              "name": "eth0.110",
              "type": "Virtual",
              "enabled": true,
              "parent": "eth0",
              "vlanId": 110,
              "proto": "Static",
              "ip": [
                "16.194.230.251/28"
              ],
              "gateway": "16.194.230.241",
              "dns": [
                "192.168.0.125",
                "74.38.99.135"
              ],
              "rateLimitDuringInitialDownloads": null,
              "rateLimitInsideContentDownloadWindow": null,
              "rateLimitOutsideContentDownloadWindow": null,
              "contentDownloadEnabled": true,
              "textFeedsDownloadEnabled": true,
              "mediaFeedsDownloadEnabled": true,
              "healthReportingEnabled": true,
              "logsUploadEnabled": true
            }
          ]
        },
        "beacons": [],
        "location": {
         "placeId": null,
         "gpsLatitude": 37.4152,
         "gpsLongitude": -122.1224,
         "country": "US",
         "countryLongName": "United States",
         "adminAreaLevel1": "CA",
         "adminAreaLevel1LongName": "California",
         "adminAreaLevel2": "Santa Clara County",
         "adminAreaLevel2LongName": "Santa Clara County",
         "locality": "Palo Alto",
         "localityLongName": "Palo Alto",
         "path": "/US/CA/Santa Clara County/Palo Alto/",
         "pathLongName": "/United States/California/Santa Clara County/Palo Alto/"
        },
        "screenshots": null,
        "logging": {
          "enableDiagnosticLog": false,
          "enableEventLog": false,
          "enablePlaybackLog": false,
          "enableStateLog": false,
          "enableVariableLog": false,
          "uploadAtBoot": false,
          "uploadTime": null
        },
        "lws": {
          "username": "",
          "password": "",
          "enableUpdateNotifications": true
        },
        "ldws": {
          "password": "RLSJZ35Sm9b1lB0npVFW4kPYegscBlMF3NFG6wtOaSTXIoC+iR5NGrhJa77ZaWTgpiCzPdDdnwMlQSb4QLqe6nEFx6q/927scO6LlVTtRBVch+RlgzlJ2SXYqAH6TUx66JRFuvCxyHzL0iUNKR/R4E1hdTQpxH3yXIPJ5OBOTlaw8OW6DZNixDGMuvhgmWAW9/TgksUYTlwb1SKqGzQOrDYmmg+A71YMGV6NcKbuN3P0DjQsMrVxlFe9+awQ73LSxqKF5Q52FjUhgSKsYcTtnoJvY/n9HWcREyxOPKF7vsEIfKOeG/qoFBvgZZKOoqaTyD82iBKbOQu9WllBGX+qaaTTQHR1SrZoyS2PDmBlddLhngE4BHiDxmOPhm69bsmiakUcUqgjvgi8sRL/9kUxLXuayeQ6VYzUnHdX7K3nYqbhgJCxVbSURe5wIS/vQ97zi4wt0NpF55FmoAQlZA1JcSk/85w8S4hfpCYlDnqQMI8jXqvNZ5apc7nKsg6NSibGhh4h1cpA7DG6d6MzjBldVKhutni3Bj991cP45RIaGlmWipbC9eKwODrsDPYMK2CDN/JEygmfiUdJJW4Cvgi4s6Z3oyqddiEV+plZtGD69NAau4OMCoHcR1STJdsVOrq++tF+R0/IkC5wDhAUBszXvlSdcKja7Gv7v4kOAZC0CmtA="
        }
      },
      "status": {
        "group": {
          "id": 123,
          "name": "TestGroup",
          "link": null
        },
        "brightWall": null,
        "presentation": {
          "id": 12345,
          "name": "Test2",
          "type": "Presentation",
          "link": null
        },
        "timezone": "PST",
        "synchronization": {
          "settings": {
            "enabled": false
          },
          "schedule": {
            "enabled": false
          },
          "content": {
            "enabled": false
          }
        },
        "script": {
          "type": "Autorun",
          "version": "10.0.100",
          "plugins": null
        },
        "firmware": {
          "version": "8.5.35"
        },
        "storage": [
          {
            "interface": "SD1",
            "system": "ExFAT",
            "access": "Read, Write",
            "stats": {
              "sizeTotal": 31905546240,
              "sizeFree": 31898959872,
              "blockSize": 32768
            }
          }
        ],
        "network": {
          "externalIp": "98.134.53.219",
          "interfaces": [
            {
              "name": "eth0",
              "type": "Ethernet",
              "proto": "Static",
              "mac": "D0:6A:85:DA:FE:71",
              "ip": [
                "192.168.0.1/24",
                "EF88:7::2FAB:7657/64",
                "FE80::C60C:27BF:74E0:2E0F/128"
              ],
              "gateway": "192.168.0.1",
              "metric": 100
            },
            {
              "name": "eth0.25",
              "type": "Virtual",
              "proto": "DHCPv4",
              "mac": "D0:6A:85:DA:FE:71",
              "ip": [
                "176.216.148.166/16",
                "FE80::1623:693:8588:65BB/128"
              ],
              "gateway": "176.216.0.1",
              "metric": 2
            },
            {
              "name": "wlan0",
              "type": "WiFi",
              "proto": "NDP, DHCPv6",
              "mac": "33:5B:FE:4A:E1:BB",
              "ip": [
                "10.10.0.2/16"
              ],
              "gateway": "10.10.0.1",
              "metric": 110
            },
            {
              "name": "ppp0",
              "type": "Cellular",
              "proto": "Static",
              "mac": "FE:98:1A:AA:B4:72",
              "ip": [
                "192.168.255.255/31"
              ],
              "gateway": "192.168.255.254",
              "metric": 120,
              "modem": {
                "imei": "35778404001349",
                "manufacturer": "Vodafone",
                "model": "IK41US_USBC4G_V2_NA",
                "revision": "IK41_00_02.00_09"
              },
              "sims": [
                {
                  "status": "OK",
                  "iccid": "8910412345678907",
                  "connection": {
                    "network": "Vodafone Libertel",
                    "signal": -53
                  }
                }
              ]
            },
            {
              "name": "usb0",
              "type": "Ethernet",
              "proto": "Static",
              "mac": "5A:64:A1:72:EE:12",
              "ip": [
                "132.80.245.191/24"
              ],
              "gateway": null,
              "metric": null
            },
            {
              "name": "eth0.110",
              "type": "Virtual",
              "proto": "Static",
              "mac": "D0:6A:85:DA:FE:71",
              "ip": [
                "16.194.230.251/28",
                "FE80::8C6F:34A9:C88:31D5/128"
              ],
              "gateway": "16.194.230.241",
              "metric": 3
            }
          ]
        },
        "uptime": "08:20:46",
        "currentSettingsTimestamp": "2021-05-04T10:45:06Z",
        "currentScheduleTimestamp": "2021-05-04T10:45:06Z",
        "health": "Error",
        "lastModifiedDate": "2022-02-15T23:53:50.16Z"
      },
      "subscription": {
        "id": 123456,
        "device": {
          "id": 12345,
          "serial": "46C89C101829"
        },
        "type": "Commercial",
        "activityPeriod": "365.00:00:00",
        "status": "Active",
        "creationDate": "2020-08-17T20:49:49.09Z",
        "lastModifiedDate": "2020-08-17T20:49:49.09Z",
        "activationDate": "2020-08-17T20:49:49.09Z",
        "suspensionDate": null,
        "expirationDate": null
      },
      "taggedGroups": [],
      "tags": {
        "string::[Content].<Anon>": "image",
        "number::[Content].<BillingRate>": "30"
      },
      "permissions": []
    }
  ],
  "totalItemCount": 3,
  "matchingItemCount": 2,
  "pageSize": 1,
  "nextMarker": "LDM3MjA2",
  "prevMarker": "LDM32b56",
  "isTruncated": false,
  "sortExpression": "[LastModifiedDate] ASC",
  "filterExpression": "[Model] IS 'HD1024'"
}
```
:::

**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

## DELETE /

Elimina jugadores, especificados mediante un filtro, de una red. Esto permite eliminar varios jugadores a la vez.

**Token de Scope requerido**

bsn.api.main.devices.delete

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

**Parámetro de cadena de consulta**

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

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

**Ejemplo de solicitud**

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

- `filtro` se establece en `[Model] IS 'HD1024'`

```text
DELETE /2022/06/REST/Devices/?filter=%5BModel%5D%20IS%20%27HD1024%27 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 respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve el número de jugadores afectados 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 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">5XX</font>: Cualquier código 500 es un error interno del servidor

## GET /Regions/\{\*locationPath}/ 

Devuelve una región que contiene todos los jugadores ubicados en la ruta especificada.

**Token de Scope requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `locationPath` <font color="#704ae0">string: </font>Las partes de la ruta de ubicación del jugador devuelta (país, provincia, ciudad, etc.) que son comunes a todos los jugadores. 

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

**Parámetro de 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

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

**Ejemplo de solicitud**

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

- `filtro` se establece en `[Model] IS 'HD1024'`
- `locationPath` se establece en `/US/`

```text
GET /2022/06/REST/Devices/Regions/US/?filter=%5BModel%5D%20IS%20%27HD1024%27 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 respuesta exitosa**

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

**Ejemplo**

```json
[
  {
    "country": "US",
    "countryLongName": "United States",
    "adminAreaLevel1": "MO",
    "adminAreaLevel1LongName": "Missouri",
    "adminAreaLevel2": "Callaway County",
    "adminAreaLevel2LongName": "Callaway County",
    "locality": "Fulton",
    "localityLongName": "Fulton",
    "minGPSLatitude": 38.8513,
    "maxGPSLatitude": 38.8513,
    "minGPSLongitude": -91.9604,
    "maxGPSLongitude": -91.9604,
    "devicesCount": 1,
    "devicesHealthStatus": [
      "Normal"
    ],
    "locationPath": "/US/MO/Callaway County/Fulton/"
  }
]
```

**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

## GET /Count/ 

Recupera el número de reproductores en la red que coinciden con los criterios de filtro especificados. Si no se incluye ningún filtro, esta llamada devuelve el número total de reproductores en la red. 

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Parámetro de 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.

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

**Ejemplo de solicitud**

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

- `filtro` se establece en `[Model] IS 'HD1024'`

```text
GET /2022/06/REST/Devices/Count/?filter=%5BModel%5D%20IS%20%27HD1024%27 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**

<font color="#089a4d">200</font>: La cantidad de reproductores 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 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">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 /\{id}/ 

Devuelve la información de un reproductor especificado

**Token de scope requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

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

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

**Ejemplo de solicitud**

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

- `id` se establece en `12345`
- El valor opcional del encabezado `If-Modified-Since` es igual al valor del encabezado `Última modificación` recuperado de la respuesta anterior de `GET /id` o `GET /serial`&#x20;

```text
GET /2022/06/REST/Devices/12345/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

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

**Respuesta correcta con cuerpo**

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

:::ExpandableHeading
Ejemplo

```json
{
  "id": 12345,
  "serial": "46C89C101839",
  "model": "HD1024",
  "family": "Pagani",
  "registrationDate": "2020-07-09T19:15:22.773Z",
  "lastModifiedDate": "2024-03-13T16:29:11.983Z",
  "settings": {
    "name": "HDPlayer",
    "description": "Primary Display",
    "concatNameAndSerial": false,
    "setupType": "BSN",
    "lastModifiedDate": "2022-01-05T18:12:22.643Z",
    "group": {
      "id": 123,
      "name": "TestGroup",
      "link": null
    },
    "brightWall": null,
    "timezone": "PST",
    "screen": {
      "idleColor": "FF702896",
      "splashUrl": null
    },
    "synchronization": {
      "status": {
        "period": "00:05:00"
      },
      "settings": {
        "period": "00:00:00"
      },
      "schedule": {
        "period": "06:00:00"
      },
      "content": {
        "start": null,
        "end": null
      }
    },
    "network": {
      "hostname": "BrightSign-46C89C101829",
      "proxyServer": null,
      "proxyBypass": [],
      "timeServers": [
        "http://time.brightsignnetwork.com/"
      ],
      "interfaces": [
        {
          "name": "eth0",
          "type": "Ethernet",
          "enabled": true,
          "proto": "Static",
          "ip": [
            "192.168.0.2/24",
            "EF88:7::2FAB:7657/64"
          ],
          "gateway": "192.168.0.1",
          "dns": [
            "192.168.0.125",
            "74.38.99.135"
          ],
          "rateLimitDuringInitialDownloads": null,
          "rateLimitInsideContentDownloadWindow": null,
          "rateLimitOutsideContentDownloadWindow": null,
          "contentDownloadEnabled": true,
          "textFeedsDownloadEnabled": true,
          "mediaFeedsDownloadEnabled": true,
          "healthReportingEnabled": true,
          "logsUploadEnabled": true
        },
        {
          "name": "eth0.25",
          "type": "Virtual",
          "enabled": false,
          "parent": "eth0",
          "vlanId": 25,
          "proto": "DHCPv4",
          "ip": null,
          "gateway": null,
          "dns": null,
          "rateLimitDuringInitialDownloads": null,
          "rateLimitInsideContentDownloadWindow": null,
          "rateLimitOutsideContentDownloadWindow": null,
          "contentDownloadEnabled": false,
          "textFeedsDownloadEnabled": false,
          "mediaFeedsDownloadEnabled": false,
          "healthReportingEnabled": true,
          "logsUploadEnabled": true
        },
        {
          "name": "wlan0",
          "type": "WiFi",
          "enabled": true,
          "ssid": "hall_devices",
          "security": {
            "authentication": {
              "mode": "Shared",
              "passphrase": "A8201E996438DE85103486A44CA96A999B0A6D"
            },
            "encryption": {
              "mode": "TKIP"
            }
          },
          "proto": "NDP, DHCPv6",
          "ip": null,
          "gateway": null,
          "dns": null,
          "rateLimitDuringInitialDownloads": 10240000,
          "rateLimitInsideContentDownloadWindow": 10240000,
          "rateLimitOutsideContentDownloadWindow": 256000,
          "contentDownloadEnabled": true,
          "textFeedsDownloadEnabled": true,
          "mediaFeedsDownloadEnabled": false,
          "healthReportingEnabled": true,
          "logsUploadEnabled": false
        },
        {
          "name": "ppp0",
          "type": "Cellular",
          "enabled": true,
          "modems": [
            {
              "model": "BrightSign IK41",
              "usbDeviceIds": [
                "1bbb:00b6"
              ]
            }
          ],
          "sims": [
            {
              "mcc": "901",
              "mnc": "28",
              "connection": {
                "type": "Default"
              }
            },
            {
              "mcc": "204",
              "mnc": "04",
              "connection": {
                "type": "Default"
              }
            }
          ],
          "rateLimitDuringInitialDownloads": null,
          "rateLimitInsideContentDownloadWindow": null,
          "rateLimitOutsideContentDownloadWindow": null,
          "contentDownloadEnabled": true,
          "textFeedsDownloadEnabled": true,
          "mediaFeedsDownloadEnabled": true,
          "healthReportingEnabled": true,
          "logsUploadEnabled": true
        },
        {
          "name": "usb0",
          "type": "Ethernet",
          "enabled": true,
          "proto": "Static",
          "ip": [
            "132.80.245.191/24"
          ],
          "gateway": null,
          "dns": [
            "132.80.245.142"
          ],
          "rateLimitDuringInitialDownloads": null,
          "rateLimitInsideContentDownloadWindow": null,
          "rateLimitOutsideContentDownloadWindow": null,
          "contentDownloadEnabled": false,
          "textFeedsDownloadEnabled": false,
          "mediaFeedsDownloadEnabled": false,
          "healthReportingEnabled": false,
          "logsUploadEnabled": false
        },
        {
          "name": "eth0.110",
          "type": "Virtual",
          "enabled": true,
          "parent": "eth0",
          "vlanId": 110,
          "proto": "Static",
          "ip": [
            "16.194.230.251/28"
          ],
          "gateway": "16.194.230.241",
          "dns": [
            "192.168.0.125",
            "74.38.99.135"
          ],
          "rateLimitDuringInitialDownloads": null,
          "rateLimitInsideContentDownloadWindow": null,
          "rateLimitOutsideContentDownloadWindow": null,
          "contentDownloadEnabled": true,
          "textFeedsDownloadEnabled": true,
          "mediaFeedsDownloadEnabled": true,
          "healthReportingEnabled": true,
          "logsUploadEnabled": true
        }
      ]
    },
    "beacons": [],
    "location": {
         "placeId": null,
         "gpsLatitude": 37.4152,
         "gpsLongitude": -122.1224,
         "country": "US",
         "countryLongName": "United States",
         "adminAreaLevel1": "CA",
         "adminAreaLevel1LongName": "California",
         "adminAreaLevel2": "Santa Clara County",
         "adminAreaLevel2LongName": "Santa Clara County",
         "locality": "Palo Alto",
         "localityLongName": "Palo Alto",
         "path": "/US/CA/Santa Clara County/Palo Alto/",
         "pathLongName": "/United States/California/Santa Clara County/Palo Alto/"
        },
    "screenshots": {
         "interval": "00:15:00",
         "countLimit": 5,
         "quality": 50,
         "orientation": "Landscape"
      },
    "logging": {
      "enableDiagnosticLog": false,
      "enableEventLog": false,
      "enablePlaybackLog": false,
      "enableStateLog": false,
      "enableVariableLog": false,
      "uploadAtBoot": false,
      "uploadTime": null
    },
    "lws": {
      "username": "",
      "password": "",
      "enableUpdateNotifications": true
    },
    "ldws": {
      "password": "RLSJZ35Sm9b1lB0npVFW4kPYegscBlMF3NFG6wtOaSTXIoC+iR5NGrhJa77ZaWTgpiCzPdDdnwMlQSb4QLqe6nEFx6q/927scO6LlVTtRBVch+RlgzlJ2SXYqAH6TUx66JRFuvCxyHzL0iUNKR/R4E1hdTQpxH3yXIPJ5OBOTlaw8OW6DZNixDGMuvhgmWAW9/TgksUYTlwb1SKqGzQOrDYmmg+A71YMGV6NcKbuN3P0DjQsMrVxlFe9+awQ73LSxqKF5Q52FjUhgSKsYcTtnoJvY/n9HWcREyxOPKF7vsEIfKOeG/qoFBvgZZKOoqaTyD82iBKbOQu9WllBGX+qaaTTQHR1SrZoyS2PDmBlddLhngE4BHiDxmOPhm69bsmiakUcUqgjvgi8sRL/9kUxLXuayeQ6VYzUnHdX7K3nYqbhgJCxVbSURe5wIS/vQ97zi4wt0NpF55FmoAQlZA1JcSk/85w8S4hfpCYlDnqQMI8jXqvNZ5apc7nKsg6NSibGhh4h1cpA7DG6d6MzjBldVKhutni3Bj991cP45RIaGlmWipbC9eKwODrsDPYMK2CDN/JEygmfiUdJJW4Cvgi4s6Z3oyqddiEV+plZtGD69NAau4OMCoHcR1STJdsVOrq++tF+R0/IkC5wDhAUBszXvlSdcKja7Gv7v4kOAZC0CmtA="
    }
  },
  "status": {
    "group": {
      "id": 123,
      "name": "TestGroup",
      "link": null
    },
    "brightWall": null,
    "presentation": {
      "id": 12345,
      "name": "Test2",
      "type": "Presentation",
      "link": null
    },
    "timezone": "PST",
    "synchronization": {
      "settings": {
        "enabled": false
      },
      "schedule": {
        "enabled": false
      },
      "content": {
        "enabled": false
      }
    },
    "script": {
      "type": "Autorun",
      "version": "10.0.100",
      "plugins": null
    },
    "firmware": {
      "version": "8.5.35"
    },
    "storage": [
      {
        "interface": "SD1",
        "system": "ExFAT",
        "access": "Read, Write",
        "stats": {
          "sizeTotal": 31905546240,
          "sizeFree": 31898959872,
          "blockSize": 32768
        }
      }
    ],
    "network": {
      "externalIp": "98.134.53.219",
      "interfaces": [
        {
          "name": "eth0",
          "type": "Ethernet",
          "proto": "Static",
          "mac": "D0:6A:85:DA:FE:71",
          "ip": [
            "192.168.0.1/24",
            "EF88:7::2FAB:7657/64",
            "FE80::C60C:27BF:74E0:2E0F/128"
          ],
          "gateway": "192.168.0.1",
          "metric": 100
        },
        {
          "name": "eth0.25",
          "type": "Virtual",
          "proto": "DHCPv4",
          "mac": "D0:6A:85:DA:FE:71",
          "ip": [
            "176.216.148.166/16",
            "FE80::1623:693:8588:65BB/128"
          ],
          "gateway": "176.216.0.1",
          "metric": 2
        },
        {
          "name": "wlan0",
          "type": "WiFi",
          "proto": "NDP, DHCPv6",
          "mac": "33:5B:FE:4A:E1:BB",
          "ip": [
            "10.10.0.2/16"
          ],
          "gateway": "10.10.0.1",
          "metric": 110
        },
        {
          "name": "ppp0",
          "type": "Cellular",
          "proto": "Static",
          "mac": "FE:98:1A:AA:B4:72",
          "ip": [
            "192.168.255.255/31"
          ],
          "gateway": "192.168.255.254",
          "metric": 120,
          "modem": {
            "imei": "35778404001349",
            "manufacturer": "Vodafone",
            "model": "IK41US_USBC4G_V2_NA",
            "revision": "IK41_00_02.00_09"
          },
          "sims": [
            {
              "status": "OK",
              "iccid": "8910412345678907",
              "connection": {
                "network": "Vodafone Libertel",
                "signal": -53
              }
            }
          ]
        },
        {
          "name": "usb0",
          "type": "Ethernet",
          "proto": "Static",
          "mac": "5A:64:A1:72:EE:12",
          "ip": [
            "132.80.245.191/24"
          ],
          "gateway": null,
          "metric": null
        },
        {
          "name": "eth0.110",
          "type": "Virtual",
          "proto": "Static",
          "mac": "D0:6A:85:DA:FE:71",
          "ip": [
            "16.194.230.251/28",
            "FE80::8C6F:34A9:C88:31D5/128"
          ],
          "gateway": "16.194.230.241",
          "metric": 3
        }
      ]
    },
    "uptime": "08:20:46",
    "currentSettingsTimestamp": "2021-05-04T10:45:06Z",
    "currentScheduleTimestamp": "2021-05-04T10:45:06Z",
    "health": "Error",
    "lastModifiedDate": "2022-02-15T23:53:50.16Z"
  },
  "subscription": {
    "id": 123456,
    "device": {
      "id": 12345,
      "serial": "46C89C101839"
    },
    "type": "Commercial",
    "activityPeriod": "365.00:00:00",
    "status": "Active",
    "creationDate": "2020-08-17T20:49:49.09Z",
    "lastModifiedDate": "2020-08-17T20:49:49.09Z",
    "activationDate": "2020-08-17T20:49:49.09Z",
    "suspensionDate": null,
    "expirationDate": null
  },
  "taggedGroups": [],
  "tags": {
    "string::[Content].<Anon>": "image",
    "number::[Content].<BillingRate>": "30"
  },
  "permissions": []
}
```
:::

**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>: 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 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ó (como se especifica en el encabezado "Accept")

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

## PUT /\{id}/ 

Actualiza el reproductor especificado. Se aplica solo a la configuración del reproductor.

**Token de alcance requerido**

bsn.api.main.devices.update

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

**Segmento**

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

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

**Cuerpo de la solicitud**

- La [Entidad del reproductor](docId\:y3xobqVNg0QwzlcWqv0z9)

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

**Ejemplo de solicitud**

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

- `id` se establece en `12345`
- El valor opcional del encabezado `If-Unmodified-Since` es igual al valor del encabezado `Última modificación` recuperado de la respuesta de `GET /id` o `GET /serial`.

```text
PUT /2022/06/REST/Devices/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
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Content-Type: application/json
Content-Length: 5947
```

:::ExpandableHeading
Ejemplo

```json
{
   "id": 0,
   "serial": "46D89C107131",
   "model": "HD1024",
   "family": "Pagani",
   "registrationDate": "0001-01-01T00:00:00",
   "lastModifiedDate": "0001-01-01T00:00:00",
   "settings":    {
      "name": "OutsidePlayer",
      "description": "Outside of Building A",
      "concatNameAndSerial": false,
      "setupType": "BSN",
      "lastModifiedDate": "2022-01-05T18:12:22.643Z",
      "group":       {
         "id": 123,
         "name": "TestGroup",
         "link": null
      },
      "brightWall": null,
      "timezone": "PST",
      "screen":       {
         "idleColor": "FF702896",
         "splashUrl": null
      },
      "synchronization":       {
         "status": {"period": "00:05:00"},
         "settings": {"period": "00:00:00"},
         "schedule": {"period": "06:00:00"},
         "content":          {
            "start": null,
            "end": null
         }
      },
      "network":       {
         "hostname": "BrightSign-46D89C107131",
         "proxyServer": null,
         "proxyBypass": [],
         "timeServers": ["http://time.brightsignnetwork.com/"],
         "interfaces":          [
                        {
               "enabled": true,
               "proto": "DHCP",
               "ip": null,
               "gateway": null,
               "dns": null,
               "rateLimitDuringInitialDownloads": 0,
               "rateLimitInsideContentDownloadWindow": 0,
               "rateLimitOutsideContentDownloadWindow": null,
               "contentDownloadEnabled": true,
               "textFeedsDownloadEnabled": true,
               "mediaFeedsDownloadEnabled": true,
               "healthReportingEnabled": true,
               "logsUploadEnabled": true,
               "name": "eth0",
               "type": "Ethernet"
            },
                        {
               "enabled": false,
               "ssid": "",
               "security":                {
                  "authentication":                   {
                     "mode": "Shared",
                     "passphrase": ""
                  },
                  "encryption": {"mode": "TKIP, CCMP"}
               },
               "proto": "DHCP",
               "ip": null,
               "gateway": null,
               "dns": null,
               "rateLimitDuringInitialDownloads": 0,
               "rateLimitInsideContentDownloadWindow": 0,
               "rateLimitOutsideContentDownloadWindow": 0,
               "contentDownloadEnabled": false,
               "textFeedsDownloadEnabled": false,
               "mediaFeedsDownloadEnabled": false,
               "healthReportingEnabled": false,
               "logsUploadEnabled": false,
               "name": "wlan0",
               "type": "WiFi"
            }
         ]
      },
      "beacons": [],
      "location": null,
      "screenshots": null,
      "logging":       {
         "enableDiagnosticLog": false,
         "enableEventLog": false,
         "enablePlaybackLog": false,
         "enableStateLog": false,
         "enableVariableLog": false,
         "uploadAtBoot": false,
         "uploadTime": null
      },
      "lws":       {
         "username": "",
         "password": "",
         "enableUpdateNotifications": true
      },
      "ldws": {"password": "RLSJPQSm9z15lB8nwVFWjkPYegscBlMF3NFG6wt3aSTXIoC+iR5NGrhJa77ZaWTgpiCzPdDdnwMlQSb4QLqe6nEFx6q/927scO6LlVTtRBVch+RlgzlJ2SXYqAH6TUx66JRFuvCxyHzL0iUNKR/R4E1hdTQpxH3yXIPJ5OBOTlaw8OW6DZNixDGMuvhgmWAW9/TgksUYTlwb1SKqGzQOrDYmmg+A71YMGV6NcKbuN3P0DjQsMrVxlFe9+awQ73LSxqKF5Q52FjUhgSKsYcTtnoJvY/n9HWcREyxOPKF7vsEIfKOeG/qoFBvgZZKOoqaTyD82iBKbOQu9WllBGX+qaaTTQHR1SrZoyS2PDmBlddLhngE4BHiDxmOPhm69bsmiakUcUqgjvgi8sRL/9kUxLXuayeQ6VYzUnHdX7K3nYqbhgJCxVbSURe5wIS/vQ97zi4wt0NpF55FmoAQlZA1JcSk/85w8S4hfpCYlDnqQMI8jXqvNZ5apc7nKsg6NSibGhh4h1cpA7DG6d6MzjBldVKhutni3Bj991cP45RIaGlmWipbC9eKwODrsDPYMK2CDN/JEygmfiUdJJW4Cvgi4s6Z3oyqddiEV+plZtGD69NAau4OMCoHcR1STJdsVOrq++tF+R0/IkC5wDhAUBszXvlSdcKja7Gv7v4kOAZC0CmtA="}
   },
   "status": null,
   "subscription": null,
   "taggedGroups": [],
   "tags": {},
   "permissions": []
}
```
:::

**Respuesta correcta**

<font color="#089a4d">204</font>: El reproductor especificado se actualizó correctamente

**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 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ó (como 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">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

## PATCH /\{id}/ 

Reemplaza ciertos parámetros en el reproductor especificado. Se aplica solo a la configuración del reproductor. Consulte [rfc6902](https://datatracker.ietf.org/doc/html/rfc6902).

**Token de alcance requerido**

bsn.api.main.devices.update

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

**Segmento**

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

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

**Cuerpo de la solicitud**

Estas propiedades son entradas en un arreglo. 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

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

**Ejemplo de solicitud**

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

- `id` es `12345`
- El valor opcional del encabezado `If-Unmodified-Since` es igual al valor del encabezado `Última modificación` recuperado de la respuesta de `GET /id` o `GET /serial`.

```text
PATCH /2022/06/REST/Devices/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
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Content-Type: application/json-patch+json
Content-Length: 94
```

Este es el cuerpo de la solicitud de ejemplo:

```json
[
  {
    "op": "replace",
    "path": "/settings/description/",
    "value": "Main Screen Player"
  }
]
```

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

**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 está mal formado y, por lo tanto, no es válido, o es rechazado de acuerdo con las reglas de negocio

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

## DELETE /\{id}/ 

Elimine el reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.delete

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

**Segmento**

- `id` <font color="#704ae0">int: </font>Un identificador único para el reproductor que se eliminará

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

**Ejemplo de solicitud**

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

- `id` se establece en `12345`
- El valor opcional del encabezado `If-Unmodified-Since` es igual al valor del encabezado `Última modificación` recuperado de la respuesta `GET /id` o `GET /serial` .

```text
DELETE /2022/06/REST/Devices/12345/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}}
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

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

**Respuesta correcta**

<font color="#089a4d">204</font>: El reproductor se eliminó correctamente

**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 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">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 /\{serial}/ 

Devuelve la información del reproductor especificado

**Scope requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor

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

**Ejemplo de solicitud**

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

- `serie` se establece en `46D89C101139`
- El valor opcional del encabezado `If-Modified-Since` es igual al valor del encabezado `Última modificación` recuperado de la respuesta anterior `GET /id` o `GET /serial`&#x20;

```text
GET /2022/06/REST/Devices/46D89C101139/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Wed, 13 Mar 2024 15:51:01 GMT
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 reproductor](docId\:y3xobqVNg0QwzlcWqv0z9)

:::ExpandableHeading
Ejemplo

```json
{
  "id": 12345,
  "serial": "46D89C101139",
  "model": "HD1024",
  "family": "Pagani",
  "registrationDate": "2020-07-09T19:15:22.773Z",
  "lastModifiedDate": "2024-03-13T16:29:11.983Z",
  "settings": {
    "name": "HDPlayer",
    "description": "Primary Display",
    "concatNameAndSerial": false,
    "setupType": "BSN",
    "lastModifiedDate": "2022-01-05T18:12:22.643Z",
    "group": {
      "id": 123,
      "name": "TestGroup",
      "link": null
    },
    "brightWall": null,
    "timezone": "PST",
    "screen": {
      "idleColor": "FF702896",
      "splashUrl": null
    },
    "synchronization": {
      "status": {
        "period": "00:05:00"
      },
      "settings": {
        "period": "00:00:00"
      },
      "schedule": {
        "period": "06:00:00"
      },
      "content": {
        "start": null,
        "end": null
      }
    },
    "network": {
      "hostname": "BrightSign-46D89C101139",
      "proxyServer": null,
      "proxyBypass": [],
      "timeServers": [
        "http://time.brightsignnetwork.com/"
      ],
      "interfaces": [
        {
          "name": "eth0",
          "type": "Ethernet",
          "enabled": true,
          "proto": "Static",
          "ip": [
            "192.168.0.2/24",
            "EF88:7::2FAB:7657/64"
          ],
          "gateway": "192.168.0.1",
          "dns": [
            "192.168.0.125",
            "74.38.99.135"
          ],
          "rateLimitDuringInitialDownloads": null,
          "rateLimitInsideContentDownloadWindow": null,
          "rateLimitOutsideContentDownloadWindow": null,
          "contentDownloadEnabled": true,
          "textFeedsDownloadEnabled": true,
          "mediaFeedsDownloadEnabled": true,
          "healthReportingEnabled": true,
          "logsUploadEnabled": true
        },
        {
          "name": "eth0.25",
          "type": "Virtual",
          "enabled": false,
          "parent": "eth0",
          "vlanId": 25,
          "proto": "DHCPv4",
          "ip": null,
          "gateway": null,
          "dns": null,
          "rateLimitDuringInitialDownloads": null,
          "rateLimitInsideContentDownloadWindow": null,
          "rateLimitOutsideContentDownloadWindow": null,
          "contentDownloadEnabled": false,
          "textFeedsDownloadEnabled": false,
          "mediaFeedsDownloadEnabled": false,
          "healthReportingEnabled": true,
          "logsUploadEnabled": true
        },
        {
          "name": "wlan0",
          "type": "WiFi",
          "enabled": true,
          "ssid": "hall_devices",
          "security": {
            "authentication": {
              "mode": "Shared",
              "passphrase": "A8201E996438DE85103486A44CA96A999B0A6D"
            },
            "encryption": {
              "mode": "TKIP"
            }
          },
          "proto": "NDP, DHCPv6",
          "ip": null,
          "gateway": null,
          "dns": null,
          "rateLimitDuringInitialDownloads": 10240000,
          "rateLimitInsideContentDownloadWindow": 10240000,
          "rateLimitOutsideContentDownloadWindow": 256000,
          "contentDownloadEnabled": true,
          "textFeedsDownloadEnabled": true,
          "mediaFeedsDownloadEnabled": false,
          "healthReportingEnabled": true,
          "logsUploadEnabled": false
        },
        {
          "name": "ppp0",
          "type": "Cellular",
          "enabled": true,
          "modems": [
            {
              "model": "BrightSign IK41",
              "usbDeviceIds": [
                "1bbb:00b6"
              ]
            }
          ],
          "sims": [
            {
              "mcc": "901",
              "mnc": "28",
              "connection": {
                "type": "Default"
              }
            },
            {
              "mcc": "204",
              "mnc": "04",
              "connection": {
                "type": "Default"
              }
            }
          ],
          "rateLimitDuringInitialDownloads": null,
          "rateLimitInsideContentDownloadWindow": null,
          "rateLimitOutsideContentDownloadWindow": null,
          "contentDownloadEnabled": true,
          "textFeedsDownloadEnabled": true,
          "mediaFeedsDownloadEnabled": true,
          "healthReportingEnabled": true,
          "logsUploadEnabled": true
        },
        {
          "name": "usb0",
          "type": "Ethernet",
          "enabled": true,
          "proto": "Static",
          "ip": [
            "132.80.245.191/24"
          ],
          "gateway": null,
          "dns": [
            "132.80.245.142"
          ],
          "rateLimitDuringInitialDownloads": null,
          "rateLimitInsideContentDownloadWindow": null,
          "rateLimitOutsideContentDownloadWindow": null,
          "contentDownloadEnabled": false,
          "textFeedsDownloadEnabled": false,
          "mediaFeedsDownloadEnabled": false,
          "healthReportingEnabled": false,
          "logsUploadEnabled": false
        },
        {
          "name": "eth0.110",
          "type": "Virtual",
          "enabled": true,
          "parent": "eth0",
          "vlanId": 110,
          "proto": "Static",
          "ip": [
            "16.194.230.251/28"
          ],
          "gateway": "16.194.230.241",
          "dns": [
            "192.168.0.125",
            "74.38.99.135"
          ],
          "rateLimitDuringInitialDownloads": null,
          "rateLimitInsideContentDownloadWindow": null,
          "rateLimitOutsideContentDownloadWindow": null,
          "contentDownloadEnabled": true,
          "textFeedsDownloadEnabled": true,
          "mediaFeedsDownloadEnabled": true,
          "healthReportingEnabled": true,
          "logsUploadEnabled": true
        }
      ]
    },
    "beacons": [],
    "location": {
         "placeId": null,
         "gpsLatitude": 37.4152,
         "gpsLongitude": -122.1224,
         "country": "US",
         "countryLongName": "United States",
         "adminAreaLevel1": "CA",
         "adminAreaLevel1LongName": "California",
         "adminAreaLevel2": "Santa Clara County",
         "adminAreaLevel2LongName": "Santa Clara County",
         "locality": "Palo Alto",
         "localityLongName": "Palo Alto",
         "path": "/US/CA/Santa Clara County/Palo Alto/",
         "pathLongName": "/United States/California/Santa Clara County/Palo Alto/"
        },
    "screenshots": {
         "interval": "00:15:00",
         "countLimit": 5,
         "quality": 50,
         "orientation": "Landscape"
      },
    "logging": {
      "enableDiagnosticLog": false,
      "enableEventLog": false,
      "enablePlaybackLog": false,
      "enableStateLog": false,
      "enableVariableLog": false,
      "uploadAtBoot": false,
      "uploadTime": null
    },
    "lws": {
      "username": "",
      "password": "",
      "enableUpdateNotifications": true
    },
    "ldws": {
      "password": "RLSJZ35Sm9b1lB0npVFW4kPYegscBlMF3NFG6wtOaSTXIoC+iR5NGrhJa77ZaWTgpiCzPdDdnwMlQSb4QLqe6nEFx6q/927scO6LlVTtRBVch+RlgzlJ2SXYqAH6TUx66JRFuvCxyHzL0iUNKR/R4E1hdTQpxH3yXIPJ5OBOTlaw8OW6DZNixDGMuvhgmWAW9/TgksUYTlwb1SKqGzQOrDYmmg+A71YMGV6NcKbuN3P0DjQsMrVxlFe9+awQ73LSxqKF5Q52FjUhgSKsYcTtnoJvY/n9HWcREyxOPKF7vsEIfKOeG/qoFBvgZZKOoqaTyD82iBKbOQu9WllBGX+qaaTTQHR1SrZoyS2PDmBlddLhngE4BHiDxmOPhm69bsmiakUcUqgjvgi8sRL/9kUxLXuayeQ6VYzUnHdX7K3nYqbhgJCxVbSURe5wIS/vQ97zi4wt0NpF55FmoAQlZA1JcSk/85w8S4hfpCYlDnqQMI8jXqvNZ5apc7nKsg6NSibGhh4h1cpA7DG6d6MzjBldVKhutni3Bj991cP45RIaGlmWipbC9eKwODrsDPYMK2CDN/JEygmfiUdJJW4Cvgi4s6Z3oyqddiEV+plZtGD69NAau4OMCoHcR1STJdsVOrq++tF+R0/IkC5wDhAUBszXvlSdcKja7Gv7v4kOAZC0CmtA="
    }
  },
  "status": {
    "group": {
      "id": 123,
      "name": "TestGroup",
      "link": null
    },
    "brightWall": null,
    "presentation": {
      "id": 12345,
      "name": "Test2",
      "type": "Presentation",
      "link": null
    },
    "timezone": "PST",
    "synchronization": {
      "settings": {
        "enabled": false
      },
      "schedule": {
        "enabled": false
      },
      "content": {
        "enabled": false
      }
    },
    "script": {
      "type": "Autorun",
      "version": "10.0.100",
      "plugins": null
    },
    "firmware": {
      "version": "8.5.35"
    },
    "storage": [
      {
        "interface": "SD1",
        "system": "ExFAT",
        "access": "Read, Write",
        "stats": {
          "sizeTotal": 31905546240,
          "sizeFree": 31898959872,
          "blockSize": 32768
        }
      }
    ],
    "network": {
      "externalIp": "98.134.53.219",
      "interfaces": [
        {
          "name": "eth0",
          "type": "Ethernet",
          "proto": "Static",
          "mac": "D0:6A:85:DA:FE:71",
          "ip": [
            "192.168.0.1/24",
            "EF88:7::2FAB:7657/64",
            "FE80::C60C:27BF:74E0:2E0F/128"
          ],
          "gateway": "192.168.0.1",
          "metric": 100
        },
        {
          "name": "eth0.25",
          "type": "Virtual",
          "proto": "DHCPv4",
          "mac": "D0:6A:85:DA:FE:71",
          "ip": [
            "176.216.148.166/16",
            "FE80::1623:693:8588:65BB/128"
          ],
          "gateway": "176.216.0.1",
          "metric": 2
        },
        {
          "name": "wlan0",
          "type": "WiFi",
          "proto": "NDP, DHCPv6",
          "mac": "33:5B:FE:4A:E1:BB",
          "ip": [
            "10.10.0.2/16"
          ],
          "gateway": "10.10.0.1",
          "metric": 110
        },
        {
          "name": "ppp0",
          "type": "Cellular",
          "proto": "Static",
          "mac": "FE:98:1A:AA:B4:72",
          "ip": [
            "192.168.255.255/31"
          ],
          "gateway": "192.168.255.254",
          "metric": 120,
          "modem": {
            "imei": "35778404001349",
            "manufacturer": "Vodafone",
            "model": "IK41US_USBC4G_V2_NA",
            "revision": "IK41_00_02.00_09"
          },
          "sims": [
            {
              "status": "OK",
              "iccid": "8910412345678907",
              "connection": {
                "network": "Vodafone Libertel",
                "signal": -53
              }
            }
          ]
        },
        {
          "name": "usb0",
          "type": "Ethernet",
          "proto": "Static",
          "mac": "5A:64:A1:72:EE:12",
          "ip": [
            "132.80.245.191/24"
          ],
          "gateway": null,
          "metric": null
        },
        {
          "name": "eth0.110",
          "type": "Virtual",
          "proto": "Static",
          "mac": "D0:6A:85:DA:FE:71",
          "ip": [
            "16.194.230.251/28",
            "FE80::8C6F:34A9:C88:31D5/128"
          ],
          "gateway": "16.194.230.241",
          "metric": 3
        }
      ]
    },
    "uptime": "08:20:46",
    "currentSettingsTimestamp": "2021-05-04T10:45:06Z",
    "currentScheduleTimestamp": "2021-05-04T10:45:06Z",
    "health": "Error",
    "lastModifiedDate": "2022-02-15T23:53:50.16Z"
  },
  "subscription": {
    "id": 123456,
    "device": {
      "id": 12345,
      "serial": "46D89C101139"
    },
    "type": "Commercial",
    "activityPeriod": "365.00:00:00",
    "status": "Active",
    "creationDate": "2020-08-17T20:49:49.09Z",
    "lastModifiedDate": "2020-08-17T20:49:49.09Z",
    "activationDate": "2020-08-17T20:49:49.09Z",
    "suspensionDate": null,
    "expirationDate": null
  },
  "taggedGroups": [],
  "tags": {
    "string::[Content].<Anon>": "image",
    "number::[Content].<BillingRate>": "30"
  },
  "permissions": []
}
```
:::

**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 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 solicitó (como se especifica en el encabezado "Accept")

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

## PUT /\{serial}/ 

Actualiza un reproductor especificado. Se aplica solo a la configuración del reproductor.

**Token de alcance requerido**

bsn.api.main.devices.update

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor 

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

**Cuerpo de la solicitud**

- La [Entidad del reproductor](docId\:y3xobqVNg0QwzlcWqv0z9)

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

**Ejemplo de solicitud**

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

- `serie` se establece en `46D89C107131`
- El valor opcional del encabezado `If-Unmodified-Since` es igual al valor del encabezado `Última modificación` recuperado de la respuesta de `GET /id` o `GET /serial`.

```text
PUT /2022/06/REST/Devices/46D89C107131/ 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
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Content-Type: application/json
Content-Length: 5947
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
   "id": 0,
   "serial": "46D89C107131",
   "model": "HD1024",
   "family": "Pagani",
   "registrationDate": "0001-01-01T00:00:00",
   "lastModifiedDate": "0001-01-01T00:00:00",
   "settings":    {
      "name": "OutsidePlayer",
      "description": "Outside of Building A",
      "concatNameAndSerial": false,
      "setupType": "BSN",
      "lastModifiedDate": "2022-01-05T18:12:22.643Z",
      "group":       {
         "id": 123,
         "name": "TestGroup",
         "link": null
      },
      "brightWall": null,
      "timezone": "PST",
      "screen":       {
         "idleColor": "FF702896",
         "splashUrl": null
      },
      "synchronization":       {
         "status": {"period": "00:05:00"},
         "settings": {"period": "00:00:00"},
         "schedule": {"period": "06:00:00"},
         "content":          {
            "start": null,
            "end": null
         }
      },
      "network":       {
         "hostname": "BrightSign-46D89C107131",
         "proxyServer": null,
         "proxyBypass": [],
         "timeServers": ["http://time.brightsignnetwork.com/"],
         "interfaces":          [
                        {
               "enabled": true,
               "proto": "DHCP",
               "ip": null,
               "gateway": null,
               "dns": null,
               "rateLimitDuringInitialDownloads": 0,
               "rateLimitInsideContentDownloadWindow": 0,
               "rateLimitOutsideContentDownloadWindow": null,
               "contentDownloadEnabled": true,
               "textFeedsDownloadEnabled": true,
               "mediaFeedsDownloadEnabled": true,
               "healthReportingEnabled": true,
               "logsUploadEnabled": true,
               "name": "eth0",
               "type": "Ethernet"
            },
                        {
               "enabled": false,
               "ssid": "",
               "security":                {
                  "authentication":                   {
                     "mode": "Shared",
                     "passphrase": ""
                  },
                  "encryption": {"mode": "TKIP, CCMP"}
               },
               "proto": "DHCP",
               "ip": null,
               "gateway": null,
               "dns": null,
               "rateLimitDuringInitialDownloads": 0,
               "rateLimitInsideContentDownloadWindow": 0,
               "rateLimitOutsideContentDownloadWindow": 0,
               "contentDownloadEnabled": false,
               "textFeedsDownloadEnabled": false,
               "mediaFeedsDownloadEnabled": false,
               "healthReportingEnabled": false,
               "logsUploadEnabled": false,
               "name": "wlan0",
               "type": "WiFi"
            }
         ]
      },
      "beacons": [],
      "location": null,
      "screenshots": null,
      "logging":       {
         "enableDiagnosticLog": false,
         "enableEventLog": false,
         "enablePlaybackLog": false,
         "enableStateLog": false,
         "enableVariableLog": false,
         "uploadAtBoot": false,
         "uploadTime": null
      },
      "lws":       {
         "username": "",
         "password": "",
         "enableUpdateNotifications": true
      },
      "ldws": {"password": "RLSJPQSm9z15lB8nwVFWjkPYegscBlMF3NFG6wt3aSTXIoC+iR5NGrhJa77ZaWTgpiCzPdDdnwMlQSb4QLqe6nEFx6q/927scO6LlVTtRBVch+RlgzlJ2SXYqAH6TUx66JRFuvCxyHzL0iUNKR/R4E1hdTQpxH3yXIPJ5OBOTlaw8OW6DZNixDGMuvhgmWAW9/TgksUYTlwb1SKqGzQOrDYmmg+A71YMGV6NcKbuN3P0DjQsMrVxlFe9+awQ73LSxqKF5Q52FjUhgSKsYcTtnoJvY/n9HWcREyxOPKF7vsEIfKOeG/qoFBvgZZKOoqaTyD82iBKbOQu9WllBGX+qaaTTQHR1SrZoyS2PDmBlddLhngE4BHiDxmOPhm69bsmiakUcUqgjvgi8sRL/9kUxLXuayeQ6VYzUnHdX7K3nYqbhgJCxVbSURe5wIS/vQ97zi4wt0NpF55FmoAQlZA1JcSk/85w8S4hfpCYlDnqQMI8jXqvNZ5apc7nKsg6NSibGhh4h1cpA7DG6d6MzjBldVKhutni3Bj991cP45RIaGlmWipbC9eKwODrsDPYMK2CDN/JEygmfiUdJJW4Cvgi4s6Z3oyqddiEV+plZtGD69NAau4OMCoHcR1STJdsVOrq++tF+R0/IkC5wDhAUBszXvlSdcKja7Gv7v4kOAZC0CmtA="}
   },
   "status": null,
   "subscription": null,
   "taggedGroups": [],
   "tags": {},
   "permissions": []
}
```

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

**Respuesta correcta**

<font color="#089a4d">204</font>: El reproductor especificado se actualizó correctamente

**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 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">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 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

## PATCH /\{serial}/ 

Reemplaza ciertos parámetros en el reproductor especificado. Se aplica solo a la configuración del reproductor. Consulte [rfc6902](https://datatracker.ietf.org/doc/html/rfc6902).

**Token de alcance requerido**

bsn.api.main.devices.update

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor que se eliminará

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

**Cuerpo de la solicitud**

Estas propiedades son entradas en una matriz. 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. 

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

**Ejemplo de solicitud**

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

- `serie` es `46D89C101139`
- El valor opcional del encabezado `If-Unmodified-Since` es igual al valor del encabezado `Última modificación` recuperado de la respuesta de `GET /id` o `GET /serial`.

```text
PATCH /2022/06/REST/Devices/46D89C101139/ 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
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Content-Type: application/json-patch+json
Content-Length: 94
```

Este es el cuerpo de la solicitud de ejemplo:

```json
[
  {
    "op": "replace",
    "path": "/settings/description/",
    "value": "Main Screen Player"
  }
]
```

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

**Respuesta exitosa**

<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 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">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>: La condición previa falló (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ó (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 /\{serial}/ 

Elimine el reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.delete

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor 

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

**Ejemplo de solicitud**

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

- `serie` se establece en `46D89C101139`
- El valor opcional del encabezado `If-Unmodified-Since` es igual al valor del encabezado `Última modificación` recuperado de la respuesta `GET /id` o `GET /serial`.

```text
DELETE /2022/06/REST/Devices/46D89C101139/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}}
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

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

**Respuesta correcta**

<font color="#089a4d">204</font>: El reproductor se eliminó correctamente

**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 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>: 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 /\{deviceId}/Beacons/ 

Devuelve la matriz de todos los beacons definidos para el reproductor especificado

**Token de Scope requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `deviceId` <font color="#704ae0">int: </font>Un identificador único para la instancia del reproductor

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

**Cuerpo de la respuesta correcta**

<font color="#089a4d">200</font>: La colección de [Entidades Beacon del reproductor](docId\:YfmBhfd4J9D1RB5agHvPT)

**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ó (como se especifica en el encabezado "Accept")

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

## GET /\{serial}/Beacons/ 

Devuelve el arreglo de todas las balizas definidas para el reproductor especificado

**Token de Scope requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie de la instancia del reproductor

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

**Cuerpo de la respuesta exitosa**

<font color="#089a4d">200</font>: La colección de [Entidades de baliza del reproductor](docId\:YfmBhfd4J9D1RB5agHvPT)

**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ó (como se especifica en el encabezado "Accept")

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

## GET /\{deviceId}/Beacons/\{name}/ 

Devuelve una baliza de dispositivo de cierto tipo asociada con un reproductor especificado y el nombre especificado

**Token de Scope requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `deviceId` <font color="#704ae0">int: </font>Un identificador único para la instancia del reproductor
- `nombre` <font color="#704ae0">string: </font>El nombre de la baliza del reproductor

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

**Cuerpo de la respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve la [Entidad de baliza del reproductor](docId\:YfmBhfd4J9D1RB5agHvPT)

**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ó (como se especifica en el encabezado "Accept")

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

## DELETE /\{deviceId}/Beacons/\{name}/ 

Elimina una beacon de reproductor especificada de un reproductor especificado.

**Token de alcance requerido**

bsn.api.main.devices.update

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

**Segmento**

- `deviceId` <font color="#704ae0">int: </font>Un identificador único para la instancia del reproductor
- `nombre` <font color="#704ae0">string: </font>El nombre de la beacon del reproductor

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

**Respuesta exitosa**

<font color="#089a4d">204</font>: La beacon del reproductor especificada se eliminó correctamente del reproductor

**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, 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 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

## GET /\{serial}/Beacons/\{name}/ 

Devuelve una beacon de reproductor de un determinado tipo asociada con un reproductor especificado y el nombre especificado

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor
- `nombre` <font color="#704ae0">string: </font>El nombre del reproductor

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

**Cuerpo de respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve la [Entidad de beacon del reproductor](docId\:YfmBhfd4J9D1RB5agHvPT)

**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, 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 

<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

## DELETE /\{serial}/Beacons/\{name}/&#x20;

Elimina un beacon de reproductor especificado en un reproductor especificado.

**Token de Scope requerido**

bsn.api.main.devices.update

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor
- `nombre` <font color="#704ae0">string: </font>El nombre del beacon que se va a eliminar

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

**Respuesta exitosa**

<font color="#089a4d">204</font>: El beacon de reproductor especificado se eliminó correctamente del reproductor

**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&#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 /\{id}/Beacons/&#x20;

Crea un beacon de reproductor

**Token de Scope requerido**

bsn.api.main.devices.update

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

**Segmento**

- `id` <font color="#704ae0">int: </font>Un identificador único para la instancia del reproductor en la que usted desea crear el beacon

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

**Cuerpo de la solicitud**

- La [Entidad de beacon de reproductor](docId\:YfmBhfd4J9D1RB5agHvPT)

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

**Cuerpo de 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 beacon de reproductor](docId\:YfmBhfd4J9D1RB5agHvPT).

**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 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

## POST /\{serial}/Beacons/ 

Crea un beacon de reproductor en un reproductor especificado.

**Token de Scope requerido**

bsn.api.main.devices.update

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor en el que desea crear el beacon

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

**Cuerpo de la solicitud**

- La [Entidad de Beacon de Reproductor](docId\:YfmBhfd4J9D1RB5agHvPT)

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

**Cuerpo de 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 Beacon de Reproductor](docId\:YfmBhfd4J9D1RB5agHvPT).

**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 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 /\{id}/Errors/ 

Devuelve una lista de errores asociados con un reproductor especificado

**Token de Scope requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `id` <font color="#704ae0">int: </font>Un identificador único para el reproductor que informa los errores

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

**Parámetros de cadena de consulta**

- `marcador` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </font>Un valor que especifica qué página recuperar. Este valor es útil si la entrada `isTruncated` en el cuerpo de la respuesta de la llamada GET anterior indica que el número de instancias de error supera el valor de `pageSize`. Este parámetro solo es obligatorio si necesita más elementos en la lista paginada que el valor de `pageSize` (100).
- `pageSize` <font color="#704ae0">int</font> <font color="#01a0af">opcional: </font>El número máximo de instancias de error que pueden incluirse en el cuerpo de la respuesta. 

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

**Ejemplo de solicitud**

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

- `id` se establece en `12345`
- `marcador` se establece en el valor de propiedad `[PagedList].[NextMarker]` de la respuesta anterior de la API de BSN.Cloud.
- `pageSize` se establece en `1`

```text
GET /2022/06/REST/Devices/12345/Errors/?pageSize=1&marker=a9DH34d23Bh0 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 respuesta correcta**

<font color="#089a4d">200</font>: Devuelve la [Entidad de error del reproductor](docId\:q2H_VipDoOY3fzmz8cknQ)

**Ejemplo**

```json
{
   "items":    [
            {
         "timestamp": "2023-03-21T20:36:21.887Z",
         "errorName": "Failed to download sync list",
         "errorEvent": "deviceError",
         "reason": "Connection timed out after 30000 milliseconds",
         "responseCode": -28
      }
   ],
   "totalItemCount": 9,
   "matchingItemCount": 9,
   "pageSize": 1,
   "nextMarker": "9DH34d23Bc1fjkdsa",
   "prevMarker": "9DH34d23Bc1fj786t",
   "isTruncated": false,
   "sortExpression": "[DeviceError].[Timestamp] DESC",
   "filterExpression": null
}
```

**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 está mal formada y, por 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 /\{serial}/Errors/ 

Devuelve una lista de errores asociados con un reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor que informa los errores

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

**Parámetros de Query String**

- `marcador` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </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 error excede el valor de `pageSize`. Este parámetro solo es obligatorio si necesita más elementos en la lista paginada que el valor de `pageSize` (100).
- `pageSize` <font color="#704ae0">int</font> <font color="#01a0af">opcional: </font>El número máximo de instancias de error que pueden estar contenidas en el cuerpo de respuesta

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

**Ejemplo de solicitud**

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

- `serie` se establece en `46D89C101139`
- `marcador` se establece en el valor de la propiedad `[PagedList].[NextMarker]` de la respuesta anterior de la API BSN.Cloud.
- `pageSize` se establece en `1`

```text
GET /2022/06/REST/Devices/46D89C101139/Errors/?pageSize=1&marker=Vsh54Uh9Mn0s 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 respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve la [Entidad de error del reproductor](docId\:q2H_VipDoOY3fzmz8cknQ)

**Ejemplo**

```json
{
   "items":    [
            {
         "timestamp": "2023-03-21T20:36:21.887Z",
         "errorName": "Failed to download sync list",
         "errorEvent": "deviceError",
         "reason": "Connection timed out after 30000 milliseconds",
         "responseCode": -28
      }
   ],
   "totalItemCount": 9,
   "matchingItemCount": 9,
   "pageSize": 1,
   "nextMarker": "34DH04d23c00JK",
   "prevMarker": "34DH04d23cfhg9",   
   "isTruncated": false,
   "sortExpression": "[DeviceError].[Timestamp] DESC",
   "filterExpression": 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">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 /\{id}/Downloads/ 

Devuelve las descargas asociadas con un reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único del reproductor que tiene las instancias de descarga

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

**Parámetros de Query String**

- `marcador` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </font>Un valor que especifica qué página recuperar. Este valor es útil si la entrada `isTruncated` en el cuerpo de la respuesta de la llamada GET anterior indica que el número de instancias de descarga excede el valor de `pageSize`. Este parámetro solo es necesario si necesita más elementos en la lista paginada que el valor de `pageSize` (100).
- `pageSize` <font color="#704ae0">int</font> <font color="#01a0af">opcional: </font>El número máximo de instancias de descarga que pueden estar contenidas en el cuerpo de la respuesta

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

**Ejemplo de solicitud**

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

- `id` se establece en `12345`
- `marcador` se establece en el valor de la propiedad `[PagedList].[NextMarker]` de la respuesta anterior de la API de BSN.Cloud.
- `pageSize` se establece en `3`

```text
GET /2022/06/REST/Devices/12345/Downloads/?pageSize=3&marker=BN548plV2hZW4tWW HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json, application/*
Accept-Encoding: gzip,deflate
```

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

**Cuerpo de la respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve la [Entidad de descarga del reproductor](docId\:fuPqPqwiVwW3Qc5ok_McR)

**Ejemplo**

```json
{
   "items":    [
            {
         "timestamp": "2021-05-04T17:44:06.533Z",
         "fileName": "ZoomBG.jpeg",
         "fileHash": "SHA1:311822ED6A306CB3F2775CB3D9FF1A8C96680E92",
         "progress": 42,
         "status": "downloading"
      },
            {
         "timestamp": "2021-05-04T17:44:06.533Z",
         "fileName": "featureMinRevs.json",
         "fileHash": "SHA1:98E4C18E11C4D41D5742756213C103B671B985E9",
         "progress": 100,
         "status": "ok"
      },
            {
         "timestamp": "2021-05-04T17:44:06.533Z",
         "fileName": "autoplugins.brs",
         "fileHash": "SHA1:A0ACB3E76C85E48D326E802428B23F1325667410",
         "progress": 100,
         "status": "ok"
      }
   ],
   "totalItemCount": 7,
   "matchingItemCount": 7,
   "pageSize": 3,
   "nextMarker": "HFfakds789nm06",
   "prevMarker": "HFfakds789/0nm",
   "isTruncated": true,
   "sortExpression": "[DeviceDownload].[Timestamp] DESC",
   "filterExpression": 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 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 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 /\{serial}/Downloads/ 

Devuelve una lista de descargas realizadas por un reproductor (especificado por número de serie).

**Token de Scope requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor que tiene las instancias de descarga

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

**Parámetros de Query String**

- `marcador` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </font>Un valor que especifica qué página recuperar. Este valor es útil si la entrada `isTruncated` del cuerpo de respuesta de la llamada GET anterior indica que el número de instancias de descarga supera el valor de `pageSize`. Este parámetro solo es necesario si necesita más elementos en la lista paginada que el valor de `pageSize` (100).
- `pageSize` <font color="#704ae0">int</font> <font color="#01a0af">opcional: </font>El número máximo de instancias de descarga que pueden incluirse en el cuerpo de respuesta

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

**Ejemplo de solicitud**

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

- `serie` se establece en `46D89C101139`
- `marcador` se establece en el valor de la propiedad `[PagedList].[NextMarker]` de la respuesta anterior de la API BSN.Cloud.
- `pageSize` se establece en `3`

```text
GET /2022/06/REST/Devices/46D89C101139/Downloads/?pageSize=3&marker=W4tWW3hcnMsMTcyMU478ngh HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json, application/*
Accept-Encoding: gzip,deflate
```

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

**Cuerpo de respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve la [Entidad de descarga del reproductor](docId\:fuPqPqwiVwW3Qc5ok_McR) 

**Ejemplo**

```json
{
   "items":    [
            {
         "timestamp": "2021-05-04T17:44:06.533Z",
         "fileName": "ZoomBG.jpeg",
         "fileHash": "SHA1:311822ED6A306CB3F2775CB3D9FF1A8C96680E92",
         "progress": 42,
         "status": "downloading"
      },
            {
         "timestamp": "2021-05-04T17:44:06.533Z",
         "fileName": "featureMinRevs.json",
         "fileHash": "SHA1:98E4C18E11C4D41D5742756213C103B671B985E9",
         "progress": 100,
         "status": "ok"
      },
            {
         "timestamp": "2021-05-04T17:44:06.533Z",
         "fileName": "autoplugins.brs",
         "fileHash": "SHA1:A0ACB3E76C85E48D326E802428B23F1325667410",
         "progress": 100,
         "status": "ok"
      }
   ],
   "totalItemCount": 7,
   "matchingItemCount": 7,
   "pageSize": 3,
   "nextMarker": "fjdkah890vdjk",
   "prevMarker": "fjdkah890546k",
   "isTruncated": true,
   "sortExpression": "[DeviceDownload].[Timestamp] DESC",
   "filterExpression": 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">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

## GET /\{deviceid}/ScreenShots/ 

Devuelve una lista de capturas de pantalla cargadas por un reproductor especificado 

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único del reproductor

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

**Parámetros de cadena de consulta**

- `marcador` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </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 capturas de pantalla excede el `pageSize`. Este parámetro solo es obligatorio si necesita más elementos en la lista paginada que el `pageSize` (100).
- `pageSize` <font color="#704ae0">int</font> <font color="#01a0af">opcional: </font>El número máximo de instancias de capturas de pantalla que pueden incluirse en el cuerpo de respuesta

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

**Ejemplo de solicitud**

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

- `id` se establece en `1234567`
- `marcador` se establece en el valor de propiedad `[PagedList].[NextMarker]` de la respuesta anterior de la API BSN.Cloud.
- `pageSize` se establece en `1`

```text
GET /2022/06/REST/Devices/1234567/ScreenShots/?marker=SE4ODYzNF230OTv&pageSize=1 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 respuesta exitosa**

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

**Ejemplo**

```json
{
   "items":    [
            {
         "id": 12345,
         "device":          {
            "id": 1234567,
            "serial": "CFD02W901738"
         },
         "groupName": "Default",
         "presentationName": "videos-and-images",
         "utcTimestamp": "2023-10-19T15:07:57Z",
         "localTimestamp": "2023-10-19T10:07:57",
         "width": 1920,
         "height": 1080,
         "filePath": "https://bsncloud-dssp.s3.amazonaws.com/DeviceScreenShots/Public/CFD02W901738/2023-10-19T15-07-57.7710000Z.jpg",
         "fileSize": 802681,
         "thumbPath": "https://bsncloud-dssp.s3.amazonaws.com/DeviceScreenShots/Public/CFD02W901738/2023-10-19T15-07-57.7710000Z.thumb.150x150.jpg"
      }
   ],
   "totalItemCount": 4,
   "matchingItemCount": 4,
   "pageSize": 1,
   "nextMarker": "LDE4ODYzNTI0OTU=",
   "prevMarker": "LDE4ODYzNTI0h893",
   "isTruncated": true,
   "sortExpression": "[DeviceScreenShot].[UTCTimestamp] DESC",
   "filterExpression": 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 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 /\{serial}/ScreenShots/ 

Devuelve una lista de capturas de pantalla cargadas por un reproductor especificado 

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor

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

**Parámetros de cadena de consulta**

- `marcador` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </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 capturas de pantalla supera el `pageSize`. Este parámetro solo es necesario si usted necesita más elementos en la lista paginada que el `pageSize` (100).
- `pageSize` <font color="#704ae0">int</font> <font color="#01a0af">opcional: </font>El número máximo de instancias de capturas de pantalla que pueden incluirse en el cuerpo de respuesta

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

**Ejemplo de solicitud**

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

- `serie` se establece en `CFD02W901738`
- `marcador` se establece en el valor de la propiedad `[PagedList].[NextMarker]` de la respuesta anterior de la API de BSN.Cloud.
- `pageSize` se establece en `1`

```text
GET /2022/06/REST/Devices/CFD02W901738/ScreenShots/?marker=G140faj35k8as&pageSize=1 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 respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve la [Entidad ScreenShot](docId\:nhwuZuyI6odafmpULw3Uz)&#x20;

**Ejemplo**

```json
{
   "items":    [
            {
         "id": 12345,
         "device":          {
            "id": 1234567,
            "serial": "CFD02W901738"
         },
         "groupName": "Default",
         "presentationName": "videos-and-images",
         "utcTimestamp": "2023-10-19T15:07:57Z",
         "localTimestamp": "2023-10-19T10:07:57",
         "width": 1920,
         "height": 1080,
         "filePath": "https://bsncloud-dssp.s3.amazonaws.com/DeviceScreenShots/Public/CFD02W901738/2023-10-19T15-07-57.7710000Z.jpg",
         "fileSize": 802681,
         "thumbPath": "https://bsncloud-dssp.s3.amazonaws.com/DeviceScreenShots/Public/CFD02W901738/2023-10-19T15-07-57.7710000Z.thumb.150x150.jpg"
      }
   ],
   "totalItemCount": 4,
   "matchingItemCount": 4,
   "pageSize": 1,
   "nextMarker": "GH0dkf78aok34",
   "prevMarker": "GH0dkf78a5783",
   "isTruncated": true,
   "sortExpression": "[DeviceScreenShot].[UTCTimestamp] DESC",
   "filterExpression": 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">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 /ScreenShots/ 

Devuelve una lista de capturas de pantalla cargadas por un reproductor

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Parámetros de Query String**

- `proyección` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </font>Este parámetro actualmente admite solo un marcador de posición (`TOP({int},[Nodes])]`) que limita el número de entidades en un grupo. El valor posible para `{int}` es cualquier número del 1 al 100.
- `filtro` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </font>Una [expresión](docId\:cOT2DfqiG9WykoYa94HEX) para filtrar resultados de búsqueda
- `agrupación` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </font>Una expresión de agrupación para las entidades filtradas. Este parámetro puede utilizarse con el parámetro `proyección` para recuperar una determinada cantidad de capturas de pantalla para una gran cantidad de dispositivos en una sola solicitud (por ejemplo, 100 capturas de pantalla de 100 reproductores).
- `ordenar` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </font>Una expresión para ordenar los resultados de búsqueda. La expresión de ordenación especifica la entrada usada para ordenar y el orden de clasificación ascendente/descendente (ASC/DESC) (p. ej., "\[Device].\[Serial] ASC")
- `marcador` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </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 la cantidad de instancias de capturas de pantalla supera el `pageSize`. Este parámetro solo es necesario si usted necesita más elementos en la lista paginada que el `pageSize` (100).
- `pageSize` <font color="#704ae0">int</font> <font color="#01a0af">opcional: </font>La cantidad máxima de instancias de capturas de pantalla que puede contener el cuerpo de respuesta

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

**Ejemplo de solicitud**

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

- `proyección` se establece en `TOP(3,[Nodes])`
- `filtro` se establece en `[groupName] es 'Predeterminado'`
- `agrupación` se establece en `[Serial]`
- `ordenar` se establece en `[Id] ASC`
- `marcador` se establece en el valor de la propiedad `[PagedList].[NextMarker]` de la respuesta anterior de la API de BSN.Cloud.
- `pageSize` se establece en `1`

```text
GET /2022/06/REST/Devices/ScreenShots/?marker=MTgzMDA1MTQ5MiwxODMwMDUxNDky&projection=TOP%283%2C%5BNodes%5D%29&pageSize=1&filter=%5BgroupName%5D%20IS%20%27Default%27&grouping=%5BSerial%5D&sort=%5BId%5D%20ASC HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json, application/*
Accept-Encoding: gzip,deflate
```

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

**Cuerpo de respuesta exitoso**

<font color="#089a4d">200</font>: Devuelve la [Entidad ScreenShot](docId\:nhwuZuyI6odafmpULw3Uz)&#x20;

**Ejemplo**

```json
{
   "items":    [
            {
         "id": 1829566038,
         "device":          {
            "id": 0123456,
            "serial": "E9E8J5401510"
         },
         "groupName": "Default",
         "presentationName": "videos-and-images",
         "utcTimestamp": "2023-09-22T06:05:43Z",
         "localTimestamp": "2023-09-22T01:05:43",
         "width": 1920,
         "height": 1080,
         "filePath": "https://bsncloud-dssp.s3.amazonaws.com/DeviceScreenShots/Public/D9E8D5001519/2023-09-22T06-05-43.2670000Z.jpg",
         "fileSize": 1169176,
         "thumbPath": "https://bsncloud-dssp.s3.amazonaws.com/DeviceScreenShots/Public/D9E8D5001519/2023-09-22T06-05-43.2670000Z.thumb.150x150.jpg"
      }
   ],
   "totalItemCount": 1256,
   "matchingItemCount": 19,
   "pageSize": 1,
   "nextMarker": "MTgyOTYwODM2NCwxODI5NjA4MzY0",
   "prevMarker": "MTgyOTYwODM2NCwxODI5NjA478gh",
   "isTruncated": true,
   "sortExpression": "[Id] ASC",
   "filterExpression": "[groupName] IS 'Default'"
}
```

**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

## GET /\{id}/Tags/ 

Devuelve un objeto cuyos nombres de propiedad coinciden con las claves de etiqueta y cuyos valores de propiedad coinciden con los valores de etiqueta en un reproductor

**Token de Scope requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único del reproductor

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

**Ejemplo de solicitud**

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

- `id` se establece en `12345`

```text
GET /2022/06/REST/Devices/12345/Tags/ 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 respuesta exitosa**

<font color="#089a4d">200</font>: Una colección de pares clave-valor donde la clave es el nombre de la etiqueta y el valor es el valor de la etiqueta. Consulte la entrada `Etiquetas` en [Entidad Player](docId\:y3xobqVNg0QwzlcWqv0z9) para obtener más información.

**Ejemplo**

```json
{"string::[Device].<Testing2>": "PlayAllDay"}
```

**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 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 /\{id}/Tags/ 

Agrega etiquetas a un reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.update

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

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único del reproductor

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

**Cuerpo de la solicitud**

- `etiquetas` <font color="#704ae0">DynamicObject</font>: Una colección de pares clave-valor donde la clave es el nombre de la etiqueta y el valor es el valor de la etiqueta. Consulte la entrada `Etiquetas` en [Entidad del reproductor](docId\:y3xobqVNg0QwzlcWqv0z9) para obtener más informació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`

```text
POST /2022/06/REST/Devices/12345/Tags/ 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: 73
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
	"Number::[Device].<Number>":"1",
	"Boolean::[Device].<Boolean>":true
}
```

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

**Respuesta correcta**

<font color="#089a4d">204</font>: Las etiquetas se agregaron al reproductor especificado 

**Respuesta de error**

<font color="#9a0808">400</font>: Ya se había definido una etiqueta con la clave especificada, la solicitud tiene un formato incorrecto y por lo tanto no es válida, o existe un conflicto

<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>: El servidor no puede encontrar el recurso solicitado (la ruta no existe)

<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 /\{id}/Tags/ 

Elimina etiquetas de un reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.update

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

**Segmento**

- `id` <font color="#704ae0">int: </font>El identificador único del reproductor

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

**Cuerpo de la solicitud**

- `lista` <font color="#704ae0">string[]</font>: Una matriz de claves de etiquetas para eliminar

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

**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
DELETE /2022/06/REST/Devices/12345/Tags/ 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: 64
```

Este es el cuerpo de la solicitud de ejemplo:

```json
[
	"Number::[Device].<Number>",
	"Boolean::[Device].<Boolean>"
]
```

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

**Respuesta correcta**

<font color="#089a4d">204</font>: La etiqueta especificada se eliminó correctamente del reproductor

**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 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 /\{serial}/Tags/ 

Devuelve un objeto cuyos nombres de propiedad coinciden con las claves de las etiquetas y cuyos valores de propiedad coinciden con los valores de las etiquetas en un reproductor

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor

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

**Ejemplo de solicitud**

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

- `serie` se establece en `35F89C022150`

```text
GET /2022/06/REST/Devices/35F89C022150/Tags/ 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>: Una colección de pares clave-valor donde la clave es el nombre de la etiqueta y el valor es el valor de la etiqueta. Consulte la entrada `Etiquetas` en [Entidad del reproductor](docId\:y3xobqVNg0QwzlcWqv0z9) para obtener más información.

**Ejemplo**

```json
{"string::[Device].<Testing2>": "PlayAllDay"}
```

**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

## POST /\{serial}/Tags/ 

Agrega una o más etiquetas a un reproductor especificado

**Token de Scope requerido**

bsn.api.main.devices.update

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor

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

**Cuerpo de la solicitud**

- `etiquetas` <font color="#704ae0">DynamicObject: </font>Una colección de pares clave-valor donde la clave es el nombre de la etiqueta y el valor es el valor de la etiqueta. Consulte la entrada `Etiquetas` en la [Entidad del reproductor](docId\:y3xobqVNg0QwzlcWqv0z9) para obtener más información.

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

**Ejemplo de solicitud**

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

- `serie` se establece en `35F89C022150`

```text
POST /2022/06/REST/Devices/35F89C022150/Tags/ 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: 73
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
	"Number::[Device].<Number>":"1",
	"Boolean::[Device].<Boolean>":true
}
```

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

**Respuesta correcta**

<font color="#089a4d">204</font>: Las etiquetas se agregaron al reproductor especificado

**Respuesta de error**

<font color="#9a0808">400</font>: Ya se había definido una etiqueta con la clave especificada, la solicitud está malformada y por lo tanto no es válida, o existe un conflicto

<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">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 /\{serial}/Tags/ 

Elimina una o más etiquetas de un reproductor especificado

**Token de Scope requerido**

bsn.api.main.devices.update

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor

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

**Cuerpo de la solicitud**

- `lista` <font color="#704ae0">string[]</font>: Una matriz de claves de etiquetas para eliminar

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

**Ejemplo de solicitud**

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

- `serie` se establece en `35F89C022150`

```text
DELETE /2022/06/REST/Devices/35F89C022150/Tags/ 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: 64
```

Este es el cuerpo de la solicitud de ejemplo:

```json
[
	"Number::[Device].<Number>",
	"Boolean::[Device].<Boolean>"
]
```

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

**Respuesta exitosa**

<font color="#089a4d">204</font>: La etiqueta especificada se eliminó correctamente del reproductor

**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 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

## GET /Models/ 

Devuelve la lista de modelos de reproductor compatibles con la versión actual de Main API

**Token de Scope requerido**

bsn.api.main.devices.retrieve

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

**Ejemplo de solicitud**

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

```text
GET /2022/06/REST/Devices/Models/ 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 respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve la lista completa de modelos de reproductor compatibles con esta versión de Main API

**Ejemplo**

```json
[
   "HD223",
   "HD1023",
   "HD1423",
   "LS423",
   "XD233",
   "XD1033",
   "XD1133",
   "XT243",
   "XT1043",
   "XT1143",
   "4K242",
   "4K1042",
   "4K1142",
   "HS123",
   "HO523",
   "XD234",
   "XD1034",
   "XT244",
   "XT1144",
   "HS124",
   "HS144",
   "LS424",
   "HD224",
   "HD1024",
   "AU325",
   "AU335",
   "XC2055",
   "XC4055",
   "LS425",
   "LS445",
   "HS125",
   "HS145",
   "HD225",
   "HD1025",
   "XD235",
   "XD1035",
   "XT245",
   "XT1145",
   "XT2145"
]
```

**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">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 /Models/\{model}/ 

Devuelve la lista de modelos de reproductor compatibles con la versión actual de Main API

**Token de Scope requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `modelo` <font color="#704ae0">string: </font>El modelo del reproductor

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

**Ejemplo de solicitud**

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

- `modelo` es `XD1034`

```text
GET /2022/06/REST/Devices/Models/XD1034/ 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 exitosa**

<font color="#089a4d">200</font>: Devuelve la lista completa de modelos de reproductor compatibles con esta versión de Main API

**Ejemplo**

```json
"XD1034"
```

**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 modelo de reproductor proporcionado no existe (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 /Models/\{model}/Connectors/ 

Devuelve la lista de conectores disponibles en un modelo de reproductor determinado. 

**Token de Scope requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `modelo` <font color="#704ae0">string: </font>El modelo del reproductor

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

**Ejemplo de solicitud**

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

- `modelo` se establece en `XD1034`

```text
GET /2022/06/REST/Devices/Models/XD1034/Connectors/ 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 respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve la lista de conectores disponibles en un modelo de reproductor determinado

**Ejemplo**

```json
["HDMI"]
```

**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 modelo de reproductor proporcionado no existe o es incorrecto 

<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 /Models/\{model}/Connectors/\{connector}/ 

Devuelve la lista de conectores disponibles en un modelo de reproductor determinado

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `modelo` <font color="#704ae0">string: </font>El modelo del reproductor
- `conector` <font color="#704ae0">string:</font>El conector de video (por ejemplo, "HDMI" o "DisplayPort")

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

**Ejemplo de solicitud**

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

- `modelo` se establece en `XD1034`
- `conector` se establece en `HDMI`

```text
GET /2022/06/REST/Devices/Models/XD1034/Connectors/HDMI/ 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 respuesta exitosa**

<font color="#089a4d">200</font>: Devuelve la lista de conectores disponibles en un modelo de reproductor determinado

**Ejemplo**

```json
"HDMI"
```

**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 modelo de reproductor o conector proporcionado no existe o es incorrecto

<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 /Models/\{model}/Connectors/\{connector}/VideoModes/ 

Devuelve los [Modos de video](docId\:QpML112mBhEK7LBDGUxnv) compatibles con el conector especificado en el modelo de reproductor especificado. 

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `modelo` <font color="#704ae0">string: </font>El modelo del reproductor
- `conector` <font color="#704ae0">string: </font>El conector de video (por ejemplo, "HDMI" o "DisplayPort")

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

**Ejemplo de solicitud**

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

- `modelo` se establece en `XD1034`
- `conector` se establece en `HDMI`

```text
GET /2022/06/REST/Devices/Models/XD1034/Connectors/HDMI/VideoModes/ 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>: El cuerpo de la respuesta es una matriz de cadenas que enumera los [Modos de video](docId\:QpML112mBhEK7LBDGUxnv) compatibles con el conector especificado en el modelo de reproductor especificado.

**Ejemplo**

```json
[
   "4096x2160x23.976p",
   "4096x2160x24p",
   "4096x2160x25p",
   "4096x2160x29.97p",
   "4096x2160x30p",
   "4096x2160x50p",
   "4096x2160x59.94p",
   "4096x2160x60p",
   "3840x2160x60p",
   "3840x2160x59.94p",
   "3840x2160x50p",
   "3840x2160x30p",
   "3840x2160x29.97p",
   "3840x2160x25p",
   "3840x2160x24p",
   "3840x2160x23.976p",
   "3840x1080x60p",
   "3840x1080x50p",
   "3840x1080x30p",
   "3840x1080x25p",
   "3840x600x60p",
   "3440x1440x60p",
   "3440x1440x50p",
   "3440x1440x30p",
   "2560x1600x60p",
   "2560x1440x60p",
   "2560x1440x30p",
   "2560x1080x60p",
   "2560x960x60p",
   "2048x1152x60p",
   "1920x1920x60p",
   "1920x1200x60p",
   "1920x1200x50p",
   "1920x1080x60p",
   "1920x1080x59.94p",
   "1920x1080x50p",
   "1920x1080x30p",
   "1920x1080x29.97p",
   "1920x1080x25p",
   "1920x1080x24p",
   "1920x1080x23.976p",
   "1920x1080x60i",
   "1920x1080x59.94i",
   "1920x1080x50i",
   "1920x540x60p",
   "1680x1050x60p",
   "1600x1200x60p",
   "1600x900x60p",
   "1440x1080x60p",
   "1440x900x75p",
   "1440x900x60p",
   "1400x1050x75p",
   "1400x1050x60p",
   "1366x768x60p",
   "1360x768x60p",
   "1280x1024x75p",
   "1280x1024x60p",
   "1280x960x60p",
   "1280x800x75p",
   "1280x800x60p",
   "1280x768x60p",
   "1280x720x60p",
   "1280x720x59.94p",
   "1280x720x50p",
   "1280x720x25p",
   "1280x720x24p",
   "1280x720x23.976p",
   "1200x1920x60p",
   "1024x768x75p",
   "1024x768x60p",
   "960x960x60p",
   "800x1280x60p",
   "800x600x75p",
   "800x600x60p",
   "720x576x50p",
   "720x576x50i",
   "720x480x60p",
   "720x480x60i",
   "720x480x59.94p",
   "640x480x60p"
]
```

**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 modelo de reproductor o conector proporcionado no existe o es incorrecto

<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 /Operations/&#x20;

Devuelve permisos operativos otorgados a los roles para operaciones comerciales específicas

**Token de alcance requerido**

bsn.api.main.operations.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/Devices/Operations/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

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

**Cuerpo de la respuesta correcta**

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

:::ExpandableHeading
Ejemplo

```json
{
   "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
   "singularName": "Full Control",
   "pluralName": "Device (Full Control)",
   "fullName": "Device (Full Control)",
   "targetEntity": "Device",
   "appliance": "Instance, Collection",
   "parent": null,
   "descendants":    [
            {
         "uid": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
         "singularName": "View Device",
         "pluralName": "View Devices",
         "fullName": "Device (Full Control) - View Devices",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:07.35Z"
            },
                        {
               "entityId": null,
               "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            }
         ]
      },
            {
         "uid": "0595648a-ab46-6bf4-417e-429d90821b49",
         "singularName": "Export Device",
         "pluralName": "Export Devices List",
         "fullName": "Device (Full Control) - Export Devices List",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "0595648a-ab46-6bf4-417e-429d90821b49",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:07.363Z"
            },
                        {
               "entityId": null,
               "operationUID": "0595648a-ab46-6bf4-417e-429d90821b49",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "0595648a-ab46-6bf4-417e-429d90821b49",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "0595648a-ab46-6bf4-417e-429d90821b49",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "0595648a-ab46-6bf4-417e-429d90821b49",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "0595648a-ab46-6bf4-417e-429d90821b49",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            }
         ]
      },
            {
         "uid": "3c97788f-e17a-42d4-b15d-65e53fb84ddc",
         "singularName": "View Device Downloads",
         "pluralName": "View Device Downloads",
         "fullName": "Device (Full Control) - View Device Downloads",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "3c97788f-e17a-42d4-b15d-65e53fb84ddc",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:07.4Z"
            },
                        {
               "entityId": null,
               "operationUID": "3c97788f-e17a-42d4-b15d-65e53fb84ddc",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "3c97788f-e17a-42d4-b15d-65e53fb84ddc",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "3c97788f-e17a-42d4-b15d-65e53fb84ddc",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "3c97788f-e17a-42d4-b15d-65e53fb84ddc",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "3c97788f-e17a-42d4-b15d-65e53fb84ddc",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            }
         ]
      },
            {
         "uid": "45b82bbe-34eb-4eab-8439-370d46cc5528",
         "singularName": "View Device Battery Status",
         "pluralName": "View Device Battery Status",
         "fullName": "Device (Full Control) - View Device Battery Status",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "45b82bbe-34eb-4eab-8439-370d46cc5528",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:07.413Z"
            },
                        {
               "entityId": null,
               "operationUID": "45b82bbe-34eb-4eab-8439-370d46cc5528",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "45b82bbe-34eb-4eab-8439-370d46cc5528",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "45b82bbe-34eb-4eab-8439-370d46cc5528",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "45b82bbe-34eb-4eab-8439-370d46cc5528",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "45b82bbe-34eb-4eab-8439-370d46cc5528",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            }
         ]
      },
            {
         "uid": "0cf93b59-dbd4-4ad1-89b4-4024c08d8ddc",
         "singularName": "View Remote Snapshots",
         "pluralName": "View Remote Snapshots",
         "fullName": "Device (Full Control) - View Remote Snapshots",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "0cf93b59-dbd4-4ad1-89b4-4024c08d8ddc",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:07.44Z"
            },
                        {
               "entityId": null,
               "operationUID": "0cf93b59-dbd4-4ad1-89b4-4024c08d8ddc",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "0cf93b59-dbd4-4ad1-89b4-4024c08d8ddc",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "0cf93b59-dbd4-4ad1-89b4-4024c08d8ddc",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "0cf93b59-dbd4-4ad1-89b4-4024c08d8ddc",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "0cf93b59-dbd4-4ad1-89b4-4024c08d8ddc",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            }
         ]
      },
            {
         "uid": "f396dc0f-f3b6-4d1b-acd4-4063b47e3025",
         "singularName": "View Device Log Reports",
         "pluralName": "View Device Log Reports",
         "fullName": "Device (Full Control) - View Device Log Reports",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "f396dc0f-f3b6-4d1b-acd4-4063b47e3025",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:07.427Z"
            },
                        {
               "entityId": null,
               "operationUID": "f396dc0f-f3b6-4d1b-acd4-4063b47e3025",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "f396dc0f-f3b6-4d1b-acd4-4063b47e3025",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "f396dc0f-f3b6-4d1b-acd4-4063b47e3025",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "f396dc0f-f3b6-4d1b-acd4-4063b47e3025",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "f396dc0f-f3b6-4d1b-acd4-4063b47e3025",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            }
         ]
      },
            {
         "uid": "9e4cc8d8-45fe-4fb4-01fc-170bf90449b2",
         "singularName": "Get Device Log Reports",
         "pluralName": "Get Device Log Reports",
         "fullName": "Device (Full Control) - Get Device Log Reports",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "9e4cc8d8-45fe-4fb4-01fc-170bf90449b2",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": false,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:07.453Z"
            },
                        {
               "entityId": null,
               "operationUID": "9e4cc8d8-45fe-4fb4-01fc-170bf90449b2",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "9e4cc8d8-45fe-4fb4-01fc-170bf90449b2",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "9e4cc8d8-45fe-4fb4-01fc-170bf90449b2",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "9e4cc8d8-45fe-4fb4-01fc-170bf90449b2",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "9e4cc8d8-45fe-4fb4-01fc-170bf90449b2",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            }
         ]
      },
            {
         "uid": "6e006934-6070-4a3a-bb7e-5527ef5a5034",
         "singularName": "Setup Device",
         "pluralName": "Setup Devices",
         "fullName": "Device (Full Control) - Setup Devices",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "6e006934-6070-4a3a-bb7e-5527ef5a5034",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "6e006934-6070-4a3a-bb7e-5527ef5a5034",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "6e006934-6070-4a3a-bb7e-5527ef5a5034",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "6e006934-6070-4a3a-bb7e-5527ef5a5034",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "6e006934-6070-4a3a-bb7e-5527ef5a5034",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            },
                        {
               "entityId": null,
               "operationUID": "6e006934-6070-4a3a-bb7e-5527ef5a5034",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:07.337Z"
            }
         ]
      },
            {
         "uid": "d89437e0-21fa-74b4-c1fe-b66c6270b176",
         "singularName": "Update Device",
         "pluralName": "Update Device",
         "fullName": "Device (Full Control) - Update Device",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "d89437e0-21fa-74b4-c1fe-b66c6270b176",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "d89437e0-21fa-74b4-c1fe-b66c6270b176",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "d89437e0-21fa-74b4-c1fe-b66c6270b176",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "d89437e0-21fa-74b4-c1fe-b66c6270b176",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "d89437e0-21fa-74b4-c1fe-b66c6270b176",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            },
                        {
               "entityId": null,
               "operationUID": "d89437e0-21fa-74b4-c1fe-b66c6270b176",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:07.337Z"
            }
         ]
      },
            {
         "uid": "c889ca96-5a6e-a904-318b-978d8f4282f6",
         "singularName": "Change Target Group",
         "pluralName": "Change Target Group",
         "fullName": "Device (Full Control) - Change Target Group",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "c889ca96-5a6e-a904-318b-978d8f4282f6",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "c889ca96-5a6e-a904-318b-978d8f4282f6",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "c889ca96-5a6e-a904-318b-978d8f4282f6",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "c889ca96-5a6e-a904-318b-978d8f4282f6",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "c889ca96-5a6e-a904-318b-978d8f4282f6",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            },
                        {
               "entityId": null,
               "operationUID": "c889ca96-5a6e-a904-318b-978d8f4282f6",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:07.337Z"
            }
         ]
      },
            {
         "uid": "1b213d9c-1fbe-44ed-86ab-f67179f12640",
         "singularName": "Manage Tags",
         "pluralName": "Manage Tags",
         "fullName": "Device (Full Control) - Manage Tags",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "1b213d9c-1fbe-44ed-86ab-f67179f12640",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "1b213d9c-1fbe-44ed-86ab-f67179f12640",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "1b213d9c-1fbe-44ed-86ab-f67179f12640",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "1b213d9c-1fbe-44ed-86ab-f67179f12640",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "1b213d9c-1fbe-44ed-86ab-f67179f12640",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            },
                        {
               "entityId": null,
               "operationUID": "1b213d9c-1fbe-44ed-86ab-f67179f12640",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:07.337Z"
            }
         ]
      },
            {
         "uid": "b15c6202-171f-40ac-80db-507f1b4f83e2",
         "singularName": "Unit Control",
         "pluralName": "Unit Control",
         "fullName": "Device (Full Control) - Unit Control",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "b15c6202-171f-40ac-80db-507f1b4f83e2",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "b15c6202-171f-40ac-80db-507f1b4f83e2",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "b15c6202-171f-40ac-80db-507f1b4f83e2",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "b15c6202-171f-40ac-80db-507f1b4f83e2",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "b15c6202-171f-40ac-80db-507f1b4f83e2",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            },
                        {
               "entityId": null,
               "operationUID": "b15c6202-171f-40ac-80db-507f1b4f83e2",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:07.337Z"
            }
         ]
      },
            {
         "uid": "6e41336d-be6b-4549-9acb-afb1cefe5211",
         "singularName": "Add Subscriptions",
         "pluralName": "Add Subscriptions",
         "fullName": "Device (Full Control) - Add Subscriptions",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "6e41336d-be6b-4549-9acb-afb1cefe5211",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "6e41336d-be6b-4549-9acb-afb1cefe5211",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "6e41336d-be6b-4549-9acb-afb1cefe5211",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "6e41336d-be6b-4549-9acb-afb1cefe5211",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "6e41336d-be6b-4549-9acb-afb1cefe5211",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            },
                        {
               "entityId": null,
               "operationUID": "6e41336d-be6b-4549-9acb-afb1cefe5211",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:07.337Z"
            }
         ]
      },
            {
         "uid": "3ec8d3c9-5ceb-c404-b976-cbc6ce2d95be",
         "singularName": "Edit Permissions",
         "pluralName": "Edit Permissions",
         "fullName": "Device (Full Control) - Edit Permissions",
         "targetEntity": "Device",
         "appliance": "Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "3ec8d3c9-5ceb-c404-b976-cbc6ce2d95be",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "3ec8d3c9-5ceb-c404-b976-cbc6ce2d95be",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "3ec8d3c9-5ceb-c404-b976-cbc6ce2d95be",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "3ec8d3c9-5ceb-c404-b976-cbc6ce2d95be",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "3ec8d3c9-5ceb-c404-b976-cbc6ce2d95be",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            },
                        {
               "entityId": null,
               "operationUID": "3ec8d3c9-5ceb-c404-b976-cbc6ce2d95be",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:07.337Z"
            }
         ]
      },
            {
         "uid": "da52a016-4e82-ce64-dded-a8dcd0de0ce3",
         "singularName": "Delete Device",
         "pluralName": "Delete Device",
         "fullName": "Device (Full Control) - Delete Device",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "da52a016-4e82-ce64-dded-a8dcd0de0ce3",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "da52a016-4e82-ce64-dded-a8dcd0de0ce3",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "da52a016-4e82-ce64-dded-a8dcd0de0ce3",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "da52a016-4e82-ce64-dded-a8dcd0de0ce3",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "da52a016-4e82-ce64-dded-a8dcd0de0ce3",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            },
                        {
               "entityId": null,
               "operationUID": "da52a016-4e82-ce64-dded-a8dcd0de0ce3",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:07.337Z"
            }
         ]
      },
            {
         "uid": "9e8c409d-b81f-46ed-bd60-c24ee77ce139",
         "singularName": "Revoke Tokens",
         "pluralName": "Revoke Tokens",
         "fullName": "Device (Full Control) - Revoke Tokens",
         "targetEntity": "Device",
         "appliance": "Instance, Collection",
         "parent":          {
            "uid": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
            "singularName": "Full Control",
            "pluralName": "Device (Full Control)",
            "fullName": "Device (Full Control)",
            "targetEntity": "Device",
            "appliance": "Instance, Collection",
            "parent": null,
            "descendants": null,
            "permissions": null
         },
         "descendants": [],
         "permissions":          [
                        {
               "entityId": null,
               "operationUID": "9e8c409d-b81f-46ed-bd60-c24ee77ce139",
               "principal":                {
                  "name": "Administrators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 1
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.153Z"
            },
                        {
               "entityId": null,
               "operationUID": "9e8c409d-b81f-46ed-bd60-c24ee77ce139",
               "principal":                {
                  "name": "General Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 2
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:05.41Z"
            },
                        {
               "entityId": null,
               "operationUID": "9e8c409d-b81f-46ed-bd60-c24ee77ce139",
               "principal":                {
                  "name": "Creators",
                  "isCustom": false,
                  "type": "Role",
                  "id": 3
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:05.72Z"
            },
                        {
               "entityId": null,
               "operationUID": "9e8c409d-b81f-46ed-bd60-c24ee77ce139",
               "principal":                {
                  "name": "Publishers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 4
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:06.163Z"
            },
                        {
               "entityId": null,
               "operationUID": "9e8c409d-b81f-46ed-bd60-c24ee77ce139",
               "principal":                {
                  "name": "Network Managers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 5
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": true,
               "creationDate": "2020-03-05T16:59:06.73Z"
            },
                        {
               "entityId": null,
               "operationUID": "9e8c409d-b81f-46ed-bd60-c24ee77ce139",
               "principal":                {
                  "name": "Viewers",
                  "isCustom": false,
                  "type": "Role",
                  "id": 6
               },
               "isFixed": true,
               "isInherited": true,
               "isAllowed": false,
               "creationDate": "2020-03-05T16:59:07.337Z"
            }
         ]
      }
   ],
   "permissions":    [
            {
         "entityId": null,
         "operationUID": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
         "principal":          {
            "name": "Administrators",
            "isCustom": false,
            "type": "Role",
            "id": 1
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": true,
         "creationDate": "2020-03-05T16:59:05.153Z"
      },
            {
         "entityId": null,
         "operationUID": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
         "principal":          {
            "name": "General Managers",
            "isCustom": false,
            "type": "Role",
            "id": 2
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": true,
         "creationDate": "2020-03-05T16:59:05.41Z"
      },
            {
         "entityId": null,
         "operationUID": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
         "principal":          {
            "name": "Creators",
            "isCustom": false,
            "type": "Role",
            "id": 3
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": false,
         "creationDate": "2020-03-05T16:59:05.72Z"
      },
            {
         "entityId": null,
         "operationUID": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
         "principal":          {
            "name": "Publishers",
            "isCustom": false,
            "type": "Role",
            "id": 4
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": false,
         "creationDate": "2020-03-05T16:59:06.163Z"
      },
            {
         "entityId": null,
         "operationUID": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
         "principal":          {
            "name": "Network Managers",
            "isCustom": false,
            "type": "Role",
            "id": 5
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": true,
         "creationDate": "2020-03-05T16:59:06.73Z"
      },
            {
         "entityId": null,
         "operationUID": "9bf0a633-52a5-6b94-2d45-16c4c1c8c025",
         "principal":          {
            "name": "Viewers",
            "isCustom": false,
            "type": "Role",
            "id": 6
         },
         "isFixed": true,
         "isInherited": false,
         "isAllowed": false,
         "creationDate": "2020-03-05T16:59:07.337Z"
      }
   ]
}
```
:::

**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">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 /\{id}/Permissions/ 

Devuelve la lista de permisos que permiten o deniegan la ejecución de operaciones comerciales específicas en el reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

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

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

**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/Devices/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 exitosa**

<font color="#089a4d">200</font>: Devuelve un arreglo de entidades [Permiso](docId\:hc70CptqCOfQdZw2spAEK) 

**Ejemplo**

```json
[
  {
    "entityId": 12345,
    "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
    "principal": {
      "login": "JaneDoe@brightsign.biz",
      "type": "User",
      "id": 54321
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "2023-10-06T15:55:35.587Z"
  },
  {
    "entityId": 12345,
    "operationUID": "0cf93b59-dbd4-4ad1-89b4-4024c08d8ddc",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 54321
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": true,
    "creationDate": "2023-10-06T15:55:35.553Z"
  }
]
```

**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 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

## POST /\{id}/Permissions/ 

Aplica permisos que permiten o deniegan la ejecución de operaciones comerciales específicas en un reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.update

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

**Segmento**

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

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

**Cuerpo de la solicitud**

- Un arreglo de [Permiso](docId\:hc70CptqCOfQdZw2spAEK) entidades

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

**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/Devices/12345/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 322
```

Este es el cuerpo de la solicitud de ejemplo:

```json
[
  {
    "entityId": 12345,
    "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
    "principal": {
      "login": "JaneDoe@brightsign.biz",
      "type": "User",
      "id": 54321
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "0001-01-01T00:00:00"
  }
]
```

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

**Respuesta exitosa**

<font color="#089a4d">204</font>: Los permisos especificados se otorgaron 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">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

## DELETE /\{id}/Permissions/ 

Elimina los permisos personalizados otorgados para ejecutar operaciones comerciales de un reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.update

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

**Segmento**

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

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

**Cuerpo de la solicitud**

- Un arreglo de [Permiso](docId\:hc70CptqCOfQdZw2spAEK) entidades

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

**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
DELETE /2022/06/REST/Devices/12345/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 322
```

Este es el cuerpo de solicitud de ejemplo:

```json
[
  {
    "entityId": 12345,
    "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
    "principal": {
      "login": "JaneDoe@brightsign.biz",
      "type": "User",
      "id": 54321
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "0001-01-01T00:00:00"
  }
]  
```

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

**Respuesta correcta**

<font color="#089a4d">204</font>: Los permisos especificados se eliminaron correctamente del reproductor

**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 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&#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

## GET /\{serial}/Permissions/&#x20;

Devuelve la lista de permisos que permiten o deniegan la ejecución de operaciones comerciales específicas en un reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor

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

**Ejemplo de solicitud**

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

- `serie` se establece en `46D89C001033`

```text
GET /2022/06/REST/Devices/46D89C001033/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 respuesta correcta**

<font color="#089a4d">200</font>: Devuelve una matriz de entidades [Permiso](docId\:hc70CptqCOfQdZw2spAEK)&#x20;

**Ejemplo**

```json
[
  {
    "entityId": 12345,
    "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
    "principal": {
      "login": "JaneDoe@brightsign.biz",
      "type": "User",
      "id": 54321
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "2023-10-06T15:55:35.587Z"
  },
  {
    "entityId": 12345,
    "operationUID": "0cf93b59-dbd4-4ad1-89b4-4024c08d8ddc",
    "principal": {
      "name": "Custom",
      "isCustom": true,
      "type": "Role",
      "id": 54321
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": true,
    "creationDate": "2023-10-06T15:55:35.553Z"
  }
]
```

**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&#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

## POST /\{serial}/Permissions/&#x20;

Aplica permisos que permiten o deniegan la ejecución de operaciones comerciales específicas en un reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.update

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor

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

**Cuerpo de la solicitud**

- Una matriz de entidades [Permiso](docId\:hc70CptqCOfQdZw2spAEK)

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

**Ejemplo de solicitud**

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

- `serie` se establece en `46D89C001032`

```text
POST /2022/06/REST/Devices/46D89C001032/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 322
```

Este es el cuerpo de solicitud de ejemplo:

```json
[
  {
    "entityId": 12345,
    "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
    "principal": {
      "login": "JaneDoe@brightsign.biz",
      "type": "User",
      "id": 54321
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "0001-01-01T00:00:00"
  }
]
```

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

**Respuesta correcta**

<font color="#089a4d">204</font>: Los permisos especificados se otorgaron correctamente

**Respuesta de error**

<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 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&#x20;

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

<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 /\{serial}/Permissions/&#x20;

Elimina los permisos personalizados otorgados para ejecutar operaciones comerciales de un reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.update

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor

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

**Cuerpo de la solicitud**

- Una matriz de entidades de [Permiso](docId\:hc70CptqCOfQdZw2spAEK)

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

**Ejemplo de solicitud**

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

- `serie` se establece en `46D89C001033`

```text
DELETE /2022/06/REST/Devices/46D89C001033/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 322
```

Este es el cuerpo de la solicitud de ejemplo:

```json
[
  {
    "entityId": 12345,
    "operationUID": "7d71c53e-ae40-59c4-f972-28e8b4dfabcf",
    "principal": {
      "login": "JaneDoe@brightsign.biz",
      "type": "User",
      "id": 54321
    },
    "isFixed": false,
    "isInherited": false,
    "isAllowed": false,
    "creationDate": "0001-01-01T00:00:00"
  }
]  
```

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

**Respuesta correcta**

<font color="#089a4d">204</font>: Los permisos especificados se eliminaron correctamente del reproductor

**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 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 

<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 lo especificado en el encabezado "Accept")

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

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

Valida un token de acceso o actualización de dispositivo OAuth2 en un reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.token.validate

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor
- `token` <font color="#704ae0">string: </font>Un token de acceso o actualización de dispositivo OAuth2 emitido para el reproductor especificado

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

**Ejemplo de solicitud**

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

- `serie` se establece en `47G49C000042`
- `token` se establece en `{{Token}}`

```text
GET /2022/06/REST/Device/47G49C000042/Tokens/{{Token}}/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UsersAccessToken}}
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 [Entidad de información del token](docId\:enPl448_e5z_X8X0RQsGT)&#x20;

**Ejemplo**

```json
{
   "token": {{Token}},
   "scope": "bdeploy certs bsn.api.device bsn.api.main.groups.regular.retrieve bsn.api.main.groups.regular.schedule.retrieve bsn.api.main.content.retrieve",
   "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 pudo devolverse 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">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

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

Revoca un token de acceso o de actualización de dispositivo OAuth2 en un reproductor especificado

**Token de Scope requerido**

bsn.api.main.devices.token.revoke

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor
- `token` <font color="#704ae0">string: </font>Un token de acceso o de actualización de dispositivo OAuth2 emitido para el reproductor especificado

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

**Ejemplo de solicitud**

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

- `serie` se establece en `47G49C000042`
- `token` se establece en `{{Token}}`

```text
DELETE /2022/06/REST/Device/47G49C000042/Tokens/{{Token}}/ 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**

<font color="#089a4d">204</font>: El token especificado se eliminó correctamente del reproductor

**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 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 solicitó (como se especifica en el encabezado "Accept")

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

## GET /\{id}/Tokens/\{token}/&#x20;

Valida un token de acceso o de actualización de dispositivo OAuth2 en un reproductor especificado

**Token de scope requerido**

bsn.api.main.devices.token.validate

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

**Segmento**

- `id` <font color="#704ae0">int: </font>Un identificador único para el reproductor
- `token` <font color="#704ae0">string: </font>Un token de acceso o de actualización de dispositivo OAuth2 emitido para el reproductor especificado

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

**Ejemplo de solicitud**

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

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

```text
GET /2022/06/REST/Device/123456/Tokens/{{Token}}/ 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 [Entidad de información del token](docId\:enPl448_e5z_X8X0RQsGT)&#x20;

**Ejemplo**

```json
{
   "token": {{Token}},
   "scope": "bdeploy certs bsn.api.device bsn.api.main.groups.regular.retrieve bsn.api.main.groups.regular.schedule.retrieve bsn.api.main.content.retrieve",
   "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 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 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)

<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

## DELETE /\{id}/Tokens/\{token}/&#x20;

Revoca un token de acceso o de actualización de dispositivo OAuth2 en un reproductor especificado

**Token de scope requerido**

bsn.api.main.devices.revoke

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

**Segmento**

- `id` <font color="#704ae0">int: </font>Un identificador único para el reproductor
- `token` <font color="#704ae0">string: </font>Un token de acceso o de actualización de dispositivo OAuth2 emitido para el reproductor especificado

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

**Ejemplo de solicitud**

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

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

```text
DELETE /2022/06/REST/Device/123456/Tokens/{{Token}}/ 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**

<font color="#089a4d">204</font>: El token especificado se eliminó correctamente del reproductor

**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 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 lo especificado en el encabezado "Accept")

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

## GET /All/Notes/

Recupera una lista de notas para todos los reproductores de la red.

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Parámetros de cadena de consulta**

- `filtro` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </font>Una [expresión](docId\:cOT2DfqiG9WykoYa94HEX) para filtrar los 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. La expresión de ordenación especifica la entrada utilizada para ordenar y el orden de clasificación ascendente/descendente (ASC/DESC) (consulte [esta página](docId\:cOT2DfqiG9WykoYa94HEX) para obtener más información). El valor predeterminado es null.
- `marcador` <font color="#704ae0">string</font> <font color="#01a0af">opcional: </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 complementos de ejecución automática supera el valor de `pageSize`. Este parámetro solo es necesario si usted necesita más elementos en la lista paginada que el valor de `pageSize` (100).
- `pageSize` <font color="#704ae0">int</font> <font color="#01a0af">opcional: </font>La cantidad máxima de instancias de reproductor que pueden incluirse en el cuerpo de respuesta. De forma predeterminada, se utiliza el tamaño máximo de página permitido (100).

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

**Ejemplo de solicitud**

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

- `pageSize` se establece en `1`
- `filtro` se establece en `[Device].[Id] ES '*inaccesible*'`
- `ordenar` se establece en `[LastModifiedDate] DESC`
- `marcador` se establece con el valor de la propiedad `[PagedList].[NextMarker]` de la respuesta anterior de BSN.Cloud API.

```text
GET /2022/06/REST/Devices/All/Notes/?pageSize=1&sort=%5BLastModifiedDate%5D%20DESC&filter=%5BDevice%5D.%5BId%5D%20IS%20%27%2Ainaccessible%2A%27&marker=oxNjo0NydaLDY0Njg2NA%3D 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 una [lista paginada](docId:1GSmBtULb07Tf6mcfQCxP) de instancias de [Nota del reproductor](docId\:TwSgzFk0K7uIUuC-ujZvS) en una red. Esto devolverá no más de 100 entidades junto con la información necesaria para devolver cualquier otra página restante.

:::ExpandableHeading
Ejemplo

```json
{
   "items": [   {
      "device":       {
         "id": 12345,
         "serial": "ABCD12345678"
      },
     "notes": "This player is behind the TV in an inaccessible place",
     "creationDate": "2024-01-10T18:30:11.123Z",
     "lastModifiedDate": "2024-03-15T15:51:01.123Z"
   }],
   "totalItemCount": 1024,
   "matchingItemCount": 1,
   "pageSize": 100,
   "nextMarker": "LDExOTc4M2A=",
   "prevMarker": "LDExOTc489ui",
   "isTruncated": false,
   "sortExpression": "[LastModifiedDate] DESC",
   "filterExpression": "[Device].[Id] IS '*inaccessible*'"
}
```
:::

**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ó (según se especifica en el encabezado "Accept")

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

## GET /\{id}/Notes/

Devuelve las notas para un reproductor especificado

**Token de alcance requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

`id` <font color="#704ae0">int: </font>Un identificador único para el reproductor

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

**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/Devices/12345/Notes/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Mon, 11 Mar 2024 10:00:00 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

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

**Respuesta correcta con cuerpo**

<font color="#089a4d">200</font>: Devuelve la instancia de [Nota del reproductor](docId\:TwSgzFk0K7uIUuC-ujZvS) para el reproductor especificado.

**Ejemplo**

```json
{
   "device":    {
      "id": 12345,
      "serial": "ABCD12345678"
   },
   "notes": "This player is behind the TV in an inaccessible place",
   "creationDate": "2024-01-10T18:30:11.123Z",
   "lastModifiedDate": "2024-03-15T15:51:01.123Z"
}
```

**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 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 /\{id}/Notes/

Actualiza las notas para el reproductor especificado. 

**Token de alcance requerido**

bsn.api.main.devices.update

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

**Segmento**

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

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

**Cuerpo de la solicitud**

- La [Nota del reproductor](docId\:TwSgzFk0K7uIUuC-ujZvS) 

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

**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/Devices/12345/Notes/ 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
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Content-Type: application/json
Content-Length: 59
```

Este es el cuerpo de solicitud de ejemplo:

```json
{
   "device":    {
      "id": 12345,
      "serial": "ABCD12345678"
   },
   "notes": "This player is behind the TV in an inaccessible place",
   "creationDate": "0001-01-01T00:00:00",
   "lastModifiedDate": "0001-01-01T00:00:00"
}
```

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

**Respuesta correcta**

<font color="#089a4d">204</font>: Las notas del reproductor especificado se actualizaron correctamente

**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 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 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>: 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">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 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 /\{serial}/Notes/

Devuelve las notas de un reproductor especificado

**Token de Scope requerido**

bsn.api.main.devices.retrieve

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor

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

**Ejemplo de solicitud**

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

- `id` se establece en `ABCD12345678`

```text
GET /2022/06/REST/Devices/ABCD12345678/Notes/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Mon, 11 Mar 2024 10:00:00 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
```

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

**Respuesta correcta con cuerpo**

<font color="#089a4d">200</font>: Devuelve la instancia de [Nota del reproductor](docId\:TwSgzFk0K7uIUuC-ujZvS) para el reproductor especificado

**Ejemplo**

```json
{
   "device":    {
      "id": 12345,
      "serial": "ABCD12345678"
   },
   "notes": "This player is behind the TV in an inaccessible place",
   "creationDate": "2024-01-10T18:30:11.123Z",
   "lastModifiedDate": "2024-03-15T15:51:01.123Z"
}
```

**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 ser devuelta 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

<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

## PUT /\{serial}/Notes/

Actualiza las notas del reproductor especificado

**Token de Scope requerido**

bsn.api.main.devices.update

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

**Segmento**

- `serie` <font color="#704ae0">string: </font>El número de serie del reproductor

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

**Cuerpo de la solicitud**

- La [Nota del reproductor](docId\:TwSgzFk0K7uIUuC-ujZvS) 

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

**Ejemplo de solicitud**

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

- `serie` se establece en `ABCD12345678`

```text
PUT /2022/06/REST/Devices/ABCD12345678/Notes/ 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
If-Unmodified-Since: Wed, 13 Mar 2024 15:51:01 GMT
Content-Type: application/json
Content-Length: 59
```

Este es el cuerpo de la solicitud de ejemplo:

```json
{
   "device":    {
      "id": 12345,
      "serial": "ABCD12345678"
   },
   "notes": "This player is behind the TV in an inaccessible place",
   "creationDate": "0001-01-01T00:00:00",
   "lastModifiedDate": "0001-01-01T00:00:00"
}
```

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

**Respuesta exitosa**

<font color="#089a4d">204</font>: La nota del reproductor especificado se actualizó correctamente

**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 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">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 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
