Delete a Pterodactyl backup
ptero_delete_backupPermanently delete a server backup after showing a preview and obtaining explicit confirmation. Locked backups must be unlocked first.
Instructions
Permanently delete one backup. IRREVERSIBLE — there is no undo and no confirmation from the panel beyond this tool.
Requires PTERODACTYL_ALLOW_DELETE=true. Requires confirmation: the first call without confirmation_token returns a preview (name, size, created_at) and a token instead of deleting anything — THAT PREVIEW IS FOR THE HUMAN, show it and wait for approval before calling again with the token. A locked backup cannot be deleted here at all; unlock it in the panel first.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| server | No | Server short identifier (e.g. 1a2b3c4d). Omit to use PTERODACTYL_DEFAULT_SERVER. Call ptero_list_servers to discover valid identifiers. | |
| dry_run | No | When true, validate and preview the change without performing it. Nothing is modified and no confirmation token is issued. Use this to reason about an operation before committing to it. | |
| backup_uuid | Yes | UUID of the backup to delete (from ptero_list_backups). | |
| confirmation_token | No | Two-phase confirmation token. Leave this out on the first call: the tool will refuse to act and instead return a preview of exactly what would change, plus a single-use token that expires in 120 seconds. THE PREVIEW IS FOR THE HUMAN — show it to the user in your reply and let them decide. Do not silently round-trip the token back in an immediate second call. Only call again with the token once the user has seen the preview and approved it. The token is bound to a hash of these exact arguments, so changing any argument invalidates it. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | No | ||
| reason | No | Why the call was refused. | |
| server | Yes | ||
| status | Yes | success = the change was made. refused = a guardrail blocked it (see reason/variable). dry_run = nothing changed; preview shows what would. needs_confirmation = nothing changed; SHOW the preview to the human and, only if they agree, call again with confirmation_token. | |
| message | No | ||
| preview | No | What would / did change. | |
| variable | No | Environment variable that caused the refusal. | |
| backup_id | No | UUID of the automatic pre-change backup, if one was taken. | |
| expires_in_s | No | ||
| confirmed_via | No | ||
| confirmation_token | No |