# Content endpoints (Admin API)

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

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

Defined in [`backend/app/routes/admin/kpi/content.php`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/content.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/realms/overview`

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

**Get realms overview** Retrieve statistics about realms.

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

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

### GET `/api/admin/analytics/spells/by-realm`

- Auth: Admin
- Permission: `admin.spells.view`
- Route name: `admin-analytics-spells-by-realm`
- Controller: [`ContentController::getSpellsByRealm`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/ContentController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/content.php#L37)

**Get spells by realm** Retrieve spell distribution across realms.

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

Responses: `200` Spells by realm retrieved successfully · `401` Unauthorized · `403` Forbidden - Insufficient permissions

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

- Auth: Admin
- Permission: `admin.spells.view`
- Route name: `admin-analytics-spells-overview`
- Controller: [`ContentController::getSpellsOverview`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/ContentController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/content.php#L48)

**Get spells overview** Retrieve statistics about spells.

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

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

### GET `/api/admin/analytics/spells/variables`

- Auth: Admin
- Permission: `admin.spells.view`
- Route name: `admin-analytics-spells-variables`
- Controller: [`ContentController::getSpellVariableStats`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/ContentController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/content.php#L59)

**Get spell variable statistics** Retrieve statistics about spell variables.

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

Responses: `200` Spell variables retrieved successfully · `401` Unauthorized · `403` Forbidden - Insufficient permissions

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

- Auth: Admin
- Permission: `admin.images.view`
- Route name: `admin-analytics-images-overview`
- Controller: [`ContentController::getImagesOverview`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/ContentController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/content.php#L70)

**Get images overview** Retrieve statistics about images.

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

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

### GET `/api/admin/analytics/mail-templates/overview`

- Auth: Admin
- Permission: `admin.email.templates.view`
- Route name: `admin-analytics-mail-templates-overview`
- Controller: [`ContentController::getMailTemplatesOverview`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/Admin/KPI/ContentController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/admin/kpi/content.php#L81)

**Get mail templates overview** Retrieve statistics about mail templates.

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

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

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

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

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

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

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