API общих дашбордов
[ru] DOCS_SHARED: "docs/grafana/latest/developer-resources/api-reference/http-api/api-legacy/dashboard_public.ru.md" ("/hugo/content/docs/grafana/latest/developer-resources/api-reference/http-api/api-legacy/dashboard_public.ru.md:30:1") shared directory "docs/grafana/latest/shared" not found
Требования
Если вы используете Grafana Enterprise, для некоторых конечных точек потребуются определённые права. Дополнительные сведения см. в разделе Права управления доступом на основе ролей.
Создание общего дашборда
POST /api/dashboards/uid/:uid/public-dashboards/
Создаёт новый общий дашборд.
Требуемые права
Пояснения см. в примечании во введении.
Пример запроса на создание нового общего дашборда:
POST /api/dashboards/uid/xCpsVuc4z/public-dashboards/ HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>
{
"uid": "cd56d9fd-f3d4-486d-afba-a21760e2acbe",
"accessToken": "5c948bf96e6a4b13bd91975f9a2028b7",
"timeSelectionEnabled": false,
"isEnabled": true,
"annotationsEnabled": false,
"share": "public"
}
Схема тела JSON:
- uid — необязательно. Уникальный идентификатор при создании общего дашборда. Если он равен null, будет сгенерирован новый uid.
- accessToken — необязательно. Уникальный токен доступа. Если он равен null, будет сгенерирован новый токен доступа.
- timeSelectionEnabled — необязательно. Установите
true, чтобы включить выбор времени в общем дашборде. Значение по умолчанию —false. - isEnabled — необязательно. Установите
true, чтобы включить общий дашборд. Значение по умолчанию —false. - annotationsEnabled — необязательно. Установите
true, чтобы показывать аннотации. Значение по умолчанию —false. - share — необязательно. Задаёт режим общего доступа. Значение по умолчанию —
public.
Пример ответа:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78
{
"uid": "cd56d9fd-f3d4-486d-afba-a21760e2acbe",
"dashboardUid": "xCpsVuc4z",
"accessToken": "5c948bf96e6a4b13bd91975f9a2028b7",
"createdBy": 1,
"updatedBy": 1,
"createdAt": "2023-09-05T15:48:21-03:00",
"updatedAt": "2023-09-05T15:48:21-03:00",
"timeSelectionEnabled": false,
"isEnabled": false,
"annotationsEnabled": false,
"share": "public"
}
Коды состояния:
- 200 – Создано
- 400 – Ошибки (например, некорректный json, отсутствующие или недопустимые поля, либо дашборд уже является общим)
- 401 – Не авторизован
- 403 – Доступ запрещён
- 404 – Дашборд не найден
Тело ответа об ошибке будет содержать следующие свойства:
HTTP/1.1 400 Bad request
Content-Type: application/json; charset=UTF-8
Content-Length: 107
{
"statusCode": 400,
"messageId": "publicdashboards.dashboardIsPublic",
"message": "Dashboard is already public"
}
Обновление общего дашборда
PATCH /api/dashboards/uid/:uid/public-dashboards/:publicDashboardUid
Обновляет общий дашборд по указанному уникальному идентификатору (uid).
Требуемые права
Пояснения см. в примечании во введении.
Пример запроса на обновление общего дашборда:
PATCH /api/dashboards/uid/xCpsVuc4z/public-dashboards/cd56d9fd-f3d4-486d-afba-a21760e2acbe HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>
{
"timeSelectionEnabled": false,
"isEnabled": true,
"annotationsEnabled": false,
"share": "public"
}
Схема тела JSON:
- timeSelectionEnabled — необязательно. Установите
true, чтобы включить выбор времени в общем дашборде. Значение по умолчанию —false. - isEnabled — необязательно. Установите
true, чтобы включить общий дашборд. Значение по умолчанию —false. - annotationsEnabled — необязательно. Установите
true, чтобы показывать аннотации. Значение по умолчанию —false. - share — необязательно. Задаёт режим общего доступа. Значение по умолчанию —
public.
Пример ответа:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78
{
"uid": "cd56d9fd-f3d4-486d-afba-a21760e2acbe",
"dashboardUid": "xCpsVuc4z",
"accessToken": "5c948bf96e6a4b13bd91975f9a2028b7",
"createdBy": 1,
"updatedBy": 1,
"createdAt": "2023-09-05T15:48:21-03:00",
"updatedAt": "2023-09-05T15:48:21-03:00",
"timeSelectionEnabled": false,
"isEnabled": false,
"annotationsEnabled": false,
"share": "public"
}
Коды состояния:
- 200 – Обновлено
- 400 – Ошибки (например, некорректный json, отсутствующие или недопустимые поля)
- 401 – Не авторизован
- 403 – Доступ запрещён
- 404 – Дашборд не найден
Тело ответа об ошибке будет содержать следующие свойства:
HTTP/1.1 400 Bad request
Content-Type: application/json; charset=UTF-8
Content-Length: 107
{
"statusCode": 400,
"messageId": "publicdashboards.dashboardIsPublic",
"message": "Dashboard is already public"
}
Получение общего дашборда по uid дашборда
GET /api/dashboards/uid/:uid/public-dashboards/
Возвращает общий дашборд по уникальному идентификатору дашборда (uid).
Требуемые права
Пояснения см. в примечании во введении.
Пример запроса:
GET /api/dashboards/uid/xCpsVuc4z/public-dashboards/ HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>
Пример ответа:
HTTP/1.1 200
Content-Type: application/json
{
"uid": "e71950f3-e7dd-4d1e-aa8a-a857bc5e7d64",
"dashboardUid": "xCpsVuc4z",
"accessToken": "dab10f3a4fbb4342a602b03079c7ed64",
"createdBy": 1,
"updatedBy": 1,
"createdAt": "2023-09-05T15:48:21-03:00",
"updatedAt": "2023-09-05T15:48:21-03:00",
"timeSelectionEnabled": false,
"isEnabled": false,
"annotationsEnabled": false,
"share": "public"
}
Коды состояния:
- 200 – Найдено
- 401 – Не авторизован
- 403 – Доступ запрещён
- 404 – Дашборд не найден
Удаление общего дашборда по uid дашборда и uid общего дашборда
DELETE /api/dashboards/uid/:uid/public-dashboards/:publicDashboardUid
Удаляет общий дашборд по указанному уникальному идентификатору (uid).
Требуемые права
Пояснения см. в примечании во введении.
Пример запроса:
DELETE /api/dashboards/uid/xCpsVuc4z/public-dashboards/cd56d9fd-f3d4-486d-afba-a21760e2acbe HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>
Коды состояния:
- 200 – Удалено
- 401 – Не авторизован
- 403 – Доступ запрещён
Получение списка всех общих дашбордов с постраничной выдачей
GET /api/dashboards/public-dashboards
Требуемые права
Пояснения см. в примечании во введении.
Пример запроса:
GET /api/dashboards/public-dashboards?perpage=2&page=3 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>
Пример ответа:
HTTP/1.1 200
Content-Type: application/json
{
"publicDashboards": [
{
"uid": "e9f29a3c-fcc3-4fc5-a690-ae39c97d24ba",
"accessToken": "6c13ec1997ba48c5af8c9c5079049692",
"title": "Datasource Shared Queries",
"dashboardUid": "d2f21d0a-76c7-47ec-b5f3-9dda16e5a996",
"isEnabled": true
},
{
"uid": "a174f604-6fe7-47de-97b4-48b7e401b540",
"accessToken": "d1fcff345c0f45e8a78c096c9696034a",
"title": "Datasource with template variables",
"dashboardUid": "51DiOw0Vz",
"isEnabled": true
}
],
"totalCount": 30,
"page": 3,
"perPage": 2
}