PluginTestResult
Response from testing a plugin connection
Response latency in milliseconds
Possible values: >= 0
150manifest object
Plugin manifest (if connection succeeded)
Admin-facing setup instructions (e.g., how to create OAuth app, set client ID)
Author
capabilities objectrequired
Plugin capabilities
External ID source for matching sync entries to series (e.g., "api:anilist")
Content types this plugin can provide metadata for (e.g., ["series", "book"])
Whether the plugin declares the release_source capability (announces
new chapter / volume releases for tracked series).
Can sync user reading progress
Can provide personalized recommendations
Whether the plugin consumes the per-book reading-progress breakdown on the
sync entries it receives. Only meaningful when user_read_sync is true.
Whether the plugin consumes enriched series data (bibliographic metadata, custom metadata) on the sync/recommendation entries it receives.
configSchema object
Configuration schema documenting available config options
Human-readable description of the configuration
fields object[]required
List of configuration fields
Default value if not provided
Description of what this field does
Example value for documentation
Field name (key in JSON config)
Human-readable label
Whether this field is required
Field type — free-form documentation hint. Common values: "number", "string", "boolean", "string-array", "object". The host never validates stored config against this; it forwards the raw JSON to the plugin.
Supported content types
Description
Display name for UI
Homepage URL
Unique identifier
oauth object
OAuth 2.0 configuration (if plugin supports OAuth)
OAuth 2.0 authorization endpoint URL
Whether to use PKCE (Proof Key for Code Exchange)
Required OAuth scopes
OAuth 2.0 token endpoint URL
Optional user info endpoint URL
Protocol version
requiredCredentials object[]
Required credentials
Input type for UI
Description for the user
Credential key (e.g., "api_key")
Display label (e.g., "API Key")
Whether this credential is required
Whether to mask the value in UI
Supported scopes
URI template for searching on the plugin's website
User-facing setup instructions (e.g., how to connect or get a personal token)
Semantic version
Test result message
Successfully connected to pluginWhether the test was successful
true{
"latencyMs": 150,
"manifest": {
"adminSetupInstructions": "string",
"author": "string",
"capabilities": {
"externalIdSource": "string",
"metadataProvider": [
"string"
],
"releaseSource": true,
"userReadSync": true,
"userRecommendationProvider": true,
"wantsDetailedProgress": true,
"wantsFullMetadata": true
},
"configSchema": {
"description": "string",
"fields": [
{
"description": "string",
"key": "string",
"label": "string",
"required": true,
"type": "string"
}
]
},
"contentTypes": [
"string"
],
"description": "string",
"displayName": "string",
"homepage": "string",
"name": "string",
"oauth": {
"authorizationUrl": "string",
"pkce": true,
"scopes": [
"string"
],
"tokenUrl": "string",
"userInfoUrl": "string"
},
"protocolVersion": "string",
"requiredCredentials": [
{
"credentialType": "string",
"description": "string",
"key": "string",
"label": "string",
"required": true,
"sensitive": true
}
],
"scopes": [
"string"
],
"searchUriTemplate": "string",
"userSetupInstructions": "string",
"version": "string"
},
"message": "Successfully connected to plugin",
"success": true
}