

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 des versions du tableau de bord
<a name="Grafana-API-DashboardVersions"></a>

Utilisez l'API Dashboard Versions pour récupérer les versions du tableau de bord et restaurer une version spécifiée d'un tableau de bord.

**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, consultez[Authentifiez-vous avec des jetons](authenticating-grafana-apis.md).

## Accédez à toutes les versions du tableau de bord
<a name="Grafana-API-DashboardVersions-getall"></a>

```
GET /api/dashboards/id/:dashboardId/versions
```

Obtient toutes les versions de tableau de bord existantes pour le tableau de bord avec le paramètre donné`dashboardId`.

Paramètres de requête :
+ **limit** — Nombre maximum de résultats à renvoyer.
+ **start** — Version à partir de laquelle démarrer lors du renvoi de requêtes.

**Exemple de demande**

```
GET /api/dashboards/id/1/versions?limit=2?start=0 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Exemple de réponse**

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 428

[
  {
    "id": 2,
    "dashboardId": 1,
    "parentVersion": 1,
    "restoredFrom": 0,
    "version": 2,
    "created": "2017-06-08T17:24:33-04:00",
    "createdBy": "admin",
    "message": "Updated panel title"
  },
  {
    "id": 1,
    "dashboardId": 1,
    "parentVersion": 0,
    "restoredFrom": 0,
    "version": 1,
    "created": "2017-06-08T17:23:33-04:00",
    "createdBy": "admin",
    "message": "Initial save"
  }
]
```

Codes de statut :
+ **200** — OK
+ **400** — Erreurs
+ **401** — Non autorisé
+ **404** — Version du tableau de bord introuvable

## Obtenir la version du tableau de bord
<a name="Grafana-API-DashboardVersions-get"></a>

```
GET /api/dashboards/id/:dashboardId/versions/:id
```

Obtenez la version du tableau de bord avec l'identifiant donné, pour le tableau de bord avec l'identifiant donné`dashboardId`.

**Exemple de demande**

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

**Exemple de réponse**

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 1300

{
  "id": 1,
  "dashboardId": 1,
  "parentVersion": 0,
  "restoredFrom": 0,
  "version": 1,
  "created": "2017-04-26T17:18:38-04:00",
  "message": "Initial save",
  "data": {
    "annotations": {
      "list": [

      ]
    },
    "editable": true,
    "gnetId": null,
    "graphTooltip": 0,
    "hideControls": false,
    "id": 1,
    "links": [

    ],
    "rows": [
      {
        "collapse": false,
        "height": "250px",
        "panels": [

        ],
        "repeat": null,
        "repeatIteration": null,
        "repeatRowId": null,
        "showTitle": false,
        "title": "Dashboard Row",
        "titleSize": "h6"
      }
    ],
    "schemaVersion": 14,
    "style": "dark",
    "tags": [

    ],
    "templating": {
      "list": [

      ]
    },
    "time": {
      "from": "now-6h",
      "to": "now"
    },
    "timepicker": {
      "refresh_intervals": [
        "5s",
        "10s",
        "30s",
        "1m",
        "5m",
        "15m",
        "30m",
        "1h",
        "2h",
        "1d"
      ],
      "time_options": [
        "5m",
        "15m",
        "1h",
        "6h",
        "12h",
        "24h",
        "2d",
        "7d",
        "30d"
      ]
    },
    "timezone": "browser",
    "title": "test",
    "version": 1
  },
  "createdBy": "admin"
}
```

Codes de statut :
+ **200** — OK
+ **401** — Non autorisé
+ **404** — Version du tableau de bord introuvable

## Restauration du tableau de bord
<a name="Grafana-API-DashboardVersions-restore"></a>

```
POST /api/dashboards/id/:dashboardId/restore
```

Restaure un tableau de bord à la version de tableau de bord que vous spécifiez.

**Exemple de demande**

```
POST /api/dashboards/id/1/restore
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "version": 1
}
```

Schéma de corps JSON :
+ **version : version** du tableau de bord vers laquelle effectuer la restauration. 

**Exemple de réponse**

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 67

{
  "slug": "my-dashboard",
  "status": "success",
  "version": 3
}
```

Schéma du corps de réponse JSON :
+ **slug** — Le slug convivial pour les URL du titre du tableau de bord. 
+ **statut** : si la restauration a réussi ou non.
+ **version** — La nouvelle version du tableau de bord suite à la restauration.

Codes de statut :
+ **200** — Créé
+ **401** — Non autorisé
+ **404** — Tableau de bord ou version du tableau de bord introuvable
+ **500** — Erreur interne du serveur (indique un problème lors de la récupération des balises du tableau de bord depuis la base de données)

Exemple de réponse d'erreur :

```
HTTP/1.1 404 Not Found
Content-Type: application/json; charset=UTF-8
Content-Length: 46

{
  "message": "Dashboard version not found"
}
```

Schéma du corps de réponse JSON :
+ **message** — Un message expliquant la raison de l'échec. 

## Comparez les versions du tableau de bord
<a name="Grafana-API-DashboardVersions-compare"></a>

```
POST /api/dashboards/calculate-diff
```

Compare deux versions de tableau de bord en calculant leur différence JSON.

**Exemple de demande**

```
POST /api/dashboards/calculate-diff HTTP/1.1
Accept: text/html
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "base": {
    "dashboardId": 1,
    "version": 1
  },
  "new": {
    "dashboardId": 1,
    "version": 2
  },
  "diffType": "json"
}
```

Schéma de corps JSON :
+ **base** — Objet représentant la version de base du tableau de bord. 
+ **new** — Objet représentant la nouvelle version du tableau de bord. 
+ **difftype** — Type de différence à renvoyer. Les valeurs valides sont `json` et `basic`.

Exemple de réponse (JSON diff)

```
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8

<p id="l1" class="diff-line diff-json-same">
  <!-- Diff omitted -->
</p>
```

La réponse est une représentation textuelle de la différence, les valeurs du tableau de bord étant en JSON, similaires aux différences observées sur des sites tels que ou. GitHub GitLab

Codes de statut :
+ **200** — OK
+ **200** — Demande incorrecte, JSON non valide envoyé
+ **401** — Non autorisé
+ **404** — Non trouvé

Exemple de réponse (Basic diff)

```
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8

<div class="diff-group">
  <!-- Diff omitted -->
</div>
```

La réponse est un résumé des modifications, dérivé de la différence entre les deux objets JSON.

Codes de statut :
+ **200** — OK
+ **200** — Demande incorrecte, JSON non valide envoyé
+ **401** — Non autorisé
+ **404** — Non trouvé