Skip to content

Plugins API

Manage installed plugins. Admin-only endpoints.

List installed plugins

http
GET /api/plugins
Authorization: Bearer <admin-token>

Response:

json
[
  {
    "id": "plugin-downloaders",
    "name": "@omnilux/plugin-downloaders",
    "version": "0.1.0",
    "enabled": true,
    "source": "builtin",
    "manifest": {
      "displayName": "Download Clients",
      "description": "qBittorrent, Transmission, SABnzbd, WebTorrent adapters",
      "category": "download-client",
      "permissions": ["network:outbound", "storage:downloads", "database:read-write"]
    },
    "installedAt": "2024-01-01T00:00:00Z",
    "updatedAt": "2024-01-01T00:00:00Z"
  }
]

Enable/disable plugin

http
PATCH /api/plugins/:id
Authorization: Bearer <admin-token>
Content-Type: application/json

{
  "enabled": false
}

Response:

json
{
  "id": "plugin-downloaders",
  "enabled": false
}

Disabling a plugin unregisters its adapters, routes, and background jobs. The plugin's database tables and settings are preserved.

Re-enabling a plugin restores all its registrations.

Use OmniLux, run your own server, or build on the platform.