

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# API del team
<a name="v10-Grafana-API-Team"></a>

Usa l'API Team per lavorare con i team in uno spazio di lavoro Amazon Managed Grafana. Tutte le azioni in questa API richiedono che tu abbia il ruolo di amministratore.

**Nota**  
Per utilizzare un'API Grafana con il tuo spazio di lavoro Amazon Managed Grafana, devi disporre di un token di account di servizio valido. Lo includi nel `Authorization` campo della richiesta API.

## Ricerca in team con impaginazione
<a name="v10-Grafana-API-Team-Searchpaging"></a>

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

or

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

**Richiesta di esempio**

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

**Utilizzo del parametro di interrogazione**

Il valore predefinito per il `perpage` parametro è 1000 e per il `page` parametro è 1.

Il `totalCount` campo nella risposta può essere utilizzato per l'impaginazione dell'elenco delle squadre. Ad esempio, se `totalCount` sono 100 squadre e il `perpage` parametro è impostato su 10, allora ci sono 10 pagine di team.

Il `query` parametro è facoltativo e restituisce risultati in cui il valore della query è contenuto nel `name` campo. I valori della query con spazi devono essere URL-encoded. Ad esempio, `query=my%20team`.

**Utilizzo del parametro name**

Il `name` parametro restituisce una singola squadra se il parametro corrisponde al `name` campo.

**Esempio di risposta**

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

Codici di stato:
+ **200** — Creato
+ **401** — Non autorizzato
+ **403 - Autorizzazione** negata
+ **404** — Squadra non trovata (se si cerca per nome)

## Ottieni una squadra per ID
<a name="v10-Grafana-API-Team-getbyId"></a>

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

**Richiesta di esempio**

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

**Esempio di risposta**

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

## Aggiungi una squadra
<a name="v10-Grafana-API-Team-add"></a>

Il membro `name` della squadra deve essere unico. Il `name` campo è obbligatorio e i `orgId` campi `email` e sono facoltativi.

```
POST /api/teams
```

**Richiesta di esempio**

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

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

**Esempio di risposta**

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

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

Codici di stato:
+ **200** — Creato
+ **401** — Non autorizzato
+ **403 - Autorizzazione** negata
+ **409** - Il nome del team esiste già

## Aggiorna team
<a name="v10-Grafana-API-Team-update"></a>

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

È possibile aggiornare solo `email` i campi `name` e.

**Richiesta di esempio**

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

**Esempio di risposta**

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

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

Codici di stato:
+ **200** — Creato
+ **401** — Non autorizzato
+ **403 - Autorizzazione** negata
+ **404** — Squadra non trovata
+ **409** - Il nome del team esiste già

## Elimina il team per ID
<a name="v10-Grafana-API-Team-deletebyId"></a>

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

**Richiesta di esempio**

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

**Esempio di risposta**

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

{"message":"Team deleted"}
```

Codici di stato:
+ **200** — Creato
+ **401** — Non autorizzato
+ **403 - Autorizzazione** negata
+ **404** — Squadra non trovata

## Ottieni membri del team
<a name="v10-Grafana-API-Team-getmembers"></a>

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

**Richiesta di esempio**

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

**Esempio di risposta**

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

Codici di stato:
+ **200** — Creato
+ **401** — Non autorizzato
+ **403 - Autorizzazione** negata

## Aggiunta di un membro del team
<a name="v10-Grafana-API-Team-addmember"></a>

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

**Richiesta di esempio**

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

**Esempio di risposta**

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

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

Codici di stato:
+ **200** — Creato
+ **400** — L'utente fa già parte del team
+ **401** — Non autorizzato
+ **403 - Autorizzazione** negata
+ **404** — Squadra non trovata

## Rimuovi membro dal team
<a name="v10-Grafana-API-Team-removemember"></a>

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

**Richiesta di esempio**

```
DELETE /api/teams/2/members/3 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Esempio di risposta**

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

{"message":"Team Member removed"}
```

Codici di stato:
+ **200** — Creato
+ **401** — Non autorizzato
+ **403 - Autorizzazione** negata
+ **404** — Squadra non found/team iscritta non trovata

## Ottieni le preferenze del team
<a name="v10-Grafana-API-Team-getpreferences"></a>

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

**Richiesta di esempio**

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

**Esempio di risposta**

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

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

## Aggiorna le preferenze del team
<a name="v10-Grafana-API-Team-updatepreferences"></a>

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

**Richiesta di esempio**

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

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

Schema del corpo JSON:
+ **tema**: specifica uno dei due `light` o una stringa vuota per utilizzare il tema predefinito. `dark`
+ **home DashboardId** — Il valore numerico `:id` di una dashboard. Il valore predefinito è 0.
+ **timezone**: specifica uno dei due `utc` o una stringa vuota per utilizzare l'impostazione predefinita. `browser` 

L'omissione di un parametro causa la sostituzione del valore corrente con il valore predefinito del sistema.

**Esempio di risposta**

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

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