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