# Plugins API schemas PluginStatus: type: object description: Plugin status information properties: name: type: string description: Display name of the plugin status: type: string enum: [active, error, disabled, loading, uninitialized, unloaded, loaded] logs: type: array items: type: string types: type: array description: Plugin types indicating which interfaces the plugin implements items: type: string enum: [llm, mcp, http, observability] example: name: my_custom_plugin status: active logs: - "plugin my_custom_plugin initialized successfully" types: - llm - http Plugin: type: object description: Plugin configuration properties: id: type: integer description: Plugin ID (auto-generated) name: type: string description: Display name of the plugin (from config) actualName: type: string description: Actual plugin name from GetName() (used as map key in plugin status). Only populated for active plugins. enabled: type: boolean config: type: object additionalProperties: true isCustom: type: boolean path: type: string status: $ref: '#/PluginStatus' description: Current plugin status including types array (only populated for active plugins) created_at: type: string format: date-time version: type: integer format: int16 updated_at: type: string format: date-time config_hash: type: string example: name: my_custom_plugin actualName: MyCustomPlugin enabled: true config: api_key: "xxx" isCustom: true path: "/plugins/my_custom_plugin.so" status: name: my_custom_plugin status: active logs: - "plugin my_custom_plugin initialized successfully" types: - llm - http ListPluginsResponse: type: object description: List plugins response properties: plugins: type: array items: $ref: '#/Plugin' count: type: integer CreatePluginRequest: type: object description: Create plugin request required: - name properties: name: type: string enabled: type: boolean config: type: object additionalProperties: true path: type: string UpdatePluginRequest: type: object description: Update plugin request properties: enabled: type: boolean config: type: object additionalProperties: true path: type: string PluginResponse: type: object description: Plugin operation response properties: message: type: string plugin: $ref: '#/Plugin'