# Logs endpoints (Client API: game servers)

> 4 FeatherPanel Client API: game servers endpoints from user/server/logs.php: methods, paths, auth, permissions, rate limits, parameters and responses.

Source: https://featherpanel.com/docs/api/reference/user/server/logs/

Defined in [`backend/app/routes/user/server/logs.php`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/server/logs.php). Authentication used here: **Server access**. 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/servers/{uuidShort}/logs`

- Auth: Server access
- Default rate limit: 30 / minute (`user-server-logs`)
- Route name: `session-server-logs`
- Controller: [`ServerLogsController::getLogs`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/Server/Logs/ServerLogsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/server/logs.php#L26)

**Get server logs** Retrieve the current server logs from the Wings daemon. These logs contain real-time server output and events.

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuidShort` | path | string | yes | Server short UUID |

Response data: [`ServerLogsResponse`](https://featherpanel.com/docs/api/schemas/#schema-serverlogsresponse)

| Response `data` field | Type | Description |
| --- | --- | --- |
| `response` | string\[\] | Array of log lines from the server |

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

Responses: `200` Server logs retrieved successfully · `400` Bad request - Invalid server configuration · `401` Unauthorized - User not authenticated or Wings daemon unauthorized · `403` Forbidden - Access denied to server or Wings daemon · `404` Not found - Server or node not found · `422` Unprocessable entity - Invalid server data · `500` Internal server error - Failed to retrieve logs

### GET `/api/user/servers/{uuidShort}/install-logs`

- Auth: Server access
- Default rate limit: 30 / minute (`user-server-logs`)
- Route name: `session-server-install-logs`
- Controller: [`ServerLogsController::getInstallLogs`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/Server/Logs/ServerLogsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/server/logs.php#L41)

**Get server installation logs** Retrieve the installation logs from the Wings daemon. These logs contain the server installation process output and any errors that occurred during setup.

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuidShort` | path | string | yes | Server short UUID |

Response data: [`InstallLogsResponse`](https://featherpanel.com/docs/api/schemas/#schema-installlogsresponse)

| Response `data` field | Type | Description |
| --- | --- | --- |
| `response` | string\[\] | Array of installation log lines from the server |

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

Responses: `200` Installation logs retrieved successfully · `400` Bad request - Invalid server configuration · `401` Unauthorized - User not authenticated or Wings daemon unauthorized · `403` Forbidden - Access denied to server or Wings daemon · `404` Not found - Server or node not found · `422` Unprocessable entity - Invalid server data · `500` Internal server error - Failed to retrieve installation logs

### POST `/api/user/servers/{uuidShort}/logs/upload`

- Auth: Server access
- Default rate limit: 10 / minute (`user-server-logs`)
- Route name: `session-server-logs-upload`
- Controller: [`ServerLogsController::uploadLogs`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/Server/Logs/ServerLogsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/server/logs.php#L56)

**Upload server logs to MythicalSystems Paste** Upload the current server logs to pastes.mythicalsystems.org and return the shareable URL.

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuidShort` | path | string | yes | Server short UUID |

| Response `data` field | Type | Description |
| --- | --- | --- |
| `id` | string | Paste ID |
| `url` | string | Viewer URL (paste.mythicalsystems.org) |
| `raw` | string | Raw paste URL |

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

Responses: `200` Logs uploaded successfully · `400` Bad request - No logs to upload or upload failed · `401` Unauthorized - User not authenticated · `403` Forbidden - Access denied to server · `404` Not found - Server not found · `500` Internal server error - Failed to upload logs

### POST `/api/user/servers/{uuidShort}/install-logs/upload`

- Auth: Server access
- Default rate limit: 10 / minute (`user-server-logs`)
- Route name: `session-server-install-logs-upload`
- Controller: [`ServerLogsController::uploadInstallLogs`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/Server/Logs/ServerLogsController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/server/logs.php#L71)

**Upload server installation logs to MythicalSystems Paste** Upload the server installation logs to pastes.mythicalsystems.org and return the shareable URL.

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `uuidShort` | path | string | yes | Server short UUID |

| Response `data` field | Type | Description |
| --- | --- | --- |
| `id` | string | Paste ID |
| `url` | string | Viewer URL (paste.mythicalsystems.org) |
| `raw` | string | Raw paste URL |

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

Responses: `200` Installation logs uploaded successfully · `400` Bad request - No logs to upload or upload failed · `401` Unauthorized - User not authenticated · `403` Forbidden - Access denied to server · `404` Not found - Server not found · `500` Internal server error - Failed to upload logs
