Files
ss-tools/docs/openapi/litellm/chunks_paths/paths_claude-code.json
busya 30ba70933d feat(llm): mask API keys in UI responses and prevent masked-key leakage in fetch/test/save payloads
- Add mask_api_key() and is_masked_or_placeholder() to llm_provider service
- Return masked keys in all provider CRUD endpoints
- Reject masked/placeholder keys in fetch_models and test_provider_config
- Show masked key with Change button in ProviderConfig.svelte edit form
- Exclude masked keys from fetch-models, test, and submit payloads on frontend
- Update semantics-core skill with clarified complexity tier rules
- Switch agent modes from subagent to all
2026-05-15 23:34:09 +03:00

296 lines
8.8 KiB
JSON

{
"/claude-code/marketplace.json": {
"get": {
"tags": [
"Claude Code Marketplace"
],
"summary": "Get Marketplace",
"description": "Serve marketplace.json for Claude Code plugin discovery.\n\nThis endpoint is accessed by Claude Code CLI when users run:\n- claude plugin marketplace add <url>\n- claude plugin install <name>@<marketplace>\n\nReturns:\n Marketplace catalog with list of available plugins and their git sources.\n\nExample:\n ```bash\n claude plugin marketplace add http://localhost:4000/claude-code/marketplace.json\n claude plugin install my-plugin@litellm\n ```",
"operationId": "get_marketplace_claude_code_marketplace_json_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
}
},
"/claude-code/plugins": {
"post": {
"tags": [
"Claude Code Marketplace"
],
"summary": "Register Plugin",
"description": "Register a plugin in the LiteLLM marketplace.\n\nLiteLLM acts as a registry/discovery layer. Plugins are hosted on\nGitHub/GitLab/Bitbucket. Claude Code will clone from the git source\nwhen users install.\n\nParameters:\n - name: Plugin name (kebab-case)\n - source: Git source reference (github, url, or git-subdir format)\n - version: Semantic version (optional)\n - description: Plugin description (optional)\n - author: Author information (optional)\n - homepage: Plugin homepage URL (optional)\n - keywords: Search keywords (optional)\n - category: Plugin category (optional)\n\nReturns:\n Registration status and plugin information.\n\nExample:\n ```bash\n curl -X POST http://localhost:4000/claude-code/plugins \\\n -H \"Authorization: Bearer sk-...\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"name\": \"my-plugin\",\n \"source\": {\"source\": \"github\", \"repo\": \"org/my-plugin\"},\n \"version\": \"1.0.0\",\n \"description\": \"My awesome plugin\"\n }'\n ```",
"operationId": "register_plugin_claude_code_plugins_post",
"security": [
{
"APIKeyHeader": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegisterPluginRequest"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"get": {
"tags": [
"Claude Code Marketplace"
],
"summary": "List Plugins",
"description": "List all plugins in the marketplace.\n\nParameters:\n - enabled_only: If true, only return enabled plugins\n\nReturns:\n List of plugins with their metadata.",
"operationId": "list_plugins_claude_code_plugins_get",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "enabled_only",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"default": false,
"title": "Enabled Only"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListPluginsResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/claude-code/plugins/{plugin_name}": {
"get": {
"tags": [
"Claude Code Marketplace"
],
"summary": "Get Plugin",
"description": "Get details of a specific plugin.\n\nParameters:\n - plugin_name: The name of the plugin\n\nReturns:\n Plugin details including source and metadata.",
"operationId": "get_plugin_claude_code_plugins__plugin_name__get",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "plugin_name",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Plugin Name"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"delete": {
"tags": [
"Claude Code Marketplace"
],
"summary": "Delete Plugin",
"description": "Delete a plugin from the marketplace.\n\nParameters:\n - plugin_name: The name of the plugin to delete",
"operationId": "delete_plugin_claude_code_plugins__plugin_name__delete",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "plugin_name",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Plugin Name"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/claude-code/plugins/{plugin_name}/disable": {
"post": {
"tags": [
"Claude Code Marketplace"
],
"summary": "Disable Plugin",
"description": "Disable a plugin without deleting it.\n\nParameters:\n - plugin_name: The name of the plugin to disable",
"operationId": "disable_plugin_claude_code_plugins__plugin_name__disable_post",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "plugin_name",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Plugin Name"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/claude-code/plugins/{plugin_name}/enable": {
"post": {
"tags": [
"Claude Code Marketplace"
],
"summary": "Enable Plugin",
"description": "Enable a disabled plugin.\n\nParameters:\n - plugin_name: The name of the plugin to enable",
"operationId": "enable_plugin_claude_code_plugins__plugin_name__enable_post",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "plugin_name",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Plugin Name"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
}
}