# Plugin Public Pages endpoints (System (public))

> 1 FeatherPanel System (public) endpoint from system/plugin-public-pages.php: methods, paths, auth, permissions, rate limits, parameters and responses.

Source: https://featherpanel.com/docs/api/reference/system/plugin-public-pages/

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

- Auth: Public
- Route name: `plugin-public-pages`
- Controller: [`PluginPublicPagesController::index`](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/Controllers/System/PluginPublicPagesController.php)
- [route source](https://github.com/MythicalLTD/FeatherPanel/blob/15b94e9fc9df233123706b47c42728b81e48cb3d/backend/app/routes/system/plugin-public-pages.php#L24)

**Get plugin public page registry** Aggregate public page declarations from addon Frontend/public.json files. Only enabled plugins and currently enabled pages are returned for auth allowlisting and public navigation.

```bash
curl -X GET "$PANEL_URL/api/system/plugin-public-pages" \
  -H "Accept: application/json"
```

Plugin events: [`featherpanel:system:plugins:ui:error`](https://featherpanel.com/docs/plugins/events/plugin-ui/#ui-error), [`featherpanel:system:plugins:ui:public-pages:retrieved`](https://featherpanel.com/docs/plugins/events/plugin-ui/#public-pages-retrieved)

Responses: `200` Plugin public pages retrieved successfully · `500` Internal server error
