# delete_backup

Source: https://modulify.ai/docs/api/backups/delete-backup

Permanently deletes one backup of a site, removing a restore point you may be relying on.

- Title: Delete a site backup
- Scope: `sites:delete`
- Access: Destructive
- Endpoint: `POST /v1/delete_backup`

The snapshot and its stored content are destroyed and cannot be recovered, while the site itself is untouched. The tool tells the client to confirm with you first, and never to delete backups to save space on its own initiative.

## Request

Call it with a `POST` to `https://api.modulify.ai/v1/delete_backup`, sending the inputs below as a JSON object. The token needs the `sites:delete` scope.

> **Warning**
>
> This method is marked destructive: it deletes or overwrites data. Check the inputs before you call it, and send an [Idempotency-Key](https://modulify.ai/docs/api/idempotency) header whenever you might retry it.

```bash
curl -X POST https://api.modulify.ai/v1/delete_backup \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"projectId":"PROJECT_ID","backupId":"BACKUP_ID"}'
```

Over MCP, the same method is the [delete_backup tool](https://modulify.ai/docs/mcp/backups/delete-backup).

## Inputs

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `projectId` | string | Yes | The site the backup belongs to. |
| `backupId` | string | Yes | The backup to delete, from `list_backups`. Either its `_id` or its `BackupId` works. |

## Response

Every call answers with the [JSON envelope](https://modulify.ai/docs/api/requests-and-responses#the-response) of `success`, `message`, `data`, `code` and `version`. `data` holds the result described above, and on a method that returns a total, `count` carries it. The [response headers](https://modulify.ai/docs/api/requests-and-responses#headers-on-every-method-call) carry the call's `X-Request-Id` and what is left of your per-minute budget in `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset`. [Errors](https://modulify.ai/docs/api/errors) explains every status code a call can answer with.