Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Id0d1f9769b7ccdbf83d5fa78adef62e46a6a6964
3.5 KiB
Plugins
Plugin management
Endpoints
GET /api/v1/plugins
List all installed plugins
Authentication: Required (Bearer JWT)
Responses
| Status | Description |
|---|---|
| 200 | List of plugins |
| 401 | Unauthorized |
| 500 | Internal server error |
POST /api/v1/plugins
Install a plugin from URL or file path
Authentication: Required (Bearer JWT)
Request Body
Content-Type: application/json
See docs/api/openapi.json for the full schema.
Responses
| Status | Description |
|---|---|
| 200 | Plugin installed |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
POST /api/v1/plugins/events
Receive a plugin event emitted from the UI and dispatch it to interested server-side event-handler plugins via the pipeline.
Authentication: Required (Bearer JWT)
Request Body
Content-Type: application/json
See docs/api/openapi.json for the full schema.
Responses
| Status | Description |
|---|---|
| 200 | Event received |
| 401 | Unauthorized |
GET /api/v1/plugins/ui/pages
List all UI pages provided by loaded plugins
Authentication: Required (Bearer JWT)
Responses
| Status | Description |
|---|---|
| 200 | Plugin UI pages |
| 401 | Unauthorized |
GET /api/v1/plugins/ui/theme
List merged CSS custom property overrides from all enabled plugins
Authentication: Required (Bearer JWT)
Responses
| Status | Description |
|---|---|
| 200 | Plugin UI theme extensions |
| 401 | Unauthorized |
GET /api/v1/plugins/ui/widgets
List all UI widgets provided by loaded plugins
Authentication: Required (Bearer JWT)
Responses
| Status | Description |
|---|---|
| 200 | Plugin UI widgets |
| 401 | Unauthorized |
GET /api/v1/plugins/{id}
Get a specific plugin by ID
Authentication: Required (Bearer JWT)
Parameters
| Name | In | Required | Description |
|---|---|---|---|
id |
path | Yes | Plugin ID |
Responses
| Status | Description |
|---|---|
| 200 | Plugin details |
| 401 | Unauthorized |
| 404 | Not found |
DELETE /api/v1/plugins/{id}
Uninstall a plugin
Authentication: Required (Bearer JWT)
Parameters
| Name | In | Required | Description |
|---|---|---|---|
id |
path | Yes | Plugin ID |
Responses
| Status | Description |
|---|---|
| 200 | Plugin uninstalled |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
POST /api/v1/plugins/{id}/reload
Reload a plugin (for development)
Authentication: Required (Bearer JWT)
Parameters
| Name | In | Required | Description |
|---|---|---|---|
id |
path | Yes | Plugin ID |
Responses
| Status | Description |
|---|---|
| 200 | Plugin reloaded |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
PATCH /api/v1/plugins/{id}/toggle
Enable or disable a plugin
Authentication: Required (Bearer JWT)
Parameters
| Name | In | Required | Description |
|---|---|---|---|
id |
path | Yes | Plugin ID |
Request Body
Content-Type: application/json
See docs/api/openapi.json for the full schema.
Responses
| Status | Description |
|---|---|
| 200 | Plugin toggled |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |