Version

Disaster Recovery API

Everything the Disaster Recovery pages show a creator is readable here: what the health probes found broken, what was done about it and whether it can still be undone, how many members a channel recovery has re-admitted so far, how many self-service recoveries the rolling window still allows, and how ready the account is for the next ban.

Everything the Disaster Recovery pages show a creator is readable here: what the health probes found broken, what was done about it and whether it can still be undone, how many members a channel recovery has re-admitted so far, how many self-service recoveries the rolling window still allows, and how ready the account is for the next ban. And everything a creator does about it afterwards is here too: the per-project settings, the standbys kept ready, the two requests that start a chat picker on the connector, the undo, the reminder to stragglers, the handover mail after a bot replacement, and the member list to keep before one.

The ledger endpoints live under /v1/recovery with no project in the path because the ledger belongs to the account holder, not to a project: a ban lands on the creator's sign-in account and on every project at once. Settings and standbys hang off the project and the resource they concern. The creator's own account lives under /v1/me/recovery.

Background

Tenancy

The ledger a token reads is the one of the creator who owns the team the token is scoped to. A teammate holding project-recovery:view-any therefore reads the same rows the owner sees on the dashboard; a token scoped to another team sees none of them, and any id from another creator's ledger is 404 RESOURCE_NOT_FOUND.

Reads are the team's, writes are the owner's. The writes run the same actions the dashboard runs, and those refuse anyone but the project owner (or, for the account, the account holder) with 422 VALIDATION_FAILED and the reason, the same sentence the dashboard would show. Registering a standby installation and replacing the project bot take a credential and stay off tokens altogether.

Every enum value comes with its label beside it (kind_label, status_label, reason_label), the same words the dashboard shows, so a client can render the ledger without a translation table of its own.

Endpoints

GET/v1/projects/{project}/resources/{resource}/standbyGet a resource's standbyPATCH/v1/projects/{project}/resources/{resource}/standbySwitch a standby's live mirrorDELETE/v1/projects/{project}/resources/{resource}/standbyRemove a resource's standbyGET/v1/projects/{project}/recovery/settingsGet a project's recovery settingsPATCH/v1/projects/{project}/recovery/settingsUpdate a project's recovery settingsGET/v1/projects/{project}/recovery/members/exportExport a project's member listGET/v1/recovery/readinessGet the readiness checklistGET/v1/recovery/incidentsList incidentsGET/v1/recovery/incidents/{incident}Get an incidentGET/v1/recovery/operationsList recovery operationsGET/v1/recovery/operations/{operation}Get a recovery operationGET/v1/recovery/operations/{operation}/roll-callGet a recovery's roll callGET/v1/recovery/allowancesGet the recovery allowancesGET/v1/me/recoveryGet the caller's recovery accountGET/v1/me/recovery/handshakes/{handshake}Poll a recovery handshakeDELETE/v1/me/recovery/handshakes/{handshake}Cancel a recovery handshakePOST/v1/projects/{project}/resources/{resource}/standby/requestRequest a standby for a resourceDELETE/v1/projects/{project}/resources/{resource}/standby/requestWithdraw a standby requestPOST/v1/projects/{project}/resources/{resource}/standby/useUse a resource's standby nowPOST/v1/projects/{project}/resources/{resource}/replacement/requestRequest a replacement for a resourceDELETE/v1/projects/{project}/resources/{resource}/replacement/requestWithdraw a replacement requestDELETE/v1/projects/{project}/recovery/standby-installationRemove a project's standby installationPOST/v1/recovery/operations/{operation}/revertUndo a recoveryPOST/v1/recovery/operations/{operation}/nudgeRemind a recovery's stragglersPOST/v1/recovery/operations/{operation}/notify-membersTell members about a bot replacementPOST/v1/me/recovery/handshakesOpen a recovery handshakePOST/v1/me/recovery/handshakes/{handshake}/confirmConfirm a relink handshakePOST/v1/me/recovery/backup-identityRegister a backup accountDELETE/v1/me/recovery/backup-identityRemove the backup accountPOST/v1/me/recovery/backup-identity/switchSwitch to the backup account

How is this guide?

Last updated on

Version

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

For AI agents: llms.txt · llms-full.txt