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.
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.
Background
Example payload
{
"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"
}
}Required ability
Tokens subscribing to recovery.* events must carry project-recovery:view.
Events
recovery.incident_openedA health probe found the creator's sign-in account unreachable, a project's bot refused by the platform, or a channel or group gone or no longer administered.recovery.incident_resolvedAn open incident closed: a later probe found the thing healthy again, or a recovery replaced it.recovery.operation_startedA recovery began: run by the creator, by the platform on their behalf, or on demand for a healthy resource.recovery.operation_completedA recovery finished and its changes stand; when it can be undone, the window is open from now.recovery.operation_failedA recovery failed before changing anything; the allowance it spent is given back.recovery.operation_revertedThe creator undid a recovery inside its window: a swapped channel put back, or the previous sign-in account restored.recovery.standby_registeredA spare bot is kept ready for a project, or a spare channel or group is kept ready for one resource.recovery.standby_removedA standby is no longer kept: the creator removed it, registered another in its place, or a recovery consumed it.recovery.installation_failed_overAutomatic failover switched a project onto its standby bot without the creator, because the platform refused the live one: the bot-side twin of `recovery.resource_failed_over`.recovery.resource_failed_overAutomatic failover swapped a banned channel or group for its standby without the creator: the failover you sleep through.recovery.resource_replacedThe creator pointed a resource at a replacement channel or group: in a recovery after a ban, or on demand for a healthy resource.recovery.identity_relinkedThe creator's sign-in account moved to another account on the connector: a newly detected one, or the backup switched in.recovery.readiness_changedA line of the Disaster Recovery readiness checklist changed state, and here is the whole checklist as it stands now.Related
How is this guide?
Last updated on