# Organization API: Customer Portal: Backups

> The 6 Organization API operations for backups.

Source: https://docs.coritan.com/api/reference/organizations/customer-portal/servers-backups/

Part of [Customer Portal](/api/reference/organizations/customer-portal/).

## Operations

| Method | Path | Summary |
| --- | --- | --- |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/backups`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-backups) | List backups |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/backups`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-backups) | Create backup |
| DELETE | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/backups/{backup_uuid}`](#op-delete-api-v1-orgs-org-slug-portal-servers-uuid-backups-backup-uuid) | Delete backup |
| GET | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/backups/{backup_uuid}/download`](#op-get-api-v1-orgs-org-slug-portal-servers-uuid-backups-backup-uuid-download) | A short-lived signed URL the browser fetches the archive from directly |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/backups/{backup_uuid}/lock`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-backups-backup-uuid-lock) | Keep a backup, or release it |
| POST | [`/api/v1/orgs/{org_slug}/portal/servers/{uuid}/backups/{backup_uuid}/restore`](#op-post-api-v1-orgs-org-slug-portal-servers-uuid-backups-backup-uuid-restore) | Restore backup |

### List backups {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-backups}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/backups`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Create backup {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-backups}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/backups`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Request body

`application/json`

| Field | Type | Required |
| --- | --- | --- |
| `name` | string | yes |
| `ignored_files` | array of string or null | no |
| `is_locked` | boolean | no |

#### Responses

| Status | Meaning |
| --- | --- |
| `201` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Delete backup {#op-delete-api-v1-orgs-org-slug-portal-servers-uuid-backups-backup-uuid}

`DELETE /api/v1/orgs/{org_slug}/portal/servers/{uuid}/backups/{backup_uuid}`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `backup_uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### A short-lived signed URL the browser fetches the archive from directly {#op-get-api-v1-orgs-org-slug-portal-servers-uuid-backups-backup-uuid-download}

`GET /api/v1/orgs/{org_slug}/portal/servers/{uuid}/backups/{backup_uuid}/download`

A short-lived signed URL the browser fetches the archive from directly.

The permission has existed since subusers shipped; this is the route it
was waiting for. The archive streams from the node, never through here.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `backup_uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Keep a backup, or release it {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-backups-backup-uuid-lock}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/backups/{backup_uuid}/lock`

Keep a backup, or release it. A locked backup cannot be deleted.

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `backup_uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |

### Restore backup {#op-post-api-v1-orgs-org-slug-portal-servers-uuid-backups-backup-uuid-restore}

`POST /api/v1/orgs/{org_slug}/portal/servers/{uuid}/backups/{backup_uuid}/restore`

#### Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| `uuid` | path | string | yes |
| `backup_uuid` | path | string | yes |
| `org_slug` | path | string | yes |

#### Responses

| Status | Meaning |
| --- | --- |
| `200` | Success. |
| `422` | The request is not valid. `detail` lists each problem. |
