

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 equipes
<a name="Grafana-API-Team"></a>

Use a API de equipes para trabalhar com equipes em um espaço de trabalho do Amazon Managed Grafana. Todas as ações nessa API exigem que você tenha o perfil de administrador.

**nota**  
Para usar uma API do Grafana com o espaço de trabalho do Amazon Managed Grafana, você deve ter um token válido da API do Grafana. Você inclui isso no campo `Authorization` na solicitação da API. Para obter informações sobre como criar um token para autenticar as chamadas de API, consulte [Autenticação com tokens](authenticating-grafana-apis.md).

## Pesquisa de equipe com paginação
<a name="Grafana-API-Team-Searchpaging"></a>

```
GET /api/teams/search?perpage=50&page=1&query=myteam
```

or

```
GET /api/teams/search?name=myteam
```

**Exemplo de solicitação**

```
GET /api/teams/search?perpage=10&page=1&query=myteam HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Usar parâmetro de consulta**

O valor padrão para o parâmetro `perpage` é 1.000, e para o parâmetro `page`, é 1.

O campo `totalCount` na resposta pode ser usado para paginação da lista de equipes. Por exemplo, se `totalCount` for cem equipes e o parâmetro `perpage` estiver definido como dez, haverá dez páginas de equipes.

O parâmetro `query` é opcional e retorna resultados em que o valor da consulta está contido no campo `name`. Os valores de consulta com espaços precisam estar codificados em URL. Por exemplo, .`query=my%20team`

**Usar o nome do parâmetro**

O parâmetro `name` retornará uma única equipe se o parâmetro corresponder ao campo `name`.

**Exemplo de resposta**

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

{
  "totalCount": 1,
  "teams": [
    {
      "id": 1,
      "orgId": 1,
      "name": "MyTestTeam",
      "email": "",
      "avatarUrl": "\/avatar\/3f49c15916554246daa714b9bd0ee39",
      "memberCount": 1
    }
  ],
  "page": 1,
  "perPage": 1000
```

Códigos de status:
+ **200**: criado
+ **401**: não autorizado
+ **403**: permissão negada
+ **404**: equipe não encontrada (se estiver pesquisando por nome)

## Obter uma equipe por ID
<a name="Grafana-API-Team-getbyId"></a>

```
GET /api/teams/:id
```

**Exemplo de solicitação**

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

**Exemplo de resposta**

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

{
  "id": 1,
  "orgId": 1,
  "name": "MyTestTeam",
  "email": "",
  "created": "2017-12-15T10:40:45+01:00",
  "updated": "2017-12-15T10:40:45+01:00"
}
```

## Adicionar uma equipe
<a name="Grafana-API-Team-add"></a>

O `name` da equipe deve ser exclusivo. O campo `name` é obrigatório, e os campos `email` e `orgId` são opcionais.

```
POST /api/teams
```

**Exemplo de solicitação**

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

{
  "name": "MyTestTeam",
  "email": "email@test.com",
  "orgId": 2
}
```

**Exemplo de resposta**

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

{"message":"Team created","teamId":2}
```

Códigos de status:
+ **200**: criado
+ **401**: não autorizado
+ **403**: permissão negada
+ **409**: o nome da equipe já existe

## Atualizar equipe
<a name="Grafana-API-Team-update"></a>

```
PUT /api/teams/:id
```

Apenas os campos `name` e `email` podem ser atualizados.

**Exemplo de solicitação**

```
PUT /api/teams/2 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
        
{
  "name": "MyTestTeam",
  "email": "email@test.com"
}
```

**Exemplo de resposta**

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

{"message":"Team updated"}
```

Códigos de status:
+ **200**: criado
+ **401**: não autorizado
+ **403**: permissão negada
+ **404**: equipe não encontrada
+ **409**: o nome da equipe já existe

## Excluir equipe por ID
<a name="Grafana-API-Team-deletebyId"></a>

```
DELETE /api/teams/:id
```

**Exemplo de solicitação**

```
DELETE /api/teams/2 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":"Team deleted"}
```

Códigos de status:
+ **200**: criado
+ **401**: não autorizado
+ **403**: permissão negada
+ **404**: equipe não encontrada

## Obter membros da equipe
<a name="Grafana-API-Team-getmembers"></a>

```
GET /api/teams/:teamId/members
```

**Exemplo de solicitação**

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

**Exemplo de resposta**

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

[
  {
    "orgId": 1,
    "teamId": 1,
    "userId": 3,
    "email": "user1@email.com",
    "login": "user1",
    "avatarUrl": "\/avatar\/1b3c32f6386b0185c40d359cdc733a7"
  },
  {
    "orgId": 1,
    "teamId": 1,
    "userId": 2,
    "email": "user2@email.com",
    "login": "user2",
    "avatarUrl": "\/avatar\/cad3c68da76e45d10269e8ef02f8e7"
  }
]
```

Códigos de status:
+ **200**: criado
+ **401**: não autorizado
+ **403**: permissão negada

## Adicionar membro da equipe
<a name="Grafana-API-Team-addmember"></a>

```
POST /api/teams/:teamId/members
```

**Exemplo de solicitação**

```
POST /api/teams/1/members HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
      
{
  "userId": 2
}
```

**Exemplo de resposta**

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

{"message":"Member added to Team"}
```

Códigos de status:
+ **200**: criado
+ **400**: o usuário já está na equipe
+ **401**: não autorizado
+ **403**: permissão negada
+ **404**: equipe não encontrada

## Remover membro da equipe
<a name="Grafana-API-Team-removemember"></a>

```
DELETE /api/teams/:teamId/members/:userId
```

**Exemplo de solicitação**

```
DELETE /api/teams/2/members/3 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":"Team Member removed"}
```

Códigos de status:
+ **200**: criado
+ **401**: não autorizado
+ **403**: permissão negada
+ **404** — Equipe não found/team membro não encontrada

## Obter as preferências da equipe
<a name="Grafana-API-Team-getpreferences"></a>

```
GET /api/teams/:teamId/preferences
```

**Exemplo de solicitação**

```
GET /api/teams/2/preferences HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Exemplo de resposta**

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

{
  "theme": "",
  "homeDashboardId": 0,
  "timezone": ""
}
```

## Atualizar as preferências da equipe
<a name="Grafana-API-Team-updatepreferences"></a>

```
PUT /api/teams/:teamId/preferences
```

**Exemplo de solicitação**

```
PUT /api/teams/2/preferences HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "theme": "dark",
  "homeDashboardId": 39,
  "timezone": "utc"
}
```

Esquema do corpo JSON:
+ **tema**: especifique `light`, `dark` ou uma string vazia para usar o tema padrão.
+ **homeDashboardId**— O numérico `:id` de um painel. O padrão é 0.
+ **fuso horário**: especifique `utc`, `browser` ou uma string vazia para usar o padrão. 

A omissão de um parâmetro faz com que o valor atual seja substituído pelo valor padrão do sistema.

**Exemplo de resposta**

```
HTTP/1.1 200
Content-Type: text/plain; charset=utf-8

{
  "message":"Preferences updated"
}
```