Skip to Content
API ReferencePlugins API

Plugins API

Discovery endpoints for plugins and AI model providers.

GET /api/plugins

Returns all discovered plugins with their metadata, capabilities, and config state.

GET /api/plugins Authorization: Bearer <token>
{ "plugins": [ { "id": "@pandorakit/tavily-search", "name": "Tavily Search", "description": "Web search via Tavily API", "author": "Pandora", "icon": null, "version": "0.1.0", "homepage": null, "repository": "https://github.com/...", "license": "MIT", "envVars": [{ "name": "TAVILY_API_KEY", "required": true, "configured": false }], "envConfigured": false, "configFields": [], "enabled": false, "config": { "enabled": false }, "provides": { "tools": { "toolIds": ["@pandorakit/tavily-search:tavily_search"], "tools": [ { "id": "@pandorakit/tavily-search:tavily_search", "name": "Tavily Search", "description": "..." } ], "sandbox": "host", "permissions": {}, "requireApproval": false, "alerts": [] } }, "validationErrors": [] } ] }

Each plugin object contains:

FieldTypeDescription
idstringPlugin identifier (from manifest)
namestringDisplay name
descriptionstring?What the plugin does
authorstring?Plugin author
iconstring?Icon URL or path
versionstring?Plugin version
homepagestring?Homepage URL
repositorystring?Repository URL
licensestring?SPDX license identifier
envVarsEnvVarDescriptor[]Environment variable descriptors with configured flag
envConfiguredbooleanWhether all required env vars are set
configFieldsConfigFieldDescriptor[]UI field descriptors
enabledbooleanWhether enabled in config
configobjectCurrent config values
providesobjectCapabilities — contains optional tools, agents, channels
validationErrorsstring[]Config validation errors

provides.tools

Present when the plugin provides tools:

FieldTypeDescription
toolIdsstring[]Tool identifiers
tools{ id, name, description }[]Tool summaries
sandboxstring'compartment' or 'host'
permissionsobject?Declared capabilities (time, network, env, fs, random)
requireApprovalbooleanWhether tools require approval by default
alertsAlert[]Diagnostic alerts

provides.agents

Present when the plugin provides agents:

FieldTypeDescription
agentIdsstring[]Agent identifiers
agentsAgentInfo[]Agent details (see below)
alertsAlert[]Diagnostic alerts

Each agent in the array:

FieldTypeDescription
idstringAgent identifier
namestringDisplay name
descriptionstringWhat the agent does
instructionsstringSystem instructions
modelobject?Model override ({ provider, model }) or null
toolsToolManifest[]Resolved tool manifests from useTools
alertsAlert[]Agent-level alerts

provides.channels

Present when the plugin provides a channel:

FieldTypeDescription
loadedbooleanWhether the adapter loaded successfully
webhookboolean | nullWhether the channel supports webhooks. null if not loaded.
realtimeboolean | nullWhether the channel supports realtime connections. null if not loaded.
webhookPathstring | nullThe webhook URL path. null if not loaded.

GET /api/models

Returns all supported providers, their models, and whether the required API key is configured.

GET /api/models Authorization: Bearer <token>
{ "providers": [ { "id": "anthropic", "name": "Anthropic", "models": ["claude-sonnet-4-20250514", "..."], "configured": true, "docUrl": "https://docs.anthropic.com", "gateway": null, "envVars": ["ANTHROPIC_API_KEY"] } ] }

Use this endpoint to build model selection UIs. Providers with configured: false are missing their API key.

SDK Types

These types are available from @pandorakit/sdk/api:

import type { UnifiedPluginInfo, PluginProvides, ToolsProvides, AgentsProvides, ChannelsProvides, ProviderInfo } from '@pandorakit/sdk/api'

See SDK Client for the typed client that wraps these endpoints.

Last updated on