Skip to main content

PluginManifestDto

Plugin manifest from the plugin itself

adminSetupInstructionsstring | nullnullable

Admin-facing setup instructions (e.g., how to create OAuth app, set client ID)

authorstring | nullnullable

Author

capabilities objectrequired

Plugin capabilities

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"])

userReadSyncboolean

Can sync user reading progress

userRecommendationProviderboolean

Can provide personalized recommendations

configSchema object
oneOf
null
contentTypesstring[]required

Supported content types

descriptionstring | nullnullable

Description

displayNamestringrequired

Display name for UI

homepagestring | nullnullable

Homepage URL

namestringrequired

Unique identifier

oauth object
oneOf
null
protocolVersionstringrequired

Protocol version

requiredCredentials object[]

Required credentials

  • Array [
  • credentialTypestringrequired

    Input type for UI

    descriptionstring | nullnullable

    Description for the user

    keystringrequired

    Credential key (e.g., "api_key")

    labelstringrequired

    Display label (e.g., "API Key")

    requiredboolean

    Whether this credential is required

    sensitiveboolean

    Whether to mask the value in UI

  • ]
  • scopesstring[]

    Supported scopes

    searchUriTemplatestring | nullnullable

    URI template for searching on the plugin's website

    userSetupInstructionsstring | nullnullable

    User-facing setup instructions (e.g., how to connect or get a personal token)

    versionstringrequired

    Semantic version

    PluginManifestDto
    {
    "adminSetupInstructions": "string",
    "author": "string",
    "capabilities": {
    "externalIdSource": "string",
    "metadataProvider": [
    "string"
    ],
    "userReadSync": true,
    "userRecommendationProvider": true
    },
    "configSchema": "null",
    "contentTypes": [
    "string"
    ],
    "description": "string",
    "displayName": "string",
    "homepage": "string",
    "name": "string",
    "oauth": "null",
    "protocolVersion": "string",
    "requiredCredentials": [
    {
    "credentialType": "string",
    "description": "string",
    "key": "string",
    "label": "string",
    "required": true,
    "sensitive": true
    }
    ],
    "scopes": [
    "string"
    ],
    "searchUriTemplate": "string",
    "userSetupInstructions": "string",
    "version": "string"
    }