recovery.* events
The Disaster Recovery ledger as it moves — incidents opening and resolving, recoveries starting, finishing, failing and being undone, standbys kept and consumed, channels swapped and accounts relinked.
Disaster Recovery watches a creator's sign-in account, every project's bot and every channel or group a project sells, and swaps in what it can when a ban lands. Everything it detects and everything it does is a row in the recovery ledger, and every row change is announced here. The events name Subscriby ids and the connector key only; a platform's own identifiers never travel in a webhook.
Every recovery.* event requires project-recovery:view on the subscribing token. Events about a project carry that project's project_id; events about the creator's own account (an account incident, an account relink) carry project_id: null and are delivered to the endpoints of the team the creator owns.
Events
recovery.incident_opened
A probe found something banned, gone or unmanageable.
recovery.incident_resolved
The problem healed on its own or a recovery fixed it.
recovery.operation_started
A recovery began — by the creator, the platform, or on demand.
recovery.operation_completed
The recovery finished and its changes stand; the undo window is open.
recovery.operation_failed
The recovery failed before changing anything; the allowance is given back.
recovery.operation_reverted
The creator undid a recovery inside its window.
recovery.standby_registered
A spare bot or a spare channel is kept ready.
recovery.standby_removed
A standby was removed, replaced, or consumed by a recovery.
recovery.installation_failed_over
The platform switched a project onto its standby bot on its own after the live one was refused.
recovery.resource_failed_over
The platform swapped a banned channel for its standby on its own.
recovery.resource_replaced
The creator pointed a resource at a replacement channel or group.
recovery.identity_relinked
The creator's sign-in account moved to another account on the connector.
recovery.readiness_changed
A line of the readiness checklist changed state.
| Event | Fires when |
|---|---|
recovery.incident_opened | A health probe finds the creator's account unreachable, a project's bot refused, or a channel gone or no longer administered. |
recovery.incident_resolved | A later probe finds the thing healthy again, or a recovery replaces it. |
recovery.operation_started | A recovery of any kind begins. Once per operation, so swaps absorbed into a running channel recovery fire no second start. |
recovery.operation_completed | The recovery finishes and its changes stand. |
recovery.operation_failed | The recovery fails before changing anything. |
recovery.operation_reverted | The creator undoes a recovery inside its window; one event per swap put back, or one for an account relink. |
recovery.standby_registered | A standby bot is registered for a project, or a standby chat is linked to a resource. |
recovery.standby_removed | A standby is removed by the creator, replaced by another, or used in a recovery. |
recovery.installation_failed_over | Automatic failover switches a project onto its standby bot without the creator, after the platform refused the live one. |
recovery.resource_failed_over | Automatic failover swaps a banned channel for its standby without the creator. |
recovery.resource_replaced | The creator swaps a resource onto a replacement chat, in a recovery or on demand. |
recovery.identity_relinked | The creator's sign-in account is relinked to a newly detected account, or the backup account is switched in. |
recovery.readiness_changed | The readiness checklist's state differs from the last one recorded, after a recovery event or the nightly pass. |
See the dedicated pages above for full payload, field reference, and caveats per event.
Example payload — recovery.resource_failed_over
{
"id": "evt_01HX...",
"type": "recovery.resource_failed_over",
"created_at": "2026-09-12T03:19:42Z",
"api_version": "2026-05-01",
"project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
"data": {
"operation_id": "9a4d2e71-5b38-4c6f-8e12-3d7c9b0a5f21",
"project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
"resource_id": "b73c5f21-9d80-4a6e-8215-4f70ce13a9d6",
"resource_title": "Lounge",
"connector": "telegram",
"replaced_at": "2026-09-12T03:19:41Z"
}
}Related
- Recovery API — read the same ledger: incidents, operations with their undo state, the roll call, allowances and readiness.
- Disaster Recovery — what the program does and why.
project.resource.status_changed— the health verdict that precedes a resources incident.
How is this guide?