

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# API de permisos de carpetas
<a name="v12-Grafana-API-FolderPermissions"></a>

Use la API de carpetas para actualizar o recuperar los permisos de una carpeta. 

Los permisos con `folderId=-1` son los predeterminados para los usuarios con los roles de espectador y editor. Los permisos se pueden establecer para un usuario, un equipo o un rol (Espectador o Editor). Los permisos no se pueden configurar para los administradores, ya que siempre tienen acceso a todo.

Los niveles de permisos del campo `permission` son los siguientes:
+ 1 = Visualización
+ 2 = Edición
+ 4 = Administración

**nota**  
Para usar una API de Grafana con tu espacio de trabajo de Grafana gestionado por Amazon, debes tener un token de cuenta de servicio válido. Lo incluye en el campo `Authorization` de la solicitud de API.

## Obtención de los permisos de una carpeta
<a name="v12-Grafana-API-FolderPermissions-get"></a>

```
GET /api/folders/:uid/permissions
```

Obtiene todos los permisos existentes para la carpeta con el `uid` indicado.

**Ejemplo de solicitud**

```
GET /api/folders/nErXDvCkzz/permissions HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Ejemplo de respuesta**

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 551

[
  {
    "id": 1,
    "folderId": -1,
    "created": "2017-06-20T02:00:00+02:00",
    "updated": "2017-06-20T02:00:00+02:00",
    "userId": 0,
    "userLogin": "",
    "userEmail": "",
    "teamId": 0,
    "team": "",
    "role": "Viewer",
    "permission": 1,
    "permissionName": "View",
    "uid": "nErXDvCkzz",
    "title": "",
    "slug": "",
    "isFolder": false,
    "url": ""
  },
  {
    "id": 2,
    "dashboardId": -1,
    "created": "2017-06-20T02:00:00+02:00",
    "updated": "2017-06-20T02:00:00+02:00",
    "userId": 0,
    "userLogin": "",
    "userEmail": "",
    "teamId": 0,
    "team": "",
    "role": "Editor",
    "permission": 2,
    "permissionName": "Edit",
    "uid": "",
    "title": "",
    "slug": "",
    "isFolder": false,
    "url": ""
  }
]
```

Códigos de estado:
+ **200**: correcto.
+ **401**: no autorizado.
+ **403**: acceso denegado.
+ **404**: no se encontró la carpeta.

## Actualización de los permisos de una carpeta
<a name="v12-Grafana-API-FolderPermissions-update"></a>

```
POST /api/folders/:uid/permissions
```

Actualiza los permisos de una carpeta. Esta operación elimina los permisos existentes si no están incluidos en la solicitud.

**Ejemplo de solicitud**

```
POST /api/folders/nErXDvCkzz/permissions
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
  "items": [
    {
      "role": "Viewer",
      "permission": 1
    },
    {
      "role": "Editor",
      "permission": 2
    },
    {
      "teamId": 1,
      "permission": 1
    },
    {
      "userId": 11,
      "permission": 4
    }
  ]
}
```

Esquema de cuerpo JSON:
+ **items**: elementos de permisos que se van a agregar o actualizar. Se eliminan los elementos existentes que se omiten de la lista. 

**Ejemplo de respuesta**

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35

{"message":"Folder permissions updated","id":1,"title":"Department ABC"}
```

Códigos de estado:
+ **200**: creado.
+ **401**: no autorizado.
+ **403**: acceso denegado.
+ **404**: no se encontró el panel.