# WebSpaces endpoints (Client API: web hosting)

> 107 FeatherPanel Client API: web hosting endpoints from user/webspaces.php: methods, paths, auth, permissions, rate limits, parameters and responses.

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

Defined in [`backend/app/routes/user/webspaces.php`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php). Authentication used here: **Signed-in user**. 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/user/webspaces`

- Auth: Signed-in user
- Default rate limit: 2 / second (`user-webspaces`)
- Route name: `user-webspaces`
- Controller: [`WebSpacesController::index`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L33)

**List accessible WebSpaces**

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

### GET `/api/user/webspaces/catalog`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-catalog`
- Controller: [`WebSpacesController::catalog`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L45)

**Order catalog (nodes + WebPlates)**

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

### GET `/api/user/webspaces/{uuidShort}/utilization`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-utilization`
- Controller: [`WebSpacesController::utilization`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L57)

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

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

### GET `/api/user/webspaces/{uuidShort}/transfer/status`

- Auth: Signed-in user
- Default rate limit: 60 / minute (`user-webspaces`)
- Route name: `user-webspaces-transfer-status`
- Controller: [`WebSpacesController::transferStatus`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L74)

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

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

### GET `/api/user/webspaces/{uuidShort}/backups/jobs/{jobId}`

- Auth: Signed-in user
- Default rate limit: 60 / minute (`user-webspaces`)
- Route name: `user-webspaces-backup-job-status`
- Controller: [`WebSpacesController::backupJobStatus`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L91)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuidShort` | path | \- | yes |  |
| `jobId` | path | \- | yes |  |

```bash
curl -X GET "$PANEL_URL/api/user/webspaces/$UUID_SHORT/backups/jobs/$JOB_ID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-show`
- Controller: [`WebSpacesController::show`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L109)

**Get WebSpace**

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

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

### GET `/api/user/webspaces/{uuidShort}/infrastructure-readiness`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-infrastructure-readiness`
- Controller: [`WebSpacesController::infrastructureReadiness`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L126)

**Infrastructure readiness for this WebSpace**

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

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

### PATCH `/api/user/webspaces/{uuidShort}`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-update`
- Controller: [`WebSpacesController::update`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L143)

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

```bash
curl -X PATCH "$PANEL_URL/api/user/webspaces/$UUID_SHORT" \
  -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)

### GET `/api/user/webspaces/{uuidShort}/php-ini`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-php-ini`
- Controller: [`WebSpacesController::phpIni`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L160)

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

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

### PUT `/api/user/webspaces/{uuidShort}/php-ini`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-php-ini-save`
- Controller: [`WebSpacesController::savePhpIni`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L177)

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

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

### GET `/api/user/webspaces/{uuidShort}/php-extensions`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-php-extensions`
- Controller: [`WebSpacesController::phpExtensions`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L194)

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

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

### PUT `/api/user/webspaces/{uuidShort}/php-extensions`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-php-extensions-save`
- Controller: [`WebSpacesController::savePhpExtensions`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L211)

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

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

### GET `/api/user/webspaces/{uuidShort}/redis`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-redis`
- Controller: [`WebSpacesController::redis`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L228)

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

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

### PUT `/api/user/webspaces/{uuidShort}/redis`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-redis-save`
- Controller: [`WebSpacesController::saveRedis`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L245)

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

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

### POST `/api/user/webspaces/{uuidShort}/malware-scan`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-malware-scan`
- Controller: [`WebSpacesController::malwareScan`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L262)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/malware-scan" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/malware-scan`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-malware-scan-status`
- Controller: [`WebSpacesController::malwareScanStatus`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L279)

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

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

### POST `/api/user/webspaces/{uuidShort}/malware-scan/schedule`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-malware-scan-schedule`
- Controller: [`WebSpacesController::enableMalwareScanSchedule`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L296)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/malware-scan/schedule" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/power`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-power`
- Controller: [`WebSpacesController::power`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L313)

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

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

### GET `/api/user/webspaces/{uuidShort}/status`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-status`
- Controller: [`WebSpacesController::status`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L330)

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

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

### GET `/api/user/webspaces/{uuidShort}/logs`

- Auth: Signed-in user
- Default rate limit: 60 / minute (`user-webspaces`)
- Route name: `user-webspaces-logs`
- Controller: [`WebSpacesController::logs`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L347)

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

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

### GET `/api/user/webspaces/{uuidShort}/logs/install`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-install-logs`
- Controller: [`WebSpacesController::installLogs`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L364)

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

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

