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 no resource_id, or not the creator's own recovery; the context carries the reason.
  • RESOURCE_NOT_FOUNDoperation_id is not in this creator's ledger, or resource_id is not a resource they manage.
  • AUTHENTICATION_REQUIRED — no authenticated user on the request.
  • TOKEN_MISSING_ABILITY — token lacks project-recovery:update.

How is this guide?

On this page

Subscriby is a product designed by you — for you.

No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request