openapi: 3.2.0 info: title: LiteLLM Claude Code Marketplace API description: "Enterprise Edition \n\nProxy Server to call 100+ LLMs in the OpenAI format. [**Customize Swagger Docs**](https://docs.litellm.ai/docs/proxy/enterprise#swagger-docs---custom-routes--branding)\n\n\U0001F449 [```LiteLLM Admin Panel on /ui```](/ui). Create, Edit Keys with SSO. Having issues? Try [```Fallback Login```](/fallback/login)\n\n\U0001F4B8 [```LiteLLM Model Cost Map```](https://models.litellm.ai/).\n\n\U0001F50E [```LiteLLM Model Hub```](/ui/model_hub_table). See available models on the proxy. [**Docs**](https://docs.litellm.ai/docs/proxy/ai_hub)" version: 1.95.0 x-operator: institution x-provenance: method: probed source: https://llmproxy.uva.nl/openapi.json retrieved: '2026-08-19' note: Document is generated by the LiteLLM proxy software the University of Amsterdam self-hosts; the deployment, the key issuance and the host (llmproxy.uva.nl, UvA Azure) are the institution's. servers[] added by API Evangelist because the served document omits it; nothing else altered. servers: - url: https://llmproxy.uva.nl description: University of Amsterdam / Amsterdam University of Applied Sciences shared AI gateway tags: - name: Claude Code Marketplace paths: /public/skill_hub: get: tags: - Claude Code Marketplace summary: Public Skill Hub description: Return enabled (public) Claude Code skills — no auth required. operationId: public_skill_hub_public_skill_hub_get responses: '200': description: Successful Response content: application/json: schema: {} /claude-code/marketplace.json: get: 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 \n- claude plugin install @\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': content: application/json: schema: {} description: Successful Response summary: Get Marketplace tags: - Claude Code Marketplace /claude-code/plugins: get: 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 parameters: - in: query name: enabled_only required: false schema: default: false title: Enabled Only type: boolean responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListPluginsResponse' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: List Plugins tags: - Claude Code Marketplace post: 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/RegisterPluginRequest' required: true responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Register Plugin tags: - Claude Code Marketplace /claude-code/plugins/{plugin_name}: delete: 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 parameters: - in: path name: plugin_name required: true schema: title: Plugin Name type: string responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Delete Plugin tags: - Claude Code Marketplace get: 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 parameters: - in: path name: plugin_name required: true schema: title: Plugin Name type: string responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Get Plugin tags: - Claude Code Marketplace /claude-code/plugins/{plugin_name}/disable: post: 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 parameters: - in: path name: plugin_name required: true schema: title: Plugin Name type: string responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Disable Plugin tags: - Claude Code Marketplace /claude-code/plugins/{plugin_name}/enable: post: 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 parameters: - in: path name: plugin_name required: true schema: title: Plugin Name type: string responses: '200': content: application/json: schema: {} description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error security: - APIKeyHeader: [] summary: Enable Plugin tags: - Claude Code Marketplace components: schemas: ListPluginsResponse: description: Response from listing plugins. properties: count: title: Count type: integer plugins: items: $ref: '#/components/schemas/PluginListItem' title: Plugins type: array required: - plugins - count title: ListPluginsResponse type: object PluginListItem: description: Plugin item in list responses. properties: author: anyOf: - $ref: '#/components/schemas/PluginAuthor' - type: 'null' category: anyOf: - type: string - type: 'null' title: Category created_at: anyOf: - type: string - type: 'null' title: Created At description: anyOf: - type: string - type: 'null' title: Description domain: anyOf: - type: string - type: 'null' title: Domain enabled: title: Enabled type: boolean homepage: anyOf: - type: string - type: 'null' title: Homepage id: title: Id type: string keywords: anyOf: - items: type: string type: array - type: 'null' title: Keywords name: title: Name type: string namespace: anyOf: - type: string - type: 'null' title: Namespace source: additionalProperties: type: string title: Source type: object updated_at: anyOf: - type: string - type: 'null' title: Updated At version: anyOf: - type: string - type: 'null' title: Version required: - id - name - version - description - source - enabled - created_at - updated_at title: PluginListItem type: object PluginAuthor: description: Plugin author information. properties: email: anyOf: - type: string - type: 'null' description: Author email title: Email name: description: Author name title: Name type: string required: - name title: PluginAuthor type: object RegisterPluginRequest: description: 'Request body for registering a plugin in the marketplace. LiteLLM acts as a registry/discovery layer. Plugins are hosted on GitHub/GitLab/Bitbucket and referenced by their git source.' properties: author: anyOf: - $ref: '#/components/schemas/PluginAuthor' - type: 'null' description: Plugin author category: anyOf: - type: string - type: 'null' description: Plugin category title: Category description: anyOf: - type: string - type: 'null' description: Plugin description title: Description domain: anyOf: - type: string - type: 'null' description: Skill domain (e.g., 'Productivity') title: Domain homepage: anyOf: - type: string - type: 'null' description: Plugin homepage URL title: Homepage keywords: anyOf: - items: type: string type: array - type: 'null' description: Search keywords title: Keywords name: description: Plugin name (kebab-case, e.g., 'my-plugin') pattern: ^[a-z0-9-]+$ title: Name type: string namespace: anyOf: - type: string - type: 'null' description: Skill namespace within domain (e.g., 'workflows') title: Namespace source: additionalProperties: type: string description: 'Git source reference. Supported formats: - GitHub: {''source'': ''github'', ''repo'': ''org/repo''} - Git URL: {''source'': ''url'', ''url'': ''https://github.com/org/repo.git''} - Git Subdir: {''source'': ''git-subdir'', ''url'': ''https://github.com/org/repo.git'', ''path'': ''plugins/plugin-name''}' title: Source type: object version: anyOf: - type: string - type: 'null' default: 1.0.0 description: Semantic version title: Version required: - name - source title: RegisterPluginRequest type: object ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError securitySchemes: APIKeyHeader: type: apiKey description: Bearer token in: header name: x-litellm-api-key