/manage

Management API for installed plugins. Every operation requires the system right system.root or system.plugin; a request lacking both (including an unauthenticated request) is rejected with code: SystemRightRequired (403).

GET /plugin/manage — List all installed plugins.

List all installed plugins.

get

Returns every installed plugin — enabled and disabled — with its stored row and parsed manifest.

Authorizations
AuthorizationstringRequired

Access token in the Authorization header: Authorization: Bearer <token>.

Responses
200

The list of installed plugins.

application/json

Response of GET /plugin/manage — the full list of installed plugins (enabled and disabled) as seen by the management API.

PUT /plugin/manage — Create (install) a plugin.

Create (install) a plugin.

put

Installs a new plugin. The body must NOT carry an id; type is required and must be one of disk, zip, url. For a ZIP upload, set type: zip and reference a previously uploaded ZIP asset as zip_file: { "_id": <fileId> }. The plugin's enabled state is taken from the request enabled field, so a plugin can be created already enabled.

Fails with code: PluginDuplicateName (400) if a plugin with the same name already exists, with code: ReadOnlyMode when the instance is in read-only mode, and with code: ServerGeneric (400) when the body carries an id or the payload cannot be parsed.

Authorizations
AuthorizationstringRequired

Access token in the Authorization header: Authorization: Bearer <token>.

Body

A single plugin as seen by the management API (/plugin/manage). Carries the stored plugin row (id, name, enabled flag, source) plus the parsed manifest. Used both as the request body of PUT/POST /plugin/manage and as their response.

On create (PUT) the body must NOT carry an id; on update (POST /plugin/manage/{id}) the body id must match the path {id}.

idinteger · int64Optional

Numeric id of the stored plugin. Assigned by fylr on create; must be absent (or 0) in a PUT create body, and must match the path {id} in a POST update body.

namestring · nullableOptional

Unique plugin name (matches the manifest name:). Read-only in responses; derived from the uploaded plugin on create.

enabledboolean · nullableOptional

Whether the plugin is enabled. A freshly uploaded plugin is created disabled (false); enable it with an update.

auto_addedboolean · nullableOptional

true when the plugin was discovered and registered automatically (e.g. from the plugins directory) rather than uploaded via the API.

pathstring · nullableOptional

Filesystem path the plugin is loaded from, if any.

urlstring · nullableOptional

Source URL the plugin is fetched from when type is url.

typestring · nullableOptional

Source type of the plugin. zip for a plugin uploaded as a ZIP asset (zip_file), url for one fetched from a remote url.

update_policystring · nullableOptional

Update policy stored for the plugin (controls how/when fylr refreshes the plugin from its source).

last_checked_atstring · date-timeOptional

When fylr last checked the plugin source for updates.

created_atstring · date-timeOptional

Creation timestamp.

updated_atstring · date-timeOptional

Last-update timestamp.

Responses
200

The created plugin.

application/json

A single plugin as seen by the management API (/plugin/manage). Carries the stored plugin row (id, name, enabled flag, source) plus the parsed manifest. Used both as the request body of PUT/POST /plugin/manage and as their response.

On create (PUT) the body must NOT carry an id; on update (POST /plugin/manage/{id}) the body id must match the path {id}.

idinteger · int64Optional

Numeric id of the stored plugin. Assigned by fylr on create; must be absent (or 0) in a PUT create body, and must match the path {id} in a POST update body.

namestring · nullableOptional

Unique plugin name (matches the manifest name:). Read-only in responses; derived from the uploaded plugin on create.

enabledboolean · nullableOptional

Whether the plugin is enabled. A freshly uploaded plugin is created disabled (false); enable it with an update.

auto_addedboolean · nullableOptional

true when the plugin was discovered and registered automatically (e.g. from the plugins directory) rather than uploaded via the API.

pathstring · nullableOptional

Filesystem path the plugin is loaded from, if any.

urlstring · nullableOptional

Source URL the plugin is fetched from when type is url.

typestring · nullableOptional

Source type of the plugin. zip for a plugin uploaded as a ZIP asset (zip_file), url for one fetched from a remote url.

update_policystring · nullableOptional

Update policy stored for the plugin (controls how/when fylr refreshes the plugin from its source).

last_checked_atstring · date-timeOptional

When fylr last checked the plugin source for updates.

created_atstring · date-timeOptional

Creation timestamp.

updated_atstring · date-timeOptional

Last-update timestamp.

GET /plugin/manage/{id} — Read one installed plugin.

Read one installed plugin.

get
Authorizations
AuthorizationstringRequired

Access token in the Authorization header: Authorization: Bearer <token>.

Path parameters
idinteger · int64Required

Numeric id of the plugin.

Responses
200

The plugin.

application/json

A single plugin as seen by the management API (/plugin/manage). Carries the stored plugin row (id, name, enabled flag, source) plus the parsed manifest. Used both as the request body of PUT/POST /plugin/manage and as their response.

On create (PUT) the body must NOT carry an id; on update (POST /plugin/manage/{id}) the body id must match the path {id}.

idinteger · int64Optional

Numeric id of the stored plugin. Assigned by fylr on create; must be absent (or 0) in a PUT create body, and must match the path {id} in a POST update body.

