

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Team-API
<a name="v12-Grafana-API-Team"></a>

Verwenden Sie die Team-API, um mit Teams in einem Amazon Managed Grafana-Arbeitsbereich zu arbeiten. Alle Aktionen in dieser API erfordern, dass Sie die Admin-Rolle haben.

**Anmerkung**  
Um eine Grafana-API mit Ihrem Amazon Managed Grafana-Workspace verwenden zu können, benötigen Sie ein gültiges Dienstkonto-Token. Sie fügen dies in das `Authorization` Feld in der API-Anfrage ein.

## Teamsuche mit Paginierung
<a name="v12-Grafana-API-Team-Searchpaging"></a>

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

oder

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

**Beispielanforderung**

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

**Verwenden des Abfrageparameters**

Der Standardwert für den `perpage` Parameter ist 1000 und für den `page` Parameter ist 1.

Das `totalCount` Feld in der Antwort kann für die Seitennummerierung der Teamliste verwendet werden. Wenn `totalCount` es beispielsweise 100 Teams ist und der `perpage` Parameter auf 10 gesetzt ist, dann gibt es 10 Seiten mit Teams.

Der `query` Parameter ist optional und gibt Ergebnisse zurück, bei denen der Abfragewert im `name` Feld enthalten ist. Abfragewerte mit Leerzeichen müssen sein URL-encoded. Beispiel, `query=my%20team`.

**Verwenden Sie den Name-Parameter**

Der `name` Parameter gibt ein einzelnes Team zurück, wenn der Parameter mit dem `name` Feld übereinstimmt.

**Beispielantwort**

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

Statuscodes:
+ **200** — Erstellt
+ **401** — Nicht autorisiert
+ **403** — Genehmigung verweigert
+ **404** — Team nicht gefunden (wenn nach Namen gesucht wird)

## Rufe das Team anhand der ID ab
<a name="v12-Grafana-API-Team-getbyId"></a>

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

**Beispielanforderung**

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

**Beispielantwort**

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

## Füge ein Team hinzu
<a name="v12-Grafana-API-Team-add"></a>

Die `name` des Teams muss einzigartig sein. Das `name` Feld ist erforderlich und die `orgId` Felder `email` und sind optional.

```
POST /api/teams
```

**Beispielanforderung**

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

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

**Beispielantwort**

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

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

Statuscodes:
+ **200** — Erstellt
+ **401** — Nicht autorisiert
+ **403** — Genehmigung verweigert
+ **409** — Der Teamname ist bereits vorhanden

## Team aktualisieren
<a name="v12-Grafana-API-Team-update"></a>

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

Nur die `email` Felder `name` und können aktualisiert werden.

**Beispielanforderung**

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

**Beispielantwort**

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

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

Statuscodes:
+ **200** — Erstellt
+ **401** — Nicht autorisiert
+ **403** — Genehmigung verweigert
+ **404** — Team nicht gefunden
+ **409** — Der Teamname ist bereits vorhanden

## Team nach ID löschen
<a name="v12-Grafana-API-Team-deletebyId"></a>

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

**Beispielanforderung**

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

**Beispielantwort**

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

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

Statuscodes:
+ **200** — Erstellt
+ **401** — Nicht autorisiert
+ **403** — Genehmigung verweigert
+ **404** — Team nicht gefunden

## Holen Sie sich Teammitglieder
<a name="v12-Grafana-API-Team-getmembers"></a>

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

**Beispielanforderung**

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

**Beispielantwort**

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

Statuscodes:
+ **200** — Erstellt
+ **401** — Nicht autorisiert
+ **403** — Genehmigung verweigert

## Teammitglied hinzufügen
<a name="v12-Grafana-API-Team-addmember"></a>

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

**Beispielanforderung**

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

**Beispielantwort**

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

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

Statuscodes:
+ **200** — Erstellt
+ **400** — Der Benutzer ist bereits im Team
+ **401** — Nicht autorisiert
+ **403** — Genehmigung verweigert
+ **404** — Team nicht gefunden

## Mitglied aus dem Team entfernen
<a name="v12-Grafana-API-Team-removemember"></a>

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

**Beispielanforderung**

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

**Beispielantwort**

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

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

Statuscodes:
+ **200** — Erstellt
+ **401** — Nicht autorisiert
+ **403** — Genehmigung verweigert
+ **404** — Team, kein found/team Mitglied, nicht gefunden

## Holen Sie sich die Teameinstellungen
<a name="v12-Grafana-API-Team-getpreferences"></a>

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

**Beispielanforderung**

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

**Beispielantwort**

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

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

## Aktualisieren Sie die Teameinstellungen
<a name="v12-Grafana-API-Team-updatepreferences"></a>

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

**Beispielanforderung**

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

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

JSON-Textschema:
+ **Thema** — Geben Sie entweder `light``dark`, oder eine leere Zeichenfolge an, um das Standarddesign zu verwenden.
+ **home DashboardId** — Die Zahl `:id` eines Dashboards. Der Standardwert ist 0.
+ **Zeitzone** — Geben Sie entweder `utc``browser`, oder eine leere Zeichenfolge an, um die Standardeinstellung zu verwenden. 

Wenn Sie einen Parameter weglassen, wird der aktuelle Wert durch den Standardwert des Systems ersetzt.

**Beispielantwort**

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

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