# WebSpaces endpoints (Admin API)

> 46 FeatherPanel Admin API endpoints from admin/webspaces.php: methods, paths, auth, permissions, rate limits, parameters and responses.

Source: https://featherpanel.com/docs/api/reference/admin/webspaces/

Defined in [`backend/app/routes/admin/webspaces.php`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php). Authentication used here: **Admin**. Read [Authentication](https://featherpanel.com/docs/api/authentication/) for how to send credentials and [Rate limits and errors](https://featherpanel.com/docs/api/rate-limits-and-errors/) for the response envelope.

Paths, methods, permissions and rate limits come from the route file. Summaries, parameters and response codes come from the OpenAPI annotations on the controllers; endpoints without annotations show only what the route file declares.

## Endpoints

### GET `/api/admin/webspaces`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces`
- Controller: [`WebSpacesController::index`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L27)

**List WebSpaces**

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/admin/webspaces/hosting-maturity`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-hosting-maturity`
- Controller: [`WebSpacesController::hostingMaturity`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L37)

**Web hosting platform maturity**

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/hosting-maturity" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/admin/webspaces/hosting-setup/wizard`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-hosting-setup-wizard`
- Controller: [`WebSpacesController::hostingSetupWizard`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L47)

**Admin first-node setup wizard steps**

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/hosting-setup/wizard" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/panel-webmail/install`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-panel-webmail-install`
- Controller: [`WebSpacesController::installPanelWebmail`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L57)

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/panel-webmail/install" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/admin/webspaces/infrastructure-readiness`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-infrastructure-readiness`
- Controller: [`WebSpacesController::infrastructureReadiness`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L68)

**WebSpace infrastructure readiness**

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/infrastructure-readiness" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/admin/webspaces/{uuid}`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-show`
- Controller: [`WebSpacesController::show`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L78)

**Get WebSpace**

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/$UUID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### PATCH `/api/admin/webspaces/{uuid}`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-update`
- Controller: [`WebSpacesController::update`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L93)

**Update WebSpace settings**

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X PATCH "$PANEL_URL/api/admin/webspaces/$UUID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:webspace:updated`](https://featherpanel.com/docs/plugins/events/web-space/#web-space-updated)

### PUT `/api/admin/webspaces`

- Auth: Admin
- Permission: `admin.webspaces.create`
- Route name: `admin-webspaces-create`
- Controller: [`WebSpacesController::create`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L109)

**Create WebSpace on panel + daemon**

```bash
curl -X PUT "$PANEL_URL/api/admin/webspaces" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:webspace:created`](https://featherpanel.com/docs/plugins/events/web-space/#web-space-created)

### DELETE `/api/admin/webspaces/{uuid}`

- Auth: Admin
- Permission: `admin.webspaces.delete`
- Route name: `admin-webspaces-delete`
- Controller: [`WebSpacesController::delete`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L120)

**Delete WebSpace**

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X DELETE "$PANEL_URL/api/admin/webspaces/$UUID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:webspace:deleted`](https://featherpanel.com/docs/plugins/events/web-space/#web-space-deleted)

### POST `/api/admin/webspaces/{uuid}/power`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-power`
- Controller: [`WebSpacesController::power`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L136)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/power" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/admin/webspaces/{uuid}/status`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-status`
- Controller: [`WebSpacesController::status`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L152)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/$UUID/status" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/admin/webspaces/{uuid}/logs`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-logs`
- Controller: [`WebSpacesController::logs`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L167)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/$UUID/logs" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/admin/webspaces/{uuid}/logs/install`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-install-logs`
- Controller: [`WebSpacesController::installLogs`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L182)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/$UUID/logs/install" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/bandwidth/reset`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-bandwidth-reset`
- Controller: [`WebSpacesController::resetBandwidth`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L197)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/bandwidth/reset" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/reinstall`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-reinstall`
- Controller: [`WebSpacesController::reinstall`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L213)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/reinstall" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/install/abort`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-install-abort`
- Controller: [`WebSpacesController::abortInstall`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L229)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/install/abort" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/sync`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-sync`
- Controller: [`WebSpacesController::sync`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L245)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/sync" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/recreate-runtime`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-recreate-runtime`
- Controller: [`WebSpacesController::recreateRuntime`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L261)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/recreate-runtime" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/admin/webspaces/{uuid}/ssl`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-ssl`
- Controller: [`WebSpacesController::ssl`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L277)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/$UUID/ssl" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/ssl/renew`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-ssl-renew`
- Controller: [`WebSpacesController::renewSsl`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L292)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/ssl/renew" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/dns-check`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-check-dns`
- Controller: [`WebSpacesController::checkDns`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L308)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/dns-check" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/dns/provision`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-dns-provision`
- Controller: [`WebSpacesController::provisionDns`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L324)

**Provision DNS A records**

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/dns/provision" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/admin/webspaces/{uuid}/ssl/custom`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-ssl-custom`
- Controller: [`WebSpacesController::customSslStatus`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L340)

**Custom SSL status**

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/$UUID/ssl/custom" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### PUT `/api/admin/webspaces/{uuid}/ssl/custom`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-ssl-custom-upload`
- Controller: [`WebSpacesController::uploadCustomSsl`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L356)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X PUT "$PANEL_URL/api/admin/webspaces/$UUID/ssl/custom" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### DELETE `/api/admin/webspaces/{uuid}/ssl/custom`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-ssl-custom-delete`
- Controller: [`WebSpacesController::deleteCustomSsl`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L372)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X DELETE "$PANEL_URL/api/admin/webspaces/$UUID/ssl/custom" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/admin/webspaces/{uuid}/backups`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-backups`
- Controller: [`WebSpacesController::listBackups`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L388)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/$UUID/backups" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/backups/reconcile`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-backups-reconcile`
- Controller: [`WebSpacesController::reconcileBackups`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L403)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/backups/reconcile" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/backup`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-backup-create`
- Controller: [`WebSpacesController::createBackup`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L419)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/backup" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:webspace:backup:create`](https://featherpanel.com/docs/plugins/events/web-space/#web-space-backup-created)

### DELETE `/api/admin/webspaces/{uuid}/backups/{backupUuid}`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-backup-delete`
- Controller: [`WebSpacesController::deleteBackup`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L435)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |
| `backupUuid` | path | \- | yes |  |

```bash
curl -X DELETE "$PANEL_URL/api/admin/webspaces/$UUID/backups/$BACKUP_UUID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:webspace:backup:delete`](https://featherpanel.com/docs/plugins/events/web-space/#web-space-backup-deleted)

### POST `/api/admin/webspaces/{uuid}/backups/{backupUuid}/restore`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-backup-restore`
- Controller: [`WebSpacesController::restoreBackup`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L452)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |
| `backupUuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/backups/$BACKUP_UUID/restore" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:webspace:backup:restore`](https://featherpanel.com/docs/plugins/events/web-space/#web-space-backup-restored)

### GET `/api/admin/webspaces/{uuid}/backups/{backupUuid}/files`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-backup-files`
- Controller: [`WebSpacesController::listBackupFiles`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L469)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |
| `backupUuid` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/$UUID/backups/$BACKUP_UUID/files" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/admin/webspaces/{uuid}/backups/{backupUuid}/download`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-backup-download`
- Controller: [`WebSpacesController::downloadBackup`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L486)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |
| `backupUuid` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/$UUID/backups/$BACKUP_UUID/download" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/backups/import`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-backup-import`
- Controller: [`WebSpacesController::importBackup`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L503)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/backups/import" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/admin/webspaces/{uuid}/transfer/status`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-transfer-status`
- Controller: [`WebSpacesController::transferStatus`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L519)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/$UUID/transfer/status" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/transfer`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-transfer`
- Controller: [`WebSpacesController::transfer`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L535)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/transfer" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/jwt`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-jwt`
- Controller: [`WebSpacesController::generateJwt`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L551)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/jwt" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/suspend`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-suspend`
- Controller: [`WebSpacesController::suspend`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L567)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/suspend" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:webspace:suspended`](https://featherpanel.com/docs/plugins/events/web-space/#web-space-suspended)

### POST `/api/admin/webspaces/{uuid}/unsuspend`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-unsuspend`
- Controller: [`WebSpacesController::unsuspend`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L583)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/unsuspend" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:webspace:unsuspended`](https://featherpanel.com/docs/plugins/events/web-space/#web-space-unsuspended)

### GET `/api/admin/webspaces/{uuid}/dns/zones`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-dns-zones`
- Controller: [`WebSpaceDnsController::listZones`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L599)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/$UUID/dns/zones" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/admin/webspaces/{uuid}/dns/hosts`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-dns-hosts`
- Controller: [`WebSpaceDnsController::listDnsHosts`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L614)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/$UUID/dns/hosts" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/dns/zones`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-dns-zones-link`
- Controller: [`WebSpaceDnsController::linkZone`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L629)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/dns/zones" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:webspace:dns:zone:linked`](https://featherpanel.com/docs/plugins/events/web-space/#web-space-dns-zone-linked)

### DELETE `/api/admin/webspaces/{uuid}/dns/zones/{zoneId}`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-dns-zones-unlink`
- Controller: [`WebSpaceDnsController::unlinkZone`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L645)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |
| `zoneId` | path | \- | yes |  |

```bash
curl -X DELETE "$PANEL_URL/api/admin/webspaces/$UUID/dns/zones/$ZONE_ID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:webspace:dns:zone:unlinked`](https://featherpanel.com/docs/plugins/events/web-space/#web-space-dns-zone-unlinked)

### GET `/api/admin/webspaces/{uuid}/dns/zones/{zoneId}/records`

- Auth: Admin
- Permission: `admin.webspaces.view`
- Route name: `admin-webspaces-dns-records`
- Controller: [`WebSpaceDnsController::listRecords`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L662)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |
| `zoneId` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/admin/webspaces/$UUID/dns/zones/$ZONE_ID/records" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/admin/webspaces/{uuid}/dns/zones/{zoneId}/records`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-dns-records-create`
- Controller: [`WebSpaceDnsController::createRecord`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L678)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |
| `zoneId` | path | \- | yes |  |

```bash
curl -X POST "$PANEL_URL/api/admin/webspaces/$UUID/dns/zones/$ZONE_ID/records" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:webspace:dns:record:created`](https://featherpanel.com/docs/plugins/events/web-space/#web-space-dns-record-created)

### PATCH `/api/admin/webspaces/{uuid}/dns/zones/{zoneId}/records/{recordId}`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-dns-records-update`
- Controller: [`WebSpaceDnsController::updateRecord`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L695)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |
| `zoneId` | path | \- | yes |  |
| `recordId` | path | \- | yes |  |

```bash
curl -X PATCH "$PANEL_URL/api/admin/webspaces/$UUID/dns/zones/$ZONE_ID/records/$RECORD_ID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:webspace:dns:record:updated`](https://featherpanel.com/docs/plugins/events/web-space/#web-space-dns-record-updated)

### DELETE `/api/admin/webspaces/{uuid}/dns/zones/{zoneId}/records/{recordId}`

- Auth: Admin
- Permission: `admin.webspaces.edit`
- Route name: `admin-webspaces-dns-records-delete`
- Controller: [`WebSpaceDnsController::deleteRecord`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/webspaces.php#L713)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuid` | path | \- | yes |  |
| `zoneId` | path | \- | yes |  |
| `recordId` | path | \- | yes |  |

```bash
curl -X DELETE "$PANEL_URL/api/admin/webspaces/$UUID/dns/zones/$ZONE_ID/records/$RECORD_ID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:webspace:dns:record:deleted`](https://featherpanel.com/docs/plugins/events/web-space/#web-space-dns-record-deleted)
