Skip to main content

PluginsListResponse

Response containing a list of plugins

plugins object[]required

List of plugins

  • Array [
  • argsstring[]required

    Command arguments

    Example: ["/opt/codex/plugins/mangabaka/dist/index.js"]
    autoMatchConditions

    Auto-match conditions (JSON object with mode and rules)

    commandstringrequired

    Command to spawn the plugin

    Example: node
    configrequired

    Plugin-specific configuration

    createdAtstring<date-time>required

    When the plugin was created

    credentialDeliverystringrequired

    How credentials are delivered to the plugin

    Example: env
    descriptionstring | nullnullable

    Description of the plugin

    Example: Fetch manga metadata from MangaBaka (MangaUpdates)
    disabledReasonstring | nullnullable

    Reason the plugin was disabled

    displayNamestringrequired

    Human-readable display name

    Example: MangaBaka
    enabledbooleanrequired

    Whether the plugin is enabled

    Example: true
    envrequired

    Additional environment variables (non-sensitive only)

    failureCountinteger<int32>required

    Number of consecutive failures

    Example: 0
    hasCredentialsbooleanrequired

    Whether credentials have been set (actual credentials are never returned)

    Example: true
    healthStatusstringrequired

    Health status: unknown, healthy, degraded, unhealthy, disabled

    Example: healthy
    idstring<uuid>required

    Plugin ID

    Example: 550e8400-e29b-41d4-a716-446655440000
    internalConfig object
    oneOf
    null
    lastFailureAtstring,null<date-time>nullable

    When the last failure occurred

    lastSuccessAtstring,null<date-time>nullable

    When the last successful operation occurred

    libraryIdsstring<uuid>[]required

    Library IDs this plugin applies to (empty = all libraries)

    Example: []
    manifest object
    oneOf
    null
    metadataTargetsstring[]nullable

    Metadata targets: which resource types this plugin auto-matches against null = auto-detect from plugin capabilities

    Example: ["series","book"]
    namestringrequired

    Unique identifier (e.g., "mangabaka")

    Example: mangabaka
    permissionsstring[]required

    RBAC permissions for metadata writes

    Example: ["metadata:write:summary","metadata:write:genres"]
    pluginTypestringrequired

    Plugin type: "system" (admin-configured) or "user" (per-user instances)

    Example: system
    rateLimitRequestsPerMinuteinteger,null<int32>nullable

    Rate limit in requests per minute (None = no limit)

    Example: 60
    scopesstring[]required

    Scopes where plugin can be invoked

    Example: ["series:detail","series:bulk"]
    searchPreprocessingRules

    Preprocessing rules for search queries (JSON array of regex rules)

    searchQueryTemplatestring | nullnullable

    Handlebars template for customizing search queries

    updatedAtstring<date-time>required

    When the plugin was last updated

    useExistingExternalIdbooleanrequired

    Whether to skip search when external ID exists for this plugin

    Example: true
    userCountinteger,null<int64>nullable

    Number of users who have enabled this plugin (only for user-type plugins)

    Possible values: >= 0

    Example: 3
    workingDirectorystring | nullnullable

    Working directory for the plugin process

  • ]
  • totalintegerrequired

    Total count

    Possible values: >= 0

    PluginsListResponse
    {
    "plugins": [
    {
    "args": [
    "/opt/codex/plugins/mangabaka/dist/index.js"
    ],
    "command": "node",
    "createdAt": "2024-07-29T15:51:28.071Z",
    "credentialDelivery": "env",
    "description": "Fetch manga metadata from MangaBaka (MangaUpdates)",
    "disabledReason": "string",
    "displayName": "MangaBaka",
    "enabled": true,
    "failureCount": 0,
    "hasCredentials": true,
    "healthStatus": "healthy",
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "internalConfig": "null",
    "lastFailureAt": "2024-07-29T15:51:28.071Z",
    "lastSuccessAt": "2024-07-29T15:51:28.071Z",
    "libraryIds": [],
    "manifest": "null",
    "metadataTargets": [
    "series",
    "book"
    ],
    "name": "mangabaka",
    "permissions": [
    "metadata:write:summary",
    "metadata:write:genres"
    ],
    "pluginType": "system",
    "rateLimitRequestsPerMinute": 60,
    "scopes": [
    "series:detail",
    "series:bulk"
    ],
    "searchQueryTemplate": "string",
    "updatedAt": "2024-07-29T15:51:28.071Z",
    "useExistingExternalId": true,
    "userCount": 3,
    "workingDirectory": "string"
    }
    ],
    "total": 0
    }