# Infrastructure endpoints (Admin API)

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

Source: https://featherpanel.com/docs/api/reference/admin/kpi/infrastructure/

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

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

## Endpoints

### GET `/api/admin/analytics/locations/overview`

- Auth: Admin
- Permission: `admin.locations.view`
- Route name: `admin-analytics-locations-overview`
- Controller: [`InfrastructureController::getLocationsOverview`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/InfrastructureController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/infrastructure.php#L26)

**Get locations overview** Retrieve statistics about locations.

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

Responses: `200` Locations overview retrieved successfully · `401` Unauthorized · `403` Forbidden - Insufficient permissions

### GET `/api/admin/analytics/nodes/overview`

- Auth: Admin
- Permission: `admin.nodes.view`
- Route name: `admin-analytics-nodes-overview`
- Controller: [`InfrastructureController::getNodesOverview`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/InfrastructureController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/infrastructure.php#L37)

**Get nodes overview** Retrieve statistics about nodes.

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

Responses: `200` Nodes overview retrieved successfully · `401` Unauthorized · `403` Forbidden - Insufficient permissions

### GET `/api/admin/analytics/nodes/by-location`

- Auth: Admin
- Permission: `admin.nodes.view`
- Route name: `admin-analytics-nodes-by-location`
- Controller: [`InfrastructureController::getNodesByLocation`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/InfrastructureController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/infrastructure.php#L47)

**Get nodes by location** Retrieve node distribution across locations.

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

Responses: `200` Nodes by location retrieved successfully · `401` Unauthorized · `403` Forbidden - Insufficient permissions

### GET `/api/admin/analytics/nodes/resources`

- Auth: Admin
- Permission: `admin.nodes.view`
- Route name: `admin-analytics-nodes-resources`
- Controller: [`InfrastructureController::getNodeResources`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/InfrastructureController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/infrastructure.php#L57)

**Get node resource allocation** Retrieve resource allocation statistics for all nodes.

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

Responses: `200` Node resources retrieved successfully · `401` Unauthorized · `403` Forbidden - Insufficient permissions

### GET `/api/admin/analytics/servers/by-node`

- Auth: Admin
- Permission: `admin.servers.view`
- Route name: `admin-analytics-servers-by-node`
- Controller: [`InfrastructureController::getServersByNode`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/InfrastructureController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/infrastructure.php#L67)

**Get servers by node** Retrieve server distribution across nodes.

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

Responses: `200` Servers by node retrieved successfully · `401` Unauthorized · `403` Forbidden - Insufficient permissions

### GET `/api/admin/analytics/allocations/overview`

- Auth: Admin
- Permission: `admin.allocations.view`
- Route name: `admin-analytics-allocations-overview`
- Controller: [`InfrastructureController::getAllocationsOverview`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/InfrastructureController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/infrastructure.php#L78)

**Get allocations overview** Retrieve statistics about allocations.

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

Responses: `200` Allocations overview retrieved successfully · `401` Unauthorized · `403` Forbidden - Insufficient permissions

### GET `/api/admin/analytics/allocations/by-node`

- Auth: Admin
- Permission: `admin.allocations.view`
- Route name: `admin-analytics-allocations-by-node`
- Controller: [`InfrastructureController::getAllocationsByNode`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/InfrastructureController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/infrastructure.php#L88)

**Get allocations by node** Retrieve allocation distribution across nodes.

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

Responses: `200` Allocations by node retrieved successfully · `401` Unauthorized · `403` Forbidden - Insufficient permissions

### GET `/api/admin/analytics/ports/usage`

- Auth: Admin
- Permission: `admin.allocations.view`
- Route name: `admin-analytics-ports-usage`
- Controller: [`InfrastructureController::getPortUsage`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/InfrastructureController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/infrastructure.php#L98)

**Get port usage statistics** Retrieve statistics about most used ports.

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `limit` | query | integer | no | Number of top ports to retrieve (default: 10) |

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

Responses: `200` Port usage retrieved successfully · `401` Unauthorized · `403` Forbidden - Insufficient permissions

### GET `/api/admin/analytics/ips/usage`

- Auth: Admin
- Permission: `admin.allocations.view`
- Route name: `admin-analytics-ips-usage`
- Controller: [`InfrastructureController::getIpUsage`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/InfrastructureController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/infrastructure.php#L108)

**Get IP usage statistics** Retrieve statistics about most used IP addresses.

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `limit` | query | integer | no | Number of top IPs to retrieve (default: 10) |

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

Responses: `200` IP usage retrieved successfully · `401` Unauthorized · `403` Forbidden - Insufficient permissions

### GET `/api/admin/analytics/databases/overview`

- Auth: Admin
- Permission: `admin.databases.view`
- Route name: `admin-analytics-databases-overview`
- Controller: [`InfrastructureController::getDatabasesOverview`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/InfrastructureController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/infrastructure.php#L119)

**Get databases overview** Retrieve statistics about database hosts.

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

Responses: `200` Databases overview retrieved successfully · `401` Unauthorized · `403` Forbidden - Insufficient permissions

### GET `/api/admin/analytics/infrastructure/dashboard`

- Auth: Admin
- Permission: `admin.nodes.view`
- Route name: `admin-analytics-infrastructure-dashboard`
- Controller: [`InfrastructureController::getDashboard`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/InfrastructureController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/infrastructure.php#L130)

**Get comprehensive infrastructure dashboard** Retrieve all infrastructure analytics data.

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

Responses: `200` Infrastructure dashboard retrieved successfully · `401` Unauthorized · `403` Forbidden - Insufficient permissions
