revert_recovery_operation
Undo a completed Disaster Recovery inside its window — a swapped channel put back, or the previous sign-in account restored.
Purpose
A channel recovery is undone one swap at a time: name the resource_id to put back on its old chat, and every active member is re-admitted there again. An account relink is undone whole, moving sign-in back to the previous account, signing the creator out everywhere and opening a disputed-relink incident for support; name no resource_id. A bot replacement cannot be undone. The window is 24 hours from completion by default; revertible on the operation says whether it is still open. Only the creator who ran the recovery may undo it.
This tool is annotated destructive: a client that supports the annotation asks a human before running it. The REST twin is POST /v1/recovery/operations/{operation}/revert.
Required ability
project-recovery:update
Input schema
{
"type": "object",
"required": [
"operation_id"
],
"properties": {
"operation_id": {
"type": "string",
"description": "UUID of the completed recovery to undo."
},
"resource_id": {
"type": "string",
"description": "For a channel recovery: the resource to put back. Omit for an account relink."
}
}
}Output shape
{
"data": {
"id": "9a4d2e71-5b38-4c6f-8e12-3d7c9b0a5f21",
"kind": "resources",
"kind_label": "Channels and Groups",
"status": "reverted",
"status_label": "Reverted",
"connector": "telegram",
"project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
"project_name": "Research Premium",
"grant_id": null,
"automatic": false,
"on_demand": true,
"failure_reason": null,
"started_at": "2026-09-12T10:00:00Z",
"completed_at": "2026-09-12T10:00:31Z",
"reverted_at": "2026-09-12T21:50:00Z",
"revertible": false,
"revert_window_ends_at": "2026-09-13T10:00:31Z"
},
"meta": {}
}Example prompts
"Undo the Signals swap from this morning, the new channel was the wrong one."
"Move my sign-in back to the old account."
Failure modes
VALIDATION_FAILED— the window has closed, the swap is already put back, a bot replacement, a channel recovery with noresource_id, or not the creator's own recovery; the context carries the reason.RESOURCE_NOT_FOUND—operation_idis not in this creator's ledger, orresource_idis not a resource they manage.AUTHENTICATION_REQUIRED— no authenticated user on the request.TOKEN_MISSING_ABILITY— token lacksproject-recovery:update.
Related
list_recovery_operations— find the operation and itsrevertibleflag.recovery.operation_reverted— the event it raises.- Recovery API
How is this guide?
request_resource_standby
Ask the creator, through the connector, to pick the chat that becomes the standby for one resource. Nothing is linked by the call itself.
set_resource_standby_mirror
Switch the live mirror into a resource's standby on or off, so a failover lands members in a channel that already holds the content.