Перейти к основному содержимому
Перейти к основному содержимому

Справочник API

ClickStack предоставляет REST API для программного управления дашбордами, оповещениями и источниками данных. API доступен как для Managed ClickStack (ClickHouse Cloud), так и для развертываний ClickStack Open Source, хотя их конечные точки и механизмы аутентификации различаются.

Документация по API

В управляемом ClickStack доступ к API осуществляется через ClickHouse Cloud API. Конечные точки ClickStack доступны в спецификации Cloud API.

Доступны следующие конечные точки:

РесурсОперации
DashboardsСоздание, получение списка, получение, обновление и удаление дашбордов
AlertsСоздание, получение списка, получение, обновление и удаление алертов
SourcesПолучение списка источников данных

Аутентификация

Управляемый ClickStack использует ClickHouse Cloud API key для аутентификации через HTTP Basic Authentication. Для создания и управления ключами API см. раздел Managing API keys.

Передайте идентификатор ключа и секрет с помощью HTTP Basic Authentication:

export KEY_ID=<your_key_id>
export KEY_SECRET=<your_key_secret>

curl --user $KEY_ID:$KEY_SECRET \
  https://api.clickhouse.cloud/v1/organizations/<ORG_ID>/services/<SERVICE_ID>/clickstack/dashboards

Базовый URL и формат запроса

Все запросы к API управляемого ClickStack отправляются в API ClickHouse Cloud:

https://api.clickhouse.cloud/v1/organizations/<ORG_ID>/services/<SERVICE_ID>/clickstack/<resource>

Вы можете найти свой Organization ID в консоли ClickHouse Cloud в разделе Organization → Organization details. Ваш Service ID виден в URL сервиса или на странице сведений о сервисе.

Пример: получение списка дашбордов

curl --user $KEY_ID:$KEY_SECRET \
  https://api.clickhouse.cloud/v1/organizations/<ORG_ID>/services/<SERVICE_ID>/clickstack/dashboards

Пример: создание оповещения

curl -X POST --user $KEY_ID:$KEY_SECRET \
  -H "Content-Type: application/json" \
  -d '{
    "dashboardId": "<DASHBOARD_ID>",
    "tileId": "<TILE_ID>",
    "threshold": 100,
    "interval": "1h",
    "source": "tile",
    "thresholdType": "above",
    "channel": {
      "type": "webhook",
      "webhookId": "<WEBHOOK_ID>"
    },
    "name": "Error Spike Alert",
    "message": "Error rate exceeded 100 in the last hour"
  }' \
  https://api.clickhouse.cloud/v1/organizations/<ORG_ID>/services/<SERVICE_ID>/clickstack/alerts