Skip to main content

PluginActionDto

A plugin action available for a specific scope

actionTypestringrequired

Action type (e.g., "metadata_search", "metadata_get")

capabilities object

Capabilities the plugin advertises in its manifest. The library-jobs editor uses this to decide which scope options are available for the chosen provider. The metadata_provider array contains "series" and/or "book" entries.

externalIdSourcestring | nullnullable

External ID source for matching sync entries to series (e.g., "api:anilist")

metadataProviderstring[]

Content types this plugin can provide metadata for (e.g., ["series", "book"])

releaseSourceboolean

Whether the plugin declares the release_source capability (announces new chapter / volume releases for tracked series).

userReadSyncboolean

Can sync user reading progress

userRecommendationProviderboolean

Can provide personalized recommendations

wantsDetailedProgressboolean

Whether the plugin consumes the per-book reading-progress breakdown on the sync entries it receives. Only meaningful when user_read_sync is true.

wantsFullMetadataboolean

Whether the plugin consumes enriched series data (bibliographic metadata, custom metadata) on the sync/recommendation entries it receives.

descriptionstring | nullnullable

Description of the action

iconstring | nullnullable

Icon hint for UI (optional)

labelstringrequired

Human-readable label for the action

libraryIdsstring<uuid>[]

Library IDs this plugin applies to (empty means all libraries) Used by frontend to filter which plugins show up for each library

pluginDisplayNamestringrequired

Plugin display name

pluginIdstring<uuid>required

Plugin ID

pluginNamestringrequired

Plugin name

searchUriTemplatestring | nullnullable

URI template for searching on the plugin's website (from manifest)

PluginActionDto
{
"actionType": "string",
"capabilities": {
"externalIdSource": "string",
"metadataProvider": [
"string"
],
"releaseSource": true,
"userReadSync": true,
"userRecommendationProvider": true,
"wantsDetailedProgress": true,
"wantsFullMetadata": true
},
"description": "string",
"icon": "string",
"label": "string",
"libraryIds": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"pluginDisplayName": "string",
"pluginId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"pluginName": "string",
"searchUriTemplate": "string"
}