API d'équipe - Amazon Managed Grafana

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

API d'équipe

Utilisez l'API Team pour travailler avec des équipes dans un espace de travail Amazon Managed Grafana. Toutes les actions de cette API nécessitent que vous ayez le rôle d'administrateur.

Note

Pour utiliser une API Grafana avec votre espace de travail Amazon Managed Grafana, vous devez disposer d'un jeton d'API Grafana valide. Vous l'incluez dans le Authorization champ de la demande d'API. Pour plus d'informations sur la création d'un jeton pour authentifier vos appels d'API, consultezAuthentifiez-vous avec des jetons.

Recherche par équipe avec pagination

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

or

GET /api/teams/search?name=myteam

Exemple de demande

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

Utilisation du paramètre de requête

La valeur par défaut du perpage paramètre est 1000 et celle du page paramètre est 1.

Le totalCount champ de la réponse peut être utilisé pour la pagination de la liste des équipes. Par exemple, s'il s'totalCountagit de 100 équipes et que le perpage paramètre est défini sur 10, il y a 10 pages d'équipes.

Le query paramètre est facultatif et renvoie des résultats lorsque la valeur de la requête est contenue dans le name champ. Les valeurs de requête contenant des espaces doivent être codées en URL. Par exemple, query=my%20team.

Utilisation du paramètre name

Le name paramètre renvoie une seule équipe s'il correspond au name champ.

Exemple de réponse

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

Codes de statut :

  • 200 — Créé

  • 401 — Non autorisé

  • 403 — Permission refusée

  • 404 — L'équipe est introuvable (si vous recherchez par nom)

Obtenir une équipe par identifiant

GET /api/teams/:id

Exemple de demande

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

Exemple de réponse

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

Ajouter une équipe

Les membres name de l'équipe doivent être uniques. Le name champ est obligatoire et les orgId champs email et sont facultatifs.

POST /api/teams

Exemple de demande

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

Exemple de réponse

HTTP/1.1 200 Content-Type: application/json {"message":"Team created","teamId":2}

Codes de statut :

  • 200 — Créé

  • 401 — Non autorisé

  • 403 — Permission refusée

  • 409 — Le nom de l'équipe existe déjà

Équipe de mise à jour

PUT /api/teams/:id

Seuls les email champs name et peuvent être mis à jour.

Exemple de demande

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

Exemple de réponse

HTTP/1.1 200 Content-Type: application/json {"message":"Team updated"}

Codes de statut :

  • 200 — Créé

  • 401 — Non autorisé

  • 403 — Permission refusée

  • 404 — L'équipe n'a pas été trouvée

  • 409 — Le nom de l'équipe existe déjà

Supprimer l'équipe par identifiant

DELETE /api/teams/:id

Exemple de demande

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

Exemple de réponse

HTTP/1.1 200 Content-Type: application/json {"message":"Team deleted"}

Codes de statut :

  • 200 — Créé

  • 401 — Non autorisé

  • 403 — Permission refusée

  • 404 — L'équipe n'a pas été trouvée

Trouvez des membres de l'équipe

GET /api/teams/:teamId/members

Exemple de demande

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

Exemple de réponse

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

Codes de statut :

  • 200 — Créé

  • 401 — Non autorisé

  • 403 — Permission refusée

Ajouter un membre de l'équipe

POST /api/teams/:teamId/members

Exemple de demande

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

Exemple de réponse

HTTP/1.1 200 Content-Type: application/json {"message":"Member added to Team"}

Codes de statut :

  • 200 — Créé

  • 400 — L'utilisateur fait déjà partie de l'équipe

  • 401 — Non autorisé

  • 403 — Permission refusée

  • 404 — L'équipe n'a pas été trouvée

Supprimer un membre de l'équipe

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

Exemple de demande

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

Exemple de réponse

HTTP/1.1 200 Content-Type: application/json {"message":"Team Member removed"}

Codes de statut :

  • 200 — Créé

  • 401 — Non autorisé

  • 403 — Permission refusée

  • 404 — Équipe introuvable/membre de l'équipe introuvable

Obtenir les préférences de l'équipe

GET /api/teams/:teamId/preferences

Exemple de demande

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

Exemple de réponse

HTTP/1.1 200 Content-Type: application/json { "theme": "", "homeDashboardId": 0, "timezone": "" }

Mettre à jour les préférences des équipes

PUT /api/teams/:teamId/preferences

Exemple de demande

PUT /api/teams/2/preferences HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "theme": "dark", "homeDashboardId": 39, "timezone": "utc" }

Schéma de corps JSON :

  • theme — Spécifiez soit lightdark, soit une chaîne vide pour utiliser le thème par défaut.

  • homeDashboardId— Le chiffre :id d'un tableau de bord. La valeur par défaut est 0.

  • timezone — Spécifiez soit utcbrowser, soit une chaîne vide pour utiliser la valeur par défaut.

L'omission d'un paramètre entraîne le remplacement de la valeur actuelle par la valeur par défaut du système.

Exemple de réponse

HTTP/1.1 200 Content-Type: text/plain; charset=utf-8 { "message":"Preferences updated" }