PluginStatusResponse
Response after enabling or disabling a plugin
Health check error message (None if passed or not performed)
Health check latency in milliseconds (None if not performed)
Possible values: >= 0
150Health check passed (None if not performed)
trueWhether a health check was performed
trueStatus change message
Plugin enabled successfullyplugin objectrequired
A plugin (credentials are never exposed)
Command arguments
["/opt/codex/plugins/mangabaka/dist/index.js"]Auto-match conditions (JSON object with mode and rules)
Command to spawn the plugin
nodePlugin-specific configuration
When the plugin was created
How credentials are delivered to the plugin
envDescription of the plugin
Fetch manga metadata from MangaBaka (MangaUpdates)Reason the plugin was disabled
Human-readable display name
MangaBakaWhether the plugin is enabled
trueAdditional environment variables (non-sensitive only)
Number of consecutive failures
0Whether credentials have been set (actual credentials are never returned)
trueHealth status: unknown, healthy, degraded, unhealthy, disabled
healthyPlugin ID
550e8400-e29b-41d4-a716-446655440000internalConfig object
- null
- InternalPluginConfig
When the last failure occurred
When the last successful operation occurred
Library IDs this plugin applies to (empty = all libraries)
[]manifest object
- null
- PluginManifestDto
Metadata targets: which resource types this plugin auto-matches against null = auto-detect from plugin capabilities
["series","book"]Unique identifier (e.g., "mangabaka")
mangabakaRBAC permissions for metadata writes
["metadata:write:summary","metadata:write:genres"]Plugin type: "system" (admin-configured) or "user" (per-user instances)
systemRate limit in requests per minute (None = no limit)
60Per-plugin override for the host → plugin RPC deadline, in seconds. None means "use the server default" (typically 30s).
300Scopes where plugin can be invoked
["series:detail","series:bulk"]Preprocessing rules for search queries (JSON array of regex rules)
Handlebars template for customizing search queries
Admin-managed cron schedule for automatic user-plugin syncs (null = no scheduled sync)
0 0 */6 * * *When the plugin was last updated
Whether to skip search when external ID exists for this plugin
trueNumber of users who have enabled this plugin (only for user-type plugins)
Possible values: >= 0
3Working directory for the plugin process
{
"healthCheckError": "string",
"healthCheckLatencyMs": 150,
"healthCheckPassed": true,
"healthCheckPerformed": true,
"message": "Plugin enabled successfully",
"plugin": {
"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,
"requestTimeoutSeconds": 300,
"scopes": [
"series:detail",
"series:bulk"
],
"searchQueryTemplate": "string",
"syncCronSchedule": "0 0 */6 * * *",
"updatedAt": "2024-07-29T15:51:28.071Z",
"useExistingExternalId": true,
"userCount": 3,
"workingDirectory": "string"
}
}