# Bulk endpoints (Client API: game servers)

> 1 FeatherPanel Client API: game servers endpoint from user/server/bulk.php: methods, paths, auth, permissions, rate limits, parameters and responses.

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

Defined in [`backend/app/routes/user/server/bulk.php`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/server/bulk.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

### POST `/api/user/servers/bulk-action`

- Auth: Signed-in user
- Default rate limit: 6 / minute (`user-server-bulk`)
- Route name: `session-server-bulk-action`
- Controller: [`ServerBulkActionController::run`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/User/Server/Bulk/ServerBulkActionController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/user/server/bulk.php#L25)

**Run an action on several servers** Send start, stop, restart, kill or reinstall to up to 25 servers (10 for reinstall). Each server is checked like the single-server endpoints and gets its own result.

| Body field | Type | Required | Description |
| --- | --- | --- | --- |
| `action` | string | yes |  |
| `servers` | string\[\] | yes | Server short UUIDs |

```bash
curl -X POST "$PANEL_URL/api/user/servers/bulk-action" \
  -H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"action":"","servers":[]}'
```

Responses: `200` Per-server results · `400` Invalid action or server list · `401` Not authenticated