### POST `/api/user/webspaces/{uuidShort}/reinstall`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-reinstall`
- Controller: [`WebSpacesController::reinstall`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L381)

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

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

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

### POST `/api/user/webspaces/{uuidShort}/install/abort`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-install-abort`
- Controller: [`WebSpacesController::abortInstall`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L398)

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

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

### GET `/api/user/webspaces/{uuidShort}/ssl`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-ssl`
- Controller: [`WebSpacesController::ssl`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L415)

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

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

### POST `/api/user/webspaces/{uuidShort}/ssl/renew`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-ssl-renew`
- Controller: [`WebSpacesController::renewSsl`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L432)

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

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

### POST `/api/user/webspaces/{uuidShort}/dns-check`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-dns-check`
- Controller: [`WebSpacesController::checkDns`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L449)

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

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

### POST `/api/user/webspaces/{uuidShort}/dns/provision`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-dns-provision`
- Controller: [`WebSpacesController::provisionDns`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L466)

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

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

### GET `/api/user/webspaces/{uuidShort}/ssl/custom`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-ssl-custom-status`
- Controller: [`WebSpacesController::customSslStatus`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L483)

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

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

### PUT `/api/user/webspaces/{uuidShort}/ssl/custom`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-ssl-custom-upload`
- Controller: [`WebSpacesController::uploadCustomSsl`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L500)

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

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

### DELETE `/api/user/webspaces/{uuidShort}/ssl/custom`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-ssl-custom-delete`
- Controller: [`WebSpacesController::deleteCustomSsl`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L517)

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

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

### GET `/api/user/webspaces/{uuidShort}/backups`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-backups`
- Controller: [`WebSpacesController::listBackups`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L534)

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

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

### POST `/api/user/webspaces/{uuidShort}/backups/reconcile`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-backups-reconcile`
- Controller: [`WebSpacesController::reconcileBackups`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L551)

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

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

### POST `/api/user/webspaces/{uuidShort}/backup`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-backup-create`
- Controller: [`WebSpacesController::createBackup`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L563)

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

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

### DELETE `/api/user/webspaces/{uuidShort}/backups/{backupUuid}`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-backup-delete`
- Controller: [`WebSpacesController::deleteBackup`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L580)

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

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

### POST `/api/user/webspaces/{uuidShort}/backups/{backupUuid}/restore`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-backup-restore`
- Controller: [`WebSpacesController::restoreBackup`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L598)

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

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

### GET `/api/user/webspaces/{uuidShort}/backups/{backupUuid}/files`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-backup-files`
- Controller: [`WebSpacesController::listBackupFiles`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L616)

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

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

### GET `/api/user/webspaces/{uuidShort}/backups/{backupUuid}/download`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-backup-download`
- Controller: [`WebSpacesController::downloadBackup`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L634)

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

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

### POST `/api/user/webspaces/{uuidShort}/backups/import`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-backup-import`
- Controller: [`WebSpacesController::importBackup`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L652)

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

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

### POST `/api/user/webspaces/{uuidShort}/jwt`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-jwt`
- Controller: [`WebSpacesController::generateJwt`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpacesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L669)

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

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

### GET `/api/user/webspaces/{uuidShort}/file-capabilities`

- Auth: Signed-in user
- Default rate limit: 60 / minute (`user-webspaces`)
- Route name: `user-webspaces-file-capabilities`
- Controller: [`WebSpaceFilesController::fileCapabilities`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L687)

**WebSpace file manager capabilities**

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

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

### GET `/api/user/webspaces/{uuidShort}/files/list`

- Auth: Signed-in user
- Default rate limit: 60 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-list`
- Controller: [`WebSpaceFilesController::list`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L704)

**List WebSpace files**

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

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

### GET `/api/user/webspaces/{uuidShort}/files/contents`

- Auth: Signed-in user
- Default rate limit: 60 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-contents`
- Controller: [`WebSpaceFilesController::contents`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L721)

**Read WebSpace file**

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

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

### POST `/api/user/webspaces/{uuidShort}/files/write`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-write`
- Controller: [`WebSpaceFilesController::write`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L738)

**Write WebSpace file**

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/write" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/files/create-directory`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-create-directory`
- Controller: [`WebSpaceFilesController::createDirectory`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L755)

**Create WebSpace directory**

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/create-directory" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### PUT `/api/user/webspaces/{uuidShort}/files/rename`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-rename`
- Controller: [`WebSpaceFilesController::rename`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L772)

