remo · документация
EN

События: типы, конверт, доставка

Точный формат события, список типов, заголовки, подпись, повторы и очередь недоставленного.

Статус: доступно обновлено 2026-10-28

Типы событий

Тип Когда возникает subject payload
board.item.created создан объект командой или агентом id объекта { "objectType": "sticky_note" }
board.connector.created создана связь id связи { "from": "<id>", "to": "<id>" }
board.connector.updated изменён маршрут или точки связи id связи { "routing": "elbow" }
app.invoked вызвано действие приложения id приложения { "action": "app.hello" }

Содержимого доски в payload нет: только идентификаторы и типы.

Конверт

{
  "id": "9f0c3a4e-6f3a-4e57-9a2f-5d1c0d1c9b11",
  "type": "board.item.created",
  "orgId": "3f2c7d1a-8e4b-4c6a-9f01-2b3c4d5e6f70",
  "boardId": "roadmap-1a2b3c4d",
  "actor": { "id": "5b0e…", "type": "user" },
  "subject": "item_7c1e2f3a9b4d",
  "payload": { "objectType": "sticky_note" },
  "occurredAt": "2026-10-27T12:34:56.789Z"
}

actor.type — user, agent или integration. Для агента actor.id — id агента; человек, поставивший задачу, остаётся в строке задачи.

Заголовки

Заголовок Значение
X-Remo-Event id события: ключ идемпотентности
X-Remo-Event-Type тип события
X-Remo-Attempt номер попытки, начиная с 1
X-Remo-Signature t=<unix>,v1=<hex>
Content-Type application/json

Подпись — HMAC-SHA256 секретом подписки по строке "<t>.<тело>". Окно — 5 минут. Подписывается тело до разбора JSON.

Доставка

  • 2xx — доставлено, событие помечается опубликованным.
  • иной ответ, таймаут (5 секунд) или ошибка соединения — повтор.
  • лестница повторов: 10 с, 30 с, 2 мин, 10 мин, 30 мин, 1 ч, 3 ч.
  • восьмая неудача — dead_at, автоматических повторов больше нет.
  • доставка at-least-once: дедуплицируйте по X-Remo-Event.
  • редиректы запрещены.

Администрирование

Метод и путь Что делает
GET /orgs/:id/webhook конфигурация: url, enabled, fingerprint, lastDeliveryAt, lastError
PUT /orgs/:id/webhook создать или заменить эндпоинт; возвращает секрет один раз
POST /orgs/:id/webhook/rotate новый секрет
DELETE /orgs/:id/webhook удалить эндпоинт и секрет
GET /orgs/:id/webhook/deliveries?limit=50&dead=1 последние события организации
POST /orgs/:id/webhook/replay вернуть в очередь: {eventIds?} или все «мёртвые»

Все маршруты требуют администратора организации. Изменяющие маршруты и replay пишут аудит; чтение списка и доставок — нет.

Чего событий нет

Изменения и удаления существующих объектов и правки текста не порождают событий — ни у человека, ни у агента.

Куда дальше

HTTP API — маршруты, команды и коды ответов.