Admin API

Admin API управляет конфигурацией коллекций, правилами вебхуков и dead-letter очередью. Требует токен со скоупом admin.


Конфигурация коллекции

Получить конфигурацию

GET /api/v1/collections/{collection}/config

Обновить конфигурацию

PUT /api/v1/collections/{collection}/config
{
  "reliability_mode": "strict",
  "snapshot_every": 50,
  "plugins": ["hash_chain"]
}
Поле Тип Описание
reliability_mode string Режим по умолчанию: strict, durable, fast
snapshot_every integer Интервал слепков в событиях (по умолчанию 100)
plugins string[] Список активных плагинов, напр. ["hash_chain"]

Правила

Правила определяют условия, при которых срабатывают вебхуки.

Список правил

GET /api/v1/collections/{collection}/rules

Создать правило

POST /api/v1/collections/{collection}/rules
{
  "name": "notify-on-stage-change",
  "filter": "changes[?path=='stage']",
  "webhook": {
    "url": "https://example.com/hooks/letopis",
    "secret": "my-signing-secret",
    "timeout_ms": 5000,
    "max_retries": 5
  },
  "enabled": true
}
Поле Описание
filter JMESPath-выражение; правило срабатывает когда выражение истинно
webhook.secret Имя секрета из webhooks.secrets в конфиге

Обновить правило

PATCH /api/v1/collections/{collection}/rules/{ruleId}

Удалить правило

DELETE /api/v1/collections/{collection}/rules/{ruleId}

Вебхуки

Подпись

Каждая доставка вебхука включает заголовок:

X-Letopis-Signature: sha256=<hmac_hex>

HMAC вычисляется над сырым телом запроса с секретом из правила. Валидируйте его на принимающей стороне.


Dead-letter очередь

Неудавшиеся доставки после исчерпания всех повторов попадают в DLQ.

Список записей DLQ

GET /api/v1/dlq

Повторить доставку

POST /api/v1/dlq/{entryId}/replay

Повторная попытка доставки. Запись удаляется из DLQ и ставится в очередь как новая доставка.

Удалить запись DLQ

DELETE /api/v1/dlq/{entryId}

Физическое удаление сущности (GDPR)

DELETE /api/v1/collections/{collection}/entities/{entityId}

Физически удаляет все события, слепки и текущее состояние сущности. Надгробная запись сохраняется в ev__system.

Внимание: Операция необратима. Хэш-цепь этой сущности уничтожается; другие сущности не затрагиваются.