{
  "/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"
              }
            }
          }
        }
      }
    }
  }
}