namestring · nullableOptional

Unique plugin name (matches the manifest name:). Read-only in responses; derived from the uploaded plugin on create.

enabledboolean · nullableOptional

Whether the plugin is enabled. A freshly uploaded plugin is created disabled (false); enable it with an update.

auto_addedboolean · nullableOptional

true when the plugin was discovered and registered automatically (e.g. from the plugins directory) rather than uploaded via the API.

pathstring · nullableOptional

Filesystem path the plugin is loaded from, if any.

urlstring · nullableOptional

Source URL the plugin is fetched from when type is url.

typestring · nullableOptional

Source type of the plugin. zip for a plugin uploaded as a ZIP asset (zip_file), url for one fetched from a remote url.

update_policystring · nullableOptional

Update policy stored for the plugin (controls how/when fylr refreshes the plugin from its source).

last_checked_atstring · date-timeOptional

When fylr last checked the plugin source for updates.

created_atstring · date-timeOptional

Creation timestamp.

updated_atstring · date-timeOptional

Last-update timestamp.

POST /plugin/manage/{id} — Update an installed plugin.

Update an installed plugin.

post

Updates the plugin identified by {id}. The body id must match the path {id}. Use this to enable/disable a plugin or refresh it from its source. Fails with code: ReadOnlyMode when the instance is read-only.

Authorizations
AuthorizationstringRequired

Access token in the Authorization header: Authorization: Bearer <token>.

Path parameters
idinteger · int64Required

Numeric id of the plugin.

Body

A single plugin as seen by the management API (/plugin/manage). Carries the stored plugin row (id, name, enabled flag, source) plus the parsed manifest. Used both as the request body of PUT/POST /plugin/manage and as their response.

On create (PUT) the body must NOT carry an id; on update (POST /plugin/manage/{id}) the body id must match the path {id}.

idinteger · int64Optional

Numeric id of the stored plugin. Assigned by fylr on create; must be absent (or 0) in a PUT create body, and must match the path {id} in a POST update body.

namestring · nullableOptional

Unique plugin name (matches the manifest name:). Read-only in responses; derived from the uploaded plugin on create.

enabledboolean · nullableOptional

Whether the plugin is enabled. A freshly uploaded plugin is created disabled (false); enable it with an update.

auto_addedboolean · nullableOptional

true when the plugin was discovered and registered automatically (e.g. from the plugins directory) rather than uploaded via the API.

pathstring · nullableOptional

Filesystem path the plugin is loaded from, if any.

urlstring · nullableOptional

Source URL the plugin is fetched from when type is url.

typestring · nullableOptional

Source type of the plugin. zip for a plugin uploaded as a ZIP asset (zip_file), url for one fetched from a remote url.

update_policystring · nullableOptional

Update policy stored for the plugin (controls how/when fylr refreshes the plugin from its source).

last_checked_atstring · date-timeOptional

When fylr last checked the plugin source for updates.

created_atstring · date-timeOptional

Creation timestamp.

updated_atstring · date-timeOptional

Last-update timestamp.

Responses
200

The updated plugin.

application/json

A single plugin as seen by the management API (/plugin/manage). Carries the stored plugin row (id, name, enabled flag, source) plus the parsed manifest. Used both as the request body of PUT/POST /plugin/manage and as their response.

On create (PUT) the body must NOT carry an id; on update (POST /plugin/manage/{id}) the body id must match the path {id}.

idinteger · int64Optional

Numeric id of the stored plugin. Assigned by fylr on create; must be absent (or 0) in a PUT create body, and must match the path {id} in a POST update body.

namestring · nullableOptional

Unique plugin name (matches the manifest name:). Read-only in responses; derived from the uploaded plugin on create.

enabledboolean · nullableOptional

Whether the plugin is enabled. A freshly uploaded plugin is created disabled (false); enable it with an update.

auto_addedboolean · nullableOptional

true when the plugin was discovered and registered automatically (e.g. from the plugins directory) rather than uploaded via the API.

pathstring · nullableOptional

Filesystem path the plugin is loaded from, if any.

urlstring · nullableOptional

Source URL the plugin is fetched from when type is url.

typestring · nullableOptional

Source type of the plugin. zip for a plugin uploaded as a ZIP asset (zip_file), url for one fetched from a remote url.

update_policystring · nullableOptional

Update policy stored for the plugin (controls how/when fylr refreshes the plugin from its source).

last_checked_atstring · date-timeOptional

When fylr last checked the plugin source for updates.

created_atstring · date-timeOptional

Creation timestamp.

updated_atstring · date-timeOptional

Last-update timestamp.

DELETE /plugin/manage/{id} — Delete (uninstall) a plugin.

Delete (uninstall) a plugin.

delete

Removes the plugin identified by {id}. Fails with code: ReadOnlyMode when the instance is read-only.

Authorizations
AuthorizationstringRequired

Access token in the Authorization header: Authorization: Bearer <token>.

Path parameters
idinteger · int64Required

Numeric id of the plugin.

Responses
200

The plugin was deleted.

application/json

Response of DELETE /plugin/manage/{id} — confirms the plugin was removed.

acknowledgedboolean · enumRequired

Always true when the plugin was deleted.

Possible values:

Last updated