**Rename WebSpace file**

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

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

### POST `/api/user/webspaces/{uuidShort}/files/copy`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-copy`
- Controller: [`WebSpaceFilesController::copy`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L789)

**Copy WebSpace file or directory**

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/copy" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/files/copy-many`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-copy-many`
- Controller: [`WebSpaceFilesController::copyMany`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L806)

**Copy many WebSpace files**

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/copy-many" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/files/create-symlink`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-create-symlink`
- Controller: [`WebSpaceFilesController::createSymlink`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L823)

**Create WebSpace symlink**

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/create-symlink" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/files/fingerprints`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-fingerprints`
- Controller: [`WebSpaceFilesController::fingerprints`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L840)

**Fingerprint WebSpace files**

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

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

### POST `/api/user/webspaces/{uuidShort}/files/delete`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-delete`
- Controller: [`WebSpaceFilesController::delete`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L857)

**Delete WebSpace files**

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/delete" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### POST `/api/user/webspaces/{uuidShort}/files/compress`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-compress`
- Controller: [`WebSpaceFilesController::compress`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L874)

**Compress WebSpace files**

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/compress" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/files/decompress`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-decompress`
- Controller: [`WebSpaceFilesController::decompress`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L891)

**Decompress WebSpace archive**

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/decompress" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/files/chmod`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-chmod`
- Controller: [`WebSpaceFilesController::chmod`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L908)

**Change WebSpace file permissions**

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/chmod" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/files/search`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-search`
- Controller: [`WebSpaceFilesController::search`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L925)

**Search WebSpace files**

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

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

### POST `/api/user/webspaces/{uuidShort}/files/pull`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-pull`
- Controller: [`WebSpaceFilesController::pull`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L942)

**Pull remote file into WebSpace**

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/pull" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/files/download`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-download`
- Controller: [`WebSpaceFilesController::download`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L959)

**Download WebSpace file**

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

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

### POST `/api/user/webspaces/{uuidShort}/files/upload`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-upload`
- Controller: [`WebSpaceFilesController::upload`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L976)

**Upload WebSpace file**

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/upload" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/files/trash`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-trash-list`
- Controller: [`WebSpaceFilesController::listTrash`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L993)

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

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

### POST `/api/user/webspaces/{uuidShort}/files/trash/restore`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-trash-restore`
- Controller: [`WebSpaceFilesController::restoreTrash`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1007)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/trash/restore" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/files/trash/delete`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-trash-delete`
- Controller: [`WebSpaceFilesController::deleteTrash`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1021)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/trash/delete" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/files/trash/empty`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-trash-empty`
- Controller: [`WebSpaceFilesController::emptyTrash`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1035)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/trash/empty" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/files/download-directory`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-download-directory`
- Controller: [`WebSpaceFilesController::downloadDirectory`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1049)

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

```bash
curl -X GET "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/download-directory" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/files/archive-list`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-archive-list`
- Controller: [`WebSpaceFilesController::listArchive`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1063)

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

```bash
curl -X GET "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/archive-list" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/files/extract-archive-selection`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-extract-archive`
- Controller: [`WebSpaceFilesController::extractArchiveSelection`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1077)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/extract-archive-selection" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/files/search-advanced`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-search-advanced`
- Controller: [`WebSpaceFilesController::searchAdvanced`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1091)

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

```bash
curl -X GET "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/search-advanced" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/files/wipe`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-wipe`
- Controller: [`WebSpaceFilesController::wipeAll`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1105)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/wipe" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/files/upload-url`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-upload-url`
- Controller: [`WebSpaceFilesController::getUploadUrl`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1119)

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

```bash
curl -X GET "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/upload-url" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/files/share`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-share`
- Controller: [`WebSpaceFilesController::shareFile`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1133)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/share" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/files/share-jobs`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-share-jobs`
- Controller: [`WebSpaceFilesController::getShareJobs`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1147)

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

```bash
curl -X GET "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/share-jobs" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### DELETE `/api/user/webspaces/{uuidShort}/files/share-jobs/{shareId}`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-share-jobs-delete`
- Controller: [`WebSpaceFilesController::deleteShareJob`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1161)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuidShort` | path | \- | yes |  |
| `shareId` | path | \- | yes |  |

```bash
curl -X DELETE "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/share-jobs/$SHARE_ID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/files/pull-jobs`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-pull-jobs`
- Controller: [`WebSpaceFilesController::listPullJobs`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1176)

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

