

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# API de pastas
<a name="v10-Grafana-API-Folder"></a>

Use a API de pastas para trabalhar com pastas no espaço de trabalho do Amazon Managed Grafana. 

O identificador (ID) de uma pasta é um valor numérico de incremento automático e é exclusivo somente por espaço de trabalho. O identificador exclusivo (UID) de uma pasta pode ser usado para identificar com exclusividade uma pasta entre vários espaços de trabalho. Ele será gerado automaticamente se você não fornecer um ao criar uma pasta. O UID permite ter URLs consistentes para acessar a pasta e ao sincronizar a pasta entre vários espaços de trabalho do Amazon Managed Grafana. O uso do UID significa que alterar o título de uma pasta não quebra nenhum link marcado para essa pasta.

A UID pode ter um tamanho máximo de 40 caracteres.

As pastas não podem ser aninhadas.

**nota**  
Para usar uma API do Grafana com seu espaço de trabalho Amazon Managed Grafana, você deve ter um token de conta de serviço válido. Você inclui isso no campo `Authorization` na solicitação da API.

A pasta **Geral**, com um `id` de 0, não faz parte da API de pastas. Você não pode usar a API de pastas para recuperar informações sobre a pasta geral. 

## Criar pasta
<a name="v10-Grafana-API-Folder-create"></a>

```
POST /api/folders
```

Cria uma pasta.

**Exemplo de solicitação**

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

{
  "uid": "nErXDvCkzz",
  "title": "Department ABC"
}
```

Esquema do corpo JSON:
+ **UID**: identificador exclusivo opcional. Se for nulo, um novo UID será gerado. 
+ **título**: o título da pasta.

**Exemplo de resposta**

```
HTTP/1.1 200
Content-Type: application/json

{
  "id":1,
  "uid": "nErXDvCkzz",
  "title": "Department ABC",
  "url": "/dashboards/f/nErXDvCkzz/department-abc",
  "hasAcl": false,
  "canSave": true,
  "canEdit": true,
  "canAdmin": true,
  "createdBy": "admin",
  "created": "2018-01-31T17:43:12+01:00",
  "updatedBy": "admin",
  "updated": "2018-01-31T17:43:12+01:00",
  "version": 1
}
```

Códigos de status:
+ **200**: criado
+ **400**: erro como JSON inválido, campos inválidos ou ausentes
+ **401**: não autorizado
+ **403**: acesso negado

## Atualizar pasta
<a name="v10-Grafana-API-Folder-update"></a>

```
PUT /api/folders/:uid
```

Atualiza a pasta existente que corresponde ao UID.

**Exemplo de solicitação**

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

{
  "title":"Department DEF",
  "version": 1
}
```

Esquema do corpo JSON:
+ **UID**: altera o identificador exclusivo, se fornecido. 
+ **título**: o título da pasta.
+ **versão**: forneça a versão atual para poder sobrescrever a pasta. Não será necessário se `overwrite=true`.
+ **sobrescrever**: defina como `true` para substituir a pasta existente por uma versão mais recente.

**Exemplo de resposta**

```
HTTP/1.1 200
Content-Type: application/json

{
  "id":1,
  "uid": "nErXDvCkzz",
  "title": "Department DEF",
  "url": "/dashboards/f/nErXDvCkzz/department-def",
  "hasAcl": false,
  "canSave": true,
  "canEdit": true,
  "canAdmin": true,
  "createdBy": "admin",
  "created": "2018-01-31T17:43:12+01:00",
  "updatedBy": "admin",
  "updated": "2018-01-31T17:43:12+01:00",
  "version": 1
}
```

Códigos de status:
+ **200**: criado
+ **400**: erro como JSON inválido, campos inválidos ou ausentes
+ **401**: não autorizado
+ **403**: acesso negado
+ **404**: pasta não encontrada
+ **412**: falha na pré-condição

O código de status **412** é usado para explicar por que a pasta não pode ser atualizada.
+  A pasta foi alterada por outra pessoa `status=version-mismatch` 

O corpo da resposta tem as seguintes propriedades:

```
HTTP/1.1 412 Precondition Failed
Content-Type: application/json; charset=UTF-8
Content-Length: 97

{
  "message": "The folder has been changed by someone else",
  "status": "version-mismatch"
}
```

## Obter todas as pastas
<a name="v10-Grafana-API-Folder-get-all"></a>

```
GET /api/folders
```

Retorna todas as pastas que você tem permissão para visualizar. Você pode controlar o número máximo de pastas retornadas usando o parâmetro `limit` de consulta. O padrão é 1000.

**Exemplo de solicitação**

```
GET /api/folders?limit=10 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Exemplo de resposta**

```
HTTP/1.1 200
Content-Type: application/json

[
  {
    "id":1,
    "uid": "nErXDvCkzz",
    "title": "Department ABC"
  },
  {
    "id":2,
    "uid": "k3S1cklGk",
    "title": "Department RND"
  }
]
```

## Obter pasta por UID
<a name="v10-Grafana-API-Folder-get-uid"></a>

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

Retorna todas as pastas que correspondem ao UID fornecido.

**Exemplo de solicitação**

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

**Exemplo de resposta**

```
HTTP/1.1 200
Content-Type: application/json

{
  "id":1,
  "uid": "nErXDvCkzz",
  "title": "Department ABC",
  "url": "/dashboards/f/nErXDvCkzz/department-abc",
  "hasAcl": false,
  "canSave": true,
  "canEdit": true,
  "canAdmin": true,
  "createdBy": "admin",
  "created": "2018-01-31T17:43:12+01:00",
  "updatedBy": "admin",
  "updated": "2018-01-31T17:43:12+01:00",
  "version": 1
}
```

Códigos de status:
+ **200**: encontrado
+ **401**: não autorizado
+ **403**: acesso negado
+ **404**: não encontrado

## Obter pasta por ID
<a name="v10-Grafana-API-Folder-get-uid"></a>

```
GET /api/folders/id/:id
```

Retorna a pasta que corresponde ao ID fornecido.

**Exemplo de solicitação**

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

**Exemplo de resposta**

```
HTTP/1.1 200
Content-Type: application/json

{
  "id":1,
  "uid": "nErXDvCkzz",
  "title": "Department ABC",
  "url": "/dashboards/f/nErXDvCkzz/department-abc",
  "hasAcl": false,
  "canSave": true,
  "canEdit": true,
  "canAdmin": true,
  "createdBy": "admin",
  "created": "2018-01-31T17:43:12+01:00",
  "updatedBy": "admin",
  "updated": "2018-01-31T17:43:12+01:00",
  "version": 1
}
```

Códigos de status:
+ **200**: encontrado
+ **401**: não autorizado
+ **403**: acesso negado
+ **404**: não encontrado

## Excluir pasta por UID
<a name="v10-Grafana-API-Folder-delete"></a>

```
DELETE /api/folders/:uid
```

Exclui a pasta correspondente ao UID e também todos os dashboards armazenados na pasta. Esta operação não poderá ser revertida.

**Exemplo de solicitação**

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

**Exemplo de resposta**

```
HTTP/1.1 200
Content-Type: application/json

{
  "message":"Folder deleted",
  "id": 2
}
```

Códigos de status:
+ **200**: excluído
+ **401**: não autorizado
+ **403**: acesso negado
+ **404**: não encontrado