# Backups

Base URL `https://pfcloud.pfctek.com/api/v1`. Every call needs `Authorization: Bearer mf_…`. Changes accept an `Idempotency-Key` header. Ids are public ids (UUIDs).

## GET /sites/{site}/backups

**List backups**

Scope: `backups:read`

The site's backups, newest first. Never includes keys or storage paths.

| Parameter | In | Description |
| --- | --- | --- |
| `site` | path | Public id from the dashboard address (required) |

## POST /sites/{site}/backups

**Back up now**

Scope: `backups:write`

Backs up the database (and the site's backup folders). One request per site every five minutes. Downloads stay in the dashboard.

| Parameter | In | Description |
| --- | --- | --- |
| `site` | path | Public id from the dashboard address (required) |

## GET /sites/{site}/backups/{backup}

**Get a backup**

Scope: `backups:read`

| Parameter | In | Description |
| --- | --- | --- |
| `site` | path | Public id from the dashboard address (required) |
| `backup` | path |  (required) |

## POST /sites/{site}/backups/{backup}/restore

**Restore the database from a backup**

Scope: `backups:write`

Replaces the site's database with the backup's. `confirm` must be the site's domain. pfcloud backs up the current database first. PHP sites pfcloud deploys only.

| Parameter | In | Description |
| --- | --- | --- |
| `site` | path | Public id from the dashboard address (required) |
| `backup` | path |  (required) |

| Body field | Type | Description |
| --- | --- | --- |
| `confirm` | string | The site's domain |

## PUT /servers/{server}/backup-schedule

**Set how often the server’s databases are backed up**

Scope: `servers:write`

Limited by the plan.

| Parameter | In | Description |
| --- | --- | --- |
| `server` | path | Public id from the dashboard address (required) |

| Body field | Type | Description |
| --- | --- | --- |
| `schedule` | string |  |

## GET /servers/{server}/backups

**List server backups**

Scope: `backups:read`

Backups of every database on the server, newest first. Download them from the dashboard.

| Parameter | In | Description |
| --- | --- | --- |
| `server` | path | Public id from the dashboard address (required) |

## POST /servers/{server}/backups

**Back up every database now**

Scope: `backups:write`

At most once every 5 minutes per server.

| Parameter | In | Description |
| --- | --- | --- |
| `server` | path | Public id from the dashboard address (required) |