```bash
curl -X GET "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/pull-jobs" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### DELETE `/api/user/webspaces/{uuidShort}/files/pull-jobs/{identifier}`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-files-pull-jobs-delete`
- Controller: [`WebSpaceFilesController::cancelPullJob`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceFilesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1190)

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuidShort` | path | \- | yes |  |
| `identifier` | path | \- | yes |  |

```bash
curl -X DELETE "$PANEL_URL/api/user/webspaces/$UUID_SHORT/files/pull-jobs/$IDENTIFIER" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/users`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-users`
- Controller: [`WebSpaceSubuserController::index`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceSubuserController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1206)

**List WebSpace subusers**

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

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

### POST `/api/user/webspaces/{uuidShort}/users`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-users-create`
- Controller: [`WebSpaceSubuserController::create`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceSubuserController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1223)

**Add WebSpace subuser**

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/users" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### PUT `/api/user/webspaces/{uuidShort}/users/{subuserId}`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-users-update`
- Controller: [`WebSpaceSubuserController::update`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceSubuserController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1240)

**Update WebSpace subuser**

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuidShort` | path | \- | yes |  |
| `subuserId` | path | \- | yes |  |

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

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

### DELETE `/api/user/webspaces/{uuidShort}/users/{subuserId}`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-users-delete`
- Controller: [`WebSpaceSubuserController::delete`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceSubuserController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1258)

**Remove WebSpace subuser**

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuidShort` | path | \- | yes |  |
| `subuserId` | path | \- | yes |  |

```bash
curl -X DELETE "$PANEL_URL/api/user/webspaces/$UUID_SHORT/users/$SUBUSER_ID" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### GET `/api/user/webspaces/{uuidShort}/activities`

- Auth: Signed-in user
- Default rate limit: 60 / minute (`user-webspaces`)
- Route name: `user-webspaces-activities`
- Controller: [`WebSpaceActivityController::index`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceActivityController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1276)

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

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

### GET `/api/user/webspaces/{uuidShort}/dns/zones`

- Auth: Signed-in user
- Default rate limit: 60 / minute (`user-webspaces`)
- Route name: `user-webspaces-dns-zones`
- Controller: [`WebSpaceDnsController::listZones`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1293)

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

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

### GET `/api/user/webspaces/{uuidShort}/dns/hosts`

- Auth: Signed-in user
- Default rate limit: 60 / minute (`user-webspaces`)
- Route name: `user-webspaces-dns-hosts`
- Controller: [`WebSpaceDnsController::listDnsHosts`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1310)

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

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

### POST `/api/user/webspaces/{uuidShort}/dns/zones`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-dns-zones-link`
- Controller: [`WebSpaceDnsController::linkZone`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1327)

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

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

### DELETE `/api/user/webspaces/{uuidShort}/dns/zones/{zoneId}`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-dns-zones-unlink`
- Controller: [`WebSpaceDnsController::unlinkZone`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1344)

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

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

### GET `/api/user/webspaces/{uuidShort}/dns/zones/{zoneId}/records`

- Auth: Signed-in user
- Default rate limit: 60 / minute (`user-webspaces`)
- Route name: `user-webspaces-dns-records`
- Controller: [`WebSpaceDnsController::listRecords`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1362)

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

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

### POST `/api/user/webspaces/{uuidShort}/dns/zones/{zoneId}/records`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-dns-records-create`
- Controller: [`WebSpaceDnsController::createRecord`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1380)

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

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

### PATCH `/api/user/webspaces/{uuidShort}/dns/zones/{zoneId}/records/{recordId}`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-dns-records-update`
- Controller: [`WebSpaceDnsController::updateRecord`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1398)

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

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

### DELETE `/api/user/webspaces/{uuidShort}/dns/zones/{zoneId}/records/{recordId}`

- Auth: Signed-in user
- Default rate limit: 20 / minute (`user-webspaces`)
- Route name: `user-webspaces-dns-records-delete`
- Controller: [`WebSpaceDnsController::deleteRecord`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceDnsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1417)

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

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

### GET `/api/user/webspaces/{uuidShort}/proxy-logs`

- Auth: Signed-in user
- Default rate limit: 60 / minute (`user-webspaces`)
- Route name: `user-webspaces-proxy-logs`
- Controller: [`WebSpaceLogsController::proxyLogs`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceLogsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1436)

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

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

