+++
title = "API моментальных снимков HTTP"
description = "Соберите HTTP API"
keywords = ["harvest", "http", "documentation", "api", "snapshot"]
aliases = ["/docs/harvest/latest/http_api/snapshot/"]
+++

# API моментальных снимков

## Создать новый снимок

`POST /api/snapshots`

**Пример Запроса**:

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

- ** панель управления ** – Требуется. Полная модель приборной панели.
- ** имя ** – Необязательно. имя моментального снимка
- ** истекает** - Необязательно. Когда срок действия моментального снимка истечет через несколько секунд. 3600 - это 1 час, 86400 - 1 день. По умолчанию срок действия никогда не истекает.
- ** внешний ** - Необязательно. Сохраните снимок на внешнем сервере, а не локально. Значение по умолчанию равно "false`.
- ** ключ ** - Необязательно. Определите уникальный ключ. Требуется, если **external** имеет значение "true`.
- **- ** Клавиша удаления** - Необязательно. Уникальный ключ, используемый для удаления моментального снимка. Он отличается от ключа **** тем, что только создатель может удалить снимок. Требуется, если **external** имеет значение "true`.

> ** Примечание: ** При создании моментального снимка с помощью API вы должны предоставить полную полезную нагрузку панели мониторинга, включая данные моментального снимка. Эта конечная точка предназначена для пользовательского интерфейса Harvest.

**Пример Ответа**:

```http
    HTTP/1.1 200
    Content-Type: application/json
    {
      "deleteKey":"XXXXXXX",
      "deleteUrl":"myurl/api/snapshots-delete/XXXXXXX",
      "key":"YYYYYYY",
      "url":"myurl/dashboard/snapshot/YYYYYYY",
      "id": 1,
    }
```

Ключи:

- ** deleteKey** – Ключ, сгенерированный для удаления моментального снимка
- ** ключ ** – Ключ, сгенерированный для совместного использования панели мониторинга

## Получить список моментальных снимков

`GET /api/dashboard/snapshots`

Параметры запроса:

- ** запрос** – Поисковый запрос
- ** ограничение ** – Ограничение количества возвращаемых результатов

**Пример Запроса**:

```http
GET /api/dashboard/snapshots HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Пример Ответа**:

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

[
  {
    "id":8,
    "name":"Home",
    "key":"YYYYYYY",
    "orgId":1,
    "userId":1,
    "external":false,
    "externalUrl":"",
    "expires":"2200-13-32T25:23:23+02:00",
    "created":"2200-13-32T28:24:23+02:00",
    "updated":"2200-13-32T28:24:23+02:00"
  }
]
```

## Get Snapshot by Key

`GET /api/snapshots/:key`

**Пример Ответа**:

```http
GET /api/snapshots/YYYYYYY HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Пример Ответа**:

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

{
  "meta":{
    "isSnapshot":true,
    "type":"snapshot",
    "canSave":false,
    "canEdit":false,
    "canStar":false,
    "slug":"",
    "expires":"2200-13-32T25:23:23+02:00",
    "created":"2200-13-32T28:24:23+02:00"
  },
  "dashboard": {
    "editable":false,
    "hideControls":true,
    "nav": [
      {
        "enable":false,
        "type":"timepicker"
      }
    ],
    "rows": [
      {

      }
    ],
    "style":"dark",
    "tags":[],
    "templating":{
      "list":[
      ]
    },
    "time":{
    },
    "timezone":"browser",
    "title":"Home",
    "version":5
  }
}
```

## Delete Snapshot by Key

`DELETE /api/snapshots/:key`

**Пример Ответа**:

```http
DELETE /api/snapshots/YYYYYYY HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Пример Ответа**:

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

{"message":"Snapshot deleted. It might take an hour before it's cleared from any CDN caches.", "id": 1}
```

## Delete Snapshot by deleteKey

Этот вызов API можно использовать без аутентификации, используя секретный ключ удаления для моментального снимка.

`GET /api/snapshots-delete/:deleteKey`

**Пример Ответа**:

```http
GET /api/snapshots-delete/XXXXXXX HTTP/1.1
Accept: application/json
```

**Пример Ответа**:

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

{"message":"Snapshot deleted. It might take an hour before it's cleared from any CDN caches.", "id": 1}
```
