Cloud Plugins endpoints (Admin API)
6 FeatherPanel Admin API endpoints from admin/cloud-plugins.php: methods, paths, auth, permissions, rate limits, parameters and responses.
Last synced from FeatherPanel 15b94e9 on .
On this page
Defined in backend/app/routes/admin/cloud-plugins.php. Authentication used here: Admin. Read Authentication for how to send credentials and 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/plugins/online/list
Get online addons list Retrieve a paginated list of Mythic marketplace products available to the linked team (GET /panel/products).
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
q | query | string | no | Search query to filter addons |
page | query | integer | no | Page number for pagination |
per_page | query | integer | no | Number of addons per page |
verified_only | query | boolean | no | If true, only return verified packages |
tags | query | string | no | Comma-separated list of tags to filter by |
sort_by | query | string | no | Field to sort by (created_at, downloads, updated_at) |
sort_order | query | string | no | Sort order |
Response data field | Type | Description |
|---|---|---|
addons | OnlineAddon[] | |
pagination | object | Pagination metadata |
curl -X GET "$PANEL_URL/api/admin/plugins/online/list" \
-H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
-H "Accept: application/json"Responses: 200 Online addons retrieved successfully · 401 Unauthorized · 403 Forbidden - Insufficient permissions · 500 Internal server error - Failed to fetch online addons or invalid response
GET/api/admin/plugins/online/popular
Get popular packages Retrieve Mythic team products sorted for the popular addons carousel.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
limit | query | integer | no | Number of packages to return |
Response data field | Type | Description |
|---|---|---|
addons | OnlineAddon[] |
curl -X GET "$PANEL_URL/api/admin/plugins/online/popular" \
-H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
-H "Accept: application/json"Responses: 200 Popular packages retrieved successfully · 401 Unauthorized · 403 Forbidden - Insufficient permissions · 500 Internal server error
GET/api/admin/plugins/online/{identifier}
Get package details Retrieve Mythic product details and downloadable releases for a product slug.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
identifier | path | string | yes | Package identifier name |
Response data field | Type | Description |
|---|---|---|
package | OnlineAddon | |
versions | object[] |
curl -X GET "$PANEL_URL/api/admin/plugins/online/$IDENTIFIER" \
-H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
-H "Accept: application/json"Responses: 200 Package details retrieved successfully · 401 Unauthorized · 403 Forbidden - Insufficient permissions · 404 Package not found · 500 Internal server error
GET/api/admin/plugins/online/{identifier}/check
Check addon installation requirements Check if all dependencies and requirements are met before installing an addon. Returns dependency status, panel version compatibility, and installation readiness.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
identifier | path | string | yes | Package identifier name |
pending_plugins | query | string | no | Comma-separated addon identifiers also queued for install; plugin= dependencies in this list count as satisfied. |
Response data field | Type | Description |
|---|---|---|
can_install | boolean | Whether the addon can be installed |
package | object | Package information |
dependencies | object | Dependency information |
panel_version | object | Panel version compatibility |
curl -X GET "$PANEL_URL/api/admin/plugins/online/$IDENTIFIER/check" \
-H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
-H "Accept: application/json"Responses: 200 Requirements check completed · 404 Package not found · 500 Internal server error
GET/api/admin/plugins/online/tag/{tag}
Search packages by tag Filter Mythic team products by tag.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
tag | path | string | yes | Tag name to search for |
page | query | integer | no | Page number for pagination |
per_page | query | integer | no | Number of addons per page |
Response data field | Type | Description |
|---|---|---|
addons | OnlineAddon[] | |
tag | string | |
pagination | object |
curl -X GET "$PANEL_URL/api/admin/plugins/online/tag/$TAG" \
-H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
-H "Accept: application/json"Responses: 200 Packages by tag retrieved successfully · 401 Unauthorized · 403 Forbidden - Insufficient permissions · 500 Internal server error
POST/api/admin/plugins/online/install
Install addon from online registry Download and install an addon from Mythic marketplace releases (GET /panel/products/{slug}/releases/{version}/download).
Request body: OnlineInstall (application/json)
| Body field | Type | Required | Description |
|---|---|---|---|
identifier | string | yes | Addon identifier to install |
queued_identifiers | string[] | no | Identifiers selected for the same install session; plugin= dependencies in this list are installed automatically before this addon when missing. |
Response data field | Type | Description |
|---|---|---|
identifier | string | Installed addon identifier |
curl -X POST "$PANEL_URL/api/admin/plugins/online/install" \
-H "Authorization: Bearer $FEATHERPANEL_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"identifier":"","queued_identifiers":[]}'Plugin events: featherpanel:cloud:plugin:installed
Responses: 201 Addon installed successfully · 400 Bad request - Invalid identifier format · 401 Unauthorized · 402 Payment Required - Premium addon must be purchased · 403 Forbidden - Insufficient permissions · 404 Package not found in registry · 409 Conflict - Addon already installed · 412 Precondition Failed - Dependencies not met · 422 Unprocessable Entity - Failed to extract addon package or migrations failed · 500 Internal server error - Failed to install addon or download failed