### POST `/api/user/webspaces/{uuidShort}/proxy-logs/rotate`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-proxy-logs-rotate`
- Controller: [`WebSpaceLogsController::rotateProxyLogs`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceLogsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1453)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/proxy-logs/rotate" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/analytics`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-analytics`
- Controller: [`WebSpaceAnalyticsController::summary`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAnalyticsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1470)

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

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

### POST `/api/user/webspaces/{uuidShort}/apps/wordpress`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-wordpress`
- Controller: [`WebSpaceAppsController::installWordPress`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1487)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/wordpress" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### POST `/api/user/webspaces/{uuidShort}/apps/wordpress/update`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-wordpress-update`
- Controller: [`WebSpaceAppsController::updateWordPress`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1504)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/wordpress/update" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### POST `/api/user/webspaces/{uuidShort}/apps/wordpress/staging`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-wordpress-staging`
- Controller: [`WebSpaceAppsController::stagingWordPress`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1521)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/wordpress/staging" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/apps/wordpress/staging/promote`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-wordpress-staging-promote`
- Controller: [`WebSpaceAppsController::promoteWordPressStaging`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1538)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/wordpress/staging/promote" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/apps/laravel`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-laravel`
- Controller: [`WebSpaceAppsController::installLaravel`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1555)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/laravel" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### POST `/api/user/webspaces/{uuidShort}/apps/joomla`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-joomla`
- Controller: [`WebSpaceAppsController::installJoomla`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1572)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/joomla" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### POST `/api/user/webspaces/{uuidShort}/apps/drupal`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-drupal`
- Controller: [`WebSpaceAppsController::installDrupal`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1589)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/drupal" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### POST `/api/user/webspaces/{uuidShort}/apps/prestashop`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-prestashop`
- Controller: [`WebSpaceAppsController::installPrestaShop`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1606)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/prestashop" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/apps/magento`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-magento`
- Controller: [`WebSpaceAppsController::installMagento`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1623)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/magento" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/apps/ghost`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-ghost`
- Controller: [`WebSpaceAppsController::installGhost`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1640)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/ghost" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### POST `/api/user/webspaces/{uuidShort}/apps/node-starter`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-node-starter`
- Controller: [`WebSpaceAppsController::installNodeStarter`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1657)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/node-starter" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### POST `/api/user/webspaces/{uuidShort}/apps/python-starter`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-python-starter`
- Controller: [`WebSpaceAppsController::installPythonStarter`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1674)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/python-starter" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### POST `/api/user/webspaces/{uuidShort}/apps/wordpress/plugin`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-wordpress-plugin`
- Controller: [`WebSpaceAppsController::installWordPressPlugin`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1691)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/wordpress/plugin" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### POST `/api/user/webspaces/{uuidShort}/apps/wordpress/auto-update`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-wordpress-auto-update`
- Controller: [`WebSpaceAppsController::enableWordPressAutoUpdate`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1708)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/wordpress/auto-update" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/apps/git-deploy`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-git-deploy`
- Controller: [`WebSpaceAppsController::gitDeploy`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1725)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/git-deploy" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

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

### GET `/api/user/webspaces/{uuidShort}/apps/git-webhook`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-git-webhook`
- Controller: [`WebSpaceAppsController::gitWebhookConfig`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1742)

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

```bash
curl -X GET "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/git-webhook" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### PUT `/api/user/webspaces/{uuidShort}/apps/git-webhook`

- Auth: Signed-in user
- Default rate limit: 10 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-git-webhook-save`
- Controller: [`WebSpaceAppsController::saveGitWebhookConfig`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1759)

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

```bash
curl -X PUT "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/git-webhook" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### GET `/api/user/webspaces/{uuidShort}/apps/git-deploy-key`

- Auth: Signed-in user
- Default rate limit: 30 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-git-deploy-key`
- Controller: [`WebSpaceAppsController::gitDeployKey`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1776)

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

```bash
curl -X GET "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/git-deploy-key" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```

### POST `/api/user/webspaces/{uuidShort}/apps/git-deploy-key`

- Auth: Signed-in user
- Default rate limit: 5 / minute (`user-webspaces`)
- Route name: `user-webspaces-apps-git-deploy-key-regenerate`
- Controller: [`WebSpaceAppsController::regenerateGitDeployKey`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/WebSpaces/WebSpaceAppsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/webspaces.php#L1793)

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

```bash
curl -X POST "$PANEL_URL/api/user/webspaces/$UUID_SHORT/apps/git-deploy-key" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json"
```
