mirror of
https://github.com/grafana/grafana.git
synced 2024-11-30 20:54:22 -06:00
4835539248
Makes all aliases rooted to /docs/grafana/latest. Fixes #21240
222 lines
4.3 KiB
Markdown
222 lines
4.3 KiB
Markdown
+++
|
||
title = "HTTP Snapshot API "
|
||
description = "Grafana HTTP API"
|
||
keywords = ["grafana", "http", "documentation", "api", "snapshot"]
|
||
aliases = ["/docs/grafana/latest/http_api/snapshot/"]
|
||
type = "docs"
|
||
[menu.docs]
|
||
name = "Snapshot"
|
||
parent = "http_api"
|
||
+++
|
||
|
||
# Snapshot API
|
||
|
||
## Create new snapshot
|
||
|
||
`POST /api/snapshots`
|
||
|
||
**Example Request**:
|
||
|
||
```http
|
||
POST /api/snapshots HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
|
||
{
|
||
"dashboard": {
|
||
"editable":false,
|
||
"hideControls":true,
|
||
"nav":[
|
||
{
|
||
"enable":false,
|
||
"type":"timepicker"
|
||
}
|
||
],
|
||
"rows": [
|
||
{
|
||
|
||
}
|
||
],
|
||
"style":"dark",
|
||
"tags":[],
|
||
"templating":{
|
||
"list":[
|
||
]
|
||
},
|
||
"time":{
|
||
},
|
||
"timezone":"browser",
|
||
"title":"Home",
|
||
"version":5
|
||
},
|
||
"expires": 3600
|
||
}
|
||
```
|
||
|
||
JSON Body schema:
|
||
|
||
- **dashboard** – Required. The complete dashboard model.
|
||
- **name** – Optional. snapshot name
|
||
- **expires** - Optional. When the snapshot should expire in seconds. 3600 is 1 hour, 86400 is 1 day. Default is never to expire.
|
||
- **external** - Optional. Save the snapshot on an external server rather than locally. Default is `false`.
|
||
- **key** - Optional. Define the unique key. Required if **external** is `true`.
|
||
- **deleteKey** - Optional. Unique key used to delete the snapshot. It is different from the **key** so that only the creator can delete the snapshot. Required if **external** is `true`.
|
||
|
||
**Example Response**:
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
{
|
||
"deleteKey":"XXXXXXX",
|
||
"deleteUrl":"myurl/api/snapshots-delete/XXXXXXX",
|
||
"key":"YYYYYYY",
|
||
"url":"myurl/dashboard/snapshot/YYYYYYY"
|
||
}
|
||
```
|
||
|
||
Keys:
|
||
|
||
- **deleteKey** – Key generated to delete the snapshot
|
||
- **key** – Key generated to share the dashboard
|
||
|
||
## Get list of Snapshots
|
||
|
||
`GET /api/dashboard/snapshots`
|
||
|
||
Query parameters:
|
||
|
||
- **query** – Search Query
|
||
- **limit** – Limit the number of returned results
|
||
|
||
**Example Request**:
|
||
|
||
```http
|
||
GET /api/dashboard/snapshots HTTP/1.1
|
||
Accept: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
```
|
||
|
||
**Example Response**:
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
```
|
||
|
||
## Get Snapshot by Key
|
||
|
||
`GET /api/snapshots/:key`
|
||
|
||
**Example Request**:
|
||
|
||
```http
|
||
GET /api/snapshots/YYYYYYY HTTP/1.1
|
||
Accept: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
```
|
||
|
||
**Example Response**:
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
```
|
||
|
||
## Delete Snapshot by Key
|
||
|
||
`DELETE /api/snapshots/:key`
|
||
|
||
**Example Request**:
|
||
|
||
```http
|
||
DELETE /api/snapshots/YYYYYYY HTTP/1.1
|
||
Accept: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
```
|
||
|
||
**Example Response**:
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
```
|
||
|
||
## Delete Snapshot by deleteKey
|
||
|
||
This API call can be used without authentication by using the secret delete key for the snapshot.
|
||
|
||
`GET /api/snapshots-delete/:deleteKey`
|
||
|
||
**Example Request**:
|
||
|
||
```http
|
||
GET /api/snapshots-delete/XXXXXXX HTTP/1.1
|
||
Accept: application/json
|
||
```
|
||
|
||
**Example Response**:
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
``` |