From 9f3c5a7fae1f4f3b71e88497f47b58e37e327b7a Mon Sep 17 00:00:00 2001 From: Dotify71 Date: Sun, 3 May 2026 02:01:51 +0530 Subject: [PATCH 1/7] feat(cost): add pricing for azure_ai/gpt-image-2 and gpt-image-to-image Adds pricing entries for new Azure AI image models. Prices: - Text Input: /M tokens - Image Input: /M tokens - Image Output: /M tokens Closes #26765 --- ...odel_prices_and_context_window_backup.json | 32 +++++++++++++++++++ model_prices_and_context_window.json | 32 +++++++++++++++++++ tests/test_litellm/test_utils.py | 31 ++++++++++++++++++ 3 files changed, 95 insertions(+) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index b49d97dc4e3..47a9d99e180 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -2089,6 +2089,38 @@ "supports_response_schema": true, "supports_tool_choice": true }, + "azure_ai/gpt-image-2": { + "cache_read_input_image_token_cost": 2e-06, + "cache_read_input_token_cost": 1.25e-06, + "input_cost_per_token": 5e-06, + "input_cost_per_image_token": 8e-06, + "litellm_provider": "azure_ai", + "mode": "image_generation", + "output_cost_per_token": 1e-05, + "output_cost_per_image_token": 3e-05, + "supported_endpoints": [ + "/v1/images/generations", + "/v1/images/edits" + ], + "supports_vision": true, + "supports_pdf_input": true + }, + "azure_ai/gpt-image-to-image": { + "cache_read_input_image_token_cost": 2e-06, + "cache_read_input_token_cost": 1.25e-06, + "input_cost_per_token": 5e-06, + "input_cost_per_image_token": 8e-06, + "litellm_provider": "azure_ai", + "mode": "image_generation", + "output_cost_per_token": 1e-05, + "output_cost_per_image_token": 3e-05, + "supported_endpoints": [ + "/v1/images/generations", + "/v1/images/edits" + ], + "supports_vision": true, + "supports_pdf_input": true + }, "azure_ai/model_router": { "input_cost_per_token": 1.4e-07, "output_cost_per_token": 0, diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 76dcfc55c10..2a6e4c4ac34 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -2103,6 +2103,38 @@ "supports_response_schema": true, "supports_tool_choice": true }, + "azure_ai/gpt-image-2": { + "cache_read_input_image_token_cost": 2e-06, + "cache_read_input_token_cost": 1.25e-06, + "input_cost_per_token": 5e-06, + "input_cost_per_image_token": 8e-06, + "litellm_provider": "azure_ai", + "mode": "image_generation", + "output_cost_per_token": 1e-05, + "output_cost_per_image_token": 3e-05, + "supported_endpoints": [ + "/v1/images/generations", + "/v1/images/edits" + ], + "supports_vision": true, + "supports_pdf_input": true + }, + "azure_ai/gpt-image-to-image": { + "cache_read_input_image_token_cost": 2e-06, + "cache_read_input_token_cost": 1.25e-06, + "input_cost_per_token": 5e-06, + "input_cost_per_image_token": 8e-06, + "litellm_provider": "azure_ai", + "mode": "image_generation", + "output_cost_per_token": 1e-05, + "output_cost_per_image_token": 3e-05, + "supported_endpoints": [ + "/v1/images/generations", + "/v1/images/edits" + ], + "supports_vision": true, + "supports_pdf_input": true + }, "azure_ai/model_router": { "input_cost_per_token": 1.4e-07, "output_cost_per_token": 0, diff --git a/tests/test_litellm/test_utils.py b/tests/test_litellm/test_utils.py index f28fe3ed258..a0e876ba7bc 100644 --- a/tests/test_litellm/test_utils.py +++ b/tests/test_litellm/test_utils.py @@ -3983,3 +3983,34 @@ class TestValidateAndFixThinkingParam: validate_and_fix_thinking_param(thinking=thinking) assert "budgetTokens" in thinking assert "budget_tokens" not in thinking + + +def test_azure_ai_gpt_image_models_in_cost_map(): + """ + Test that azure_ai/gpt-image-2 and azure_ai/gpt-image-to-image entries + are correctly configured in model_prices_and_context_window.json. + + Prices: + - Text Input: $5/M tokens + - Image Input: $8/M tokens + - Image Output: $30/M tokens + + Closes https://github.com/BerriAI/litellm/issues/26765 + """ + import json + from pathlib import Path + + json_path = Path(__file__).parents[2] / "model_prices_and_context_window.json" + with open(json_path) as f: + model_cost = json.load(f) + + for key in ["azure_ai/gpt-image-2", "azure_ai/gpt-image-to-image"]: + info = model_cost.get(key) + assert info is not None, f"{key} missing from model_prices_and_context_window.json" + assert info["litellm_provider"] == "azure_ai" + assert info["mode"] == "image_generation" + assert info["input_cost_per_token"] == 5e-06 + assert info["input_cost_per_image_token"] == 8e-06 + assert info["output_cost_per_image_token"] == 3e-05 + assert info["cache_read_input_image_token_cost"] == 2e-06 + assert info["supports_vision"] is True From 7a06b724e56a6531ece8cb84eff2d6b3cca015ff Mon Sep 17 00:00:00 2001 From: Dotify71 Date: Sun, 3 May 2026 08:44:33 +0530 Subject: [PATCH 2/7] fix(azure): remove spurious cost fields and fix test assertions --- ...odel_prices_and_context_window_backup.json | 8 +- litellm/proxy/_lazy_openapi_snapshot.json | 4562 +---------------- model_prices_and_context_window.json | 8 +- tests/test_litellm/test_utils.py | 2 + 4 files changed, 26 insertions(+), 4554 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index 47a9d99e180..78b0964a182 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -2096,14 +2096,12 @@ "input_cost_per_image_token": 8e-06, "litellm_provider": "azure_ai", "mode": "image_generation", - "output_cost_per_token": 1e-05, "output_cost_per_image_token": 3e-05, "supported_endpoints": [ "/v1/images/generations", "/v1/images/edits" ], - "supports_vision": true, - "supports_pdf_input": true + "supports_vision": true }, "azure_ai/gpt-image-to-image": { "cache_read_input_image_token_cost": 2e-06, @@ -2112,14 +2110,12 @@ "input_cost_per_image_token": 8e-06, "litellm_provider": "azure_ai", "mode": "image_generation", - "output_cost_per_token": 1e-05, "output_cost_per_image_token": 3e-05, "supported_endpoints": [ "/v1/images/generations", "/v1/images/edits" ], - "supports_vision": true, - "supports_pdf_input": true + "supports_vision": true }, "azure_ai/model_router": { "input_cost_per_token": 1.4e-07, diff --git a/litellm/proxy/_lazy_openapi_snapshot.json b/litellm/proxy/_lazy_openapi_snapshot.json index eb35dd6cb3e..01f073446c4 100644 --- a/litellm/proxy/_lazy_openapi_snapshot.json +++ b/litellm/proxy/_lazy_openapi_snapshot.json @@ -3616,7 +3616,7 @@ }, "get": { "description": "[Docs](https://docs.litellm.ai/docs/pass_through/anthropic_completion)", - "operationId": "anthropic_proxy_route_anthropic__endpoint__delete", + "operationId": "anthropic_proxy_route_anthropic__endpoint__get", "parameters": [ { "in": "path", @@ -3660,7 +3660,7 @@ }, "patch": { "description": "[Docs](https://docs.litellm.ai/docs/pass_through/anthropic_completion)", - "operationId": "anthropic_proxy_route_anthropic__endpoint__delete", + "operationId": "anthropic_proxy_route_anthropic__endpoint__patch", "parameters": [ { "in": "path", @@ -3704,7 +3704,7 @@ }, "post": { "description": "[Docs](https://docs.litellm.ai/docs/pass_through/anthropic_completion)", - "operationId": "anthropic_proxy_route_anthropic__endpoint__delete", + "operationId": "anthropic_proxy_route_anthropic__endpoint__post", "parameters": [ { "in": "path", @@ -3748,7 +3748,7 @@ }, "put": { "description": "[Docs](https://docs.litellm.ai/docs/pass_through/anthropic_completion)", - "operationId": "anthropic_proxy_route_anthropic__endpoint__delete", + "operationId": "anthropic_proxy_route_anthropic__endpoint__put", "parameters": [ { "in": "path", @@ -5454,7 +5454,7 @@ }, "/cloudzero/settings": { "get": { - "description": "View current CloudZero settings.\n\nReturns the current CloudZero configuration with the API key masked for security.\nOnly the first 4 and last 4 characters of the API key are shown.\nReturns null/empty values when settings are not configured (consistent with other settings endpoints).\n\nOnly admin users can view CloudZero settings.", + "description": "View current CloudZero settings.\n\nReturns the current CloudZero configuration with the API key masked for security.\nOnly the first 4 and last 4 characters of the API key are shown.\nReturns null/empty values when settings are not configured (consistent with other settings endpoints).\n\nOnly admin users (Proxy Admin or Admin Viewer) can view CloudZero settings.", "operationId": "get_cloudzero_settings_cloudzero_settings_get", "responses": { "200": { @@ -13299,7 +13299,7 @@ }, "get": { "description": "Call Langfuse via LiteLLM proxy. Works with Langfuse SDK.\n\n[Docs](https://docs.litellm.ai/docs/pass_through/langfuse)", - "operationId": "langfuse_proxy_route_langfuse__endpoint__delete", + "operationId": "langfuse_proxy_route_langfuse__endpoint__get", "parameters": [ { "in": "path", @@ -13338,7 +13338,7 @@ }, "patch": { "description": "Call Langfuse via LiteLLM proxy. Works with Langfuse SDK.\n\n[Docs](https://docs.litellm.ai/docs/pass_through/langfuse)", - "operationId": "langfuse_proxy_route_langfuse__endpoint__delete", + "operationId": "langfuse_proxy_route_langfuse__endpoint__patch", "parameters": [ { "in": "path", @@ -13377,7 +13377,7 @@ }, "post": { "description": "Call Langfuse via LiteLLM proxy. Works with Langfuse SDK.\n\n[Docs](https://docs.litellm.ai/docs/pass_through/langfuse)", - "operationId": "langfuse_proxy_route_langfuse__endpoint__delete", + "operationId": "langfuse_proxy_route_langfuse__endpoint__post", "parameters": [ { "in": "path", @@ -13416,7 +13416,7 @@ }, "put": { "description": "Call Langfuse via LiteLLM proxy. Works with Langfuse SDK.\n\n[Docs](https://docs.litellm.ai/docs/pass_through/langfuse)", - "operationId": "langfuse_proxy_route_langfuse__endpoint__delete", + "operationId": "langfuse_proxy_route_langfuse__endpoint__put", "parameters": [ { "in": "path", @@ -13458,728 +13458,9 @@ }, "mcp_app": { "components": { - "schemas": { - "HTTPValidationError": { - "properties": { - "detail": { - "items": { - "$ref": "#/components/schemas/ValidationError" - }, - "title": "Detail", - "type": "array" - } - }, - "title": "HTTPValidationError", - "type": "object" - }, - "MCPCredentials": { - "properties": { - "auth_value": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Value" - }, - "aws_access_key_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Access Key Id" - }, - "aws_region_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Region Name" - }, - "aws_role_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Role Name" - }, - "aws_secret_access_key": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Secret Access Key" - }, - "aws_service_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Service Name" - }, - "aws_session_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Session Name" - }, - "aws_session_token": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Session Token" - }, - "client_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Client Id" - }, - "client_secret": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Client Secret" - }, - "scopes": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Scopes" - } - }, - "title": "MCPCredentials", - "type": "object" - }, - "NewMCPServerRequest": { - "properties": { - "alias": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Alias" - }, - "allow_all_keys": { - "default": false, - "title": "Allow All Keys", - "type": "boolean" - }, - "allowed_tools": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Allowed Tools" - }, - "approval_status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Approval Status" - }, - "args": { - "items": { - "type": "string" - }, - "title": "Args", - "type": "array" - }, - "auth_type": { - "anyOf": [ - { - "enum": [ - "none", - "api_key", - "bearer_token", - "basic", - "authorization", - "oauth2", - "aws_sigv4", - "token" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Type" - }, - "authorization_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Authorization Url" - }, - "available_on_public_internet": { - "default": true, - "title": "Available On Public Internet", - "type": "boolean" - }, - "byok_api_key_help_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Byok Api Key Help Url" - }, - "byok_description": { - "items": { - "type": "string" - }, - "title": "Byok Description", - "type": "array" - }, - "command": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Command" - }, - "credentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/MCPCredentials" - }, - { - "type": "null" - } - ] - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "env": { - "additionalProperties": { - "type": "string" - }, - "title": "Env", - "type": "object" - }, - "extra_headers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Extra Headers" - }, - "instructions": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Instructions" - }, - "is_byok": { - "default": false, - "title": "Is Byok", - "type": "boolean" - }, - "mcp_access_groups": { - "items": { - "type": "string" - }, - "title": "Mcp Access Groups", - "type": "array" - }, - "mcp_info": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Mcp Info" - }, - "oauth2_flow": { - "anyOf": [ - { - "enum": [ - "client_credentials", - "authorization_code" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Oauth2 Flow" - }, - "registration_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Registration Url" - }, - "server_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Id" - }, - "server_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Name" - }, - "source_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source Url" - }, - "spec_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Spec Path" - }, - "static_headers": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Static Headers" - }, - "submitted_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Submitted At" - }, - "submitted_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Submitted By" - }, - "token_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Token Url" - }, - "tool_name_to_description": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Description" - }, - "tool_name_to_display_name": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Display Name" - }, - "transport": { - "default": "sse", - "enum": [ - "sse", - "http", - "stdio" - ], - "title": "Transport", - "type": "string" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "title": "NewMCPServerRequest", - "type": "object" - }, - "ValidationError": { - "properties": { - "loc": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - }, - "title": "Location", - "type": "array" - }, - "msg": { - "title": "Message", - "type": "string" - }, - "type": { - "title": "Error Type", - "type": "string" - } - }, - "required": [ - "loc", - "msg", - "type" - ], - "title": "ValidationError", - "type": "object" - } - } + "schemas": {} }, - "paths": { - "/mcp-rest/test/connection": { - "post": { - "description": "Test if we can connect to the provided MCP server before adding it", - "operationId": "test_connection_mcp_rest_test_connection_post_2", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "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": "Test Connection", - "tags": [ - "mcp_app" - ] - } - }, - "/mcp-rest/test/tools/list": { - "post": { - "description": "Preview tools available from MCP server before adding it", - "operationId": "test_tools_list_mcp_rest_test_tools_list_post_2", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "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": "Test Tools List", - "tags": [ - "mcp_app" - ] - } - }, - "/mcp-rest/tools/call": { - "post": { - "description": "REST API to call a specific MCP tool with the provided arguments", - "operationId": "call_tool_rest_api_mcp_rest_tools_call_post_2", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Call Tool Rest Api", - "tags": [ - "mcp_app" - ] - } - }, - "/mcp-rest/tools/list": { - "get": { - "description": "List all available tools with information about the server they belong to.\n\nExample response:\n{\n \"tools\": [\n {\n \"name\": \"create_zap\",\n \"description\": \"Create a new zap\",\n \"inputSchema\": \"tool_input_schema\",\n \"mcp_info\": {\n \"server_name\": \"zapier\",\n \"logo_url\": \"https://www.zapier.com/logo.png\",\n }\n }\n ],\n \"error\": null,\n \"message\": \"Successfully retrieved tools\"\n}", - "operationId": "list_tool_rest_api_mcp_rest_tools_list_get_2", - "parameters": [ - { - "description": "The server id to list tools for", - "in": "query", - "name": "server_id", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The server id to list tools for", - "title": "Server Id" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "additionalProperties": true, - "title": "Response List Tool Rest Api Mcp Rest Tools List Get", - "type": "object" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "List Tool Rest Api", - "tags": [ - "mcp_app" - ] - } - } - } + "paths": {} }, "mcp_byok_oauth": { "components": { @@ -14281,3812 +13562,9 @@ }, "mcp_management": { "components": { - "schemas": { - "HTTPValidationError": { - "properties": { - "detail": { - "items": { - "$ref": "#/components/schemas/ValidationError" - }, - "title": "Detail", - "type": "array" - } - }, - "title": "HTTPValidationError", - "type": "object" - }, - "LiteLLM_MCPServerTable": { - "description": "Represents a LiteLLM_MCPServerTable record", - "properties": { - "alias": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Alias" - }, - "allow_all_keys": { - "default": false, - "title": "Allow All Keys", - "type": "boolean" - }, - "allowed_tools": { - "items": { - "type": "string" - }, - "title": "Allowed Tools", - "type": "array" - }, - "approval_status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": "active", - "description": "Approval status: 'pending_review', 'active', 'rejected'", - "title": "Approval Status" - }, - "args": { - "items": { - "type": "string" - }, - "title": "Args", - "type": "array" - }, - "auth_type": { - "anyOf": [ - { - "enum": [ - "none", - "api_key", - "bearer_token", - "basic", - "authorization", - "oauth2", - "aws_sigv4", - "token" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Type" - }, - "authorization_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Authorization Url" - }, - "available_on_public_internet": { - "default": true, - "title": "Available On Public Internet", - "type": "boolean" - }, - "byok_api_key_help_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Byok Api Key Help Url" - }, - "byok_description": { - "items": { - "type": "string" - }, - "title": "Byok Description", - "type": "array" - }, - "command": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Command" - }, - "created_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" - }, - "created_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created By" - }, - "credentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/MCPCredentials" - }, - { - "type": "null" - } - ] - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "env": { - "additionalProperties": { - "type": "string" - }, - "title": "Env", - "type": "object" - }, - "extra_headers": { - "items": { - "type": "string" - }, - "title": "Extra Headers", - "type": "array" - }, - "has_user_credential": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "title": "Has User Credential" - }, - "health_check_error": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Health Check Error" - }, - "instructions": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Instructions" - }, - "is_byok": { - "default": false, - "title": "Is Byok", - "type": "boolean" - }, - "last_health_check": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Last Health Check" - }, - "mcp_access_groups": { - "items": { - "type": "string" - }, - "title": "Mcp Access Groups", - "type": "array" - }, - "mcp_info": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Mcp Info" - }, - "registration_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Registration Url" - }, - "review_notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Review Notes" - }, - "reviewed_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Reviewed At" - }, - "server_id": { - "title": "Server Id", - "type": "string" - }, - "server_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Name" - }, - "source_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source Url" - }, - "spec_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Spec Path" - }, - "static_headers": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Static Headers" - }, - "status": { - "anyOf": [ - { - "enum": [ - "healthy", - "unhealthy", - "unknown" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "default": "unknown", - "description": "Health status: 'healthy', 'unhealthy', 'unknown'", - "title": "Status" - }, - "submitted_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Submitted At" - }, - "submitted_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Submitted By" - }, - "teams": { - "items": { - "additionalProperties": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "type": "object" - }, - "title": "Teams", - "type": "array" - }, - "token_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Token Url" - }, - "tool_name_to_description": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Description" - }, - "tool_name_to_display_name": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Display Name" - }, - "transport": { - "enum": [ - "sse", - "http", - "stdio" - ], - "title": "Transport", - "type": "string" - }, - "updated_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Updated At" - }, - "updated_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Updated By" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "required": [ - "server_id", - "transport" - ], - "title": "LiteLLM_MCPServerTable", - "type": "object" - }, - "MCPCredentials": { - "properties": { - "auth_value": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Value" - }, - "aws_access_key_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Access Key Id" - }, - "aws_region_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Region Name" - }, - "aws_role_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Role Name" - }, - "aws_secret_access_key": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Secret Access Key" - }, - "aws_service_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Service Name" - }, - "aws_session_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Session Name" - }, - "aws_session_token": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Session Token" - }, - "client_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Client Id" - }, - "client_secret": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Client Secret" - }, - "scopes": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Scopes" - } - }, - "title": "MCPCredentials", - "type": "object" - }, - "MCPOAuthUserCredentialRequest": { - "description": "Stores a user's OAuth2 token for an OpenAPI MCP server.", - "properties": { - "access_token": { - "title": "Access Token", - "type": "string" - }, - "expires_in": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Expires In" - }, - "refresh_token": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Refresh Token" - }, - "scopes": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Scopes" - } - }, - "required": [ - "access_token" - ], - "title": "MCPOAuthUserCredentialRequest", - "type": "object" - }, - "MCPOAuthUserCredentialStatus": { - "description": "Describes whether the calling user has a stored OAuth credential.", - "properties": { - "connected_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Connected At" - }, - "expires_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Expires At" - }, - "has_credential": { - "title": "Has Credential", - "type": "boolean" - }, - "is_expired": { - "default": false, - "title": "Is Expired", - "type": "boolean" - }, - "server_id": { - "title": "Server Id", - "type": "string" - } - }, - "required": [ - "server_id", - "has_credential" - ], - "title": "MCPOAuthUserCredentialStatus", - "type": "object" - }, - "MCPSubmissionsSummary": { - "properties": { - "active": { - "title": "Active", - "type": "integer" - }, - "items": { - "items": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - }, - "title": "Items", - "type": "array" - }, - "pending_review": { - "title": "Pending Review", - "type": "integer" - }, - "rejected": { - "title": "Rejected", - "type": "integer" - }, - "total": { - "title": "Total", - "type": "integer" - } - }, - "required": [ - "total", - "pending_review", - "active", - "rejected", - "items" - ], - "title": "MCPSubmissionsSummary", - "type": "object" - }, - "MCPToolsetTool": { - "properties": { - "server_id": { - "title": "Server Id", - "type": "string" - }, - "tool_name": { - "title": "Tool Name", - "type": "string" - } - }, - "required": [ - "server_id", - "tool_name" - ], - "title": "MCPToolsetTool", - "type": "object" - }, - "MCPUserCredentialListItem": { - "description": "One entry in the /user-credentials list.", - "properties": { - "alias": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Alias" - }, - "connected_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Connected At" - }, - "credential_type": { - "title": "Credential Type", - "type": "string" - }, - "expires_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Expires At" - }, - "has_credential": { - "title": "Has Credential", - "type": "boolean" - }, - "server_id": { - "title": "Server Id", - "type": "string" - }, - "server_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Name" - } - }, - "required": [ - "server_id", - "credential_type", - "has_credential" - ], - "title": "MCPUserCredentialListItem", - "type": "object" - }, - "MCPUserCredentialRequest": { - "properties": { - "credential": { - "title": "Credential", - "type": "string" - }, - "save": { - "default": true, - "title": "Save", - "type": "boolean" - } - }, - "required": [ - "credential" - ], - "title": "MCPUserCredentialRequest", - "type": "object" - }, - "MCPUserCredentialResponse": { - "properties": { - "has_credential": { - "title": "Has Credential", - "type": "boolean" - }, - "server_id": { - "title": "Server Id", - "type": "string" - } - }, - "required": [ - "server_id", - "has_credential" - ], - "title": "MCPUserCredentialResponse", - "type": "object" - }, - "MakeMCPServersPublicRequest": { - "properties": { - "mcp_server_ids": { - "items": { - "type": "string" - }, - "title": "Mcp Server Ids", - "type": "array" - } - }, - "required": [ - "mcp_server_ids" - ], - "title": "MakeMCPServersPublicRequest", - "type": "object" - }, - "NewMCPServerRequest": { - "properties": { - "alias": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Alias" - }, - "allow_all_keys": { - "default": false, - "title": "Allow All Keys", - "type": "boolean" - }, - "allowed_tools": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Allowed Tools" - }, - "approval_status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Approval Status" - }, - "args": { - "items": { - "type": "string" - }, - "title": "Args", - "type": "array" - }, - "auth_type": { - "anyOf": [ - { - "enum": [ - "none", - "api_key", - "bearer_token", - "basic", - "authorization", - "oauth2", - "aws_sigv4", - "token" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Type" - }, - "authorization_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Authorization Url" - }, - "available_on_public_internet": { - "default": true, - "title": "Available On Public Internet", - "type": "boolean" - }, - "byok_api_key_help_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Byok Api Key Help Url" - }, - "byok_description": { - "items": { - "type": "string" - }, - "title": "Byok Description", - "type": "array" - }, - "command": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Command" - }, - "credentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/MCPCredentials" - }, - { - "type": "null" - } - ] - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "env": { - "additionalProperties": { - "type": "string" - }, - "title": "Env", - "type": "object" - }, - "extra_headers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Extra Headers" - }, - "instructions": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Instructions" - }, - "is_byok": { - "default": false, - "title": "Is Byok", - "type": "boolean" - }, - "mcp_access_groups": { - "items": { - "type": "string" - }, - "title": "Mcp Access Groups", - "type": "array" - }, - "mcp_info": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Mcp Info" - }, - "oauth2_flow": { - "anyOf": [ - { - "enum": [ - "client_credentials", - "authorization_code" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Oauth2 Flow" - }, - "registration_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Registration Url" - }, - "server_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Id" - }, - "server_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Name" - }, - "source_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source Url" - }, - "spec_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Spec Path" - }, - "static_headers": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Static Headers" - }, - "submitted_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Submitted At" - }, - "submitted_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Submitted By" - }, - "token_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Token Url" - }, - "tool_name_to_description": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Description" - }, - "tool_name_to_display_name": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Display Name" - }, - "transport": { - "default": "sse", - "enum": [ - "sse", - "http", - "stdio" - ], - "title": "Transport", - "type": "string" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "title": "NewMCPServerRequest", - "type": "object" - }, - "NewMCPToolsetRequest": { - "properties": { - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "tools": { - "default": [], - "items": { - "$ref": "#/components/schemas/MCPToolsetTool" - }, - "title": "Tools", - "type": "array" - }, - "toolset_name": { - "title": "Toolset Name", - "type": "string" - } - }, - "required": [ - "toolset_name" - ], - "title": "NewMCPToolsetRequest", - "type": "object" - }, - "RejectMCPServerRequest": { - "properties": { - "review_notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Review Notes" - } - }, - "title": "RejectMCPServerRequest", - "type": "object" - }, - "UpdateMCPServerRequest": { - "properties": { - "alias": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Alias" - }, - "allow_all_keys": { - "default": false, - "title": "Allow All Keys", - "type": "boolean" - }, - "allowed_tools": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Allowed Tools" - }, - "args": { - "items": { - "type": "string" - }, - "title": "Args", - "type": "array" - }, - "auth_type": { - "anyOf": [ - { - "enum": [ - "none", - "api_key", - "bearer_token", - "basic", - "authorization", - "oauth2", - "aws_sigv4", - "token" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Type" - }, - "authorization_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Authorization Url" - }, - "available_on_public_internet": { - "default": true, - "title": "Available On Public Internet", - "type": "boolean" - }, - "byok_api_key_help_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Byok Api Key Help Url" - }, - "byok_description": { - "items": { - "type": "string" - }, - "title": "Byok Description", - "type": "array" - }, - "command": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Command" - }, - "credentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/MCPCredentials" - }, - { - "type": "null" - } - ] - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "env": { - "additionalProperties": { - "type": "string" - }, - "title": "Env", - "type": "object" - }, - "extra_headers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Extra Headers" - }, - "instructions": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Instructions" - }, - "is_byok": { - "default": false, - "title": "Is Byok", - "type": "boolean" - }, - "mcp_access_groups": { - "items": { - "type": "string" - }, - "title": "Mcp Access Groups", - "type": "array" - }, - "mcp_info": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Mcp Info" - }, - "registration_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Registration Url" - }, - "server_id": { - "title": "Server Id", - "type": "string" - }, - "server_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Name" - }, - "source_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source Url" - }, - "spec_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Spec Path" - }, - "static_headers": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Static Headers" - }, - "token_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Token Url" - }, - "tool_name_to_description": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Description" - }, - "tool_name_to_display_name": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Display Name" - }, - "transport": { - "default": "sse", - "enum": [ - "sse", - "http", - "stdio" - ], - "title": "Transport", - "type": "string" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "required": [ - "server_id" - ], - "title": "UpdateMCPServerRequest", - "type": "object" - }, - "UpdateMCPToolsetRequest": { - "properties": { - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "tools": { - "anyOf": [ - { - "items": { - "$ref": "#/components/schemas/MCPToolsetTool" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Tools" - }, - "toolset_id": { - "title": "Toolset Id", - "type": "string" - }, - "toolset_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Toolset Name" - } - }, - "required": [ - "toolset_id" - ], - "title": "UpdateMCPToolsetRequest", - "type": "object" - }, - "ValidationError": { - "properties": { - "loc": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - }, - "title": "Location", - "type": "array" - }, - "msg": { - "title": "Message", - "type": "string" - }, - "type": { - "title": "Error Type", - "type": "string" - } - }, - "required": [ - "loc", - "msg", - "type" - ], - "title": "ValidationError", - "type": "object" - } - } + "schemas": {} }, - "paths": { - "/v1/mcp/access_groups": { - "get": { - "description": "Get all available MCP access groups from the database AND config", - "operationId": "get_mcp_access_groups_v1_mcp_access_groups_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Get Mcp Access Groups", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/discover": { - "get": { - "description": "Returns a curated list of well-known MCP servers for discovery UI", - "operationId": "discover_mcp_servers_v1_mcp_discover_get", - "parameters": [ - { - "description": "Search filter for server names and descriptions", - "in": "query", - "name": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Search filter for server names and descriptions", - "title": "Query" - } - }, - { - "description": "Filter by category", - "in": "query", - "name": "category", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Filter by category", - "title": "Category" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Discover Mcp Servers", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/make_public": { - "post": { - "description": "Allows making MCP servers public for AI Hub", - "operationId": "make_mcp_servers_public_v1_mcp_make_public_post", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MakeMCPServersPublicRequest" - } - } - }, - "required": true - }, - "responses": { - "202": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Make Mcp Servers Public", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/network/client-ip": { - "get": { - "description": "Returns the caller's IP address as seen by the proxy.", - "operationId": "get_client_ip_v1_mcp_network_client_ip_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Get Client Ip", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/openapi-registry": { - "get": { - "description": "Returns well-known OpenAPI APIs with OAuth 2.0 metadata for the OpenAPI MCP picker", - "operationId": "get_openapi_registry_v1_mcp_openapi_registry_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Get Openapi Registry", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/registry.json": { - "get": { - "description": "MCP registry endpoint. Spec: https://github.com/modelcontextprotocol/registry", - "operationId": "get_mcp_registry_v1_mcp_registry_json_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "summary": "Get Mcp Registry", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server": { - "get": { - "description": "Returns the mcp server list with associated teams", - "operationId": "fetch_all_mcp_servers_v1_mcp_server_get", - "parameters": [ - { - "description": "Filter MCP servers by team scope. When provided, returns only servers the team has access to plus globally available (allow_all_keys) servers. Used by the Create Key UI to show team-scoped MCP servers.", - "in": "query", - "name": "team_id", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Filter MCP servers by team scope. When provided, returns only servers the team has access to plus globally available (allow_all_keys) servers. Used by the Create Key UI to show team-scoped MCP servers.", - "title": "Team Id" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - }, - "title": "Response Fetch All Mcp Servers V1 Mcp Server Get", - "type": "array" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Fetch All Mcp Servers", - "tags": [ - "mcp_management" - ] - }, - "post": { - "description": "Allows creation of mcp servers", - "operationId": "add_mcp_server_v1_mcp_server_post", - "parameters": [ - { - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "title": "Litellm-Changed-By" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Add Mcp Server", - "tags": [ - "mcp_management" - ] - }, - "put": { - "description": "Allows deleting mcp serves in the db", - "operationId": "edit_mcp_server_v1_mcp_server_put", - "parameters": [ - { - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "title": "Litellm-Changed-By" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateMCPServerRequest" - } - } - }, - "required": true - }, - "responses": { - "202": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Edit Mcp Server", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/health": { - "get": { - "description": "Health check for MCP servers", - "operationId": "health_check_servers_v1_mcp_server_health_get", - "parameters": [ - { - "description": "Server IDs to check. If not provided, checks all accessible servers.", - "in": "query", - "name": "server_ids", - "required": false, - "schema": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "description": "Server IDs to check. If not provided, checks all accessible servers.", - "title": "Server Ids" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Health Check Servers", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/oauth/session": { - "post": { - "description": "Temporarily cache an MCP server in memory without writing to the database", - "operationId": "add_session_mcp_server_v1_mcp_server_oauth_session_post", - "parameters": [ - { - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "title": "Litellm-Changed-By" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "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": "Add Session Mcp Server", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/register": { - "post": { - "description": "Submit a new MCP server for admin review (non-admin users). Mirrors POST /guardrails/register.", - "operationId": "register_mcp_server_v1_mcp_server_register_post", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Register Mcp Server", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/submissions": { - "get": { - "description": "Returns all MCP servers submitted by non-admin users (admin review queue). Mirrors GET /guardrails/submissions.", - "operationId": "get_mcp_server_submissions_v1_mcp_server_submissions_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPSubmissionsSummary" - } - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Get Mcp Server Submissions", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/{server_id}": { - "delete": { - "description": "Allows deleting mcp serves in the db", - "operationId": "remove_mcp_server_v1_mcp_server__server_id__delete", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - }, - { - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", - "title": "Litellm-Changed-By" - } - } - ], - "responses": { - "202": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Remove Mcp Server", - "tags": [ - "mcp_management" - ] - }, - "get": { - "description": "Returns the mcp server info", - "operationId": "fetch_mcp_server_v1_mcp_server__server_id__get", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Fetch Mcp Server", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/{server_id}/approve": { - "put": { - "description": "Approve a pending MCP server submission (admin only). Mirrors PUT /guardrails/{id}/approve.", - "operationId": "approve_mcp_server_submission_v1_mcp_server__server_id__approve_put", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Approve Mcp Server Submission", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/{server_id}/oauth-user-credential": { - "delete": { - "description": "Revoke the calling user's stored OAuth2 token for an MCP server", - "operationId": "delete_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_delete", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPOAuthUserCredentialStatus" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Delete Mcp Oauth User Credential", - "tags": [ - "mcp_management" - ] - }, - "post": { - "description": "Store the calling user's OAuth2 token for an OpenAPI MCP server", - "operationId": "store_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_post", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPOAuthUserCredentialRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPOAuthUserCredentialStatus" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Store Mcp Oauth User Credential", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/{server_id}/oauth-user-credential/status": { - "get": { - "description": "Check whether the calling user has a stored OAuth2 credential for this MCP server", - "operationId": "get_mcp_oauth_user_credential_status_v1_mcp_server__server_id__oauth_user_credential_status_get", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPOAuthUserCredentialStatus" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Get Mcp Oauth User Credential Status", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/{server_id}/reject": { - "put": { - "description": "Reject a pending MCP server submission (admin only). Mirrors PUT /guardrails/{id}/reject.", - "operationId": "reject_mcp_server_submission_v1_mcp_server__server_id__reject_put", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RejectMCPServerRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LiteLLM_MCPServerTable" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Reject Mcp Server Submission", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/server/{server_id}/user-credential": { - "delete": { - "description": "Delete the calling user's stored API key for a BYOK MCP server", - "operationId": "delete_mcp_user_credential_v1_mcp_server__server_id__user_credential_delete", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPUserCredentialResponse" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Delete Mcp User Credential", - "tags": [ - "mcp_management" - ] - }, - "post": { - "description": "Store or update the calling user's API key for a BYOK MCP server", - "operationId": "store_mcp_user_credential_v1_mcp_server__server_id__user_credential_post", - "parameters": [ - { - "in": "path", - "name": "server_id", - "required": true, - "schema": { - "title": "Server Id", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPUserCredentialRequest" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MCPUserCredentialResponse" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Store Mcp User Credential", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/tools": { - "get": { - "description": "Get all MCP tools available for the current key, including those from access groups", - "operationId": "get_mcp_tools_v1_mcp_tools_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Get Mcp Tools", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/toolset": { - "get": { - "description": "List MCP toolsets accessible to the calling key", - "operationId": "fetch_mcp_toolsets_v1_mcp_toolset_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Fetch Mcp Toolsets", - "tags": [ - "mcp_management" - ] - }, - "post": { - "description": "Create a new MCP toolset (admin only)", - "operationId": "add_mcp_toolset_v1_mcp_toolset_post", - "parameters": [ - { - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Litellm-Changed-By" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPToolsetRequest" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Add Mcp Toolset", - "tags": [ - "mcp_management" - ] - }, - "put": { - "description": "Update an existing MCP toolset (admin only)", - "operationId": "edit_mcp_toolset_v1_mcp_toolset_put", - "parameters": [ - { - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Litellm-Changed-By" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateMCPToolsetRequest" - } - } - }, - "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": "Edit Mcp Toolset", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/toolset/{toolset_id}": { - "delete": { - "description": "Delete an MCP toolset (admin only)", - "operationId": "remove_mcp_toolset_v1_mcp_toolset__toolset_id__delete", - "parameters": [ - { - "in": "path", - "name": "toolset_id", - "required": true, - "schema": { - "title": "Toolset Id", - "type": "string" - } - }, - { - "in": "header", - "name": "litellm-changed-by", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Litellm-Changed-By" - } - } - ], - "responses": { - "202": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Remove Mcp Toolset", - "tags": [ - "mcp_management" - ] - }, - "get": { - "description": "Get a specific MCP toolset by ID", - "operationId": "fetch_mcp_toolset_v1_mcp_toolset__toolset_id__get", - "parameters": [ - { - "in": "path", - "name": "toolset_id", - "required": true, - "schema": { - "title": "Toolset Id", - "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": "Fetch Mcp Toolset", - "tags": [ - "mcp_management" - ] - } - }, - "/v1/mcp/user-credentials": { - "get": { - "description": "List all OAuth2 MCP credentials stored for the calling user", - "operationId": "list_mcp_user_credentials_v1_mcp_user_credentials_get", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/MCPUserCredentialListItem" - }, - "title": "Response List Mcp User Credentials V1 Mcp User Credentials Get", - "type": "array" - } - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "List Mcp User Credentials", - "tags": [ - "mcp_management" - ] - } - } - } - }, - "mcp_rest": { - "components": { - "schemas": { - "HTTPValidationError": { - "properties": { - "detail": { - "items": { - "$ref": "#/components/schemas/ValidationError" - }, - "title": "Detail", - "type": "array" - } - }, - "title": "HTTPValidationError", - "type": "object" - }, - "MCPCredentials": { - "properties": { - "auth_value": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Value" - }, - "aws_access_key_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Access Key Id" - }, - "aws_region_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Region Name" - }, - "aws_role_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Role Name" - }, - "aws_secret_access_key": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Secret Access Key" - }, - "aws_service_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Service Name" - }, - "aws_session_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Session Name" - }, - "aws_session_token": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Aws Session Token" - }, - "client_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Client Id" - }, - "client_secret": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Client Secret" - }, - "scopes": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Scopes" - } - }, - "title": "MCPCredentials", - "type": "object" - }, - "NewMCPServerRequest": { - "properties": { - "alias": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Alias" - }, - "allow_all_keys": { - "default": false, - "title": "Allow All Keys", - "type": "boolean" - }, - "allowed_tools": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Allowed Tools" - }, - "approval_status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Approval Status" - }, - "args": { - "items": { - "type": "string" - }, - "title": "Args", - "type": "array" - }, - "auth_type": { - "anyOf": [ - { - "enum": [ - "none", - "api_key", - "bearer_token", - "basic", - "authorization", - "oauth2", - "aws_sigv4", - "token" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Auth Type" - }, - "authorization_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Authorization Url" - }, - "available_on_public_internet": { - "default": true, - "title": "Available On Public Internet", - "type": "boolean" - }, - "byok_api_key_help_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Byok Api Key Help Url" - }, - "byok_description": { - "items": { - "type": "string" - }, - "title": "Byok Description", - "type": "array" - }, - "command": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Command" - }, - "credentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/MCPCredentials" - }, - { - "type": "null" - } - ] - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "env": { - "additionalProperties": { - "type": "string" - }, - "title": "Env", - "type": "object" - }, - "extra_headers": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } - ], - "title": "Extra Headers" - }, - "instructions": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Instructions" - }, - "is_byok": { - "default": false, - "title": "Is Byok", - "type": "boolean" - }, - "mcp_access_groups": { - "items": { - "type": "string" - }, - "title": "Mcp Access Groups", - "type": "array" - }, - "mcp_info": { - "anyOf": [ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Mcp Info" - }, - "oauth2_flow": { - "anyOf": [ - { - "enum": [ - "client_credentials", - "authorization_code" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Oauth2 Flow" - }, - "registration_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Registration Url" - }, - "server_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Id" - }, - "server_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Server Name" - }, - "source_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Source Url" - }, - "spec_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Spec Path" - }, - "static_headers": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Static Headers" - }, - "submitted_at": { - "anyOf": [ - { - "format": "date-time", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Submitted At" - }, - "submitted_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Server-managed: set by the endpoint; caller values are overridden.", - "title": "Submitted By" - }, - "token_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Token Url" - }, - "tool_name_to_description": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Description" - }, - "tool_name_to_display_name": { - "anyOf": [ - { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - { - "type": "null" - } - ], - "title": "Tool Name To Display Name" - }, - "transport": { - "default": "sse", - "enum": [ - "sse", - "http", - "stdio" - ], - "title": "Transport", - "type": "string" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "title": "NewMCPServerRequest", - "type": "object" - }, - "ValidationError": { - "properties": { - "loc": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - }, - "title": "Location", - "type": "array" - }, - "msg": { - "title": "Message", - "type": "string" - }, - "type": { - "title": "Error Type", - "type": "string" - } - }, - "required": [ - "loc", - "msg", - "type" - ], - "title": "ValidationError", - "type": "object" - } - } - }, - "paths": { - "/mcp-rest/test/connection": { - "post": { - "description": "Test if we can connect to the provided MCP server before adding it", - "operationId": "test_connection_mcp_rest_test_connection_post", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "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": "Test Connection", - "tags": [ - "mcp_rest" - ] - } - }, - "/mcp-rest/test/tools/list": { - "post": { - "description": "Preview tools available from MCP server before adding it", - "operationId": "test_tools_list_mcp_rest_test_tools_list_post", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewMCPServerRequest" - } - } - }, - "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": "Test Tools List", - "tags": [ - "mcp_rest" - ] - } - }, - "/mcp-rest/tools/call": { - "post": { - "description": "REST API to call a specific MCP tool with the provided arguments", - "operationId": "call_tool_rest_api_mcp_rest_tools_call_post", - "responses": { - "200": { - "content": { - "application/json": { - "schema": {} - } - }, - "description": "Successful Response" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "Call Tool Rest Api", - "tags": [ - "mcp_rest" - ] - } - }, - "/mcp-rest/tools/list": { - "get": { - "description": "List all available tools with information about the server they belong to.\n\nExample response:\n{\n \"tools\": [\n {\n \"name\": \"create_zap\",\n \"description\": \"Create a new zap\",\n \"inputSchema\": \"tool_input_schema\",\n \"mcp_info\": {\n \"server_name\": \"zapier\",\n \"logo_url\": \"https://www.zapier.com/logo.png\",\n }\n }\n ],\n \"error\": null,\n \"message\": \"Successfully retrieved tools\"\n}", - "operationId": "list_tool_rest_api_mcp_rest_tools_list_get", - "parameters": [ - { - "description": "The server id to list tools for", - "in": "query", - "name": "server_id", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The server id to list tools for", - "title": "Server Id" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "additionalProperties": true, - "title": "Response List Tool Rest Api Mcp Rest Tools List Get", - "type": "object" - } - } - }, - "description": "Successful Response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" - } - }, - "security": [ - { - "APIKeyHeader": [] - } - ], - "summary": "List Tool Rest Api", - "tags": [ - "mcp_rest" - ] - } - } - } + "paths": {} }, "policies": { "components": { @@ -26922,7 +22400,7 @@ }, "get": { "description": "Namespace a toolset as its own MCP endpoint.\n\nConnecting to /toolset//mcp exposes exactly the tools defined in\nthe toolset. Access is enforced: non-admin API keys must have the toolset\nlisted in their object_permission.mcp_toolsets grant list, or the request\nwill be rejected with a 403.", - "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_delete", + "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_get", "parameters": [ { "in": "path", @@ -26961,7 +22439,7 @@ }, "head": { "description": "Namespace a toolset as its own MCP endpoint.\n\nConnecting to /toolset//mcp exposes exactly the tools defined in\nthe toolset. Access is enforced: non-admin API keys must have the toolset\nlisted in their object_permission.mcp_toolsets grant list, or the request\nwill be rejected with a 403.", - "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_delete", + "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_head", "parameters": [ { "in": "path", @@ -27000,7 +22478,7 @@ }, "options": { "description": "Namespace a toolset as its own MCP endpoint.\n\nConnecting to /toolset//mcp exposes exactly the tools defined in\nthe toolset. Access is enforced: non-admin API keys must have the toolset\nlisted in their object_permission.mcp_toolsets grant list, or the request\nwill be rejected with a 403.", - "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_delete", + "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_options", "parameters": [ { "in": "path", @@ -27039,7 +22517,7 @@ }, "patch": { "description": "Namespace a toolset as its own MCP endpoint.\n\nConnecting to /toolset//mcp exposes exactly the tools defined in\nthe toolset. Access is enforced: non-admin API keys must have the toolset\nlisted in their object_permission.mcp_toolsets grant list, or the request\nwill be rejected with a 403.", - "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_delete", + "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_patch", "parameters": [ { "in": "path", @@ -27078,7 +22556,7 @@ }, "post": { "description": "Namespace a toolset as its own MCP endpoint.\n\nConnecting to /toolset//mcp exposes exactly the tools defined in\nthe toolset. Access is enforced: non-admin API keys must have the toolset\nlisted in their object_permission.mcp_toolsets grant list, or the request\nwill be rejected with a 403.", - "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_delete", + "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_post", "parameters": [ { "in": "path", @@ -27117,7 +22595,7 @@ }, "put": { "description": "Namespace a toolset as its own MCP endpoint.\n\nConnecting to /toolset//mcp exposes exactly the tools defined in\nthe toolset. Access is enforced: non-admin API keys must have the toolset\nlisted in their object_permission.mcp_toolsets grant list, or the request\nwill be rejected with a 403.", - "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_delete", + "operationId": "toolset_mcp_route_toolset__toolset_name__mcp_put", "parameters": [ { "in": "path", @@ -28202,7 +23680,7 @@ }, "/vantage/settings": { "get": { - "description": "View current Vantage settings.\n\nReturns the current Vantage configuration with the API key masked for security.\nOnly admin users can view Vantage settings.", + "description": "View current Vantage settings.\n\nReturns the current Vantage configuration with the API key masked for security.\nOnly admin users (Proxy Admin or Admin Viewer) can view Vantage settings.", "operationId": "get_vantage_settings_vantage_settings_get", "responses": { "200": { diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 2a6e4c4ac34..0f08752fc06 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -2110,14 +2110,12 @@ "input_cost_per_image_token": 8e-06, "litellm_provider": "azure_ai", "mode": "image_generation", - "output_cost_per_token": 1e-05, "output_cost_per_image_token": 3e-05, "supported_endpoints": [ "/v1/images/generations", "/v1/images/edits" ], - "supports_vision": true, - "supports_pdf_input": true + "supports_vision": true }, "azure_ai/gpt-image-to-image": { "cache_read_input_image_token_cost": 2e-06, @@ -2126,14 +2124,12 @@ "input_cost_per_image_token": 8e-06, "litellm_provider": "azure_ai", "mode": "image_generation", - "output_cost_per_token": 1e-05, "output_cost_per_image_token": 3e-05, "supported_endpoints": [ "/v1/images/generations", "/v1/images/edits" ], - "supports_vision": true, - "supports_pdf_input": true + "supports_vision": true }, "azure_ai/model_router": { "input_cost_per_token": 1.4e-07, diff --git a/tests/test_litellm/test_utils.py b/tests/test_litellm/test_utils.py index a0e876ba7bc..d22e202d1d9 100644 --- a/tests/test_litellm/test_utils.py +++ b/tests/test_litellm/test_utils.py @@ -4014,3 +4014,5 @@ def test_azure_ai_gpt_image_models_in_cost_map(): assert info["output_cost_per_image_token"] == 3e-05 assert info["cache_read_input_image_token_cost"] == 2e-06 assert info["supports_vision"] is True + assert info.get("output_cost_per_token") is None, f"Spurious output_cost_per_token found for {key}" + assert info.get("supports_pdf_input") is None, f"Unexpected supports_pdf_input found for {key}" From 42f4a198a8ba1f80613782a799450a8e7f5649b1 Mon Sep 17 00:00:00 2001 From: Dushyant Acharya Date: Sat, 13 Jun 2026 23:18:05 +0530 Subject: [PATCH 3/7] chore: regenerate dashboard api types --- ui/litellm-dashboard/src/lib/http/schema.d.ts | 3148 +---------------- 1 file changed, 86 insertions(+), 3062 deletions(-) diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts index d95a918a3b0..75217c4eb74 100644 --- a/ui/litellm-dashboard/src/lib/http/schema.d.ts +++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts @@ -652,60 +652,6 @@ export interface paths { patch?: never; trace?: never; }; - "/audit": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Audit Logs - * @description Get all audit logs with filtering and pagination. - * - * Returns a paginated response of audit logs matching the specified filters. - * - * Note: object_team_id and object_key_hash use Prisma JSON path filtering, - * which requires PostgreSQL. - */ - get: operations["get_audit_logs_audit_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/audit/{id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Audit Log By Id - * @description Get detailed information about a specific audit log entry by its ID. - * - * Args: - * id (str): The unique identifier of the audit log entry - * - * Returns: - * AuditLogResponse: Detailed information about the audit log entry - * - * Raises: - * HTTPException: If the audit log is not found or if there's a database connection error - */ - get: operations["get_audit_log_by_id_audit__id__get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/azure/{endpoint}": { parameters: { query?: never; @@ -3070,50 +3016,6 @@ export interface paths { patch?: never; trace?: never; }; - "/email/event_settings": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Email Event Settings - * @description Get all email event settings - */ - get: operations["get_email_event_settings_email_event_settings_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - /** - * Update Event Settings - * @description Update the settings for email events - */ - patch: operations["update_event_settings_email_event_settings_patch"]; - trace?: never; - }; - "/email/event_settings/reset": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Reset Event Settings - * @description Reset all email event settings to default (new user invitations on, virtual key creation off) - */ - post: operations["reset_event_settings_email_event_settings_reset_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/embeddings": { parameters: { query?: never; @@ -7035,95 +6937,32 @@ export interface paths { patch?: never; trace?: never; }; - "/mcp-rest/test/connection": { + "/mcp-rest": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - get?: never; - put?: never; - /** - * Test Connection - * @description Test if we can connect to the provided MCP server before adding it - */ - post: operations["test_connection_mcp_rest_test_connection_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/mcp-rest/test/tools/list": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + /** mcp_rest */ + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - get?: never; - put?: never; - /** - * Test Tools List - * @description Preview tools available from MCP server before adding it - */ - post: operations["test_tools_list_mcp_rest_test_tools_list_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/mcp-rest/tools/call": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Call Tool Rest Api - * @description REST API to call a specific MCP tool with the provided arguments - */ - post: operations["call_tool_rest_api_mcp_rest_tools_call_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/mcp-rest/tools/list": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Tool Rest Api - * @description List all available tools with information about the server they belong to. - * - * Example response: - * { - * "tools": [ - * { - * "name": "create_zap", - * "description": "Create a new zap", - * "inputSchema": "tool_input_schema", - * "mcp_info": { - * "server_name": "zapier", - * "logo_url": "https://www.zapier.com/logo.png", - * } - * } - * ], - * "error": null, - * "message": "Successfully retrieved tools" - * } - */ - get: operations["list_tool_rest_api_mcp_rest_tools_list_get"]; put?: never; post?: never; delete?: never; @@ -9780,240 +9619,6 @@ export interface paths { patch?: never; trace?: never; }; - "/project/delete": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - post?: never; - /** - * Delete Project - * @description Delete projects - * - * Parameters: - * - project_ids: *List[str]* - List of project ids to delete - * - * Example: - * ```bash - * curl --location --request DELETE 'http://0.0.0.0:4000/project/delete' \ - * --header 'Authorization: Bearer sk-1234' \ - * --header 'Content-Type: application/json' \ - * --data '{ - * "project_ids": ["project-123", "project-456"] - * }' - * ``` - */ - delete: operations["delete_project_project_delete_delete"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/project/info": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Project Info - * @description Get information about a specific project - * - * Parameters: - * - project_id: *str* - The project id to fetch info for - * - * Example: - * ```bash - * curl --location 'http://0.0.0.0:4000/project/info?project_id=project-123' \ - * --header 'Authorization: Bearer sk-1234' - * ``` - */ - get: operations["project_info_project_info_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/project/list": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Projects - * @description List all projects that the user has access to - * - * Example: - * ```bash - * curl --location 'http://0.0.0.0:4000/project/list' \ - * --header 'Authorization: Bearer sk-1234' - * ``` - */ - get: operations["list_projects_project_list_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/project/new": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * New Project - * @description Create a new project. Projects sit between teams and keys in the hierarchy. - * - * Only admins or team admins can create projects. - * - * # Parameters - * - * - project_alias: *Optional[str]* - The name of the project. - * - description: *Optional[str]* - Description of the project's purpose and use case. - * - team_id: *str* - The team id that this project belongs to. Required. - * - models: *List* - The models the project has access to. - * - budget_id: *Optional[str]* - The id for a budget (tpm/rpm/max budget) for the project. - * ### IF NO BUDGET ID - CREATE ONE WITH THESE PARAMS ### - * - max_budget: *Optional[float]* - Max budget for project - * - tpm_limit: *Optional[int]* - Max tpm limit for project - * - rpm_limit: *Optional[int]* - Max rpm limit for project - * - max_parallel_requests: *Optional[int]* - Max parallel requests for project - * - soft_budget: *Optional[float]* - Get a slack alert when this soft budget is reached. Don't block requests. - * - model_max_budget: *Optional[dict]* - Max budget for a specific model. Example: {"gpt-4": 100.0, "gpt-3.5-turbo": 50.0} - * - model_rpm_limit: *Optional[dict]* - RPM limits per model. Example: {"gpt-4": 1000, "gpt-3.5-turbo": 5000} - * - model_tpm_limit: *Optional[dict]* - TPM limits per model. Example: {"gpt-4": 50000, "gpt-3.5-turbo": 100000} - * - budget_duration: *Optional[str]* - Frequency of reseting project budget - * - metadata: *Optional[dict]* - Metadata for project, store information for project. Example metadata - {"use_case_id": "SNOW-12345", "responsible_ai_id": "RAI-67890"} - * - tags: *Optional[list]* - Tags for the project. Example: ["production", "api"] - * - blocked: *bool* - Flag indicating if the project is blocked or not - will stop all calls from keys with this project_id. - * - object_permission: Optional[LiteLLM_ObjectPermissionBase] - project-specific object permission. Example - {"vector_stores": ["vector_store_1", "vector_store_2"]}. IF null or {} then no object permission. - * - * Example 1: Create new project **without** a budget_id, with model-specific limits - * - * ```bash - * curl --location 'http://0.0.0.0:4000/project/new' \ - * --header 'Authorization: Bearer sk-1234' \ - * --header 'Content-Type: application/json' \ - * --data '{ - * "project_alias": "flight-search-assistant", - * "description": "AI-powered flight search and booking assistant", - * "team_id": "team-123", - * "models": ["gpt-4", "gpt-3.5-turbo"], - * "max_budget": 100, - * "model_rpm_limit": { - * "gpt-4": 1000, - * "gpt-3.5-turbo": 5000 - * }, - * "model_tpm_limit": { - * "gpt-4": 50000, - * "gpt-3.5-turbo": 100000 - * }, - * "metadata": { - * "use_case_id": "SNOW-12345", - * "responsible_ai_id": "RAI-67890" - * } - * }' - * ``` - * - * Example 2: Create new project **with** a budget_id - * - * ```bash - * curl --location 'http://0.0.0.0:4000/project/new' \ - * --header 'Authorization: Bearer sk-1234' \ - * --header 'Content-Type: application/json' \ - * --data '{ - * "project_alias": "hotel-recommendations", - * "description": "Personalized hotel recommendation engine", - * "team_id": "team-123", - * "models": ["claude-3-sonnet"], - * "budget_id": "428eeaa8-f3ac-4e85-a8fb-7dc8d7aa8689", - * "metadata": { - * "use_case_id": "SNOW-54321" - * } - * }' - * ``` - */ - post: operations["new_project_project_new_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/project/update": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Update Project - * @description Update a project - * - * Parameters: - * - project_id: *str* - The project id to update. Required. - * - project_alias: *Optional[str]* - Updated name for the project - * - description: *Optional[str]* - Updated description for the project - * - team_id: *Optional[str]* - Updated team_id for the project - * - metadata: *Optional[dict]* - Updated metadata for project - * - models: *Optional[list]* - Updated list of models for the project - * - blocked: *Optional[bool]* - Updated blocked status - * - max_budget: *Optional[float]* - Updated max budget - * - tpm_limit: *Optional[int]* - Updated tpm limit - * - rpm_limit: *Optional[int]* - Updated rpm limit - * - model_rpm_limit: *Optional[dict]* - Updated RPM limits per model - * - model_tpm_limit: *Optional[dict]* - Updated TPM limits per model - * - budget_duration: *Optional[str]* - Updated budget duration - * - tags: *Optional[list]* - Updated list of tags for the project - * - object_permission: Optional[LiteLLM_ObjectPermissionBase] - Updated object permission - * - * Example: - * ```bash - * curl --location 'http://0.0.0.0:4000/project/update' \ - * --header 'Authorization: Bearer sk-1234' \ - * --header 'Content-Type: application/json' \ - * --data '{ - * "project_id": "project-123", - * "description": "Updated flight search system with enhanced capabilities", - * "max_budget": 200, - * "model_rpm_limit": { - * "gpt-4": 2000, - * "gpt-3.5-turbo": 10000 - * }, - * "metadata": { - * "use_case_id": "SNOW-12345", - * "status": "active" - * } - * }' - * ``` - */ - post: operations["update_project_project_update_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/prompts": { parameters: { query?: never; @@ -11056,27 +10661,6 @@ export interface paths { patch?: never; trace?: never; }; - "/robots.txt": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Robots - * @description Block all web crawlers from indexing the proxy server endpoints - * This is useful for ensuring that the API endpoints aren't indexed by search engines - */ - get: operations["get_robots_robots_txt_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/router/fields": { parameters: { query?: never; @@ -14116,26 +13700,6 @@ export interface paths { patch?: never; trace?: never; }; - "/user/available_users": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Available Enterprise Users - * @description For keys with `max_users` set, return the list of users that are allowed to use the key. - */ - get: operations["available_enterprise_users_user_available_users_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/user/bulk_update": { parameters: { query?: never; @@ -15991,458 +15555,6 @@ export interface paths { patch?: never; trace?: never; }; - "/v1/mcp/access_groups": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Mcp Access Groups - * @description Get all available MCP access groups from the database AND config - */ - get: operations["get_mcp_access_groups_v1_mcp_access_groups_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/discover": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Discover Mcp Servers - * @description Returns a curated list of well-known MCP servers for discovery UI - */ - get: operations["discover_mcp_servers_v1_mcp_discover_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/make_public": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Make Mcp Servers Public - * @description Allows making MCP servers public for AI Hub - */ - post: operations["make_mcp_servers_public_v1_mcp_make_public_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/network/client-ip": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Client Ip - * @description Returns the caller's IP address as seen by the proxy. - */ - get: operations["get_client_ip_v1_mcp_network_client_ip_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/openapi-registry": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Openapi Registry - * @description Returns well-known OpenAPI APIs with OAuth 2.0 metadata for the OpenAPI MCP picker - */ - get: operations["get_openapi_registry_v1_mcp_openapi_registry_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/registry.json": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Mcp Registry - * @description MCP registry endpoint. Spec: https://github.com/modelcontextprotocol/registry - */ - get: operations["get_mcp_registry_v1_mcp_registry_json_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/server": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch All Mcp Servers - * @description Returns the mcp server list with associated teams - */ - get: operations["fetch_all_mcp_servers_v1_mcp_server_get"]; - /** - * Edit Mcp Server - * @description Allows deleting mcp serves in the db - */ - put: operations["edit_mcp_server_v1_mcp_server_put"]; - /** - * Add Mcp Server - * @description Allows creation of mcp servers - */ - post: operations["add_mcp_server_v1_mcp_server_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/server/health": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Health Check Servers - * @description Health check for MCP servers - */ - get: operations["health_check_servers_v1_mcp_server_health_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/server/oauth/session": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Add Session Mcp Server - * @description Temporarily cache an MCP server in memory without writing to the database - */ - post: operations["add_session_mcp_server_v1_mcp_server_oauth_session_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/server/register": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Register Mcp Server - * @description Submit a new MCP server for admin review (non-admin users). Mirrors POST /guardrails/register. - */ - post: operations["register_mcp_server_v1_mcp_server_register_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/server/submissions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Mcp Server Submissions - * @description Returns all MCP servers submitted by non-admin users (admin review queue). Mirrors GET /guardrails/submissions. - */ - get: operations["get_mcp_server_submissions_v1_mcp_server_submissions_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/server/{server_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Mcp Server - * @description Returns the mcp server info - */ - get: operations["fetch_mcp_server_v1_mcp_server__server_id__get"]; - put?: never; - post?: never; - /** - * Remove Mcp Server - * @description Allows deleting mcp serves in the db - */ - delete: operations["remove_mcp_server_v1_mcp_server__server_id__delete"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/server/{server_id}/approve": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * Approve Mcp Server Submission - * @description Approve a pending MCP server submission (admin only). Mirrors PUT /guardrails/{id}/approve. - */ - put: operations["approve_mcp_server_submission_v1_mcp_server__server_id__approve_put"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/server/{server_id}/oauth-user-credential": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Store Mcp Oauth User Credential - * @description Store the calling user's OAuth2 token for an OpenAPI MCP server - */ - post: operations["store_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_post"]; - /** - * Delete Mcp Oauth User Credential - * @description Revoke the calling user's stored OAuth2 token for an MCP server - */ - delete: operations["delete_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_delete"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/server/{server_id}/oauth-user-credential/status": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Mcp Oauth User Credential Status - * @description Check whether the calling user has a stored OAuth2 credential for this MCP server - */ - get: operations["get_mcp_oauth_user_credential_status_v1_mcp_server__server_id__oauth_user_credential_status_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/server/{server_id}/reject": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * Reject Mcp Server Submission - * @description Reject a pending MCP server submission (admin only). Mirrors PUT /guardrails/{id}/reject. - */ - put: operations["reject_mcp_server_submission_v1_mcp_server__server_id__reject_put"]; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/server/{server_id}/user-credential": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Store Mcp User Credential - * @description Store or update the calling user's API key for a BYOK MCP server - */ - post: operations["store_mcp_user_credential_v1_mcp_server__server_id__user_credential_post"]; - /** - * Delete Mcp User Credential - * @description Delete the calling user's stored API key for a BYOK MCP server - */ - delete: operations["delete_mcp_user_credential_v1_mcp_server__server_id__user_credential_delete"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/tools": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Mcp Tools - * @description Get all MCP tools available for the current key, including those from access groups - */ - get: operations["get_mcp_tools_v1_mcp_tools_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/toolset": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Mcp Toolsets - * @description List MCP toolsets accessible to the calling key - */ - get: operations["fetch_mcp_toolsets_v1_mcp_toolset_get"]; - /** - * Edit Mcp Toolset - * @description Update an existing MCP toolset (admin only) - */ - put: operations["edit_mcp_toolset_v1_mcp_toolset_put"]; - /** - * Add Mcp Toolset - * @description Create a new MCP toolset (admin only) - */ - post: operations["add_mcp_toolset_v1_mcp_toolset_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/toolset/{toolset_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fetch Mcp Toolset - * @description Get a specific MCP toolset by ID - */ - get: operations["fetch_mcp_toolset_v1_mcp_toolset__toolset_id__get"]; - put?: never; - post?: never; - /** - * Remove Mcp Toolset - * @description Delete an MCP toolset (admin only) - */ - delete: operations["remove_mcp_toolset_v1_mcp_toolset__toolset_id__delete"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v1/mcp/user-credentials": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List Mcp User Credentials - * @description List all OAuth2 MCP credentials stored for the calling user - */ - get: operations["list_mcp_user_credentials_v1_mcp_user_credentials_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/v1/memory": { parameters: { query?: never; @@ -20389,37 +19501,6 @@ export interface components { */ unnamed_teams_count: number; }; - /** - * AuditLogResponse - * @description Response model for a single audit log entry - */ - AuditLogResponse: { - /** Action */ - action: string; - /** Before Value */ - before_value?: { - [key: string]: unknown; - } | null; - /** Changed By */ - changed_by: string; - /** Changed By Api Key */ - changed_by_api_key: string; - /** Id */ - id: string; - /** Object Id */ - object_id: string; - /** Table Name */ - table_name: string; - /** - * Updated At - * Format: date-time - */ - updated_at: string; - /** Updated Values */ - updated_values?: { - [key: string]: unknown; - } | null; - }; /** BaseLitellmParams */ "BaseLitellmParams-Input": { /** @@ -20828,12 +19909,18 @@ export interface components { }; /** Body_audio_transcriptions_audio_transcriptions_post */ Body_audio_transcriptions_audio_transcriptions_post: { - /** File */ + /** + * File + * Format: binary + */ file: string; }; /** Body_audio_transcriptions_v1_audio_transcriptions_post */ Body_audio_transcriptions_v1_audio_transcriptions_post: { - /** File */ + /** + * File + * Format: binary + */ file: string; }; /** Body_convert_prompt_file_to_json_utils_dotprompt_json_converter_post */ @@ -20851,7 +19938,10 @@ export interface components { * @default openai */ custom_llm_provider: string; - /** File */ + /** + * File + * Format: binary + */ file: string; /** Litellm Metadata */ litellm_metadata?: string | null; @@ -20875,7 +19965,10 @@ export interface components { * @default openai */ custom_llm_provider: string; - /** File */ + /** + * File + * Format: binary + */ file: string; /** Litellm Metadata */ litellm_metadata?: string | null; @@ -20899,7 +19992,10 @@ export interface components { * @default openai */ custom_llm_provider: string; - /** File */ + /** + * File + * Format: binary + */ file: string; /** Litellm Metadata */ litellm_metadata?: string | null; @@ -20974,21 +20070,30 @@ export interface components { }; /** Body_upload_logo_upload_logo_post */ Body_upload_logo_upload_logo_post: { - /** File */ + /** + * File + * Format: binary + */ file: string; }; /** Body_video_create_character_v1_videos_characters_post */ Body_video_create_character_v1_videos_characters_post: { /** Name */ name: string; - /** Video */ + /** + * Video + * Format: binary + */ video: string; }; /** Body_video_create_character_videos_characters_post */ Body_video_create_character_videos_characters_post: { /** Name */ name: string; - /** Video */ + /** + * Video + * Format: binary + */ video: string; }; /** Body_video_generation_v1_videos_post */ @@ -22709,7 +21814,7 @@ export interface components { * @description Default role assigned to new users created * @default internal_user_viewer */ - user_role: ("internal_user" | "internal_user_viewer" | "proxy_admin" | "proxy_admin_viewer") | null; + user_role: ("proxy_admin" | "proxy_admin_viewer" | "internal_user" | "internal_user_viewer") | null; }; /** * DefaultTeamSSOParams @@ -22804,14 +21909,6 @@ export interface components { /** Organization Ids */ organization_ids: string[]; }; - /** - * DeleteProjectRequest - * @description Request model for DELETE /project/delete - */ - DeleteProjectRequest: { - /** Project Ids */ - project_ids: string[]; - }; /** * DeleteSkillResponse * @description Response from deleting a skill @@ -22926,27 +22023,6 @@ export interface components { /** Write Capacity Units */ write_capacity_units?: number | null; }; - /** - * EmailEvent - * @enum {string} - */ - EmailEvent: "Virtual Key Created" | "New User Invitation" | "Virtual Key Rotated" | "Soft Budget Crossed" | "Max Budget Alert"; - /** EmailEventSettings */ - EmailEventSettings: { - /** Enabled */ - enabled: boolean; - event: components["schemas"]["EmailEvent"]; - }; - /** EmailEventSettingsResponse */ - EmailEventSettingsResponse: { - /** Settings */ - settings: components["schemas"]["EmailEventSettings"][]; - }; - /** EmailEventSettingsUpdateRequest */ - EmailEventSettingsUpdateRequest: { - /** Settings */ - settings: components["schemas"]["EmailEventSettings"][]; - }; /** EmbeddingRequest */ EmbeddingRequest: { /** @@ -24542,129 +23618,6 @@ export interface components { /** User Id */ user_id: string; }; - /** - * LiteLLM_MCPServerTable - * @description Represents a LiteLLM_MCPServerTable record - */ - LiteLLM_MCPServerTable: { - /** Alias */ - alias?: string | null; - /** - * Allow All Keys - * @default false - */ - allow_all_keys: boolean; - /** Allowed Tools */ - allowed_tools?: string[]; - /** - * Approval Status - * @description Approval status: 'pending_review', 'active', 'rejected' - * @default active - */ - approval_status: string | null; - /** Args */ - args?: string[]; - /** Auth Type */ - auth_type?: ("none" | "api_key" | "bearer_token" | "basic" | "authorization" | "oauth2" | "aws_sigv4" | "token") | null; - /** Authorization Url */ - authorization_url?: string | null; - /** - * Available On Public Internet - * @default true - */ - available_on_public_internet: boolean; - /** Byok Api Key Help Url */ - byok_api_key_help_url?: string | null; - /** Byok Description */ - byok_description?: string[]; - /** Command */ - command?: string | null; - /** Created At */ - created_at?: string | null; - /** Created By */ - created_by?: string | null; - credentials?: components["schemas"]["MCPCredentials"] | null; - /** Description */ - description?: string | null; - /** Env */ - env?: { - [key: string]: string; - }; - /** Extra Headers */ - extra_headers?: string[]; - /** Has User Credential */ - has_user_credential?: boolean | null; - /** Health Check Error */ - health_check_error?: string | null; - /** Instructions */ - instructions?: string | null; - /** - * Is Byok - * @default false - */ - is_byok: boolean; - /** Last Health Check */ - last_health_check?: string | null; - /** Mcp Access Groups */ - mcp_access_groups?: string[]; - /** Mcp Info */ - mcp_info?: { - [key: string]: unknown; - } | null; - /** Registration Url */ - registration_url?: string | null; - /** Review Notes */ - review_notes?: string | null; - /** Reviewed At */ - reviewed_at?: string | null; - /** Server Id */ - server_id: string; - /** Server Name */ - server_name?: string | null; - /** Source Url */ - source_url?: string | null; - /** Spec Path */ - spec_path?: string | null; - /** Static Headers */ - static_headers?: { - [key: string]: string; - } | null; - /** - * Status - * @description Health status: 'healthy', 'unhealthy', 'unknown' - * @default unknown - */ - status: ("healthy" | "unhealthy" | "unknown") | null; - /** Submitted At */ - submitted_at?: string | null; - /** Submitted By */ - submitted_by?: string | null; - /** Teams */ - teams?: { - [key: string]: string | null; - }[]; - /** Token Url */ - token_url?: string | null; - /** Tool Name To Description */ - tool_name_to_description?: { - [key: string]: string; - } | null; - /** Tool Name To Display Name */ - tool_name_to_display_name?: { - [key: string]: string; - } | null; - /** - * Transport - * @enum {string} - */ - transport: "sse" | "http" | "stdio"; - /** Updated At */ - updated_at?: string | null; - /** Updated By */ - updated_by?: string | null; - /** Url */ - url?: string | null; - }; /** * LiteLLM_ManagedVectorStore * @description LiteLLM managed vector store object - this is is the object stored in the database @@ -25157,7 +24110,7 @@ export interface components { [key: string]: unknown; } | null; /** Stream Timeout */ - stream_timeout?: number | string | null; + stream_timeout?: string | number | null; /** Tag Regex */ tag_regex?: string[] | null; /** Tags */ @@ -25203,65 +24156,6 @@ export interface components { } & { [key: string]: unknown; }; - /** - * LiteLLM_ProjectTable - * @description Database model representation for project - */ - LiteLLM_ProjectTable: { - /** - * Blocked - * @default false - */ - blocked: boolean; - /** Budget Id */ - budget_id?: string | null; - /** Created At */ - created_at?: string | null; - /** Created By */ - created_by?: string | null; - /** Description */ - description?: string | null; - litellm_budget_table?: components["schemas"]["LiteLLM_BudgetTable"] | null; - /** Metadata */ - metadata?: { - [key: string]: unknown; - } | null; - /** Model Rpm Limit */ - model_rpm_limit?: { - [key: string]: unknown; - } | null; - /** Model Spend */ - model_spend?: { - [key: string]: unknown; - } | null; - /** Model Tpm Limit */ - model_tpm_limit?: { - [key: string]: unknown; - } | null; - /** - * Models - * @default [] - */ - models: string[]; - object_permission?: components["schemas"]["LiteLLM_ObjectPermissionTable"] | null; - /** Object Permission Id */ - object_permission_id?: string | null; - /** Project Alias */ - project_alias?: string | null; - /** Project Id */ - project_id: string; - /** - * Spend - * @default 0 - */ - spend: number; - /** Team Id */ - team_id?: string | null; - /** Updated At */ - updated_at?: string | null; - /** Updated By */ - updated_by?: string | null; - }; /** LiteLLM_ProxyModelTable */ LiteLLM_ProxyModelTable: { /** @@ -26535,64 +25429,6 @@ export interface components { */ status?: "healthy" | "unhealthy"; }; - /** MCPCredentials */ - MCPCredentials: { - /** Auth Value */ - auth_value?: string | null; - /** Aws Access Key Id */ - aws_access_key_id?: string | null; - /** Aws Region Name */ - aws_region_name?: string | null; - /** Aws Role Name */ - aws_role_name?: string | null; - /** Aws Secret Access Key */ - aws_secret_access_key?: string | null; - /** Aws Service Name */ - aws_service_name?: string | null; - /** Aws Session Name */ - aws_session_name?: string | null; - /** Aws Session Token */ - aws_session_token?: string | null; - /** Client Id */ - client_id?: string | null; - /** Client Secret */ - client_secret?: string | null; - /** Scopes */ - scopes?: string[] | null; - }; - /** - * MCPOAuthUserCredentialRequest - * @description Stores a user's OAuth2 token for an OpenAPI MCP server. - */ - MCPOAuthUserCredentialRequest: { - /** Access Token */ - access_token: string; - /** Expires In */ - expires_in?: number | null; - /** Refresh Token */ - refresh_token?: string | null; - /** Scopes */ - scopes?: string[] | null; - }; - /** - * MCPOAuthUserCredentialStatus - * @description Describes whether the calling user has a stored OAuth credential. - */ - MCPOAuthUserCredentialStatus: { - /** Connected At */ - connected_at?: string | null; - /** Expires At */ - expires_at?: string | null; - /** Has Credential */ - has_credential: boolean; - /** - * Is Expired - * @default false - */ - is_expired: boolean; - /** Server Id */ - server_id: string; - }; /** * MCPPublicServer * @description Safe params for public MCP servers @@ -26666,73 +25502,11 @@ export interface components { [key: string]: unknown; }; }; - /** MCPSubmissionsSummary */ - MCPSubmissionsSummary: { - /** Active */ - active: number; - /** Items */ - items: components["schemas"]["LiteLLM_MCPServerTable"][]; - /** Pending Review */ - pending_review: number; - /** Rejected */ - rejected: number; - /** Total */ - total: number; - }; - /** MCPToolsetTool */ - MCPToolsetTool: { - /** Server Id */ - server_id: string; - /** Tool Name */ - tool_name: string; - }; - /** - * MCPUserCredentialListItem - * @description One entry in the /user-credentials list. - */ - MCPUserCredentialListItem: { - /** Alias */ - alias?: string | null; - /** Connected At */ - connected_at?: string | null; - /** Credential Type */ - credential_type: string; - /** Expires At */ - expires_at?: string | null; - /** Has Credential */ - has_credential: boolean; - /** Server Id */ - server_id: string; - /** Server Name */ - server_name?: string | null; - }; - /** MCPUserCredentialRequest */ - MCPUserCredentialRequest: { - /** Credential */ - credential: string; - /** - * Save - * @default true - */ - save: boolean; - }; - /** MCPUserCredentialResponse */ - MCPUserCredentialResponse: { - /** Has Credential */ - has_credential: boolean; - /** Server Id */ - server_id: string; - }; /** MakeAgentsPublicRequest */ MakeAgentsPublicRequest: { /** Agent Ids */ agent_ids: string[]; }; - /** MakeMCPServersPublicRequest */ - MakeMCPServersPublicRequest: { - /** Mcp Server Ids */ - mcp_server_ids: string[]; - }; /** Member */ Member: { /** @@ -27047,118 +25821,6 @@ export interface components { /** User Id */ user_id: string; }; - /** NewMCPServerRequest */ - NewMCPServerRequest: { - /** Alias */ - alias?: string | null; - /** - * Allow All Keys - * @default false - */ - allow_all_keys: boolean; - /** Allowed Tools */ - allowed_tools?: string[] | null; - /** - * Approval Status - * @description Server-managed: set by the endpoint; caller values are overridden. - */ - approval_status?: string | null; - /** Args */ - args?: string[]; - /** Auth Type */ - auth_type?: ("none" | "api_key" | "bearer_token" | "basic" | "authorization" | "oauth2" | "aws_sigv4" | "token") | null; - /** Authorization Url */ - authorization_url?: string | null; - /** - * Available On Public Internet - * @default true - */ - available_on_public_internet: boolean; - /** Byok Api Key Help Url */ - byok_api_key_help_url?: string | null; - /** Byok Description */ - byok_description?: string[]; - /** Command */ - command?: string | null; - credentials?: components["schemas"]["MCPCredentials"] | null; - /** Description */ - description?: string | null; - /** Env */ - env?: { - [key: string]: string; - }; - /** Extra Headers */ - extra_headers?: string[] | null; - /** Instructions */ - instructions?: string | null; - /** - * Is Byok - * @default false - */ - is_byok: boolean; - /** Mcp Access Groups */ - mcp_access_groups?: string[]; - /** Mcp Info */ - mcp_info?: { - [key: string]: unknown; - } | null; - /** Oauth2 Flow */ - oauth2_flow?: ("client_credentials" | "authorization_code") | null; - /** Registration Url */ - registration_url?: string | null; - /** Server Id */ - server_id?: string | null; - /** Server Name */ - server_name?: string | null; - /** Source Url */ - source_url?: string | null; - /** Spec Path */ - spec_path?: string | null; - /** Static Headers */ - static_headers?: { - [key: string]: string; - } | null; - /** - * Submitted At - * @description Server-managed: set by the endpoint; caller values are overridden. - */ - submitted_at?: string | null; - /** - * Submitted By - * @description Server-managed: set by the endpoint; caller values are overridden. - */ - submitted_by?: string | null; - /** Token Url */ - token_url?: string | null; - /** Tool Name To Description */ - tool_name_to_description?: { - [key: string]: string; - } | null; - /** Tool Name To Display Name */ - tool_name_to_display_name?: { - [key: string]: string; - } | null; - /** - * Transport - * @default sse - * @enum {string} - */ - transport: "sse" | "http" | "stdio"; - /** Url */ - url?: string | null; - }; - /** NewMCPToolsetRequest */ - NewMCPToolsetRequest: { - /** Description */ - description?: string | null; - /** - * Tools - * @default [] - */ - tools: components["schemas"]["MCPToolsetTool"][]; - /** Toolset Name */ - toolset_name: string; - }; /** NewModelGroupRequest */ NewModelGroupRequest: { /** Access Group */ @@ -27274,134 +25936,6 @@ export interface components { /** Users */ users?: components["schemas"]["LiteLLM_UserTable"][] | null; }; - /** - * NewProjectRequest - * @description Request model for POST /project/new - */ - NewProjectRequest: { - /** Allowed Models */ - allowed_models?: string[] | null; - /** - * Blocked - * @default false - */ - blocked: boolean; - /** Budget Duration */ - budget_duration?: string | null; - /** Budget Id */ - budget_id?: string | null; - /** Description */ - description?: string | null; - /** Guardrails */ - guardrails?: string[] | null; - /** Max Budget */ - max_budget?: number | null; - /** Max Parallel Requests */ - max_parallel_requests?: number | null; - /** Metadata */ - metadata?: { - [key: string]: unknown; - } | null; - /** Model Max Budget */ - model_max_budget?: { - [key: string]: unknown; - } | null; - /** Model Rpm Limit */ - model_rpm_limit?: { - [key: string]: unknown; - } | null; - /** Model Tpm Limit */ - model_tpm_limit?: { - [key: string]: unknown; - } | null; - /** - * Models - * @default [] - */ - models: string[]; - object_permission?: components["schemas"]["LiteLLM_ObjectPermissionBase"] | null; - /** Policies */ - policies?: string[] | null; - /** Project Alias */ - project_alias?: string | null; - /** Project Id */ - project_id?: string | null; - /** Rpm Limit */ - rpm_limit?: number | null; - /** Soft Budget */ - soft_budget?: number | null; - /** Tags */ - tags?: string[] | null; - /** Team Id */ - team_id: string; - /** Tpm Limit */ - tpm_limit?: number | null; - }; - /** - * NewProjectResponse - * @description Response model for POST /project/new - */ - NewProjectResponse: { - /** - * Blocked - * @default false - */ - blocked: boolean; - /** Budget Id */ - budget_id?: string | null; - /** - * Created At - * Format: date-time - */ - created_at: string; - /** Created By */ - created_by?: string | null; - /** Description */ - description?: string | null; - litellm_budget_table?: components["schemas"]["LiteLLM_BudgetTable"] | null; - /** Metadata */ - metadata?: { - [key: string]: unknown; - } | null; - /** Model Rpm Limit */ - model_rpm_limit?: { - [key: string]: unknown; - } | null; - /** Model Spend */ - model_spend?: { - [key: string]: unknown; - } | null; - /** Model Tpm Limit */ - model_tpm_limit?: { - [key: string]: unknown; - } | null; - /** - * Models - * @default [] - */ - models: string[]; - object_permission?: components["schemas"]["LiteLLM_ObjectPermissionTable"] | null; - /** Object Permission Id */ - object_permission_id?: string | null; - /** Project Alias */ - project_alias?: string | null; - /** Project Id */ - project_id: string; - /** - * Spend - * @default 0 - */ - spend: number; - /** Team Id */ - team_id?: string | null; - /** - * Updated At - * Format: date-time - */ - updated_at: string; - /** Updated By */ - updated_by?: string | null; - }; /** NewTeamRequest */ NewTeamRequest: { /** Access Group Ids */ @@ -27911,34 +26445,6 @@ export interface components { /** Organizations */ organizations: string[]; }; - /** - * PaginatedAuditLogResponse - * @description Response model for paginated audit logs - */ - PaginatedAuditLogResponse: { - /** Audit Logs */ - audit_logs: components["schemas"]["AuditLogResponse"][]; - /** - * Page - * @description Current page number - */ - page: number; - /** - * Page Size - * @description Number of items per page - */ - page_size: number; - /** - * Total - * @description Total number of audit logs matching the filters - */ - total: number; - /** - * Total Pages - * @description Total number of pages - */ - total_pages: number; - }; /** PassThroughEndpointResponse */ PassThroughEndpointResponse: { /** Endpoints */ @@ -29470,11 +27976,6 @@ export interface components { */ version: string | null; }; - /** RejectMCPServerRequest */ - RejectMCPServerRequest: { - /** Review Notes */ - review_notes?: string | null; - }; /** ResetSpendRequest */ ResetSpendRequest: { /** Reset To */ @@ -31283,100 +29784,6 @@ export interface components { /** User Id */ user_id?: string | null; }; - /** UpdateMCPServerRequest */ - UpdateMCPServerRequest: { - /** Alias */ - alias?: string | null; - /** - * Allow All Keys - * @default false - */ - allow_all_keys: boolean; - /** Allowed Tools */ - allowed_tools?: string[] | null; - /** Args */ - args?: string[]; - /** Auth Type */ - auth_type?: ("none" | "api_key" | "bearer_token" | "basic" | "authorization" | "oauth2" | "aws_sigv4" | "token") | null; - /** Authorization Url */ - authorization_url?: string | null; - /** - * Available On Public Internet - * @default true - */ - available_on_public_internet: boolean; - /** Byok Api Key Help Url */ - byok_api_key_help_url?: string | null; - /** Byok Description */ - byok_description?: string[]; - /** Command */ - command?: string | null; - credentials?: components["schemas"]["MCPCredentials"] | null; - /** Description */ - description?: string | null; - /** Env */ - env?: { - [key: string]: string; - }; - /** Extra Headers */ - extra_headers?: string[] | null; - /** Instructions */ - instructions?: string | null; - /** - * Is Byok - * @default false - */ - is_byok: boolean; - /** Mcp Access Groups */ - mcp_access_groups?: string[]; - /** Mcp Info */ - mcp_info?: { - [key: string]: unknown; - } | null; - /** Registration Url */ - registration_url?: string | null; - /** Server Id */ - server_id: string; - /** Server Name */ - server_name?: string | null; - /** Source Url */ - source_url?: string | null; - /** Spec Path */ - spec_path?: string | null; - /** Static Headers */ - static_headers?: { - [key: string]: string; - } | null; - /** Token Url */ - token_url?: string | null; - /** Tool Name To Description */ - tool_name_to_description?: { - [key: string]: string; - } | null; - /** Tool Name To Display Name */ - tool_name_to_display_name?: { - [key: string]: string; - } | null; - /** - * Transport - * @default sse - * @enum {string} - */ - transport: "sse" | "http" | "stdio"; - /** Url */ - url?: string | null; - }; - /** UpdateMCPToolsetRequest */ - UpdateMCPToolsetRequest: { - /** Description */ - description?: string | null; - /** Tools */ - tools?: components["schemas"]["MCPToolsetTool"][] | null; - /** Toolset Id */ - toolset_id: string; - /** Toolset Name */ - toolset_name?: string | null; - }; /** UpdateModelGroupRequest */ UpdateModelGroupRequest: { /** Model Ids */ @@ -31384,63 +29791,6 @@ export interface components { /** Model Names */ model_names?: string[] | null; }; - /** - * UpdateProjectRequest - * @description Request model for POST /project/update - */ - UpdateProjectRequest: { - /** Allowed Models */ - allowed_models?: string[] | null; - /** Blocked */ - blocked?: boolean | null; - /** Budget Duration */ - budget_duration?: string | null; - /** Budget Id */ - budget_id?: string | null; - /** Description */ - description?: string | null; - /** Guardrails */ - guardrails?: string[] | null; - /** Max Budget */ - max_budget?: number | null; - /** Max Parallel Requests */ - max_parallel_requests?: number | null; - /** Metadata */ - metadata?: { - [key: string]: unknown; - } | null; - /** Model Max Budget */ - model_max_budget?: { - [key: string]: unknown; - } | null; - /** Model Rpm Limit */ - model_rpm_limit?: { - [key: string]: unknown; - } | null; - /** Model Tpm Limit */ - model_tpm_limit?: { - [key: string]: unknown; - } | null; - /** Models */ - models?: string[] | null; - object_permission?: components["schemas"]["LiteLLM_ObjectPermissionBase"] | null; - /** Policies */ - policies?: string[] | null; - /** Project Alias */ - project_alias?: string | null; - /** Project Id */ - project_id: string; - /** Rpm Limit */ - rpm_limit?: number | null; - /** Soft Budget */ - soft_budget?: number | null; - /** Tags */ - tags?: string[] | null; - /** Team Id */ - team_id?: string | null; - /** Tpm Limit */ - tpm_limit?: number | null; - }; /** * UpdatePublicModelGroupsRequest * @description Request model for updating public model groups @@ -32308,10 +30658,6 @@ export interface components { }; /** ValidationError */ ValidationError: { - /** Context */ - ctx?: Record; - /** Input */ - input?: unknown; /** Location */ loc: (string | number)[]; /** Message */ @@ -32796,7 +31142,7 @@ export interface components { [key: string]: unknown; } | null; /** Stream Timeout */ - stream_timeout?: number | string | null; + stream_timeout?: string | number | null; /** Tag Regex */ tag_regex?: string[] | null; /** Tags */ @@ -33783,105 +32129,6 @@ export interface operations { }; }; }; - get_audit_logs_audit_get: { - parameters: { - query?: { - page?: number; - page_size?: number; - /** @description Filter by user or system that performed the action */ - changed_by?: string | null; - /** @description Filter by API key hash that performed the action */ - changed_by_api_key?: string | null; - /** @description Filter by action type (create, update, delete) */ - action?: string | null; - /** @description Filter by table name that was modified */ - table_name?: string | null; - /** @description Filter by ID of the object that was modified */ - object_id?: string | null; - /** @description Filter logs after this date */ - start_date?: string | null; - /** @description Filter logs before this date */ - end_date?: string | null; - /** @description Filter by team_id present in before_value or updated_values JSON (PostgreSQL only) */ - object_team_id?: string | null; - /** @description Filter by token (key hash) present in before_value or updated_values JSON (PostgreSQL only) */ - object_key_hash?: string | null; - /** @description Column to sort by (e.g. 'updated_at', 'action', 'table_name') */ - sort_by?: string | null; - /** @description Sort order ('asc' or 'desc') */ - sort_order?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PaginatedAuditLogResponse"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_audit_log_by_id_audit__id__get: { - parameters: { - query?: never; - header?: never; - path: { - id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["AuditLogResponse"]; - }; - }; - /** @description Audit log not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - /** @description Database connection error */ - 500: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; azure_proxy_route_azure__endpoint__get: { parameters: { query?: never; @@ -37355,79 +35602,6 @@ export interface operations { }; }; }; - get_email_event_settings_email_event_settings_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["EmailEventSettingsResponse"]; - }; - }; - }; - }; - update_event_settings_email_event_settings_patch: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["EmailEventSettingsUpdateRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - reset_event_settings_email_event_settings_reset_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; embeddings_embeddings_post: { parameters: { query?: never; @@ -41892,126 +40066,6 @@ export interface operations { }; }; }; - test_connection_mcp_rest_test_connection_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["NewMCPServerRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - test_tools_list_mcp_rest_test_tools_list_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["NewMCPServerRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - call_tool_rest_api_mcp_rest_tools_call_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - list_tool_rest_api_mcp_rest_tools_list_get: { - parameters: { - query?: { - /** @description The server id to list tools for */ - server_id?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - [key: string]: unknown; - }; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; memory_usage_in_mem_cache_memory_usage_in_mem_cache_get: { parameters: { query?: never; @@ -43391,13 +41445,13 @@ export interface operations { /** * @description Unified rate-limit error. * - * Every rate-limit condition surfaced by litellm — whether it originated from - * an upstream LLM provider, a vendor batch endpoint, or one of litellm's own - * proxy-side limiters (parallel-requests, dynamic-rate, batch-rate, budget, - * max-iterations, etc.) — is raised as an instance of this class. + * Every rate-limit condition surfaced by litellm — whether it originated from + * an upstream LLM provider, a vendor batch endpoint, or one of litellm's own + * proxy-side limiters (parallel-requests, dynamic-rate, batch-rate, budget, + * max-iterations, etc.) — is raised as an instance of this class. * - * The :attr:`category` attribute lets callers distinguish the source. See - * :class:`RateLimitErrorCategory` for the available values. + * The :attr:`category` attribute lets callers distinguish the source. See + * :class:`RateLimitErrorCategory` for the available values. */ 429: { headers: { @@ -43628,7 +41682,11 @@ export interface operations { }; websocket_realtime_websocket_endpoint_get_3: { parameters: { - query?: never; + query?: { + model?: string; + intent?: string; + guardrails?: string; + }; header?: never; path?: never; cookie?: never; @@ -45379,156 +43437,6 @@ export interface operations { }; }; }; - delete_project_project_delete_delete: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["DeleteProjectRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_ProjectTable"][]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - project_info_project_info_get: { - parameters: { - query: { - project_id: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_ProjectTable"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - list_projects_project_list_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_ProjectTable"][]; - }; - }; - }; - }; - new_project_project_new_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["NewProjectRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["NewProjectResponse"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - update_project_project_update_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateProjectRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_ProjectTable"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; create_prompt_prompts_post: { parameters: { query?: never; @@ -46143,7 +44051,11 @@ export interface operations { }; websocket_realtime_websocket_endpoint_get: { parameters: { - query?: never; + query?: { + model?: string; + intent?: string; + guardrails?: string; + }; header?: never; path?: never; cookie?: never; @@ -46261,7 +44173,9 @@ export interface operations { }; websocket_responses_websocket_endpoint_get: { parameters: { - query?: never; + query?: { + model?: string; + }; header?: never; path?: never; cookie?: never; @@ -46441,26 +44355,6 @@ export interface operations { }; }; }; - get_robots_robots_txt_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; get_router_fields_router_fields_get: { parameters: { query?: never; @@ -50064,26 +47958,6 @@ export interface operations { }; }; }; - available_enterprise_users_user_available_users_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; bulk_user_update_user_bulk_update_post: { parameters: { query?: never; @@ -52654,866 +50528,6 @@ export interface operations { }; }; }; - get_mcp_access_groups_v1_mcp_access_groups_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - discover_mcp_servers_v1_mcp_discover_get: { - parameters: { - query?: { - /** @description Search filter for server names and descriptions */ - query?: string | null; - /** @description Filter by category */ - category?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - make_mcp_servers_public_v1_mcp_make_public_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["MakeMCPServersPublicRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_client_ip_v1_mcp_network_client_ip_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - get_openapi_registry_v1_mcp_openapi_registry_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - get_mcp_registry_v1_mcp_registry_json_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - fetch_all_mcp_servers_v1_mcp_server_get: { - parameters: { - query?: { - /** @description Filter MCP servers by team scope. When provided, returns only servers the team has access to plus globally available (allow_all_keys) servers. Used by the Create Key UI to show team-scoped MCP servers. */ - team_id?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_MCPServerTable"][]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - edit_mcp_server_v1_mcp_server_put: { - parameters: { - query?: never; - header?: { - /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ - "litellm-changed-by"?: string | null; - }; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateMCPServerRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_MCPServerTable"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - add_mcp_server_v1_mcp_server_post: { - parameters: { - query?: never; - header?: { - /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ - "litellm-changed-by"?: string | null; - }; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["NewMCPServerRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_MCPServerTable"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - health_check_servers_v1_mcp_server_health_get: { - parameters: { - query?: { - /** @description Server IDs to check. If not provided, checks all accessible servers. */ - server_ids?: string[] | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - add_session_mcp_server_v1_mcp_server_oauth_session_post: { - parameters: { - query?: never; - header?: { - /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ - "litellm-changed-by"?: string | null; - }; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["NewMCPServerRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - register_mcp_server_v1_mcp_server_register_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["NewMCPServerRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_MCPServerTable"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_mcp_server_submissions_v1_mcp_server_submissions_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["MCPSubmissionsSummary"]; - }; - }; - }; - }; - fetch_mcp_server_v1_mcp_server__server_id__get: { - parameters: { - query?: never; - header?: never; - path: { - server_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_MCPServerTable"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - remove_mcp_server_v1_mcp_server__server_id__delete: { - parameters: { - query?: never; - header?: { - /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ - "litellm-changed-by"?: string | null; - }; - path: { - server_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - approve_mcp_server_submission_v1_mcp_server__server_id__approve_put: { - parameters: { - query?: never; - header?: never; - path: { - server_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_MCPServerTable"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - store_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_post: { - parameters: { - query?: never; - header?: never; - path: { - server_id: string; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["MCPOAuthUserCredentialRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["MCPOAuthUserCredentialStatus"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - delete_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_delete: { - parameters: { - query?: never; - header?: never; - path: { - server_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["MCPOAuthUserCredentialStatus"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_mcp_oauth_user_credential_status_v1_mcp_server__server_id__oauth_user_credential_status_get: { - parameters: { - query?: never; - header?: never; - path: { - server_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["MCPOAuthUserCredentialStatus"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - reject_mcp_server_submission_v1_mcp_server__server_id__reject_put: { - parameters: { - query?: never; - header?: never; - path: { - server_id: string; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["RejectMCPServerRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_MCPServerTable"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - store_mcp_user_credential_v1_mcp_server__server_id__user_credential_post: { - parameters: { - query?: never; - header?: never; - path: { - server_id: string; - }; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["MCPUserCredentialRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["MCPUserCredentialResponse"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - delete_mcp_user_credential_v1_mcp_server__server_id__user_credential_delete: { - parameters: { - query?: never; - header?: never; - path: { - server_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["MCPUserCredentialResponse"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_mcp_tools_v1_mcp_tools_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - fetch_mcp_toolsets_v1_mcp_toolset_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - edit_mcp_toolset_v1_mcp_toolset_put: { - parameters: { - query?: never; - header?: { - "litellm-changed-by"?: string | null; - }; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateMCPToolsetRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - add_mcp_toolset_v1_mcp_toolset_post: { - parameters: { - query?: never; - header?: { - "litellm-changed-by"?: string | null; - }; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["NewMCPToolsetRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 201: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - fetch_mcp_toolset_v1_mcp_toolset__toolset_id__get: { - parameters: { - query?: never; - header?: never; - path: { - toolset_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - remove_mcp_toolset_v1_mcp_toolset__toolset_id__delete: { - parameters: { - query?: never; - header?: { - "litellm-changed-by"?: string | null; - }; - path: { - toolset_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 202: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - list_mcp_user_credentials_v1_mcp_user_credentials_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["MCPUserCredentialListItem"][]; - }; - }; - }; - }; list_memory_v1_memory_get: { parameters: { query?: { @@ -53906,7 +50920,11 @@ export interface operations { }; websocket_realtime_websocket_endpoint_get_2: { parameters: { - query?: never; + query?: { + model?: string; + intent?: string; + guardrails?: string; + }; header?: never; path?: never; cookie?: never; @@ -53984,7 +51002,9 @@ export interface operations { }; websocket_responses_websocket_endpoint_get_2: { parameters: { - query?: never; + query?: { + model?: string; + }; header?: never; path?: never; cookie?: never; @@ -57293,7 +54313,11 @@ export interface operations { }; websocket_vertex_ai_live_passthrough_endpoint: { parameters: { - query?: never; + query?: { + model?: string; + vertex_project?: string; + vertex_location?: string; + }; header?: never; path?: never; cookie?: never; From 74d273cd3d06b1b58feb94282fb1b9d518dc77ce Mon Sep 17 00:00:00 2001 From: Dushyant Acharya Date: Sun, 14 Jun 2026 02:23:06 +0530 Subject: [PATCH 4/7] chore: properly regenerate api types with litellm proxy installed --- ui/litellm-dashboard/src/lib/http/schema.d.ts | 1161 ++++++++++++++++- 1 file changed, 1094 insertions(+), 67 deletions(-) diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts index 75217c4eb74..6ba33c20dad 100644 --- a/ui/litellm-dashboard/src/lib/http/schema.d.ts +++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts @@ -652,6 +652,60 @@ export interface paths { patch?: never; trace?: never; }; + "/audit": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Audit Logs + * @description Get all audit logs with filtering and pagination. + * + * Returns a paginated response of audit logs matching the specified filters. + * + * Note: object_team_id and object_key_hash use Prisma JSON path filtering, + * which requires PostgreSQL. + */ + get: operations["get_audit_logs_audit_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/audit/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Audit Log By Id + * @description Get detailed information about a specific audit log entry by its ID. + * + * Args: + * id (str): The unique identifier of the audit log entry + * + * Returns: + * AuditLogResponse: Detailed information about the audit log entry + * + * Raises: + * HTTPException: If the audit log is not found or if there's a database connection error + */ + get: operations["get_audit_log_by_id_audit__id__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/azure/{endpoint}": { parameters: { query?: never; @@ -3016,6 +3070,50 @@ export interface paths { patch?: never; trace?: never; }; + "/email/event_settings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Email Event Settings + * @description Get all email event settings + */ + get: operations["get_email_event_settings_email_event_settings_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * Update Event Settings + * @description Update the settings for email events + */ + patch: operations["update_event_settings_email_event_settings_patch"]; + trace?: never; + }; + "/email/event_settings/reset": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Reset Event Settings + * @description Reset all email event settings to default (new user invitations on, virtual key creation off) + */ + post: operations["reset_event_settings_email_event_settings_reset_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/embeddings": { parameters: { query?: never; @@ -9619,6 +9717,240 @@ export interface paths { patch?: never; trace?: never; }; + "/project/delete": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + post?: never; + /** + * Delete Project + * @description Delete projects + * + * Parameters: + * - project_ids: *List[str]* - List of project ids to delete + * + * Example: + * ```bash + * curl --location --request DELETE 'http://0.0.0.0:4000/project/delete' \ + * --header 'Authorization: Bearer sk-1234' \ + * --header 'Content-Type: application/json' \ + * --data '{ + * "project_ids": ["project-123", "project-456"] + * }' + * ``` + */ + delete: operations["delete_project_project_delete_delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/project/info": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Project Info + * @description Get information about a specific project + * + * Parameters: + * - project_id: *str* - The project id to fetch info for + * + * Example: + * ```bash + * curl --location 'http://0.0.0.0:4000/project/info?project_id=project-123' \ + * --header 'Authorization: Bearer sk-1234' + * ``` + */ + get: operations["project_info_project_info_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/project/list": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Projects + * @description List all projects that the user has access to + * + * Example: + * ```bash + * curl --location 'http://0.0.0.0:4000/project/list' \ + * --header 'Authorization: Bearer sk-1234' + * ``` + */ + get: operations["list_projects_project_list_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/project/new": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * New Project + * @description Create a new project. Projects sit between teams and keys in the hierarchy. + * + * Only admins or team admins can create projects. + * + * # Parameters + * + * - project_alias: *Optional[str]* - The name of the project. + * - description: *Optional[str]* - Description of the project's purpose and use case. + * - team_id: *str* - The team id that this project belongs to. Required. + * - models: *List* - The models the project has access to. + * - budget_id: *Optional[str]* - The id for a budget (tpm/rpm/max budget) for the project. + * ### IF NO BUDGET ID - CREATE ONE WITH THESE PARAMS ### + * - max_budget: *Optional[float]* - Max budget for project + * - tpm_limit: *Optional[int]* - Max tpm limit for project + * - rpm_limit: *Optional[int]* - Max rpm limit for project + * - max_parallel_requests: *Optional[int]* - Max parallel requests for project + * - soft_budget: *Optional[float]* - Get a slack alert when this soft budget is reached. Don't block requests. + * - model_max_budget: *Optional[dict]* - Max budget for a specific model. Example: {"gpt-4": 100.0, "gpt-3.5-turbo": 50.0} + * - model_rpm_limit: *Optional[dict]* - RPM limits per model. Example: {"gpt-4": 1000, "gpt-3.5-turbo": 5000} + * - model_tpm_limit: *Optional[dict]* - TPM limits per model. Example: {"gpt-4": 50000, "gpt-3.5-turbo": 100000} + * - budget_duration: *Optional[str]* - Frequency of reseting project budget + * - metadata: *Optional[dict]* - Metadata for project, store information for project. Example metadata - {"use_case_id": "SNOW-12345", "responsible_ai_id": "RAI-67890"} + * - tags: *Optional[list]* - Tags for the project. Example: ["production", "api"] + * - blocked: *bool* - Flag indicating if the project is blocked or not - will stop all calls from keys with this project_id. + * - object_permission: Optional[LiteLLM_ObjectPermissionBase] - project-specific object permission. Example - {"vector_stores": ["vector_store_1", "vector_store_2"]}. IF null or {} then no object permission. + * + * Example 1: Create new project **without** a budget_id, with model-specific limits + * + * ```bash + * curl --location 'http://0.0.0.0:4000/project/new' \ + * --header 'Authorization: Bearer sk-1234' \ + * --header 'Content-Type: application/json' \ + * --data '{ + * "project_alias": "flight-search-assistant", + * "description": "AI-powered flight search and booking assistant", + * "team_id": "team-123", + * "models": ["gpt-4", "gpt-3.5-turbo"], + * "max_budget": 100, + * "model_rpm_limit": { + * "gpt-4": 1000, + * "gpt-3.5-turbo": 5000 + * }, + * "model_tpm_limit": { + * "gpt-4": 50000, + * "gpt-3.5-turbo": 100000 + * }, + * "metadata": { + * "use_case_id": "SNOW-12345", + * "responsible_ai_id": "RAI-67890" + * } + * }' + * ``` + * + * Example 2: Create new project **with** a budget_id + * + * ```bash + * curl --location 'http://0.0.0.0:4000/project/new' \ + * --header 'Authorization: Bearer sk-1234' \ + * --header 'Content-Type: application/json' \ + * --data '{ + * "project_alias": "hotel-recommendations", + * "description": "Personalized hotel recommendation engine", + * "team_id": "team-123", + * "models": ["claude-3-sonnet"], + * "budget_id": "428eeaa8-f3ac-4e85-a8fb-7dc8d7aa8689", + * "metadata": { + * "use_case_id": "SNOW-54321" + * } + * }' + * ``` + */ + post: operations["new_project_project_new_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/project/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Update Project + * @description Update a project + * + * Parameters: + * - project_id: *str* - The project id to update. Required. + * - project_alias: *Optional[str]* - Updated name for the project + * - description: *Optional[str]* - Updated description for the project + * - team_id: *Optional[str]* - Updated team_id for the project + * - metadata: *Optional[dict]* - Updated metadata for project + * - models: *Optional[list]* - Updated list of models for the project + * - blocked: *Optional[bool]* - Updated blocked status + * - max_budget: *Optional[float]* - Updated max budget + * - tpm_limit: *Optional[int]* - Updated tpm limit + * - rpm_limit: *Optional[int]* - Updated rpm limit + * - model_rpm_limit: *Optional[dict]* - Updated RPM limits per model + * - model_tpm_limit: *Optional[dict]* - Updated TPM limits per model + * - budget_duration: *Optional[str]* - Updated budget duration + * - tags: *Optional[list]* - Updated list of tags for the project + * - object_permission: Optional[LiteLLM_ObjectPermissionBase] - Updated object permission + * + * Example: + * ```bash + * curl --location 'http://0.0.0.0:4000/project/update' \ + * --header 'Authorization: Bearer sk-1234' \ + * --header 'Content-Type: application/json' \ + * --data '{ + * "project_id": "project-123", + * "description": "Updated flight search system with enhanced capabilities", + * "max_budget": 200, + * "model_rpm_limit": { + * "gpt-4": 2000, + * "gpt-3.5-turbo": 10000 + * }, + * "metadata": { + * "use_case_id": "SNOW-12345", + * "status": "active" + * } + * }' + * ``` + */ + post: operations["update_project_project_update_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/prompts": { parameters: { query?: never; @@ -10661,6 +10993,27 @@ export interface paths { patch?: never; trace?: never; }; + "/robots.txt": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Robots + * @description Block all web crawlers from indexing the proxy server endpoints + * This is useful for ensuring that the API endpoints aren't indexed by search engines + */ + get: operations["get_robots_robots_txt_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/router/fields": { parameters: { query?: never; @@ -13700,6 +14053,26 @@ export interface paths { patch?: never; trace?: never; }; + "/user/available_users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Available Enterprise Users + * @description For keys with `max_users` set, return the list of users that are allowed to use the key. + */ + get: operations["available_enterprise_users_user_available_users_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/user/bulk_update": { parameters: { query?: never; @@ -19501,6 +19874,37 @@ export interface components { */ unnamed_teams_count: number; }; + /** + * AuditLogResponse + * @description Response model for a single audit log entry + */ + AuditLogResponse: { + /** Action */ + action: string; + /** Before Value */ + before_value?: { + [key: string]: unknown; + } | null; + /** Changed By */ + changed_by: string; + /** Changed By Api Key */ + changed_by_api_key: string; + /** Id */ + id: string; + /** Object Id */ + object_id: string; + /** Table Name */ + table_name: string; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + /** Updated Values */ + updated_values?: { + [key: string]: unknown; + } | null; + }; /** BaseLitellmParams */ "BaseLitellmParams-Input": { /** @@ -19909,18 +20313,12 @@ export interface components { }; /** Body_audio_transcriptions_audio_transcriptions_post */ Body_audio_transcriptions_audio_transcriptions_post: { - /** - * File - * Format: binary - */ + /** File */ file: string; }; /** Body_audio_transcriptions_v1_audio_transcriptions_post */ Body_audio_transcriptions_v1_audio_transcriptions_post: { - /** - * File - * Format: binary - */ + /** File */ file: string; }; /** Body_convert_prompt_file_to_json_utils_dotprompt_json_converter_post */ @@ -19938,10 +20336,7 @@ export interface components { * @default openai */ custom_llm_provider: string; - /** - * File - * Format: binary - */ + /** File */ file: string; /** Litellm Metadata */ litellm_metadata?: string | null; @@ -19965,10 +20360,7 @@ export interface components { * @default openai */ custom_llm_provider: string; - /** - * File - * Format: binary - */ + /** File */ file: string; /** Litellm Metadata */ litellm_metadata?: string | null; @@ -19992,10 +20384,7 @@ export interface components { * @default openai */ custom_llm_provider: string; - /** - * File - * Format: binary - */ + /** File */ file: string; /** Litellm Metadata */ litellm_metadata?: string | null; @@ -20070,30 +20459,21 @@ export interface components { }; /** Body_upload_logo_upload_logo_post */ Body_upload_logo_upload_logo_post: { - /** - * File - * Format: binary - */ + /** File */ file: string; }; /** Body_video_create_character_v1_videos_characters_post */ Body_video_create_character_v1_videos_characters_post: { /** Name */ name: string; - /** - * Video - * Format: binary - */ + /** Video */ video: string; }; /** Body_video_create_character_videos_characters_post */ Body_video_create_character_videos_characters_post: { /** Name */ name: string; - /** - * Video - * Format: binary - */ + /** Video */ video: string; }; /** Body_video_generation_v1_videos_post */ @@ -21814,7 +22194,7 @@ export interface components { * @description Default role assigned to new users created * @default internal_user_viewer */ - user_role: ("proxy_admin" | "proxy_admin_viewer" | "internal_user" | "internal_user_viewer") | null; + user_role: ("internal_user" | "internal_user_viewer" | "proxy_admin" | "proxy_admin_viewer") | null; }; /** * DefaultTeamSSOParams @@ -21909,6 +22289,14 @@ export interface components { /** Organization Ids */ organization_ids: string[]; }; + /** + * DeleteProjectRequest + * @description Request model for DELETE /project/delete + */ + DeleteProjectRequest: { + /** Project Ids */ + project_ids: string[]; + }; /** * DeleteSkillResponse * @description Response from deleting a skill @@ -22023,6 +22411,27 @@ export interface components { /** Write Capacity Units */ write_capacity_units?: number | null; }; + /** + * EmailEvent + * @enum {string} + */ + EmailEvent: "Virtual Key Created" | "New User Invitation" | "Virtual Key Rotated" | "Soft Budget Crossed" | "Max Budget Alert"; + /** EmailEventSettings */ + EmailEventSettings: { + /** Enabled */ + enabled: boolean; + event: components["schemas"]["EmailEvent"]; + }; + /** EmailEventSettingsResponse */ + EmailEventSettingsResponse: { + /** Settings */ + settings: components["schemas"]["EmailEventSettings"][]; + }; + /** EmailEventSettingsUpdateRequest */ + EmailEventSettingsUpdateRequest: { + /** Settings */ + settings: components["schemas"]["EmailEventSettings"][]; + }; /** EmbeddingRequest */ EmbeddingRequest: { /** @@ -24110,7 +24519,7 @@ export interface components { [key: string]: unknown; } | null; /** Stream Timeout */ - stream_timeout?: string | number | null; + stream_timeout?: number | string | null; /** Tag Regex */ tag_regex?: string[] | null; /** Tags */ @@ -24156,6 +24565,65 @@ export interface components { } & { [key: string]: unknown; }; + /** + * LiteLLM_ProjectTable + * @description Database model representation for project + */ + LiteLLM_ProjectTable: { + /** + * Blocked + * @default false + */ + blocked: boolean; + /** Budget Id */ + budget_id?: string | null; + /** Created At */ + created_at?: string | null; + /** Created By */ + created_by?: string | null; + /** Description */ + description?: string | null; + litellm_budget_table?: components["schemas"]["LiteLLM_BudgetTable"] | null; + /** Metadata */ + metadata?: { + [key: string]: unknown; + } | null; + /** Model Rpm Limit */ + model_rpm_limit?: { + [key: string]: unknown; + } | null; + /** Model Spend */ + model_spend?: { + [key: string]: unknown; + } | null; + /** Model Tpm Limit */ + model_tpm_limit?: { + [key: string]: unknown; + } | null; + /** + * Models + * @default [] + */ + models: string[]; + object_permission?: components["schemas"]["LiteLLM_ObjectPermissionTable"] | null; + /** Object Permission Id */ + object_permission_id?: string | null; + /** Project Alias */ + project_alias?: string | null; + /** Project Id */ + project_id: string; + /** + * Spend + * @default 0 + */ + spend: number; + /** Team Id */ + team_id?: string | null; + /** Updated At */ + updated_at?: string | null; + /** Updated By */ + updated_by?: string | null; + }; /** LiteLLM_ProxyModelTable */ LiteLLM_ProxyModelTable: { /** @@ -25936,6 +26404,134 @@ export interface components { /** Users */ users?: components["schemas"]["LiteLLM_UserTable"][] | null; }; + /** + * NewProjectRequest + * @description Request model for POST /project/new + */ + NewProjectRequest: { + /** Allowed Models */ + allowed_models?: string[] | null; + /** + * Blocked + * @default false + */ + blocked: boolean; + /** Budget Duration */ + budget_duration?: string | null; + /** Budget Id */ + budget_id?: string | null; + /** Description */ + description?: string | null; + /** Guardrails */ + guardrails?: string[] | null; + /** Max Budget */ + max_budget?: number | null; + /** Max Parallel Requests */ + max_parallel_requests?: number | null; + /** Metadata */ + metadata?: { + [key: string]: unknown; + } | null; + /** Model Max Budget */ + model_max_budget?: { + [key: string]: unknown; + } | null; + /** Model Rpm Limit */ + model_rpm_limit?: { + [key: string]: unknown; + } | null; + /** Model Tpm Limit */ + model_tpm_limit?: { + [key: string]: unknown; + } | null; + /** + * Models + * @default [] + */ + models: string[]; + object_permission?: components["schemas"]["LiteLLM_ObjectPermissionBase"] | null; + /** Policies */ + policies?: string[] | null; + /** Project Alias */ + project_alias?: string | null; + /** Project Id */ + project_id?: string | null; + /** Rpm Limit */ + rpm_limit?: number | null; + /** Soft Budget */ + soft_budget?: number | null; + /** Tags */ + tags?: string[] | null; + /** Team Id */ + team_id: string; + /** Tpm Limit */ + tpm_limit?: number | null; + }; + /** + * NewProjectResponse + * @description Response model for POST /project/new + */ + NewProjectResponse: { + /** + * Blocked + * @default false + */ + blocked: boolean; + /** Budget Id */ + budget_id?: string | null; + /** + * Created At + * Format: date-time + */ + created_at: string; + /** Created By */ + created_by?: string | null; + /** Description */ + description?: string | null; + litellm_budget_table?: components["schemas"]["LiteLLM_BudgetTable"] | null; + /** Metadata */ + metadata?: { + [key: string]: unknown; + } | null; + /** Model Rpm Limit */ + model_rpm_limit?: { + [key: string]: unknown; + } | null; + /** Model Spend */ + model_spend?: { + [key: string]: unknown; + } | null; + /** Model Tpm Limit */ + model_tpm_limit?: { + [key: string]: unknown; + } | null; + /** + * Models + * @default [] + */ + models: string[]; + object_permission?: components["schemas"]["LiteLLM_ObjectPermissionTable"] | null; + /** Object Permission Id */ + object_permission_id?: string | null; + /** Project Alias */ + project_alias?: string | null; + /** Project Id */ + project_id: string; + /** + * Spend + * @default 0 + */ + spend: number; + /** Team Id */ + team_id?: string | null; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + /** Updated By */ + updated_by?: string | null; + }; /** NewTeamRequest */ NewTeamRequest: { /** Access Group Ids */ @@ -26445,6 +27041,34 @@ export interface components { /** Organizations */ organizations: string[]; }; + /** + * PaginatedAuditLogResponse + * @description Response model for paginated audit logs + */ + PaginatedAuditLogResponse: { + /** Audit Logs */ + audit_logs: components["schemas"]["AuditLogResponse"][]; + /** + * Page + * @description Current page number + */ + page: number; + /** + * Page Size + * @description Number of items per page + */ + page_size: number; + /** + * Total + * @description Total number of audit logs matching the filters + */ + total: number; + /** + * Total Pages + * @description Total number of pages + */ + total_pages: number; + }; /** PassThroughEndpointResponse */ PassThroughEndpointResponse: { /** Endpoints */ @@ -29791,6 +30415,63 @@ export interface components { /** Model Names */ model_names?: string[] | null; }; + /** + * UpdateProjectRequest + * @description Request model for POST /project/update + */ + UpdateProjectRequest: { + /** Allowed Models */ + allowed_models?: string[] | null; + /** Blocked */ + blocked?: boolean | null; + /** Budget Duration */ + budget_duration?: string | null; + /** Budget Id */ + budget_id?: string | null; + /** Description */ + description?: string | null; + /** Guardrails */ + guardrails?: string[] | null; + /** Max Budget */ + max_budget?: number | null; + /** Max Parallel Requests */ + max_parallel_requests?: number | null; + /** Metadata */ + metadata?: { + [key: string]: unknown; + } | null; + /** Model Max Budget */ + model_max_budget?: { + [key: string]: unknown; + } | null; + /** Model Rpm Limit */ + model_rpm_limit?: { + [key: string]: unknown; + } | null; + /** Model Tpm Limit */ + model_tpm_limit?: { + [key: string]: unknown; + } | null; + /** Models */ + models?: string[] | null; + object_permission?: components["schemas"]["LiteLLM_ObjectPermissionBase"] | null; + /** Policies */ + policies?: string[] | null; + /** Project Alias */ + project_alias?: string | null; + /** Project Id */ + project_id: string; + /** Rpm Limit */ + rpm_limit?: number | null; + /** Soft Budget */ + soft_budget?: number | null; + /** Tags */ + tags?: string[] | null; + /** Team Id */ + team_id?: string | null; + /** Tpm Limit */ + tpm_limit?: number | null; + }; /** * UpdatePublicModelGroupsRequest * @description Request model for updating public model groups @@ -30658,6 +31339,10 @@ export interface components { }; /** ValidationError */ ValidationError: { + /** Context */ + ctx?: Record; + /** Input */ + input?: unknown; /** Location */ loc: (string | number)[]; /** Message */ @@ -31142,7 +31827,7 @@ export interface components { [key: string]: unknown; } | null; /** Stream Timeout */ - stream_timeout?: string | number | null; + stream_timeout?: number | string | null; /** Tag Regex */ tag_regex?: string[] | null; /** Tags */ @@ -32129,6 +32814,105 @@ export interface operations { }; }; }; + get_audit_logs_audit_get: { + parameters: { + query?: { + page?: number; + page_size?: number; + /** @description Filter by user or system that performed the action */ + changed_by?: string | null; + /** @description Filter by API key hash that performed the action */ + changed_by_api_key?: string | null; + /** @description Filter by action type (create, update, delete) */ + action?: string | null; + /** @description Filter by table name that was modified */ + table_name?: string | null; + /** @description Filter by ID of the object that was modified */ + object_id?: string | null; + /** @description Filter logs after this date */ + start_date?: string | null; + /** @description Filter logs before this date */ + end_date?: string | null; + /** @description Filter by team_id present in before_value or updated_values JSON (PostgreSQL only) */ + object_team_id?: string | null; + /** @description Filter by token (key hash) present in before_value or updated_values JSON (PostgreSQL only) */ + object_key_hash?: string | null; + /** @description Column to sort by (e.g. 'updated_at', 'action', 'table_name') */ + sort_by?: string | null; + /** @description Sort order ('asc' or 'desc') */ + sort_order?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PaginatedAuditLogResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_audit_log_by_id_audit__id__get: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AuditLogResponse"]; + }; + }; + /** @description Audit log not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + /** @description Database connection error */ + 500: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; azure_proxy_route_azure__endpoint__get: { parameters: { query?: never; @@ -35602,6 +36386,79 @@ export interface operations { }; }; }; + get_email_event_settings_email_event_settings_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["EmailEventSettingsResponse"]; + }; + }; + }; + }; + update_event_settings_email_event_settings_patch: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["EmailEventSettingsUpdateRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + reset_event_settings_email_event_settings_reset_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; embeddings_embeddings_post: { parameters: { query?: never; @@ -41445,13 +42302,13 @@ export interface operations { /** * @description Unified rate-limit error. * - * Every rate-limit condition surfaced by litellm — whether it originated from - * an upstream LLM provider, a vendor batch endpoint, or one of litellm's own - * proxy-side limiters (parallel-requests, dynamic-rate, batch-rate, budget, - * max-iterations, etc.) — is raised as an instance of this class. + * Every rate-limit condition surfaced by litellm — whether it originated from + * an upstream LLM provider, a vendor batch endpoint, or one of litellm's own + * proxy-side limiters (parallel-requests, dynamic-rate, batch-rate, budget, + * max-iterations, etc.) — is raised as an instance of this class. * - * The :attr:`category` attribute lets callers distinguish the source. See - * :class:`RateLimitErrorCategory` for the available values. + * The :attr:`category` attribute lets callers distinguish the source. See + * :class:`RateLimitErrorCategory` for the available values. */ 429: { headers: { @@ -41682,11 +42539,7 @@ export interface operations { }; websocket_realtime_websocket_endpoint_get_3: { parameters: { - query?: { - model?: string; - intent?: string; - guardrails?: string; - }; + query?: never; header?: never; path?: never; cookie?: never; @@ -43437,6 +44290,156 @@ export interface operations { }; }; }; + delete_project_project_delete_delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["DeleteProjectRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_ProjectTable"][]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + project_info_project_info_get: { + parameters: { + query: { + project_id: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_ProjectTable"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + list_projects_project_list_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_ProjectTable"][]; + }; + }; + }; + }; + new_project_project_new_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["NewProjectRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["NewProjectResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + update_project_project_update_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UpdateProjectRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_ProjectTable"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; create_prompt_prompts_post: { parameters: { query?: never; @@ -44051,11 +45054,7 @@ export interface operations { }; websocket_realtime_websocket_endpoint_get: { parameters: { - query?: { - model?: string; - intent?: string; - guardrails?: string; - }; + query?: never; header?: never; path?: never; cookie?: never; @@ -44173,9 +45172,7 @@ export interface operations { }; websocket_responses_websocket_endpoint_get: { parameters: { - query?: { - model?: string; - }; + query?: never; header?: never; path?: never; cookie?: never; @@ -44355,6 +45352,26 @@ export interface operations { }; }; }; + get_robots_robots_txt_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; get_router_fields_router_fields_get: { parameters: { query?: never; @@ -47958,6 +48975,26 @@ export interface operations { }; }; }; + available_enterprise_users_user_available_users_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; bulk_user_update_user_bulk_update_post: { parameters: { query?: never; @@ -50920,11 +51957,7 @@ export interface operations { }; websocket_realtime_websocket_endpoint_get_2: { parameters: { - query?: { - model?: string; - intent?: string; - guardrails?: string; - }; + query?: never; header?: never; path?: never; cookie?: never; @@ -51002,9 +52035,7 @@ export interface operations { }; websocket_responses_websocket_endpoint_get_2: { parameters: { - query?: { - model?: string; - }; + query?: never; header?: never; path?: never; cookie?: never; @@ -54313,11 +55344,7 @@ export interface operations { }; websocket_vertex_ai_live_passthrough_endpoint: { parameters: { - query?: { - model?: string; - vertex_project?: string; - vertex_location?: string; - }; + query?: never; header?: never; path?: never; cookie?: never; From e78de06efd789551761bf208518df31928829264 Mon Sep 17 00:00:00 2001 From: Dushyant Acharya Date: Sun, 14 Jun 2026 04:53:53 +0530 Subject: [PATCH 5/7] fix: revert unintentional schema artifact rewrites --- ...odel_prices_and_context_window_backup.json | 376 +- litellm/proxy/_lazy_openapi_snapshot.json | 4530 +++++++++- ui/litellm-dashboard/src/lib/http/schema.d.ts | 7798 ++++------------- 3 files changed, 6460 insertions(+), 6244 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index 4ea846598c5..757aacf1caf 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -2528,34 +2528,6 @@ "supports_response_schema": true, "supports_tool_choice": true }, - "azure_ai/gpt-image-2": { - "cache_read_input_image_token_cost": 2e-06, - "cache_read_input_token_cost": 1.25e-06, - "input_cost_per_token": 5e-06, - "input_cost_per_image_token": 8e-06, - "litellm_provider": "azure_ai", - "mode": "image_generation", - "output_cost_per_image_token": 3e-05, - "supported_endpoints": [ - "/v1/images/generations", - "/v1/images/edits" - ], - "supports_vision": true - }, - "azure_ai/gpt-image-to-image": { - "cache_read_input_image_token_cost": 2e-06, - "cache_read_input_token_cost": 1.25e-06, - "input_cost_per_token": 5e-06, - "input_cost_per_image_token": 8e-06, - "litellm_provider": "azure_ai", - "mode": "image_generation", - "output_cost_per_image_token": 3e-05, - "supported_endpoints": [ - "/v1/images/generations", - "/v1/images/edits" - ], - "supports_vision": true - }, "azure_ai/gpt-5.4": { "cache_read_input_token_cost": 2.5e-07, "cache_read_input_token_cost_above_272k_tokens": 5e-07, @@ -4437,23 +4409,6 @@ "/v1/audio/transcriptions" ] }, - "azure/gpt-realtime-whisper": { - "input_cost_per_second": 0.0002833333333333333, - "litellm_provider": "azure", - "mode": "audio_transcription", - "source": "https://learn.microsoft.com/en-us/azure/ai-foundry/openai/concepts/gpt-realtime-whisper", - "supported_endpoints": [ - "/v1/realtime", - "/v1/realtime/transcription_sessions" - ], - "supported_modalities": [ - "audio" - ], - "supported_output_modalities": [ - "text" - ], - "supports_audio_input": true - }, "azure/gpt-5.1-2025-11-13": { "cache_read_input_token_cost": 1.25e-07, "cache_read_input_token_cost_priority": 2.5e-07, @@ -7109,43 +7064,6 @@ "/v1/images/generations" ] }, - "azure_ai/MAI-Image-2.5": { - "input_cost_per_image_token": 8e-06, - "input_cost_per_token": 5e-06, - "litellm_provider": "azure_ai", - "mode": "image_generation", - "output_cost_per_image": 0.05, - "output_cost_per_image_token": 4.7e-05, - "source": "https://techcommunity.microsoft.com/blog/azure-ai-foundry-blog/new-mai-models-in-microsoft-foundry-across-text-image-voice-and-speech/4524632", - "supported_endpoints": [ - "/v1/images/generations", - "/v1/images/edits" - ] - }, - "azure_ai/MAI-Image-2.5-Flash": { - "input_cost_per_image_token": 1.75e-06, - "input_cost_per_token": 1.75e-06, - "litellm_provider": "azure_ai", - "mode": "image_generation", - "output_cost_per_image": 0.0338, - "output_cost_per_image_token": 3.3e-05, - "source": "https://techcommunity.microsoft.com/blog/azure-ai-foundry-blog/new-mai-models-in-microsoft-foundry-across-text-image-voice-and-speech/4524632", - "supported_endpoints": [ - "/v1/images/generations", - "/v1/images/edits" - ] - }, - "azure_ai/MAI-Image-2e": { - "input_cost_per_token": 5e-06, - "litellm_provider": "azure_ai", - "mode": "image_generation", - "output_cost_per_image": 0.02, - "output_cost_per_image_token": 1.95e-05, - "source": "https://aka.ms/mai-image-2e-foundryblog", - "supported_endpoints": [ - "/v1/images/generations" - ] - }, "azure_ai/Llama-3.2-11B-Vision-Instruct": { "input_cost_per_token": 3.7e-07, "litellm_provider": "azure_ai", @@ -7602,45 +7520,6 @@ "supports_function_calling": true, "supports_tool_choice": true }, - "azure_ai/deepseek-v3.1": { - "input_cost_per_token": 1.23e-06, - "litellm_provider": "azure_ai", - "max_input_tokens": 131072, - "max_output_tokens": 131072, - "max_tokens": 131072, - "mode": "chat", - "output_cost_per_token": 4.94e-06, - "source": "https://azure.microsoft.com/en-us/pricing/details/ai-foundry-models/deepseek/", - "supports_function_calling": true, - "supports_reasoning": true, - "supports_tool_choice": true - }, - "azure_ai/deepseek-v4-pro": { - "input_cost_per_token": 1.74e-06, - "litellm_provider": "azure_ai", - "max_input_tokens": 1000000, - "max_output_tokens": 384000, - "max_tokens": 384000, - "mode": "chat", - "output_cost_per_token": 3.48e-06, - "source": "https://azure.microsoft.com/en-us/pricing/details/ai-foundry-models/deepseek/", - "supports_function_calling": true, - "supports_reasoning": true, - "supports_tool_choice": true - }, - "azure_ai/deepseek-v4-flash": { - "input_cost_per_token": 1.9e-07, - "litellm_provider": "azure_ai", - "max_input_tokens": 1000000, - "max_output_tokens": 384000, - "max_tokens": 384000, - "mode": "chat", - "output_cost_per_token": 5.1e-07, - "source": "https://azure.microsoft.com/en-us/pricing/details/ai-foundry-models/deepseek/", - "supports_function_calling": true, - "supports_reasoning": true, - "supports_tool_choice": true - }, "azure_ai/embed-v-4-0": { "input_cost_per_token": 1.2e-07, "litellm_provider": "azure_ai", @@ -14619,10 +14498,10 @@ "mode": "chat", "output_cost_per_token": 4.4e-06, "source": "https://fireworks.ai/models/fireworks/glm-5p1", - "supports_function_calling": true, + "supports_function_calling": false, "supports_reasoning": true, - "supports_response_schema": true, - "supports_tool_choice": true + "supports_response_schema": false, + "supports_tool_choice": false }, "fireworks_ai/accounts/fireworks/models/gpt-oss-120b": { "input_cost_per_token": 1.5e-07, @@ -14900,10 +14779,10 @@ "mode": "chat", "output_cost_per_token": 4.4e-06, "source": "https://fireworks.ai/models/fireworks/glm-5p1", - "supports_function_calling": true, + "supports_function_calling": false, "supports_reasoning": true, - "supports_response_schema": true, - "supports_tool_choice": true + "supports_response_schema": false, + "supports_tool_choice": false }, "fireworks_ai/kimi-k2p5": { "cache_read_input_token_cost": 1e-07, @@ -24476,12 +24355,9 @@ "max_output_tokens": 8192 }, "minimax/MiniMax-M3": { - "input_cost_per_token": 3e-07, - "input_cost_per_token_above_512k_tokens": 6e-07, - "output_cost_per_token": 1.2e-06, - "output_cost_per_token_above_512k_tokens": 2.4e-06, - "cache_read_input_token_cost": 6e-08, - "cache_read_input_token_cost_above_512k_tokens": 1.2e-07, + "input_cost_per_token": 6e-07, + "output_cost_per_token": 2.4e-06, + "cache_read_input_token_cost": 1.2e-07, "litellm_provider": "minimax", "mode": "chat", "supports_function_calling": true, @@ -24490,7 +24366,7 @@ "supports_reasoning": true, "supports_system_messages": true, "supports_vision": true, - "max_input_tokens": 1000000, + "max_input_tokens": 512000, "max_output_tokens": 128000 }, "mistral.devstral-2-123b": { @@ -35880,17 +35756,7 @@ "max_input_tokens": 32000, "max_tokens": 32000, "mode": "embedding", - "output_cost_per_token": 0.0, - "supports_vision": true - }, - "voyage/voyage-multimodal-3.5": { - "input_cost_per_token": 1.2e-07, - "litellm_provider": "voyage", - "max_input_tokens": 32000, - "max_tokens": 32000, - "mode": "embedding", - "output_cost_per_token": 0.0, - "supports_vision": true + "output_cost_per_token": 0.0 }, "wandb/openai/gpt-oss-120b": { "max_tokens": 131072, @@ -41010,23 +40876,6 @@ "supports_system_messages": true, "supports_tool_choice": true }, - "gpt-realtime-whisper": { - "input_cost_per_second": 0.0002833333333333333, - "litellm_provider": "openai", - "mode": "audio_transcription", - "source": "https://platform.openai.com/docs/models/gpt-realtime-whisper", - "supported_endpoints": [ - "/v1/realtime", - "/v1/realtime/transcription_sessions" - ], - "supported_modalities": [ - "audio" - ], - "supported_output_modalities": [ - "text" - ], - "supports_audio_input": true - }, "sora-2": { "litellm_provider": "openai", "mode": "video_generation", @@ -41760,7 +41609,6 @@ "max_output_tokens": 128000, "max_tokens": 128000, "mode": "responses", - "use_openai_responses_path": true, "supported_endpoints": ["/v1/responses"], "supported_modalities": ["text", "image"], "supported_output_modalities": ["text"], @@ -41780,7 +41628,6 @@ "max_output_tokens": 128000, "max_tokens": 128000, "mode": "responses", - "use_openai_responses_path": true, "supported_endpoints": ["/v1/responses"], "supported_modalities": ["text", "image"], "supported_output_modalities": ["text"], @@ -41791,48 +41638,6 @@ "supports_tool_choice": true, "supports_vision": true }, - "bedrock_mantle/google.gemma-4-31b": { - "input_cost_per_token": 1.4e-07, - "output_cost_per_token": 4e-07, - "litellm_provider": "bedrock_mantle", - "max_input_tokens": 256000, - "max_output_tokens": 256000, - "max_tokens": 256000, - "mode": "chat", - "supports_function_calling": true, - "supports_parallel_function_calling": false, - "supports_reasoning": true, - "supports_tool_choice": true, - "supports_vision": true - }, - "bedrock_mantle/google.gemma-4-26b-a4b": { - "input_cost_per_token": 1.3e-07, - "output_cost_per_token": 4e-07, - "litellm_provider": "bedrock_mantle", - "max_input_tokens": 256000, - "max_output_tokens": 256000, - "max_tokens": 256000, - "mode": "chat", - "supports_function_calling": true, - "supports_parallel_function_calling": false, - "supports_reasoning": true, - "supports_tool_choice": true, - "supports_vision": true - }, - "bedrock_mantle/google.gemma-4-e2b": { - "input_cost_per_token": 4e-08, - "output_cost_per_token": 8e-08, - "litellm_provider": "bedrock_mantle", - "max_input_tokens": 128000, - "max_output_tokens": 128000, - "max_tokens": 128000, - "mode": "chat", - "supports_function_calling": true, - "supports_parallel_function_calling": false, - "supports_reasoning": true, - "supports_tool_choice": true, - "supports_vision": true - }, "volcengine/doubao-seed-2-0-pro-260215": { "litellm_provider": "volcengine", "max_input_tokens": 256000, @@ -42124,164 +41929,5 @@ "/v1/audio/transcriptions" ], "supports_audio_input": true - }, - "tensormesh/Qwen/Qwen3.5-397B-A17B-FP8": { - "litellm_provider": "tensormesh", - "mode": "chat", - "input_cost_per_token": 6e-07, - "output_cost_per_token": 3.6e-06, - "cache_read_input_token_cost": 0, - "max_input_tokens": 262144, - "max_output_tokens": 262144, - "supports_function_calling": true, - "supports_tool_choice": true, - "supports_response_schema": true, - "supports_prompt_caching": true, - "supports_system_messages": true, - "supports_reasoning": true, - "source": "https://serverless.tensormesh.ai/v1/models/openrouter" - }, - "tensormesh/Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": { - "litellm_provider": "tensormesh", - "mode": "chat", - "input_cost_per_token": 4.5e-07, - "output_cost_per_token": 1.8e-06, - "cache_read_input_token_cost": 0, - "max_input_tokens": 262144, - "max_output_tokens": 262144, - "supports_function_calling": true, - "supports_tool_choice": true, - "supports_response_schema": true, - "supports_prompt_caching": true, - "supports_system_messages": true, - "source": "https://serverless.tensormesh.ai/v1/models/openrouter" - }, - "tensormesh/Qwen/Qwen3.6-27B-FP8": { - "litellm_provider": "tensormesh", - "mode": "chat", - "input_cost_per_token": 3.2e-07, - "output_cost_per_token": 3.2e-06, - "cache_read_input_token_cost": 0, - "max_input_tokens": 262144, - "max_output_tokens": 262144, - "supports_function_calling": true, - "supports_tool_choice": true, - "supports_response_schema": true, - "supports_prompt_caching": true, - "supports_system_messages": true, - "supports_reasoning": true, - "source": "https://serverless.tensormesh.ai/v1/models/openrouter" - }, - "tensormesh/lukealonso/GLM-5.1-NVFP4-MTP": { - "litellm_provider": "tensormesh", - "mode": "chat", - "input_cost_per_token": 1.4e-06, - "output_cost_per_token": 4.4e-06, - "cache_read_input_token_cost": 0, - "max_input_tokens": 202752, - "max_output_tokens": 202752, - "supports_function_calling": true, - "supports_tool_choice": true, - "supports_response_schema": true, - "supports_prompt_caching": true, - "supports_system_messages": true, - "supports_reasoning": true, - "source": "https://serverless.tensormesh.ai/v1/models/openrouter" - }, - "tensormesh/deepseek-ai/DeepSeek-V4-Flash": { - "litellm_provider": "tensormesh", - "mode": "chat", - "input_cost_per_token": 1.4e-07, - "output_cost_per_token": 2.8e-07, - "cache_read_input_token_cost": 0, - "max_input_tokens": 32768, - "max_output_tokens": 32768, - "supports_function_calling": true, - "supports_tool_choice": true, - "supports_response_schema": true, - "supports_prompt_caching": true, - "supports_system_messages": true, - "supports_reasoning": true, - "source": "https://serverless.tensormesh.ai/v1/models/openrouter" - }, - "tensormesh/moonshotai/Kimi-K2.6": { - "litellm_provider": "tensormesh", - "mode": "chat", - "input_cost_per_token": 9.6e-07, - "output_cost_per_token": 4e-06, - "cache_read_input_token_cost": 0, - "max_input_tokens": 32768, - "max_output_tokens": 32768, - "supports_function_calling": true, - "supports_tool_choice": true, - "supports_response_schema": true, - "supports_prompt_caching": true, - "supports_system_messages": true, - "supports_reasoning": true, - "source": "https://serverless.tensormesh.ai/v1/models/openrouter" - }, - "tensormesh/MiniMaxAI/MiniMax-M2.5": { - "litellm_provider": "tensormesh", - "mode": "chat", - "input_cost_per_token": 3e-07, - "output_cost_per_token": 1.2e-06, - "cache_read_input_token_cost": 0, - "max_input_tokens": 196608, - "max_output_tokens": 196608, - "supports_function_calling": true, - "supports_tool_choice": true, - "supports_response_schema": true, - "supports_prompt_caching": true, - "supports_system_messages": true, - "supports_reasoning": true, - "source": "https://serverless.tensormesh.ai/v1/models/openrouter" - }, - "tensormesh/google/gemma-4-31B-it": { - "litellm_provider": "tensormesh", - "mode": "chat", - "input_cost_per_token": 1.4e-07, - "output_cost_per_token": 5.6e-07, - "cache_read_input_token_cost": 0, - "max_input_tokens": 32768, - "max_output_tokens": 32768, - "supports_function_calling": true, - "supports_tool_choice": true, - "supports_response_schema": true, - "supports_prompt_caching": true, - "supports_system_messages": true, - "supports_reasoning": true, - "source": "https://serverless.tensormesh.ai/v1/models/openrouter" - }, - "tensormesh/openai/gpt-oss-120b": { - "litellm_provider": "tensormesh", - "mode": "chat", - "input_cost_per_token": 1.5e-07, - "output_cost_per_token": 6e-07, - "cache_read_input_token_cost": 0, - "max_input_tokens": 131072, - "max_output_tokens": 131072, - "supports_function_calling": true, - "supports_tool_choice": true, - "supports_response_schema": true, - "supports_prompt_caching": true, - "supports_system_messages": true, - "supports_reasoning": true, - "source": "https://serverless.tensormesh.ai/v1/models/openrouter" - }, - "tensormesh/openai/gpt-oss-20b": { - "litellm_provider": "tensormesh", - "mode": "chat", - "input_cost_per_token": 7e-08, - "output_cost_per_token": 2.8e-07, - "cache_read_input_token_cost": 0, - "max_input_tokens": 131072, - "max_output_tokens": 131072, - "supports_function_calling": true, - "supports_tool_choice": true, - "supports_response_schema": true, - "supports_prompt_caching": true, - "supports_system_messages": true, - "supports_reasoning": true, - "source": "https://serverless.tensormesh.ai/v1/models/openrouter" } } \ No newline at end of file diff --git a/litellm/proxy/_lazy_openapi_snapshot.json b/litellm/proxy/_lazy_openapi_snapshot.json index 3b1f360ca18..27cdc483d4a 100644 --- a/litellm/proxy/_lazy_openapi_snapshot.json +++ b/litellm/proxy/_lazy_openapi_snapshot.json @@ -13458,9 +13458,728 @@ }, "mcp_app": { "components": { - "schemas": {} + "schemas": { + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "title": "Detail", + "type": "array" + } + }, + "title": "HTTPValidationError", + "type": "object" + }, + "MCPCredentials": { + "properties": { + "auth_value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Auth Value" + }, + "aws_access_key_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Access Key Id" + }, + "aws_region_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Region Name" + }, + "aws_role_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Role Name" + }, + "aws_secret_access_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Secret Access Key" + }, + "aws_service_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Service Name" + }, + "aws_session_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Session Name" + }, + "aws_session_token": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Session Token" + }, + "client_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Id" + }, + "client_secret": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Secret" + }, + "scopes": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Scopes" + } + }, + "title": "MCPCredentials", + "type": "object" + }, + "NewMCPServerRequest": { + "properties": { + "alias": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Alias" + }, + "allow_all_keys": { + "default": false, + "title": "Allow All Keys", + "type": "boolean" + }, + "allowed_tools": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Allowed Tools" + }, + "approval_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Server-managed: set by the endpoint; caller values are overridden.", + "title": "Approval Status" + }, + "args": { + "items": { + "type": "string" + }, + "title": "Args", + "type": "array" + }, + "auth_type": { + "anyOf": [ + { + "enum": [ + "none", + "api_key", + "bearer_token", + "basic", + "authorization", + "oauth2", + "aws_sigv4", + "token" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Auth Type" + }, + "authorization_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authorization Url" + }, + "available_on_public_internet": { + "default": true, + "title": "Available On Public Internet", + "type": "boolean" + }, + "byok_api_key_help_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Byok Api Key Help Url" + }, + "byok_description": { + "items": { + "type": "string" + }, + "title": "Byok Description", + "type": "array" + }, + "command": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Command" + }, + "credentials": { + "anyOf": [ + { + "$ref": "#/components/schemas/MCPCredentials" + }, + { + "type": "null" + } + ] + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "env": { + "additionalProperties": { + "type": "string" + }, + "title": "Env", + "type": "object" + }, + "extra_headers": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Extra Headers" + }, + "instructions": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Instructions" + }, + "is_byok": { + "default": false, + "title": "Is Byok", + "type": "boolean" + }, + "mcp_access_groups": { + "items": { + "type": "string" + }, + "title": "Mcp Access Groups", + "type": "array" + }, + "mcp_info": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Mcp Info" + }, + "oauth2_flow": { + "anyOf": [ + { + "enum": [ + "client_credentials", + "authorization_code" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Oauth2 Flow" + }, + "registration_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Registration Url" + }, + "server_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Server Id" + }, + "server_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Server Name" + }, + "source_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Url" + }, + "spec_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Spec Path" + }, + "static_headers": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Static Headers" + }, + "submitted_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Server-managed: set by the endpoint; caller values are overridden.", + "title": "Submitted At" + }, + "submitted_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Server-managed: set by the endpoint; caller values are overridden.", + "title": "Submitted By" + }, + "token_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Url" + }, + "tool_name_to_description": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Description" + }, + "tool_name_to_display_name": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Display Name" + }, + "transport": { + "default": "sse", + "enum": [ + "sse", + "http", + "stdio" + ], + "title": "Transport", + "type": "string" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Url" + } + }, + "title": "NewMCPServerRequest", + "type": "object" + }, + "ValidationError": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "title": "Location", + "type": "array" + }, + "msg": { + "title": "Message", + "type": "string" + }, + "type": { + "title": "Error Type", + "type": "string" + } + }, + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError", + "type": "object" + } + } }, - "paths": {} + "paths": { + "/mcp-rest/test/connection": { + "post": { + "description": "Test if we can connect to the provided MCP server before adding it", + "operationId": "test_connection_mcp_rest_test_connection_post_2", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewMCPServerRequest" + } + } + }, + "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": "Test Connection", + "tags": [ + "mcp_app" + ] + } + }, + "/mcp-rest/test/tools/list": { + "post": { + "description": "Preview tools available from MCP server before adding it", + "operationId": "test_tools_list_mcp_rest_test_tools_list_post_2", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewMCPServerRequest" + } + } + }, + "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": "Test Tools List", + "tags": [ + "mcp_app" + ] + } + }, + "/mcp-rest/tools/call": { + "post": { + "description": "REST API to call a specific MCP tool with the provided arguments", + "operationId": "call_tool_rest_api_mcp_rest_tools_call_post_2", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Call Tool Rest Api", + "tags": [ + "mcp_app" + ] + } + }, + "/mcp-rest/tools/list": { + "get": { + "description": "List all available tools with information about the server they belong to.\n\nExample response:\n{\n \"tools\": [\n {\n \"name\": \"create_zap\",\n \"description\": \"Create a new zap\",\n \"inputSchema\": \"tool_input_schema\",\n \"mcp_info\": {\n \"server_name\": \"zapier\",\n \"logo_url\": \"https://www.zapier.com/logo.png\",\n }\n }\n ],\n \"error\": null,\n \"message\": \"Successfully retrieved tools\"\n}", + "operationId": "list_tool_rest_api_mcp_rest_tools_list_get_2", + "parameters": [ + { + "description": "The server id to list tools for", + "in": "query", + "name": "server_id", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The server id to list tools for", + "title": "Server Id" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": true, + "title": "Response List Tool Rest Api Mcp Rest Tools List Get", + "type": "object" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "List Tool Rest Api", + "tags": [ + "mcp_app" + ] + } + } + } }, "mcp_byok_oauth": { "components": { @@ -13562,9 +14281,3812 @@ }, "mcp_management": { "components": { - "schemas": {} + "schemas": { + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "title": "Detail", + "type": "array" + } + }, + "title": "HTTPValidationError", + "type": "object" + }, + "LiteLLM_MCPServerTable": { + "description": "Represents a LiteLLM_MCPServerTable record", + "properties": { + "alias": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Alias" + }, + "allow_all_keys": { + "default": false, + "title": "Allow All Keys", + "type": "boolean" + }, + "allowed_tools": { + "items": { + "type": "string" + }, + "title": "Allowed Tools", + "type": "array" + }, + "approval_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": "active", + "description": "Approval status: 'pending_review', 'active', 'rejected'", + "title": "Approval Status" + }, + "args": { + "items": { + "type": "string" + }, + "title": "Args", + "type": "array" + }, + "auth_type": { + "anyOf": [ + { + "enum": [ + "none", + "api_key", + "bearer_token", + "basic", + "authorization", + "oauth2", + "aws_sigv4", + "token" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Auth Type" + }, + "authorization_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authorization Url" + }, + "available_on_public_internet": { + "default": true, + "title": "Available On Public Internet", + "type": "boolean" + }, + "byok_api_key_help_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Byok Api Key Help Url" + }, + "byok_description": { + "items": { + "type": "string" + }, + "title": "Byok Description", + "type": "array" + }, + "command": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Command" + }, + "created_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Created At" + }, + "created_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Created By" + }, + "credentials": { + "anyOf": [ + { + "$ref": "#/components/schemas/MCPCredentials" + }, + { + "type": "null" + } + ] + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "env": { + "additionalProperties": { + "type": "string" + }, + "title": "Env", + "type": "object" + }, + "extra_headers": { + "items": { + "type": "string" + }, + "title": "Extra Headers", + "type": "array" + }, + "has_user_credential": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Has User Credential" + }, + "health_check_error": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Health Check Error" + }, + "instructions": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Instructions" + }, + "is_byok": { + "default": false, + "title": "Is Byok", + "type": "boolean" + }, + "last_health_check": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Last Health Check" + }, + "mcp_access_groups": { + "items": { + "type": "string" + }, + "title": "Mcp Access Groups", + "type": "array" + }, + "mcp_info": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Mcp Info" + }, + "registration_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Registration Url" + }, + "review_notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Review Notes" + }, + "reviewed_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Reviewed At" + }, + "server_id": { + "title": "Server Id", + "type": "string" + }, + "server_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Server Name" + }, + "source_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Url" + }, + "spec_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Spec Path" + }, + "static_headers": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Static Headers" + }, + "status": { + "anyOf": [ + { + "enum": [ + "healthy", + "unhealthy", + "unknown" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": "unknown", + "description": "Health status: 'healthy', 'unhealthy', 'unknown'", + "title": "Status" + }, + "submitted_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Submitted At" + }, + "submitted_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Submitted By" + }, + "teams": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": "object" + }, + "title": "Teams", + "type": "array" + }, + "token_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Url" + }, + "tool_name_to_description": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Description" + }, + "tool_name_to_display_name": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Display Name" + }, + "transport": { + "enum": [ + "sse", + "http", + "stdio" + ], + "title": "Transport", + "type": "string" + }, + "updated_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Updated At" + }, + "updated_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Updated By" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Url" + } + }, + "required": [ + "server_id", + "transport" + ], + "title": "LiteLLM_MCPServerTable", + "type": "object" + }, + "MCPCredentials": { + "properties": { + "auth_value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Auth Value" + }, + "aws_access_key_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Access Key Id" + }, + "aws_region_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Region Name" + }, + "aws_role_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Role Name" + }, + "aws_secret_access_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Secret Access Key" + }, + "aws_service_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Service Name" + }, + "aws_session_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Session Name" + }, + "aws_session_token": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Session Token" + }, + "client_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Id" + }, + "client_secret": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Secret" + }, + "scopes": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Scopes" + } + }, + "title": "MCPCredentials", + "type": "object" + }, + "MCPOAuthUserCredentialRequest": { + "description": "Stores a user's OAuth2 token for an OpenAPI MCP server.", + "properties": { + "access_token": { + "title": "Access Token", + "type": "string" + }, + "expires_in": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Expires In" + }, + "refresh_token": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Refresh Token" + }, + "scopes": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Scopes" + } + }, + "required": [ + "access_token" + ], + "title": "MCPOAuthUserCredentialRequest", + "type": "object" + }, + "MCPOAuthUserCredentialStatus": { + "description": "Describes whether the calling user has a stored OAuth credential.", + "properties": { + "connected_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Connected At" + }, + "expires_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Expires At" + }, + "has_credential": { + "title": "Has Credential", + "type": "boolean" + }, + "is_expired": { + "default": false, + "title": "Is Expired", + "type": "boolean" + }, + "server_id": { + "title": "Server Id", + "type": "string" + } + }, + "required": [ + "server_id", + "has_credential" + ], + "title": "MCPOAuthUserCredentialStatus", + "type": "object" + }, + "MCPSubmissionsSummary": { + "properties": { + "active": { + "title": "Active", + "type": "integer" + }, + "items": { + "items": { + "$ref": "#/components/schemas/LiteLLM_MCPServerTable" + }, + "title": "Items", + "type": "array" + }, + "pending_review": { + "title": "Pending Review", + "type": "integer" + }, + "rejected": { + "title": "Rejected", + "type": "integer" + }, + "total": { + "title": "Total", + "type": "integer" + } + }, + "required": [ + "total", + "pending_review", + "active", + "rejected", + "items" + ], + "title": "MCPSubmissionsSummary", + "type": "object" + }, + "MCPToolsetTool": { + "properties": { + "server_id": { + "title": "Server Id", + "type": "string" + }, + "tool_name": { + "title": "Tool Name", + "type": "string" + } + }, + "required": [ + "server_id", + "tool_name" + ], + "title": "MCPToolsetTool", + "type": "object" + }, + "MCPUserCredentialListItem": { + "description": "One entry in the /user-credentials list.", + "properties": { + "alias": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Alias" + }, + "connected_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Connected At" + }, + "credential_type": { + "title": "Credential Type", + "type": "string" + }, + "expires_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Expires At" + }, + "has_credential": { + "title": "Has Credential", + "type": "boolean" + }, + "server_id": { + "title": "Server Id", + "type": "string" + }, + "server_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Server Name" + } + }, + "required": [ + "server_id", + "credential_type", + "has_credential" + ], + "title": "MCPUserCredentialListItem", + "type": "object" + }, + "MCPUserCredentialRequest": { + "properties": { + "credential": { + "title": "Credential", + "type": "string" + }, + "save": { + "default": true, + "title": "Save", + "type": "boolean" + } + }, + "required": [ + "credential" + ], + "title": "MCPUserCredentialRequest", + "type": "object" + }, + "MCPUserCredentialResponse": { + "properties": { + "has_credential": { + "title": "Has Credential", + "type": "boolean" + }, + "server_id": { + "title": "Server Id", + "type": "string" + } + }, + "required": [ + "server_id", + "has_credential" + ], + "title": "MCPUserCredentialResponse", + "type": "object" + }, + "MakeMCPServersPublicRequest": { + "properties": { + "mcp_server_ids": { + "items": { + "type": "string" + }, + "title": "Mcp Server Ids", + "type": "array" + } + }, + "required": [ + "mcp_server_ids" + ], + "title": "MakeMCPServersPublicRequest", + "type": "object" + }, + "NewMCPServerRequest": { + "properties": { + "alias": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Alias" + }, + "allow_all_keys": { + "default": false, + "title": "Allow All Keys", + "type": "boolean" + }, + "allowed_tools": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Allowed Tools" + }, + "approval_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Server-managed: set by the endpoint; caller values are overridden.", + "title": "Approval Status" + }, + "args": { + "items": { + "type": "string" + }, + "title": "Args", + "type": "array" + }, + "auth_type": { + "anyOf": [ + { + "enum": [ + "none", + "api_key", + "bearer_token", + "basic", + "authorization", + "oauth2", + "aws_sigv4", + "token" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Auth Type" + }, + "authorization_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authorization Url" + }, + "available_on_public_internet": { + "default": true, + "title": "Available On Public Internet", + "type": "boolean" + }, + "byok_api_key_help_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Byok Api Key Help Url" + }, + "byok_description": { + "items": { + "type": "string" + }, + "title": "Byok Description", + "type": "array" + }, + "command": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Command" + }, + "credentials": { + "anyOf": [ + { + "$ref": "#/components/schemas/MCPCredentials" + }, + { + "type": "null" + } + ] + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "env": { + "additionalProperties": { + "type": "string" + }, + "title": "Env", + "type": "object" + }, + "extra_headers": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Extra Headers" + }, + "instructions": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Instructions" + }, + "is_byok": { + "default": false, + "title": "Is Byok", + "type": "boolean" + }, + "mcp_access_groups": { + "items": { + "type": "string" + }, + "title": "Mcp Access Groups", + "type": "array" + }, + "mcp_info": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Mcp Info" + }, + "oauth2_flow": { + "anyOf": [ + { + "enum": [ + "client_credentials", + "authorization_code" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Oauth2 Flow" + }, + "registration_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Registration Url" + }, + "server_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Server Id" + }, + "server_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Server Name" + }, + "source_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Url" + }, + "spec_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Spec Path" + }, + "static_headers": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Static Headers" + }, + "submitted_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Server-managed: set by the endpoint; caller values are overridden.", + "title": "Submitted At" + }, + "submitted_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Server-managed: set by the endpoint; caller values are overridden.", + "title": "Submitted By" + }, + "token_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Url" + }, + "tool_name_to_description": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Description" + }, + "tool_name_to_display_name": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Display Name" + }, + "transport": { + "default": "sse", + "enum": [ + "sse", + "http", + "stdio" + ], + "title": "Transport", + "type": "string" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Url" + } + }, + "title": "NewMCPServerRequest", + "type": "object" + }, + "NewMCPToolsetRequest": { + "properties": { + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "tools": { + "default": [], + "items": { + "$ref": "#/components/schemas/MCPToolsetTool" + }, + "title": "Tools", + "type": "array" + }, + "toolset_name": { + "title": "Toolset Name", + "type": "string" + } + }, + "required": [ + "toolset_name" + ], + "title": "NewMCPToolsetRequest", + "type": "object" + }, + "RejectMCPServerRequest": { + "properties": { + "review_notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Review Notes" + } + }, + "title": "RejectMCPServerRequest", + "type": "object" + }, + "UpdateMCPServerRequest": { + "properties": { + "alias": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Alias" + }, + "allow_all_keys": { + "default": false, + "title": "Allow All Keys", + "type": "boolean" + }, + "allowed_tools": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Allowed Tools" + }, + "args": { + "items": { + "type": "string" + }, + "title": "Args", + "type": "array" + }, + "auth_type": { + "anyOf": [ + { + "enum": [ + "none", + "api_key", + "bearer_token", + "basic", + "authorization", + "oauth2", + "aws_sigv4", + "token" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Auth Type" + }, + "authorization_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authorization Url" + }, + "available_on_public_internet": { + "default": true, + "title": "Available On Public Internet", + "type": "boolean" + }, + "byok_api_key_help_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Byok Api Key Help Url" + }, + "byok_description": { + "items": { + "type": "string" + }, + "title": "Byok Description", + "type": "array" + }, + "command": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Command" + }, + "credentials": { + "anyOf": [ + { + "$ref": "#/components/schemas/MCPCredentials" + }, + { + "type": "null" + } + ] + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "env": { + "additionalProperties": { + "type": "string" + }, + "title": "Env", + "type": "object" + }, + "extra_headers": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Extra Headers" + }, + "instructions": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Instructions" + }, + "is_byok": { + "default": false, + "title": "Is Byok", + "type": "boolean" + }, + "mcp_access_groups": { + "items": { + "type": "string" + }, + "title": "Mcp Access Groups", + "type": "array" + }, + "mcp_info": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Mcp Info" + }, + "registration_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Registration Url" + }, + "server_id": { + "title": "Server Id", + "type": "string" + }, + "server_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Server Name" + }, + "source_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Url" + }, + "spec_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Spec Path" + }, + "static_headers": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Static Headers" + }, + "token_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Url" + }, + "tool_name_to_description": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Description" + }, + "tool_name_to_display_name": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Display Name" + }, + "transport": { + "default": "sse", + "enum": [ + "sse", + "http", + "stdio" + ], + "title": "Transport", + "type": "string" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Url" + } + }, + "required": [ + "server_id" + ], + "title": "UpdateMCPServerRequest", + "type": "object" + }, + "UpdateMCPToolsetRequest": { + "properties": { + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "tools": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/MCPToolsetTool" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Tools" + }, + "toolset_id": { + "title": "Toolset Id", + "type": "string" + }, + "toolset_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Toolset Name" + } + }, + "required": [ + "toolset_id" + ], + "title": "UpdateMCPToolsetRequest", + "type": "object" + }, + "ValidationError": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "title": "Location", + "type": "array" + }, + "msg": { + "title": "Message", + "type": "string" + }, + "type": { + "title": "Error Type", + "type": "string" + } + }, + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError", + "type": "object" + } + } }, - "paths": {} + "paths": { + "/v1/mcp/access_groups": { + "get": { + "description": "Get all available MCP access groups from the database AND config", + "operationId": "get_mcp_access_groups_v1_mcp_access_groups_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Get Mcp Access Groups", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/discover": { + "get": { + "description": "Returns a curated list of well-known MCP servers for discovery UI", + "operationId": "discover_mcp_servers_v1_mcp_discover_get", + "parameters": [ + { + "description": "Search filter for server names and descriptions", + "in": "query", + "name": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Search filter for server names and descriptions", + "title": "Query" + } + }, + { + "description": "Filter by category", + "in": "query", + "name": "category", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter by category", + "title": "Category" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Discover Mcp Servers", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/make_public": { + "post": { + "description": "Allows making MCP servers public for AI Hub", + "operationId": "make_mcp_servers_public_v1_mcp_make_public_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MakeMCPServersPublicRequest" + } + } + }, + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Make Mcp Servers Public", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/network/client-ip": { + "get": { + "description": "Returns the caller's IP address as seen by the proxy.", + "operationId": "get_client_ip_v1_mcp_network_client_ip_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Get Client Ip", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/openapi-registry": { + "get": { + "description": "Returns well-known OpenAPI APIs with OAuth 2.0 metadata for the OpenAPI MCP picker", + "operationId": "get_openapi_registry_v1_mcp_openapi_registry_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Get Openapi Registry", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/registry.json": { + "get": { + "description": "MCP registry endpoint. Spec: https://github.com/modelcontextprotocol/registry", + "operationId": "get_mcp_registry_v1_mcp_registry_json_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Get Mcp Registry", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/server": { + "get": { + "description": "Returns the mcp server list with associated teams", + "operationId": "fetch_all_mcp_servers_v1_mcp_server_get", + "parameters": [ + { + "description": "Filter MCP servers by team scope. When provided, returns only servers the team has access to plus globally available (allow_all_keys) servers. Used by the Create Key UI to show team-scoped MCP servers.", + "in": "query", + "name": "team_id", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Filter MCP servers by team scope. When provided, returns only servers the team has access to plus globally available (allow_all_keys) servers. Used by the Create Key UI to show team-scoped MCP servers.", + "title": "Team Id" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/LiteLLM_MCPServerTable" + }, + "title": "Response Fetch All Mcp Servers V1 Mcp Server Get", + "type": "array" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Fetch All Mcp Servers", + "tags": [ + "mcp_management" + ] + }, + "post": { + "description": "Allows creation of mcp servers", + "operationId": "add_mcp_server_v1_mcp_server_post", + "parameters": [ + { + "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", + "in": "header", + "name": "litellm-changed-by", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", + "title": "Litellm-Changed-By" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewMCPServerRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiteLLM_MCPServerTable" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Add Mcp Server", + "tags": [ + "mcp_management" + ] + }, + "put": { + "description": "Allows deleting mcp serves in the db", + "operationId": "edit_mcp_server_v1_mcp_server_put", + "parameters": [ + { + "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", + "in": "header", + "name": "litellm-changed-by", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", + "title": "Litellm-Changed-By" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateMCPServerRequest" + } + } + }, + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiteLLM_MCPServerTable" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Edit Mcp Server", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/server/health": { + "get": { + "description": "Health check for MCP servers", + "operationId": "health_check_servers_v1_mcp_server_health_get", + "parameters": [ + { + "description": "Server IDs to check. If not provided, checks all accessible servers.", + "in": "query", + "name": "server_ids", + "required": false, + "schema": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "description": "Server IDs to check. If not provided, checks all accessible servers.", + "title": "Server Ids" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Health Check Servers", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/server/oauth/session": { + "post": { + "description": "Temporarily cache an MCP server in memory without writing to the database", + "operationId": "add_session_mcp_server_v1_mcp_server_oauth_session_post", + "parameters": [ + { + "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", + "in": "header", + "name": "litellm-changed-by", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", + "title": "Litellm-Changed-By" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewMCPServerRequest" + } + } + }, + "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": "Add Session Mcp Server", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/server/register": { + "post": { + "description": "Submit a new MCP server for admin review (non-admin users). Mirrors POST /guardrails/register.", + "operationId": "register_mcp_server_v1_mcp_server_register_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewMCPServerRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiteLLM_MCPServerTable" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Register Mcp Server", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/server/submissions": { + "get": { + "description": "Returns all MCP servers submitted by non-admin users (admin review queue). Mirrors GET /guardrails/submissions.", + "operationId": "get_mcp_server_submissions_v1_mcp_server_submissions_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPSubmissionsSummary" + } + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Get Mcp Server Submissions", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/server/{server_id}": { + "delete": { + "description": "Allows deleting mcp serves in the db", + "operationId": "remove_mcp_server_v1_mcp_server__server_id__delete", + "parameters": [ + { + "in": "path", + "name": "server_id", + "required": true, + "schema": { + "title": "Server Id", + "type": "string" + } + }, + { + "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", + "in": "header", + "name": "litellm-changed-by", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability", + "title": "Litellm-Changed-By" + } + } + ], + "responses": { + "202": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Remove Mcp Server", + "tags": [ + "mcp_management" + ] + }, + "get": { + "description": "Returns the mcp server info", + "operationId": "fetch_mcp_server_v1_mcp_server__server_id__get", + "parameters": [ + { + "in": "path", + "name": "server_id", + "required": true, + "schema": { + "title": "Server Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiteLLM_MCPServerTable" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Fetch Mcp Server", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/server/{server_id}/approve": { + "put": { + "description": "Approve a pending MCP server submission (admin only). Mirrors PUT /guardrails/{id}/approve.", + "operationId": "approve_mcp_server_submission_v1_mcp_server__server_id__approve_put", + "parameters": [ + { + "in": "path", + "name": "server_id", + "required": true, + "schema": { + "title": "Server Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiteLLM_MCPServerTable" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Approve Mcp Server Submission", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/server/{server_id}/oauth-user-credential": { + "delete": { + "description": "Revoke the calling user's stored OAuth2 token for an MCP server", + "operationId": "delete_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_delete", + "parameters": [ + { + "in": "path", + "name": "server_id", + "required": true, + "schema": { + "title": "Server Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPOAuthUserCredentialStatus" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Delete Mcp Oauth User Credential", + "tags": [ + "mcp_management" + ] + }, + "post": { + "description": "Store the calling user's OAuth2 token for an OpenAPI MCP server", + "operationId": "store_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_post", + "parameters": [ + { + "in": "path", + "name": "server_id", + "required": true, + "schema": { + "title": "Server Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPOAuthUserCredentialRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPOAuthUserCredentialStatus" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Store Mcp Oauth User Credential", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/server/{server_id}/oauth-user-credential/status": { + "get": { + "description": "Check whether the calling user has a stored OAuth2 credential for this MCP server", + "operationId": "get_mcp_oauth_user_credential_status_v1_mcp_server__server_id__oauth_user_credential_status_get", + "parameters": [ + { + "in": "path", + "name": "server_id", + "required": true, + "schema": { + "title": "Server Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPOAuthUserCredentialStatus" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Get Mcp Oauth User Credential Status", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/server/{server_id}/reject": { + "put": { + "description": "Reject a pending MCP server submission (admin only). Mirrors PUT /guardrails/{id}/reject.", + "operationId": "reject_mcp_server_submission_v1_mcp_server__server_id__reject_put", + "parameters": [ + { + "in": "path", + "name": "server_id", + "required": true, + "schema": { + "title": "Server Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RejectMCPServerRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LiteLLM_MCPServerTable" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Reject Mcp Server Submission", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/server/{server_id}/user-credential": { + "delete": { + "description": "Delete the calling user's stored API key for a BYOK MCP server", + "operationId": "delete_mcp_user_credential_v1_mcp_server__server_id__user_credential_delete", + "parameters": [ + { + "in": "path", + "name": "server_id", + "required": true, + "schema": { + "title": "Server Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPUserCredentialResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Delete Mcp User Credential", + "tags": [ + "mcp_management" + ] + }, + "post": { + "description": "Store or update the calling user's API key for a BYOK MCP server", + "operationId": "store_mcp_user_credential_v1_mcp_server__server_id__user_credential_post", + "parameters": [ + { + "in": "path", + "name": "server_id", + "required": true, + "schema": { + "title": "Server Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPUserCredentialRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MCPUserCredentialResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Store Mcp User Credential", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/tools": { + "get": { + "description": "Get all MCP tools available for the current key, including those from access groups", + "operationId": "get_mcp_tools_v1_mcp_tools_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Get Mcp Tools", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/toolset": { + "get": { + "description": "List MCP toolsets accessible to the calling key", + "operationId": "fetch_mcp_toolsets_v1_mcp_toolset_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Fetch Mcp Toolsets", + "tags": [ + "mcp_management" + ] + }, + "post": { + "description": "Create a new MCP toolset (admin only)", + "operationId": "add_mcp_toolset_v1_mcp_toolset_post", + "parameters": [ + { + "in": "header", + "name": "litellm-changed-by", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Litellm-Changed-By" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewMCPToolsetRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Add Mcp Toolset", + "tags": [ + "mcp_management" + ] + }, + "put": { + "description": "Update an existing MCP toolset (admin only)", + "operationId": "edit_mcp_toolset_v1_mcp_toolset_put", + "parameters": [ + { + "in": "header", + "name": "litellm-changed-by", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Litellm-Changed-By" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateMCPToolsetRequest" + } + } + }, + "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": "Edit Mcp Toolset", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/toolset/{toolset_id}": { + "delete": { + "description": "Delete an MCP toolset (admin only)", + "operationId": "remove_mcp_toolset_v1_mcp_toolset__toolset_id__delete", + "parameters": [ + { + "in": "path", + "name": "toolset_id", + "required": true, + "schema": { + "title": "Toolset Id", + "type": "string" + } + }, + { + "in": "header", + "name": "litellm-changed-by", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Litellm-Changed-By" + } + } + ], + "responses": { + "202": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Remove Mcp Toolset", + "tags": [ + "mcp_management" + ] + }, + "get": { + "description": "Get a specific MCP toolset by ID", + "operationId": "fetch_mcp_toolset_v1_mcp_toolset__toolset_id__get", + "parameters": [ + { + "in": "path", + "name": "toolset_id", + "required": true, + "schema": { + "title": "Toolset Id", + "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": "Fetch Mcp Toolset", + "tags": [ + "mcp_management" + ] + } + }, + "/v1/mcp/user-credentials": { + "get": { + "description": "List all OAuth2 MCP credentials stored for the calling user", + "operationId": "list_mcp_user_credentials_v1_mcp_user_credentials_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/MCPUserCredentialListItem" + }, + "title": "Response List Mcp User Credentials V1 Mcp User Credentials Get", + "type": "array" + } + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "List Mcp User Credentials", + "tags": [ + "mcp_management" + ] + } + } + } + }, + "mcp_rest": { + "components": { + "schemas": { + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "title": "Detail", + "type": "array" + } + }, + "title": "HTTPValidationError", + "type": "object" + }, + "MCPCredentials": { + "properties": { + "auth_value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Auth Value" + }, + "aws_access_key_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Access Key Id" + }, + "aws_region_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Region Name" + }, + "aws_role_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Role Name" + }, + "aws_secret_access_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Secret Access Key" + }, + "aws_service_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Service Name" + }, + "aws_session_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Session Name" + }, + "aws_session_token": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Aws Session Token" + }, + "client_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Id" + }, + "client_secret": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Secret" + }, + "scopes": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Scopes" + } + }, + "title": "MCPCredentials", + "type": "object" + }, + "NewMCPServerRequest": { + "properties": { + "alias": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Alias" + }, + "allow_all_keys": { + "default": false, + "title": "Allow All Keys", + "type": "boolean" + }, + "allowed_tools": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Allowed Tools" + }, + "approval_status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Server-managed: set by the endpoint; caller values are overridden.", + "title": "Approval Status" + }, + "args": { + "items": { + "type": "string" + }, + "title": "Args", + "type": "array" + }, + "auth_type": { + "anyOf": [ + { + "enum": [ + "none", + "api_key", + "bearer_token", + "basic", + "authorization", + "oauth2", + "aws_sigv4", + "token" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Auth Type" + }, + "authorization_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authorization Url" + }, + "available_on_public_internet": { + "default": true, + "title": "Available On Public Internet", + "type": "boolean" + }, + "byok_api_key_help_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Byok Api Key Help Url" + }, + "byok_description": { + "items": { + "type": "string" + }, + "title": "Byok Description", + "type": "array" + }, + "command": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Command" + }, + "credentials": { + "anyOf": [ + { + "$ref": "#/components/schemas/MCPCredentials" + }, + { + "type": "null" + } + ] + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description" + }, + "env": { + "additionalProperties": { + "type": "string" + }, + "title": "Env", + "type": "object" + }, + "extra_headers": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Extra Headers" + }, + "instructions": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Instructions" + }, + "is_byok": { + "default": false, + "title": "Is Byok", + "type": "boolean" + }, + "mcp_access_groups": { + "items": { + "type": "string" + }, + "title": "Mcp Access Groups", + "type": "array" + }, + "mcp_info": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Mcp Info" + }, + "oauth2_flow": { + "anyOf": [ + { + "enum": [ + "client_credentials", + "authorization_code" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Oauth2 Flow" + }, + "registration_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Registration Url" + }, + "server_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Server Id" + }, + "server_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Server Name" + }, + "source_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Source Url" + }, + "spec_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Spec Path" + }, + "static_headers": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Static Headers" + }, + "submitted_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Server-managed: set by the endpoint; caller values are overridden.", + "title": "Submitted At" + }, + "submitted_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Server-managed: set by the endpoint; caller values are overridden.", + "title": "Submitted By" + }, + "token_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Token Url" + }, + "tool_name_to_description": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Description" + }, + "tool_name_to_display_name": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Name To Display Name" + }, + "transport": { + "default": "sse", + "enum": [ + "sse", + "http", + "stdio" + ], + "title": "Transport", + "type": "string" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Url" + } + }, + "title": "NewMCPServerRequest", + "type": "object" + }, + "ValidationError": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "title": "Location", + "type": "array" + }, + "msg": { + "title": "Message", + "type": "string" + }, + "type": { + "title": "Error Type", + "type": "string" + } + }, + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError", + "type": "object" + } + } + }, + "paths": { + "/mcp-rest/test/connection": { + "post": { + "description": "Test if we can connect to the provided MCP server before adding it", + "operationId": "test_connection_mcp_rest_test_connection_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewMCPServerRequest" + } + } + }, + "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": "Test Connection", + "tags": [ + "mcp_rest" + ] + } + }, + "/mcp-rest/test/tools/list": { + "post": { + "description": "Preview tools available from MCP server before adding it", + "operationId": "test_tools_list_mcp_rest_test_tools_list_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewMCPServerRequest" + } + } + }, + "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": "Test Tools List", + "tags": [ + "mcp_rest" + ] + } + }, + "/mcp-rest/tools/call": { + "post": { + "description": "REST API to call a specific MCP tool with the provided arguments", + "operationId": "call_tool_rest_api_mcp_rest_tools_call_post", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "Call Tool Rest Api", + "tags": [ + "mcp_rest" + ] + } + }, + "/mcp-rest/tools/list": { + "get": { + "description": "List all available tools with information about the server they belong to.\n\nExample response:\n{\n \"tools\": [\n {\n \"name\": \"create_zap\",\n \"description\": \"Create a new zap\",\n \"inputSchema\": \"tool_input_schema\",\n \"mcp_info\": {\n \"server_name\": \"zapier\",\n \"logo_url\": \"https://www.zapier.com/logo.png\",\n }\n }\n ],\n \"error\": null,\n \"message\": \"Successfully retrieved tools\"\n}", + "operationId": "list_tool_rest_api_mcp_rest_tools_list_get", + "parameters": [ + { + "description": "The server id to list tools for", + "in": "query", + "name": "server_id", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The server id to list tools for", + "title": "Server Id" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": true, + "title": "Response List Tool Rest Api Mcp Rest Tools List Get", + "type": "object" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "APIKeyHeader": [] + } + ], + "summary": "List Tool Rest Api", + "tags": [ + "mcp_rest" + ] + } + } + } }, "policies": { "components": { diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts index 6ba33c20dad..d14ec8af56b 100644 --- a/ui/litellm-dashboard/src/lib/http/schema.d.ts +++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts @@ -436,26 +436,6 @@ export interface paths { patch?: never; trace?: never; }; - "/alerting/settings": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Alerting Settings - * @description Return the configurable alerting param, description, and current value - */ - get: operations["alerting_settings_alerting_settings_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/anthropic/{endpoint}": { parameters: { query?: never; @@ -1790,26 +1770,6 @@ export interface paths { patch?: never; trace?: never; }; - "/config/callback/delete": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Delete Callback - * @description Delete specific logging callback from configuration. - */ - post: operations["delete_callback_config_callback_delete_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/config/cost_discount_config": { parameters: { query?: never; @@ -1891,83 +1851,6 @@ export interface paths { patch: operations["update_cost_margin_config_config_cost_margin_config_patch"]; trace?: never; }; - "/config/field/delete": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Delete Config General Settings - * @description Delete the db value of this field in litellm general settings. Resets it to it's initial default value on litellm. - */ - post: operations["delete_config_general_settings_config_field_delete_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/config/field/info": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Get Config General Settings */ - get: operations["get_config_general_settings_config_field_info_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/config/field/update": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Update Config General Settings - * @description Update a specific field in litellm general settings - */ - post: operations["update_config_general_settings_config_field_update_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/config/list": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Config List - * @description List the available fields + current values for a given type of setting (currently just 'general_settings'user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),) - */ - get: operations["get_config_list_config_list_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/config/pass_through_endpoint": { parameters: { query?: never; @@ -2042,64 +1925,6 @@ export interface paths { patch?: never; trace?: never; }; - "/config/update": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Update Config - * @description For Admin UI - allows admin to update config via UI. - * - * Writes only the sections present in the request body to LiteLLM_Config rows - * (one row per top-level section). Sections the caller did not send are left - * untouched — this endpoint never persists pre-existing YAML values to DB as - * a side effect of an unrelated update. - */ - post: operations["update_config_config_update_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/config/yaml": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Config Yaml Endpoint - * @description This is a mock endpoint, to show what you can set in config.yaml details in the Swagger UI. - * - * Parameters: - * - * The config.yaml object has the following attributes: - * - **model_list**: *Optional[List[ModelParams]]* - A list of supported models on the server, along with model-specific configurations. ModelParams includes "model_name" (name of the model), "litellm_params" (litellm-specific parameters for the model), and "model_info" (additional info about the model such as id, mode, cost per token, etc). - * - * - **litellm_settings**: *Optional[dict]*: Settings for the litellm module. You can specify multiple properties like "drop_params", "set_verbose", "api_base", "cache". - * - * - **general_settings**: *Optional[ConfigGeneralSettings]*: General settings for the server like "completion_model" (default model for chat completion calls), "use_azure_key_vault" (option to load keys from azure key vault), "master_key" (key required for all calls to proxy), and others. - * - * Please, refer to each class's description for a better understanding of the specific attributes within them. - * - * Note: This is a mock endpoint primarily meant for demonstration purposes, and does not actually provide or change any configurations. - */ - get: operations["config_yaml_endpoint_config_yaml_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/config_overrides/hashicorp_vault": { parameters: { query?: never; @@ -2939,120 +2764,6 @@ export interface paths { patch?: never; trace?: never; }; - "/debug/memory/details": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Memory Details - * @description Get detailed memory diagnostics for deep debugging. - * - * Returns: - * - worker_pid: Process ID - * - process_memory: RAM usage, virtual memory, file handles, threads - * - garbage_collector: GC thresholds, counts, collection history - * - objects: Total tracked objects and top object types - * - uncollectable: Objects that can't be garbage collected (potential leaks) - * - cache_memory: Memory usage of user_api_key, router, and logging caches - * - router_memory: Memory usage of router components (model_list, deployment_names, etc.) - * - * Query Parameters: - * - top_n: Number of top object types to return (default: 20) - * - include_process_info: Include process-level memory info using psutil (default: true) - * - * Example usage: - * curl "http://localhost:4000/debug/memory/details?top_n=30" -H "Authorization: Bearer sk-1234" - * - * All memory sizes are reported in both bytes and MB. - */ - get: operations["get_memory_details_debug_memory_details_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/debug/memory/gc/configure": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Configure Gc Thresholds Endpoint - * @description Configure Python garbage collection thresholds. - * - * Lower thresholds mean more frequent GC cycles (less memory, more CPU overhead). - * Higher thresholds mean less frequent GC cycles (more memory, less CPU overhead). - * - * Returns: - * - message: Confirmation message - * - previous_thresholds: Old threshold values - * - new_thresholds: New threshold values - * - objects_awaiting_collection: Current object count in gen-0 - * - tip: Hint about when next collection will occur - * - * Query Parameters: - * - generation_0: Number of allocations before gen-0 collection (default: 700) - * - generation_1: Number of gen-0 collections before gen-1 collection (default: 10) - * - generation_2: Number of gen-1 collections before gen-2 collection (default: 10) - * - * Example for more aggressive collection: - * curl -X POST "http://localhost:4000/debug/memory/gc/configure?generation_0=500" -H "Authorization: Bearer sk-1234" - * - * Example for less aggressive collection: - * curl -X POST "http://localhost:4000/debug/memory/gc/configure?generation_0=1000" -H "Authorization: Bearer sk-1234" - * - * Monitor memory usage with GET /debug/memory/summary after changes. - */ - post: operations["configure_gc_thresholds_endpoint_debug_memory_gc_configure_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/debug/memory/summary": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Memory Summary - * @description Get simplified memory usage summary for the proxy. - * - * Returns: - * - worker_pid: Process ID - * - status: Overall health based on memory usage - * - memory: Process memory usage and RAM info - * - caches: Cache item counts and descriptions - * - garbage_collector: GC status and pending object counts - * - * Example usage: - * curl http://localhost:4000/debug/memory/summary -H "Authorization: Bearer sk-1234" - * - * For detailed analysis, call GET /debug/memory/details - * For cache management, use the cache management endpoints - */ - get: operations["get_memory_summary_debug_memory_summary_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/delete/allowed_ip": { parameters: { query?: never; @@ -3144,312 +2855,6 @@ export interface paths { patch?: never; trace?: never; }; - "/end_user/block": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Block User - * @description [BETA] Reject calls with this end-user id - * - * Parameters: - * - user_ids (List[str], required): The unique `user_id`s for the users to block - * - * (any /chat/completion call with this user={end-user-id} param, will be rejected.) - * - * ``` - * curl -X POST "http://0.0.0.0:8000/user/block" - * -H "Authorization: Bearer sk-1234" - * -d '{ - * "user_ids": [, ...] - * }' - * ``` - */ - post: operations["block_user_end_user_block_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/end_user/daily/activity": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Customer Daily Activity - * @description Get daily activity for specific organizations or all accessible organizations. - */ - get: operations["get_customer_daily_activity_end_user_daily_activity_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/end_user/delete": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Delete End User - * @description Delete multiple end-users. - * - * Parameters: - * - user_ids (List[str], required): The unique `user_id`s for the users to delete - * - * Example curl: - * ``` - * curl --location 'http://0.0.0.0:4000/customer/delete' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ - * "user_ids" :["ishaan-jaff-5"] - * }' - * - * See below for all params - * ``` - */ - post: operations["delete_end_user_end_user_delete_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/end_user/info": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * End User Info - * @description Get information about an end-user. An `end_user` is a customer (external user) of the proxy. - * - * Parameters: - * - end_user_id (str, required): The unique identifier for the end-user - * - * Example curl: - * ``` - * curl -X GET 'http://localhost:4000/customer/info?end_user_id=test-litellm-user-4' -H 'Authorization: Bearer sk-1234' - * ``` - */ - get: operations["end_user_info_end_user_info_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/end_user/list": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * List End User - * @description [Admin-only] List all available customers - * - * Example curl: - * ``` - * curl --location --request GET 'http://0.0.0.0:4000/customer/list' --header 'Authorization: Bearer sk-1234' - * ``` - */ - get: operations["list_end_user_end_user_list_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/end_user/new": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * New End User - * @description Allow creating a new Customer - * - * - * Parameters: - * - user_id: str - The unique identifier for the user. - * - alias: Optional[str] - A human-friendly alias for the user. - * - blocked: bool - Flag to allow or disallow requests for this end-user. Default is False. - * - max_budget: Optional[float] - The maximum budget allocated to the user. Either 'max_budget' or 'budget_id' should be provided, not both. - * - budget_id: Optional[str] - The identifier for an existing budget allocated to the user. Either 'max_budget' or 'budget_id' should be provided, not both. - * - allowed_model_region: Optional[Union[Literal["eu"], Literal["us"]]] - Require all user requests to use models in this specific region. - * - default_model: Optional[str] - If no equivalent model in the allowed region, default all requests to this model. - * - metadata: Optional[dict] = Metadata for customer, store information for customer. Example metadata = {"data_training_opt_out": True} - * - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - * - tpm_limit: Optional[int] - [Not Implemented Yet] Specify tpm limit for a given customer (Tokens per minute) - * - rpm_limit: Optional[int] - [Not Implemented Yet] Specify rpm limit for a given customer (Requests per minute) - * - model_max_budget: Optional[dict] - [Not Implemented Yet] Specify max budget for a given model. Example: {"openai/gpt-4o-mini": {"max_budget": 100.0, "budget_duration": "1d"}} - * - max_parallel_requests: Optional[int] - [Not Implemented Yet] Specify max parallel requests for a given customer. - * - soft_budget: Optional[float] - [Not Implemented Yet] Get alerts when customer crosses given budget, doesn't block requests. - * - spend: Optional[float] - Specify initial spend for a given customer. - * - budget_reset_at: Optional[str] - Specify the date and time when the budget should be reset. - * - object_permission: Optional[LiteLLM_ObjectPermissionBase] - Customer-specific object permissions to control access to resources. - * Supported fields: - * * mcp_servers: List[str] - List of allowed MCP server IDs - * * mcp_access_groups: List[str] - List of MCP access group names - * * mcp_tool_permissions: Dict[str, List[str]] - Map of server ID to allowed tool names (e.g., {"server_1": ["tool_a", "tool_b"]}) - * * vector_stores: List[str] - List of allowed vector store IDs - * * agents: List[str] - List of allowed agent IDs - * * agent_access_groups: List[str] - List of agent access group names - * Example: {"mcp_servers": ["server_1", "server_2"], "vector_stores": ["vector_store_1"], "agents": ["agent_1"]} - * IF null or {} then no object-level restrictions apply. - * - * - * - Allow specifying allowed regions - * - Allow specifying default model - * - * Example curl: - * ``` - * curl --location 'http://0.0.0.0:4000/customer/new' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ - * "user_id" : "ishaan-jaff-3", - * "allowed_region": "eu", - * "budget_id": "free_tier", - * "default_model": "azure/gpt-3.5-turbo-eu" - * }' - * - * # With object permissions - * curl -L -X POST 'http://localhost:4000/customer/new' -H 'Authorization: Bearer sk-1234' -H 'Content-Type: application/json' -d '{ - * "user_id": "user_1", - * "object_permission": { - * "mcp_servers": ["server_1"], - * "mcp_access_groups": ["public_group"], - * "vector_stores": ["vector_store_1"] - * } - * }' - * - * # return end-user object - * ``` - * - * NOTE: This used to be called `/end_user/new`, we will still be maintaining compatibility for /end_user/XXX for these endpoints - */ - post: operations["new_end_user_end_user_new_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/end_user/unblock": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Unblock User - * @description [BETA] Unblock calls with this user id - * - * Example - * ``` - * curl -X POST "http://0.0.0.0:8000/user/unblock" - * -H "Authorization: Bearer sk-1234" - * -d '{ - * "user_ids": [, ...] - * }' - * ``` - */ - post: operations["unblock_user_end_user_unblock_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/end_user/update": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Update End User - * @description Example curl - * - * Parameters: - * - user_id: str - * - alias: Optional[str] = None # human-friendly alias - * - blocked: bool = False # allow/disallow requests for this end-user - * - max_budget: Optional[float] = None - * - budget_id: Optional[str] = None # give either a budget_id or max_budget - * - allowed_model_region: Optional[AllowedModelRegion] = ( - * None # require all user requests to use models in this specific region - * ) - * - default_model: Optional[str] = ( - * None # if no equivalent model in allowed region - default all requests to this model - * ) - * - object_permission: Optional[LiteLLM_ObjectPermissionBase] - Customer-specific object permissions to control access to resources. - * Supported fields: - * * mcp_servers: List[str] - List of allowed MCP server IDs - * * mcp_access_groups: List[str] - List of MCP access group names - * * mcp_tool_permissions: Dict[str, List[str]] - Map of server ID to allowed tool names - * * vector_stores: List[str] - List of allowed vector store IDs - * * agents: List[str] - List of allowed agent IDs - * * agent_access_groups: List[str] - List of agent access group names - * Example: {"mcp_servers": ["server_1"], "vector_stores": ["vector_store_1"]} - * IF null or {} then no object-level restrictions apply. - * - * Example curl: - * ``` - * curl --location 'http://0.0.0.0:4000/customer/update' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ - * "user_id": "test-litellm-user-4", - * "budget_id": "paid_tier" - * }' - * - * # Updating object permissions - * curl -L -X POST 'http://localhost:4000/customer/update' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ - * "user_id": "user_1", - * "object_permission": { - * "mcp_servers": ["server_3"], - * "vector_stores": ["vector_store_2", "vector_store_3"] - * } - * }' - * - * See below for all params - * ``` - */ - post: operations["update_end_user_end_user_update_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/engines/{model}/chat/completions": { parameters: { query?: never; @@ -3605,28 +3010,6 @@ export interface paths { patch?: never; trace?: never; }; - "/fallback/login": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Fallback Login - * @description Create Proxy API Keys using Google Workspace SSO. Requires setting PROXY_BASE_URL in .env - * PROXY_BASE_URL should be the your deployed proxy endpoint, e.g. PROXY_BASE_URL="https://litellm-production-7002.up.railway.app/" - * Example: - */ - get: operations["fallback_login_fallback_login_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/fallback/{model}": { parameters: { query?: never; @@ -3913,44 +3296,6 @@ export interface paths { patch: operations["gemini_proxy_route_gemini__endpoint__patch"]; trace?: never; }; - "/get/allowed_ips": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Get Allowed Ips */ - get: operations["get_allowed_ips_get_allowed_ips_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/get/config/callbacks": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Config - * @description For Admin UI - allows admin to view config via UI - * # return the callbacks and the env variables for the callback - */ - get: operations["get_config_get_config_callbacks_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/get/default_team_settings": { parameters: { query?: never; @@ -4080,508 +3425,6 @@ export interface paths { patch?: never; trace?: never; }; - "/get_favicon": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Favicon - * @description Get custom favicon for the admin UI. - */ - get: operations["get_favicon_get_favicon_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/get_image": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Image - * @description Get logo to show on admin UI - */ - get: operations["get_image_get_image_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/get_logo_url": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Logo Url - * @description Get the current logo URL from environment. - * - * Only HTTP(S) URLs are returned — those are intended to be loaded - * directly by the browser from a public/internal CDN. Local file - * paths set via ``UI_LOGO_PATH`` are NOT returned: they are admin- - * only filesystem details, the dashboard falls back to ``/get_image`` - * which serves the file only when it is a supported image. Without - * this filter, the unauthenticated endpoint would disclose internal - * hostnames or filesystem paths to any caller. - */ - get: operations["get_logo_url_get_logo_url_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/activity": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Global Activity - * @description Get number of API Requests, total tokens through proxy - * - * { - * "daily_data": [ - * const chartdata = [ - * { - * date: 'Jan 22', - * api_requests: 10, - * total_tokens: 2000 - * }, - * { - * date: 'Jan 23', - * api_requests: 10, - * total_tokens: 12 - * }, - * ], - * "sum_api_requests": 20, - * "sum_total_tokens": 2012 - * } - */ - get: operations["get_global_activity_global_activity_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/activity/cache_hits": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Global Activity - * @description Get number of cache hits, vs misses - * - * { - * "daily_data": [ - * const chartdata = [ - * { - * date: 'Jan 22', - * cache_hits: 10, - * llm_api_calls: 2000 - * }, - * { - * date: 'Jan 23', - * cache_hits: 10, - * llm_api_calls: 12 - * }, - * ], - * "sum_cache_hits": 20, - * "sum_llm_api_calls": 2012 - * } - */ - get: operations["get_global_activity_global_activity_cache_hits_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/activity/exceptions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Global Activity Exceptions - * @description Get number of API Requests, total tokens through proxy - * - * { - * "daily_data": [ - * const chartdata = [ - * { - * date: 'Jan 22', - * num_rate_limit_exceptions: 10, - * }, - * { - * date: 'Jan 23', - * num_rate_limit_exceptions: 10, - * }, - * ], - * "sum_api_exceptions": 20, - * } - */ - get: operations["get_global_activity_exceptions_global_activity_exceptions_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/activity/exceptions/deployment": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Global Activity Exceptions Per Deployment - * @description Get number of 429 errors - Grouped by deployment - * - * [ - * { - * "deployment": "https://azure-us-east-1.openai.azure.com/", - * "daily_data": [ - * const chartdata = [ - * { - * date: 'Jan 22', - * num_rate_limit_exceptions: 10 - * }, - * { - * date: 'Jan 23', - * num_rate_limit_exceptions: 12 - * }, - * ], - * "sum_num_rate_limit_exceptions": 20, - * - * }, - * { - * "deployment": "https://azure-us-east-1.openai.azure.com/", - * "daily_data": [ - * const chartdata = [ - * { - * date: 'Jan 22', - * num_rate_limit_exceptions: 10, - * }, - * { - * date: 'Jan 23', - * num_rate_limit_exceptions: 12 - * }, - * ], - * "sum_num_rate_limit_exceptions": 20, - * - * }, - * ] - */ - get: operations["get_global_activity_exceptions_per_deployment_global_activity_exceptions_deployment_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/activity/model": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Global Activity Model - * @description Get number of API Requests, total tokens through proxy - Grouped by MODEL - * - * [ - * { - * "model": "gpt-4", - * "daily_data": [ - * const chartdata = [ - * { - * date: 'Jan 22', - * api_requests: 10, - * total_tokens: 2000 - * }, - * { - * date: 'Jan 23', - * api_requests: 10, - * total_tokens: 12 - * }, - * ], - * "sum_api_requests": 20, - * "sum_total_tokens": 2012 - * - * }, - * { - * "model": "azure/gpt-4-turbo", - * "daily_data": [ - * const chartdata = [ - * { - * date: 'Jan 22', - * api_requests: 10, - * total_tokens: 2000 - * }, - * { - * date: 'Jan 23', - * api_requests: 10, - * total_tokens: 12 - * }, - * ], - * "sum_api_requests": 20, - * "sum_total_tokens": 2012 - * - * }, - * ] - */ - get: operations["get_global_activity_model_global_activity_model_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/all_end_users": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Global View All End Users - * @description [BETA] This is a beta endpoint. It will change. - * - * Use this to just get all the unique `end_users` - */ - get: operations["global_view_all_end_users_global_all_end_users_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/spend": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Global Spend - * @description [BETA] This is a beta endpoint. It will change. - * - * View total spend across all proxy keys - */ - get: operations["global_spend_global_spend_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/spend/all_tag_names": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Global Get All Tag Names */ - get: operations["global_get_all_tag_names_global_spend_all_tag_names_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/spend/end_users": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Global Spend End Users - * @description [BETA] This is a beta endpoint. It will change. - * - * Use this to get the top 'n' keys with the highest spend, ordered by spend. - */ - post: operations["global_spend_end_users_global_spend_end_users_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/spend/keys": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Global Spend Keys - * @description [BETA] This is a beta endpoint. It will change. - * - * Use this to get the top 'n' keys with the highest spend, ordered by spend. - */ - get: operations["global_spend_keys_global_spend_keys_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/spend/logs": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Global Spend Logs - * @description [BETA] This is a beta endpoint. It will change. - * - * Use this to get global spend (spend per day for last 30d). Admin-only endpoint - * - * More efficient implementation of /spend/logs, by creating a view over the spend logs table. - */ - get: operations["global_spend_logs_global_spend_logs_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/spend/models": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Global Spend Models - * @description [BETA] This is a beta endpoint. It will change. - * - * Use this to get the top 'n' models with the highest spend, ordered by spend. - */ - get: operations["global_spend_models_global_spend_models_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/spend/provider": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Global Spend Provider - * @description Get breakdown of spend per provider - * [ - * { - * "provider": "Azure OpenAI", - * "spend": 20 - * }, - * { - * "provider": "OpenAI", - * "spend": 10 - * }, - * { - * "provider": "VertexAI", - * "spend": 30 - * } - * ] - */ - get: operations["get_global_spend_provider_global_spend_provider_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/global/spend/refresh": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Global Spend Refresh - * @description ADMIN ONLY / MASTER KEY Only Endpoint - * - * Globally refresh spend MonthlyGlobalSpend view - */ - post: operations["global_spend_refresh_global_spend_refresh_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/global/spend/report": { parameters: { query?: never; @@ -4684,28 +3527,6 @@ export interface paths { patch?: never; trace?: never; }; - "/global/spend/teams": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Global Spend Per Team - * @description [BETA] This is a beta endpoint. It will change. - * - * Use this to get daily spend, grouped by `team_id` and `date` - */ - get: operations["global_spend_per_team_global_spend_teams_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/guardrails": { parameters: { query?: never; @@ -6039,111 +4860,6 @@ export interface paths { patch?: never; trace?: never; }; - "/invitation/delete": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Invitation Delete - * @description Delete invitation link - * - * ``` - * curl -X POST 'http://localhost:4000/invitation/delete' -H 'Content-Type: application/json' -d '{ - * "invitation_id": "1234" // 👈 id of invitation in 'LiteLLM_InvitationTable' - * }' - * ``` - */ - post: operations["invitation_delete_invitation_delete_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/invitation/info": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Invitation Info - * @description Allow admin to create invite links, to onboard new users to Admin UI. - * - * ``` - * curl -X POST 'http://localhost:4000/invitation/new' -H 'Content-Type: application/json' -d '{ - * "user_id": "1234" // 👈 id of user in 'LiteLLM_UserTable' - * }' - * ``` - */ - get: operations["invitation_info_invitation_info_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/invitation/new": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * New Invitation - * @description Allow admin to create invite links, to onboard new users to Admin UI. - * - * ``` - * curl -X POST 'http://localhost:4000/invitation/new' -H 'Content-Type: application/json' -d '{ - * "user_id": "1234" // 👈 id of user in 'LiteLLM_UserTable' - * }' - * ``` - */ - post: operations["new_invitation_invitation_new_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/invitation/update": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Invitation Update - * @description Update when invitation is accepted - * - * ``` - * curl -X POST 'http://localhost:4000/invitation/update' -H 'Content-Type: application/json' -d '{ - * "invitation_id": "1234" // 👈 id of invitation in 'LiteLLM_InvitationTable' - * "is_accepted": True // when invitation is accepted - * }' - * ``` - */ - post: operations["invitation_update_invitation_update_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/jwt/key/mapping/delete": { parameters: { query?: never; @@ -6984,23 +5700,6 @@ export interface paths { patch: operations["langfuse_proxy_route_langfuse__endpoint__patch"]; trace?: never; }; - "/lazy/warm/{name}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** Warm */ - post: operations["warm_lazy_warm__name__post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/litellm/.well-known/litellm-ui-config": { parameters: { query?: never; @@ -7018,7 +5717,7 @@ export interface paths { patch?: never; trace?: never; }; - "/login": { + "/mcp-rest/test/connection": { parameters: { query?: never; header?: never; @@ -7027,49 +5726,58 @@ export interface paths { }; get?: never; put?: never; - /** Login */ - post: operations["login_login_post"]; + /** + * Test Connection + * @description Test if we can connect to the provided MCP server before adding it + */ + post: operations["test_connection_mcp_rest_test_connection_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/mcp-rest": { + "/mcp-rest/test/tools/list": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - /** mcp_rest */ - get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - }; - }; + get?: never; put?: never; - post?: never; + /** + * Test Tools List + * @description Preview tools available from MCP server before adding it + */ + post: operations["test_tools_list_mcp_rest_test_tools_list_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; - "/memory-usage-in-mem-cache": { + "/mcp-rest/tools/call": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Call Tool Rest Api + * @description REST API to call a specific MCP tool with the provided arguments + */ + post: operations["call_tool_rest_api_mcp_rest_tools_call_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/mcp-rest/tools/list": { parameters: { query?: never; header?: never; @@ -7077,36 +5785,27 @@ export interface paths { cookie?: never; }; /** - * Memory Usage In Mem Cache - * @description 1. user_api_key_cache - * 2. router_cache - * 3. proxy_logging_cache - * 4. internal_usage_cache + * List Tool Rest Api + * @description List all available tools with information about the server they belong to. + * + * Example response: + * { + * "tools": [ + * { + * "name": "create_zap", + * "description": "Create a new zap", + * "inputSchema": "tool_input_schema", + * "mcp_info": { + * "server_name": "zapier", + * "logo_url": "https://www.zapier.com/logo.png", + * } + * } + * ], + * "error": null, + * "message": "Successfully retrieved tools" + * } */ - get: operations["memory_usage_in_mem_cache_memory_usage_in_mem_cache_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/memory-usage-in-mem-cache-items": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Memory Usage In Mem Cache Items - * @description 1. user_api_key_cache - * 2. router_cache - * 3. proxy_logging_cache - * 4. internal_usage_cache - */ - get: operations["memory_usage_in_mem_cache_items_memory_usage_in_mem_cache_items_get"]; + get: operations["list_tool_rest_api_mcp_rest_tools_list_get"]; put?: never; post?: never; delete?: never; @@ -7187,58 +5886,6 @@ export interface paths { patch: operations["mistral_proxy_route_mistral__endpoint__patch"]; trace?: never; }; - "/model/block": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Block Model - * @description Block a DB-stored model deployment from serving requests. - * - * Parameters: - * - model_id: str - The model deployment id to block. - */ - post: operations["block_model_model_block_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/model/cost_map/source": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Model Cost Map Source - * @description ADMIN ONLY / MASTER KEY Only Endpoint - * - * Returns information about where the current model cost/pricing data was loaded from. - * - * Response fields: - * - source: "local" (bundled backup) or "remote" (fetched from URL) - * - url: the remote URL that was attempted (null when env-forced local) - * - is_env_forced: true if LITELLM_LOCAL_MODEL_COST_MAP=True forced local usage - * - fallback_reason: human-readable reason why remote failed (null on success) - * - model_count: number of models in the currently loaded cost map - */ - get: operations["get_model_cost_map_source_model_cost_map_source_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/model/delete": { parameters: { query?: never; @@ -7275,11 +5922,6 @@ export interface paths { * * - When litellm_model_id is passed, it will return the info for that specific model * - When litellm_model_id is not passed, it will return the info for all models - * - include_team_models: When true, filter to deployments the caller can use (same as /v2/model/info). - * - teamId: Filter to models accessible by the given team. - * - * Each model in the list response includes `model_info.access_via_team_ids` and - * `model_info.direct_access` when the proxy database is connected. * * Returns: * Returns a dictionary containing information about each model. @@ -7313,66 +5955,6 @@ export interface paths { patch?: never; trace?: never; }; - "/model/metrics": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Model Metrics - * @description View number of requests & avg latency per model on config.yaml - */ - get: operations["model_metrics_model_metrics_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/model/metrics/exceptions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Model Metrics Exceptions - * @description View number of failed requests per model on config.yaml - */ - get: operations["model_metrics_exceptions_model_metrics_exceptions_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/model/metrics/slow_responses": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Model Metrics Slow Responses - * @description View number of hanging requests per model_group - */ - get: operations["model_metrics_slow_responses_model_metrics_slow_responses_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/model/new": { parameters: { query?: never; @@ -7393,69 +5975,6 @@ export interface paths { patch?: never; trace?: never; }; - "/model/settings": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Model Settings - * @description Returns provider name, description, and required parameters for each provider - */ - get: operations["model_settings_model_settings_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/model/streaming_metrics": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Model Streaming Metrics - * @description View time to first token for models in spend logs - */ - get: operations["model_streaming_metrics_model_streaming_metrics_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/model/unblock": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Unblock Model - * @description Unblock a DB-stored model deployment so it can serve requests again. - * - * Parameters: - * - model_id: str - The model deployment id to unblock. - */ - post: operations["unblock_model_model_unblock_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/model/update": { parameters: { query?: never; @@ -7729,15 +6248,6 @@ export interface paths { * - scope: Optional scope parameter. Currently only accepts "expand". * When scope=expand is passed, proxy admins, team admins, and org admins * will receive all proxy models as if they are a proxy admin. - * - healthy_only: When true, hide models whose backing deployments are all marked - * unhealthy by background health checks. Requires - * `background_health_checks: true` in general_settings; without - * health state the listing is returned unfiltered (fail open). - * Models expanded from wildcard routes (e.g. `openai/*`) are not - * filtered, and nothing is hidden when `allowed_fails_policy` is - * configured (cooldown remains the sole exclusion mechanism). - * Hiding is presentation-only: a hidden model can still be - * called directly. */ get: operations["model_list_models_get"]; put?: never; @@ -7901,58 +6411,6 @@ export interface paths { patch?: never; trace?: never; }; - "/onboarding/claim_token": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Claim Onboarding Link - * @description Special route. Allows UI link share user to update their password. - * - * - Get the invite link - * - Validate it's still 'valid' - * - Check if user within initial session (prevents abuse) - * - Get user from db - * - Update user password - * - * This route can only update user password. - */ - post: operations["claim_onboarding_link_onboarding_claim_token_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/onboarding/get_token": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Onboarding - * @description - Get the invite link - * - Validate it's still 'valid' - * - Return a short-lived onboarding token - * - Get user from db - * - Pass in user_email if set - */ - get: operations["onboarding_onboarding_get_token_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/openai/deployments/{model}/chat/completions": { parameters: { query?: never; @@ -8881,23 +7339,6 @@ export interface paths { patch: operations["update_organization_organization_update_patch"]; trace?: never; }; - "/otel-spans": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Get Otel Spans */ - get: operations["get_otel_spans_otel_spans_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/policies": { parameters: { query?: never; @@ -10571,23 +9012,6 @@ export interface paths { patch?: never; trace?: never; }; - "/queue/chat/completions": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** Async Queue Request */ - post: operations["async_queue_request_queue_chat_completions_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/rag/ingest": { parameters: { query?: never; @@ -10754,52 +9178,6 @@ export interface paths { patch?: never; trace?: never; }; - "/reload/anthropic_beta_headers": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Reload Anthropic Beta Headers - * @description ADMIN ONLY / MASTER KEY Only Endpoint - * - * Manually reload the Anthropic beta headers configuration from the remote source. - * This will fetch fresh configuration from the anthropic_beta_headers_config.json file. - */ - post: operations["reload_anthropic_beta_headers_reload_anthropic_beta_headers_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/reload/model_cost_map": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Reload Model Cost Map - * @description ADMIN ONLY / MASTER KEY Only Endpoint - * - * Manually reload the model cost map from the remote source. - * This will fetch fresh pricing data from the model_prices_and_context_window.json file. - */ - post: operations["reload_model_cost_map_reload_model_cost_map_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/rerank": { parameters: { query?: never; @@ -11089,108 +9467,6 @@ export interface paths { patch?: never; trace?: never; }; - "/schedule/anthropic_beta_headers_reload": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Schedule Anthropic Beta Headers Reload - * @description ADMIN ONLY / MASTER KEY Only Endpoint - * - * Schedule periodic reload of the Anthropic beta headers configuration. - * This will create a background job that reloads the configuration every specified hours. - */ - post: operations["schedule_anthropic_beta_headers_reload_schedule_anthropic_beta_headers_reload_post"]; - /** - * Cancel Anthropic Beta Headers Reload - * @description ADMIN ONLY / MASTER KEY Only Endpoint - * - * Cancel the scheduled periodic reload of the Anthropic beta headers configuration. - */ - delete: operations["cancel_anthropic_beta_headers_reload_schedule_anthropic_beta_headers_reload_delete"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/schedule/anthropic_beta_headers_reload/status": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Anthropic Beta Headers Reload Status - * @description ADMIN ONLY / MASTER KEY Only Endpoint - * - * Get the status of the scheduled Anthropic beta headers reload job. - */ - get: operations["get_anthropic_beta_headers_reload_status_schedule_anthropic_beta_headers_reload_status_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/schedule/model_cost_map_reload": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Schedule Model Cost Map Reload - * @description ADMIN ONLY / MASTER KEY Only Endpoint - * - * Schedule periodic reload of the model cost map. - * This will create a background job that reloads the model cost map every specified hours. - */ - post: operations["schedule_model_cost_map_reload_schedule_model_cost_map_reload_post"]; - /** - * Cancel Model Cost Map Reload - * @description ADMIN ONLY / MASTER KEY Only Endpoint - * - * Cancel the scheduled periodic reload of the model cost map. - */ - delete: operations["cancel_model_cost_map_reload_schedule_model_cost_map_reload_delete"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/schedule/model_cost_map_reload/status": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Get Model Cost Map Reload Status - * @description ADMIN ONLY / MASTER KEY Only Endpoint - * - * Get the status of the scheduled model cost map reload job. - */ - get: operations["get_model_cost_map_reload_status_schedule_model_cost_map_reload_status_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/scim/v2": { parameters: { query?: never; @@ -12046,38 +10322,6 @@ export interface paths { patch?: never; trace?: never; }; - "/spend/keys": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Spend Key Fn - * @description View keys created, ordered by spend. - * - * - Admin callers (PROXY_ADMIN / PROXY_ADMIN_VIEW_ONLY) see every key in - * the database. - * - All other callers (INTERNAL_USER / INTERNAL_USER_VIEW_ONLY, etc.) are - * scoped to keys they own (``user_id == caller``). A caller with no - * ``user_id`` has no scope and receives an empty list rather than the - * full table. - * - * Example Request: - * ``` - * curl -X GET "http://0.0.0.0:8000/spend/keys" -H "Authorization: Bearer sk-1234" - * ``` - */ - get: operations["spend_key_fn_spend_keys_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/spend/logs": { parameters: { query?: never; @@ -12130,86 +10374,6 @@ export interface paths { patch?: never; trace?: never; }; - "/spend/logs/session/ui": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Ui View Session Spend Logs - * @description Get paginated spend logs for a particular session. - * - * Returns: - * { - * "data": List[LiteLLM_SpendLogs], - * "total": int, - * "page": int, - * "page_size": int, - * "total_pages": int, - * } - */ - get: operations["ui_view_session_spend_logs_spend_logs_session_ui_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/spend/logs/ui": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Ui View Spend Logs - * @description View spend logs with pagination support. - * Available at both `/spend/logs/v2` (public API) and `/spend/logs/ui` (internal UI). - * - * Returns paginated response with data, total, page, page_size, and total_pages. - * - * Example: - * ``` - * curl -X GET "http://0.0.0.0:8000/spend/logs/v2?start_date=2025-11-25%2000:00:00&end_date=2025-11-26%2023:59:59&page=1&page_size=50" -H "Authorization: Bearer sk-1234" - * ``` - */ - get: operations["ui_view_spend_logs_spend_logs_ui_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/spend/logs/ui/{request_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Ui View Request Response For Request Id - * @description View request / response for a specific request_id - * - * - goes through all callbacks, checks if any of them have a @property -> has_request_response_payload - * - if so, it will return the request and response payload - */ - get: operations["ui_view_request_response_for_request_id_spend_logs_ui__request_id__get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/spend/logs/v2": { parameters: { query?: never; @@ -12268,208 +10432,6 @@ export interface paths { patch?: never; trace?: never; }; - "/spend/users": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Spend User Fn - * @description View users created, ordered by spend. - * - * - Admin callers (PROXY_ADMIN / PROXY_ADMIN_VIEW_ONLY) see every user, or - * a specific user when ``user_id`` is supplied. - * - All other callers may only read their own row. If they supply a - * ``user_id`` query parameter that does not match their authenticated - * ``user_id`` the request is rejected with HTTP 403; supplying their - * own id (or none at all) returns just their row. A caller with no - * ``user_id`` on their key has no scope and receives an empty list - * rather than the full table. - * - * Example Request: - * ``` - * curl -X GET "http://0.0.0.0:8000/spend/users" -H "Authorization: Bearer sk-1234" - * ``` - * - * View User Table row for user_id - * ``` - * curl -X GET "http://0.0.0.0:8000/spend/users?user_id=1234" -H "Authorization: Bearer sk-1234" - * ``` - */ - get: operations["spend_user_fn_spend_users_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/sso/callback": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Auth Callback - * @description Verify login - */ - get: operations["auth_callback_sso_callback_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/sso/cli/complete/{login_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** Cli Sso Complete */ - post: operations["cli_sso_complete_sso_cli_complete__login_id__post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/sso/cli/poll/{key_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Cli Poll Key - * @description CLI polling endpoint - retrieves session from cache and generates JWT. - * - * Flow: - * 1. First poll (no team_id): Returns teams list without generating JWT - * 2. Second poll (with team_id): Generates JWT with selected team and deletes session - * - * Args: - * key_id: The CLI login session ID - * team_id: Optional team ID to assign to the JWT. If provided, must be one of user's teams. - */ - get: operations["cli_poll_key_sso_cli_poll__key_id__get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/sso/cli/start": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** Cli Sso Start */ - post: operations["cli_sso_start_sso_cli_start_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/sso/debug/callback": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Debug Sso Callback - * @description Returns the OpenID object returned by the SSO provider - */ - get: operations["debug_sso_callback_sso_debug_callback_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/sso/debug/login": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Debug Sso Login - * @description Create Proxy API Keys using Google Workspace SSO. Requires setting PROXY_BASE_URL in .env - * PROXY_BASE_URL should be the your deployed proxy endpoint, e.g. PROXY_BASE_URL="https://litellm-production-7002.up.railway.app/" - * Example: - */ - get: operations["debug_sso_login_sso_debug_login_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/sso/get/ui_settings": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Get Ui Settings */ - get: operations["get_ui_settings_sso_get_ui_settings_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/sso/key/generate": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Google Login - * @description Create Proxy API Keys using Google Workspace SSO. Requires setting PROXY_BASE_URL in .env - * PROXY_BASE_URL should be the your deployed proxy endpoint, e.g. PROXY_BASE_URL="https://litellm-production-7002.up.railway.app/" - * Example: - */ - get: operations["google_login_sso_key_generate_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/sso/readiness": { parameters: { query?: never; @@ -13008,36 +10970,6 @@ export interface paths { patch?: never; trace?: never; }; - "/team/filter/ui": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Ui View Teams - * @description [PROXY-ADMIN ONLY] Filter teams based on partial match of team_id or team_alias with pagination. - * - * Args: - * user_id (Optional[str]): Partial user ID to search for - * user_email (Optional[str]): Partial email to search for - * page (int): Page number for pagination (starts at 1) - * page_size (int): Number of items per page (max 100) - * user_api_key_dict (UserAPIKeyAuth): User authentication information - * - * Returns: - * List[LiteLLM_SpendLogs]: Paginated list of matching user records - */ - get: operations["ui_view_teams_team_filter_ui_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/team/info": { parameters: { query?: never; @@ -14027,32 +11959,6 @@ export interface paths { patch?: never; trace?: never; }; - "/user/available_roles": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Ui Get Available Role - * @description Endpoint used by Admin UI to show all available roles to assign a user - * return { - * "proxy_admin": { - * "description": "Proxy Admin role", - * "ui_label": "Admin" - * } - * } - */ - get: operations["ui_get_available_role_user_available_roles_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/user/available_users": { parameters: { query?: never; @@ -14222,36 +12128,6 @@ export interface paths { patch?: never; trace?: never; }; - "/user/filter/ui": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Ui View Users - * @description Filter users based on partial match of user_id or email with pagination. - * - * Behaviour depends on the ``scope_user_search_to_org`` UI-setting flag - * (stored in the ``litellm_uisettings`` table): - * - * * **Flag OFF (default):** any authenticated user can search all users. - * * **Flag ON:** - * - Proxy admins see all users. - * - Org admins see only users in their org(s). - * - Team admins for an org-bound team see users in that org. - * - Others receive a 403. - */ - get: operations["ui_view_users_user_filter_ui_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/user/info": { parameters: { query?: never; @@ -15928,6 +13804,458 @@ export interface paths { patch?: never; trace?: never; }; + "/v1/mcp/access_groups": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Mcp Access Groups + * @description Get all available MCP access groups from the database AND config + */ + get: operations["get_mcp_access_groups_v1_mcp_access_groups_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/discover": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Discover Mcp Servers + * @description Returns a curated list of well-known MCP servers for discovery UI + */ + get: operations["discover_mcp_servers_v1_mcp_discover_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/make_public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Make Mcp Servers Public + * @description Allows making MCP servers public for AI Hub + */ + post: operations["make_mcp_servers_public_v1_mcp_make_public_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/network/client-ip": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Client Ip + * @description Returns the caller's IP address as seen by the proxy. + */ + get: operations["get_client_ip_v1_mcp_network_client_ip_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/openapi-registry": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Openapi Registry + * @description Returns well-known OpenAPI APIs with OAuth 2.0 metadata for the OpenAPI MCP picker + */ + get: operations["get_openapi_registry_v1_mcp_openapi_registry_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/registry.json": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Mcp Registry + * @description MCP registry endpoint. Spec: https://github.com/modelcontextprotocol/registry + */ + get: operations["get_mcp_registry_v1_mcp_registry_json_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/server": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch All Mcp Servers + * @description Returns the mcp server list with associated teams + */ + get: operations["fetch_all_mcp_servers_v1_mcp_server_get"]; + /** + * Edit Mcp Server + * @description Allows deleting mcp serves in the db + */ + put: operations["edit_mcp_server_v1_mcp_server_put"]; + /** + * Add Mcp Server + * @description Allows creation of mcp servers + */ + post: operations["add_mcp_server_v1_mcp_server_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/server/health": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Health Check Servers + * @description Health check for MCP servers + */ + get: operations["health_check_servers_v1_mcp_server_health_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/server/oauth/session": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Add Session Mcp Server + * @description Temporarily cache an MCP server in memory without writing to the database + */ + post: operations["add_session_mcp_server_v1_mcp_server_oauth_session_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/server/register": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Register Mcp Server + * @description Submit a new MCP server for admin review (non-admin users). Mirrors POST /guardrails/register. + */ + post: operations["register_mcp_server_v1_mcp_server_register_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/server/submissions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Mcp Server Submissions + * @description Returns all MCP servers submitted by non-admin users (admin review queue). Mirrors GET /guardrails/submissions. + */ + get: operations["get_mcp_server_submissions_v1_mcp_server_submissions_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/server/{server_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Mcp Server + * @description Returns the mcp server info + */ + get: operations["fetch_mcp_server_v1_mcp_server__server_id__get"]; + put?: never; + post?: never; + /** + * Remove Mcp Server + * @description Allows deleting mcp serves in the db + */ + delete: operations["remove_mcp_server_v1_mcp_server__server_id__delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/server/{server_id}/approve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Approve Mcp Server Submission + * @description Approve a pending MCP server submission (admin only). Mirrors PUT /guardrails/{id}/approve. + */ + put: operations["approve_mcp_server_submission_v1_mcp_server__server_id__approve_put"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/server/{server_id}/oauth-user-credential": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Store Mcp Oauth User Credential + * @description Store the calling user's OAuth2 token for an OpenAPI MCP server + */ + post: operations["store_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_post"]; + /** + * Delete Mcp Oauth User Credential + * @description Revoke the calling user's stored OAuth2 token for an MCP server + */ + delete: operations["delete_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/server/{server_id}/oauth-user-credential/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Mcp Oauth User Credential Status + * @description Check whether the calling user has a stored OAuth2 credential for this MCP server + */ + get: operations["get_mcp_oauth_user_credential_status_v1_mcp_server__server_id__oauth_user_credential_status_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/server/{server_id}/reject": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * Reject Mcp Server Submission + * @description Reject a pending MCP server submission (admin only). Mirrors PUT /guardrails/{id}/reject. + */ + put: operations["reject_mcp_server_submission_v1_mcp_server__server_id__reject_put"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/server/{server_id}/user-credential": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Store Mcp User Credential + * @description Store or update the calling user's API key for a BYOK MCP server + */ + post: operations["store_mcp_user_credential_v1_mcp_server__server_id__user_credential_post"]; + /** + * Delete Mcp User Credential + * @description Delete the calling user's stored API key for a BYOK MCP server + */ + delete: operations["delete_mcp_user_credential_v1_mcp_server__server_id__user_credential_delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/tools": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Mcp Tools + * @description Get all MCP tools available for the current key, including those from access groups + */ + get: operations["get_mcp_tools_v1_mcp_tools_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/toolset": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Mcp Toolsets + * @description List MCP toolsets accessible to the calling key + */ + get: operations["fetch_mcp_toolsets_v1_mcp_toolset_get"]; + /** + * Edit Mcp Toolset + * @description Update an existing MCP toolset (admin only) + */ + put: operations["edit_mcp_toolset_v1_mcp_toolset_put"]; + /** + * Add Mcp Toolset + * @description Create a new MCP toolset (admin only) + */ + post: operations["add_mcp_toolset_v1_mcp_toolset_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/toolset/{toolset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Mcp Toolset + * @description Get a specific MCP toolset by ID + */ + get: operations["fetch_mcp_toolset_v1_mcp_toolset__toolset_id__get"]; + put?: never; + post?: never; + /** + * Remove Mcp Toolset + * @description Delete an MCP toolset (admin only) + */ + delete: operations["remove_mcp_toolset_v1_mcp_toolset__toolset_id__delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v1/mcp/user-credentials": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Mcp User Credentials + * @description List all OAuth2 MCP credentials stored for the calling user + */ + get: operations["list_mcp_user_credentials_v1_mcp_user_credentials_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v1/memory": { parameters: { query?: never; @@ -16055,11 +14383,6 @@ export interface paths { * * - When litellm_model_id is passed, it will return the info for that specific model * - When litellm_model_id is not passed, it will return the info for all models - * - include_team_models: When true, filter to deployments the caller can use (same as /v2/model/info). - * - teamId: Filter to models accessible by the given team. - * - * Each model in the list response includes `model_info.access_via_team_ids` and - * `model_info.direct_access` when the proxy database is connected. * * Returns: * Returns a dictionary containing information about each model. @@ -16113,15 +14436,6 @@ export interface paths { * - scope: Optional scope parameter. Currently only accepts "expand". * When scope=expand is passed, proxy admins, team admins, and org admins * will receive all proxy models as if they are a proxy admin. - * - healthy_only: When true, hide models whose backing deployments are all marked - * unhealthy by background health checks. Requires - * `background_health_checks: true` in general_settings; without - * health state the listing is returned unfiltered (fail open). - * Models expanded from wildcard routes (e.g. `openai/*`) are not - * filtered, and nothing is hidden when `allowed_fails_policy` is - * configured (cooldown remains the sole exclusion mechanism). - * Hiding is presentation-only: a hidden model can still be - * called directly. */ get: operations["model_list_v1_models_get"]; put?: never; @@ -17942,117 +16256,6 @@ export interface paths { patch?: never; trace?: never; }; - "/v2/key/info": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * Info Key Fn V2 - * @description Retrieve information about a list of keys. - * - * **New endpoint**. Currently admin only. - * Parameters: - * keys: Optional[list] = body parameter representing the key(s) in the request - * user_api_key_dict: UserAPIKeyAuth = Dependency representing the user's API key - * Returns: - * Dict containing the key and its associated information - * - * Example Curl: - * ``` - * curl -X GET "http://0.0.0.0:4000/key/info" -H "Authorization: Bearer sk-1234" -d {"keys": ["sk-1", "sk-2", "sk-3"]} - * ``` - */ - post: operations["info_key_fn_v2_v2_key_info_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v2/login": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** Login V2 */ - post: operations["login_v2_v2_login_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v2/model/info": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Model Info V2 - * @description Paginated model metadata for proxy deployments (pricing, provider, team access). - * - * Returns configured router deployments with enriched `model_info` (costs, provider, - * context window, etc.). Sensitive fields such as API keys and api_base are omitted. - * - * Query parameters: - * model: Filter to a single public `model_name`. - * user_models_only: When true, only return models created by the calling user. - * include_team_models: When true, populate `access_via_team_ids` and `direct_access` - * on each model and filter to deployments the caller can use. - * page / size: Pagination controls (defaults: page=1, size=50). - * search: Case-insensitive partial match on model name or team public name. - * modelId: Return a single deployment by LiteLLM model id. - * teamId: Filter to models with direct access or team membership for this team id. - * sortBy / sortOrder: Sort by model_name, created_at, updated_at, costs, or status. - * - * Example request: - * ``` - * curl -X GET 'http://localhost:4000/v2/model/info?include_team_models=true&page=1&size=50' \ - * --header 'Authorization: Bearer sk-1234' - * ``` - * - * Example response: - * ```json - * { - * "data": [ - * { - * "model_name": "gpt-4", - * "litellm_params": {"model": "openai/gpt-4.1"}, - * "model_info": { - * "id": "abc123", - * "litellm_provider": "openai", - * "access_via_team_ids": ["team-1"], - * "direct_access": true - * } - * } - * ], - * "total_count": 1, - * "current_page": 1, - * "total_pages": 1, - * "size": 50 - * } - * ``` - */ - get: operations["model_info_v2_v2_model_info_get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/v2/rerank": { parameters: { query?: never; @@ -18145,40 +16348,6 @@ export interface paths { patch?: never; trace?: never; }; - "/v3/login": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** Login V3 */ - post: operations["login_v3_v3_login_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/v3/login/exchange": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** Login V3 Exchange */ - post: operations["login_v3_exchange_v3_login_exchange_post"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/vantage/delete": { parameters: { query?: never; @@ -18583,52 +16752,6 @@ export interface paths { patch?: never; trace?: never; }; - "/vertex-ai/{endpoint}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * Vertex Proxy Route - * @description Call LiteLLM proxy via Vertex AI SDK. - * - * [Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai) - */ - get: operations["vertex_proxy_route_vertex_ai__endpoint__get_2"]; - /** - * Vertex Proxy Route - * @description Call LiteLLM proxy via Vertex AI SDK. - * - * [Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai) - */ - put: operations["vertex_proxy_route_vertex_ai__endpoint__put_2"]; - /** - * Vertex Proxy Route - * @description Call LiteLLM proxy via Vertex AI SDK. - * - * [Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai) - */ - post: operations["vertex_proxy_route_vertex_ai__endpoint__post_2"]; - /** - * Vertex Proxy Route - * @description Call LiteLLM proxy via Vertex AI SDK. - * - * [Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai) - */ - delete: operations["vertex_proxy_route_vertex_ai__endpoint__delete_2"]; - options?: never; - head?: never; - /** - * Vertex Proxy Route - * @description Call LiteLLM proxy via Vertex AI SDK. - * - * [Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai) - */ - patch: operations["vertex_proxy_route_vertex_ai__endpoint__patch_2"]; - trace?: never; - }; "/vertex_ai/discovery/{endpoint}": { parameters: { query?: never; @@ -19796,12 +17919,6 @@ export interface components { /** Tags */ tags?: string[]; }; - /** - * AlertType - * @description Enum for alert types and management event types - * @enum {string} - */ - AlertType: "llm_exceptions" | "llm_too_slow" | "llm_requests_hanging" | "budget_alerts" | "spend_reports" | "failed_tracking_spend" | "db_exceptions" | "daily_reports" | "cooldown_deployment" | "new_model_added" | "outage_alerts" | "region_outage_alerts" | "fallback_reports" | "new_virtual_key_created" | "virtual_key_updated" | "virtual_key_deleted" | "new_team_created" | "team_updated" | "team_deleted" | "new_internal_user_created" | "internal_user_updated" | "internal_user_deleted"; /** AllowedVectorStoreIndexItem */ AllowedVectorStoreIndexItem: { /** Index Name */ @@ -20262,11 +18379,6 @@ export interface components { /** Key */ key: string; }; - /** BlockModelRequest */ - BlockModelRequest: { - /** Model Id */ - model_id: string; - }; /** BlockTeamRequest */ BlockTeamRequest: { /** Team Id */ @@ -20850,11 +18962,6 @@ export interface components { * @enum {string} */ CallTypes: "embedding" | "aembedding" | "completion" | "acompletion" | "atext_completion" | "text_completion" | "image_generation" | "aimage_generation" | "image_edit" | "aimage_edit" | "moderation" | "amoderation" | "atranscription" | "transcription" | "aspeech" | "speech" | "rerank" | "arerank" | "search" | "asearch" | "_arealtime" | "_aresponses_websocket" | "create_batch" | "acreate_batch" | "aretrieve_batch" | "retrieve_batch" | "acancel_batch" | "cancel_batch" | "pass_through_endpoint" | "anthropic_messages" | "get_assistants" | "aget_assistants" | "create_assistants" | "acreate_assistants" | "delete_assistant" | "adelete_assistant" | "acreate_thread" | "create_thread" | "aget_thread" | "get_thread" | "a_add_message" | "add_message" | "aget_messages" | "get_messages" | "arun_thread" | "run_thread" | "arun_thread_stream" | "run_thread_stream" | "afile_retrieve" | "file_retrieve" | "afile_delete" | "file_delete" | "afile_list" | "file_list" | "acreate_file" | "create_file" | "afile_content" | "file_content" | "create_fine_tuning_job" | "acreate_fine_tuning_job" | "create_video" | "acreate_video" | "avideo_retrieve" | "video_retrieve" | "avideo_content" | "video_content" | "video_remix" | "avideo_remix" | "video_list" | "avideo_list" | "video_retrieve_job" | "avideo_retrieve_job" | "video_delete" | "avideo_delete" | "video_create_character" | "avideo_create_character" | "video_get_character" | "avideo_get_character" | "video_edit" | "avideo_edit" | "video_extension" | "avideo_extension" | "vector_store_file_create" | "avector_store_file_create" | "vector_store_file_list" | "avector_store_file_list" | "vector_store_file_retrieve" | "avector_store_file_retrieve" | "vector_store_file_content" | "avector_store_file_content" | "vector_store_file_update" | "avector_store_file_update" | "vector_store_file_delete" | "avector_store_file_delete" | "vector_store_create" | "avector_store_create" | "vector_store_search" | "avector_store_search" | "create_container" | "acreate_container" | "list_containers" | "alist_containers" | "retrieve_container" | "aretrieve_container" | "delete_container" | "adelete_container" | "list_container_files" | "alist_container_files" | "upload_container_file" | "aupload_container_file" | "acancel_fine_tuning_job" | "cancel_fine_tuning_job" | "alist_fine_tuning_jobs" | "list_fine_tuning_jobs" | "aretrieve_fine_tuning_job" | "retrieve_fine_tuning_job" | "responses" | "aresponses" | "alist_input_items" | "llm_passthrough_route" | "allm_passthrough_route" | "generate_content" | "agenerate_content" | "generate_content_stream" | "agenerate_content_stream" | "ocr" | "aocr" | "call_mcp_tool" | "list_mcp_tools" | "asend_message" | "send_message" | "acreate_skill"; - /** CallbackDelete */ - CallbackDelete: { - /** Callback Name */ - callback_name: string; - }; /** CallbacksByType */ CallbacksByType: { /** Failure */ @@ -21474,321 +19581,6 @@ export interface components { /** Regulation */ regulation: string; }; - /** ConfigFieldDelete */ - ConfigFieldDelete: { - /** - * Config Type - * @constant - */ - config_type: "general_settings"; - /** Field Name */ - field_name: string; - }; - /** ConfigFieldInfo */ - ConfigFieldInfo: { - /** Field Name */ - field_name: string; - /** Field Value */ - field_value: unknown; - }; - /** ConfigFieldUpdate */ - ConfigFieldUpdate: { - /** - * Config Type - * @constant - */ - config_type: "general_settings"; - /** Field Name */ - field_name: string; - /** Field Value */ - field_value: unknown; - }; - /** - * ConfigGeneralSettings - * @description Documents all the fields supported by `general_settings` in config.yaml - */ - ConfigGeneralSettings: { - /** - * Alert To Webhook Url - * @description Mapping of alert type to webhook url. e.g. `alert_to_webhook_url: {'budget_alerts': 'https://nothooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX'}` - */ - alert_to_webhook_url?: { - [key: string]: unknown; - } | null; - /** - * Alert Types - * @description List of alerting types. By default it is all alerts - */ - alert_types?: components["schemas"]["AlertType"][] | null; - /** - * Alerting - * @description List of alerting integrations. Today, just slack - `alerting: ['slack']` - */ - alerting?: unknown[] | null; - /** - * Alerting Args - * @description Controllable params for slack alerting - e.g. ttl in cache. - */ - alerting_args?: { - [key: string]: unknown; - } | null; - /** - * Alerting Threshold - * @description sends alerts if requests hang for 5min+ - */ - alerting_threshold?: number | null; - /** - * Allowed Routes - * @description Proxy API Endpoints you want users to be able to access - */ - allowed_routes?: unknown[] | null; - /** - * Background Health Checks - * @description run health checks in background - */ - background_health_checks?: boolean | null; - /** - * Cancel On Disconnect - * @description cancel the in-flight upstream LLM request (non-streaming) when the client disconnects, freeing backend capacity (e.g. a vLLM GPU slot); the request is logged as a 499 failure - */ - cancel_on_disconnect?: boolean | null; - /** - * Completion Model - * @description proxy level default model for all chat completion calls - */ - completion_model?: string | null; - /** - * Custom Auth - * @description override user_api_key_auth with your own auth script - https://docs.litellm.ai/docs/proxy/virtual_keys#custom-auth - */ - custom_auth?: string | null; - /** @description custom args for instantiating dynamodb client - e.g. billing provision */ - database_args?: components["schemas"]["DynamoDBArgs"] | null; - /** - * Database Connect Timeout - * @description Prisma `connect_timeout` URL param (seconds). Bounds how long the engine waits to establish a new connection before failing. Defaults to Prisma's built-in value when unset. - */ - database_connect_timeout?: number | null; - /** - * Database Connection Pool Limit - * @description default connection pool for prisma client connecting to postgres db - * @default 10 - */ - database_connection_pool_limit: number | null; - /** - * Database Connection Timeout - * @description default timeout for a connection to the database - * @default 60 - */ - database_connection_timeout: number | null; - /** - * Database Disable Prepared Statements - * @description Disable server-side prepared statements by setting Prisma's `pgbouncer=true` URL param. Use this for pgbouncer transaction-pooling deployments, or to prevent the 'cached plan must not change result type' error that pooled connections hit during rolling schema migrations. An explicit `pgbouncer` in `database_extra_connection_params` takes precedence. - */ - database_disable_prepared_statements?: boolean | null; - /** - * Database Extra Connection Params - * @description Escape hatch: extra key/value pairs appended verbatim to the Prisma DATABASE_URL / DIRECT_URL query string (e.g. `sslmode`, `pgbouncer`, `statement_cache_size`). Keys here override any default LiteLLM sets. - */ - database_extra_connection_params?: { - [key: string]: unknown; - } | null; - /** - * Database Socket Timeout - * @description Prisma `socket_timeout` URL param (seconds). When set, an idle/slow connection that has not produced data within this window is closed. This is the main knob for capping idle DB connections from LiteLLM. - */ - database_socket_timeout?: number | null; - /** - * Database Type - * @description to use dynamodb instead of postgres db - */ - database_type?: "dynamo_db" | null; - /** - * Database Url - * @description connect to a postgres db - needed for generating temporary keys + tracking spend / key - */ - database_url?: string | null; - /** - * Disable Budget Reservation - * @description If True, disables the optimistic per-request budget reservation introduced in v1.84.0. WARNING: This weakens hard budget enforcement. Without the reservation, a burst of concurrent requests from a single key can each pass the read-time spend check before any of them is charged, allowing a configured budget to be exceeded under high concurrency. Budgets are still evaluated on every request at read time, so an already-exhausted budget is still rejected. Enable only if your deployment is experiencing phantom BudgetExceededError responses caused by leaked reservations (see GitHub issue #27639). A proxy-level WARNING is logged on every request while this flag is active as a reminder that hard enforcement is relaxed. - */ - disable_budget_reservation?: boolean | null; - /** - * Enable Public Model Hub - * @description Public model hub for users to see what models they have access to, supported openai params, etc. - * @default false - */ - enable_public_model_hub: boolean; - /** - * Forward Client Headers To Llm Api - * @description If True, forwards client headers (e.g. Authorization) to the LLM API. Required for Claude Code with Max subscription. - */ - forward_client_headers_to_llm_api?: boolean | null; - /** - * Global Max Parallel Requests - * @description global max parallel requests to allow for a proxy instance. - */ - global_max_parallel_requests?: number | null; - /** - * Health Check Concurrency - * @description limit concurrent health checks per cycle; when unset, health checks run without a concurrency cap - */ - health_check_concurrency?: number | null; - /** - * Health Check Interval - * @description background health check interval in seconds - * @default 300 - */ - health_check_interval: number; - /** - * Health Check Skip Disabled Background Models - * @description When true, deployments with model_info.disable_background_health_check are skipped for on-demand GET /health as well as the background health loop. - * @default false - */ - health_check_skip_disabled_background_models: boolean; - /** - * Infer Model From Keys - * @description for `/models` endpoint, infers available model based on environment keys (e.g. OPENAI_API_KEY) - */ - infer_model_from_keys?: boolean | null; - /** @description key manager to load keys from / decrypt keys with */ - key_management_system?: components["schemas"]["KeyManagementSystem"] | null; - /** - * Master Key - * @description require a key for all calls to proxy - */ - master_key?: string | null; - /** - * Max Parallel Requests - * @description maximum parallel requests for each api key - */ - max_parallel_requests?: number | null; - /** - * Max Request Size Mb - * @description max request size in MB, if a request is larger than this size it will be rejected - */ - max_request_size_mb?: number | null; - /** - * Max Response Size Mb - * @description max response size in MB, if a response is larger than this size it will be rejected - */ - max_response_size_mb?: number | null; - /** - * Maximum Spend Logs Retention Period - * @description Maximum retention period for spend logs (e.g., '7d' for 7 days). Logs older than this will be deleted. - */ - maximum_spend_logs_retention_period?: string | null; - /** - * Mcp Internal Ip Ranges - * @description Custom CIDR ranges that define internal/private networks for MCP access control. When set, only these ranges are treated as internal. Defaults to RFC 1918 private ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8). - */ - mcp_internal_ip_ranges?: string[] | null; - /** - * Mcp Required Fields - * @description List of MCP server fields that must be filled in for a submission to pass standards checks (e.g. ['description', 'source_url', 'alias']). - */ - mcp_required_fields?: string[] | null; - /** - * Mcp Trusted Proxy Ranges - * @description CIDR ranges of trusted reverse proxies. When set, X-Forwarded-For and X-Forwarded-* origin headers are only trusted from these IPs. - */ - mcp_trusted_proxy_ranges?: string[] | null; - /** - * Otel - * @description [BETA] OpenTelemetry support - this might change, use with caution. - */ - otel?: boolean | null; - /** - * Pass Through Endpoints - * @description Set-up pass-through endpoints for provider-specific endpoints. Docs - https://docs.litellm.ai/docs/proxy/pass_through - */ - pass_through_endpoints?: components["schemas"]["PassThroughGenericEndpoint"][] | null; - /** - * Pass Through Request Timeout - * @description Default upstream request timeout in seconds for native and custom pass-through endpoints that use pass_through_request. Defaults to 600 when unset. - */ - pass_through_request_timeout?: number | null; - /** - * Reject Clientside Metadata Tags - * @description When set to True, rejects requests that contain client-side 'metadata.tags' to prevent users from influencing budgets by sending different tags. Tags can only be inherited from the API key metadata. - */ - reject_clientside_metadata_tags?: boolean | null; - /** - * Store Model In Db - * @description If True, models and config are stored in and loaded from the database. Default is False. - */ - store_model_in_db?: boolean | null; - /** - * Store Prompts In Spend Logs - * @description If True, stores request messages and responses in spend logs. Default is False. - */ - store_prompts_in_spend_logs?: boolean | null; - /** - * Supported Db Objects - * @description Fine-grained control over which object types to load from the database when store_model_in_db is True. Available types: 'models', 'mcp', 'guardrails', 'vector_stores', 'pass_through_endpoints', 'prompts', 'model_cost_map', 'tools', 'config_overrides'. If not set, all objects are loaded (default behavior). - */ - supported_db_objects?: components["schemas"]["SupportedDBObjectType"][] | null; - /** - * Trusted Proxy Ranges - * @description CIDR ranges of trusted reverse proxies allowed to provide identity headers for header-based auth paths such as enable_oauth2_proxy_auth and custom_ui_sso_sign_in_handler. - */ - trusted_proxy_ranges?: string[] | null; - /** - * Ui Access Mode - * @description Control access to the Proxy UI - * @default all - */ - ui_access_mode: ("admin_only" | "all") | null; - /** - * Use Azure Key Vault - * @description load keys from azure key vault - */ - use_azure_key_vault?: boolean | null; - /** - * Use Google Kms - * @description decrypt keys with google kms - */ - use_google_kms?: boolean | null; - /** - * Use Spend Logs Partitioning - * @description If True and LiteLLM_SpendLogs has been converted to a range-partitioned table (db_scripts/partition_spend_logs.sql), retention cleanup drops expired partitions instead of deleting rows, and pre-creates upcoming partitions. Default is False. - */ - use_spend_logs_partitioning?: boolean | null; - /** User Header Mappings */ - user_header_mappings?: components["schemas"]["UserHeaderMapping"][] | null; - /** - * User Header Name - * @description [DEPRECATED] Use 'user_header_mappings' instead. When set, the header value is treated as the end user id unless overridden by user_header_mappings. - */ - user_header_name?: string | null; - /** - * User Mcp Management Mode - * @description Controls how non-admin users interact with MCP servers in the dashboard. 'restricted' shows only accessible servers, 'view_all' lists every server in read-only mode. - */ - user_mcp_management_mode?: ("restricted" | "view_all") | null; - }; - /** ConfigList */ - ConfigList: { - /** Field Default Value */ - field_default_value: unknown; - /** Field Description */ - field_description: string; - /** Field Name */ - field_name: string; - /** Field Type */ - field_type: string; - /** Field Value */ - field_value: unknown; - /** Nested Fields */ - nested_fields?: components["schemas"]["FieldDetail"][] | null; - /** - * Premium Field - * @default false - */ - premium_field: boolean; - /** Stored In Db */ - stored_in_db: boolean | null; - }; /** * ConfigOverrideSettingsResponse * @description Response model for config override settings GET endpoints. @@ -21814,34 +19606,6 @@ export interface components { [key: string]: unknown; }; }; - /** - * ConfigYAML - * @description Documents all the fields supported by the config.yaml - */ - ConfigYAML: { - /** - * Environment Variables - * @description Object to pass in additional environment variables via POST request - */ - environment_variables?: { - [key: string]: unknown; - } | null; - general_settings?: components["schemas"]["ConfigGeneralSettings"] | null; - /** - * Litellm Settings - * @description litellm Module settings. See __init__.py for all, example litellm.drop_params=True, litellm.set_verbose=True, litellm.api_base, litellm.cache - */ - litellm_settings?: { - [key: string]: unknown; - } | null; - /** - * Model List - * @description List of supported models on the server, with model-specific configs - */ - model_list?: components["schemas"]["ModelParams"][] | null; - /** @description litellm router object settings. See router.py __init__ for all, example router.num_retries=5, router.timeout=5, router.max_retries=5, router.retry_after=5 */ - router_settings?: components["schemas"]["UpdateRouterConfig"] | null; - }; /** ConfigurableClientsideParamsCustomAuth */ "ConfigurableClientsideParamsCustomAuth-Input": { /** Api Base */ @@ -22323,7 +20087,7 @@ export interface components { /** Deployment */ Deployment: { litellm_params: components["schemas"]["LiteLLM_Params"]; - model_info: components["schemas"]["litellm__types__router__ModelInfo"]; + model_info: components["schemas"]["ModelInfo"]; /** Model Name */ model_name: string; } & { @@ -22357,60 +20121,6 @@ export interface components { */ type: "text"; }; - /** DynamoDBArgs */ - DynamoDBArgs: { - /** Assume Role Aws Role Name */ - assume_role_aws_role_name?: string | null; - /** Assume Role Aws Session Name */ - assume_role_aws_session_name?: string | null; - /** Aws Duration Seconds */ - aws_duration_seconds?: number | null; - /** Aws Policy */ - aws_policy?: string | null; - /** Aws Policy Arns */ - aws_policy_arns?: string[] | null; - /** Aws Provider Id */ - aws_provider_id?: string | null; - /** Aws Role Name */ - aws_role_name?: string | null; - /** Aws Session Name */ - aws_session_name?: string | null; - /** Aws Web Identity Token */ - aws_web_identity_token?: string | null; - /** - * Billing Mode - * @enum {string} - */ - billing_mode: "PROVISIONED_THROUGHPUT" | "PAY_PER_REQUEST"; - /** - * Config Table Name - * @default LiteLLM_Config - */ - config_table_name: string; - /** - * Key Table Name - * @default LiteLLM_VerificationToken - */ - key_table_name: string; - /** Read Capacity Units */ - read_capacity_units?: number | null; - /** Region Name */ - region_name: string; - /** - * Spend Table Name - * @default LiteLLM_SpendLogs - */ - spend_table_name: string; - /** Ssl Verify */ - ssl_verify?: boolean | null; - /** - * User Table Name - * @default LiteLLM_UserTable - */ - user_table_name: string; - /** Write Capacity Units */ - write_capacity_units?: number | null; - }; /** * EmailEvent * @enum {string} @@ -22684,19 +20394,6 @@ export interface components { */ model: string; }; - /** FieldDetail */ - FieldDetail: { - /** Field Default Value */ - field_default_value?: unknown; - /** Field Description */ - field_description: string; - /** Field Name */ - field_name: string; - /** Field Type */ - field_type: string; - /** Stored In Db */ - stored_in_db: boolean | null; - }; /** FunctionCall */ FunctionCall: { /** Arguments */ @@ -23031,15 +20728,6 @@ export interface components { */ team_member_permissions: string[] | null; }; - /** GlobalEndUsersSpend */ - GlobalEndUsersSpend: { - /** Api Key */ - api_key?: string | null; - /** Endtime */ - endTime?: string | null; - /** Starttime */ - startTime?: string | null; - }; /** * GraySwanGuardrailConfigModelOptionalParams * @description Optional parameters for the Gray Swan guardrail. @@ -23352,62 +21040,6 @@ export interface components { [key: string]: unknown; }; }; - /** InvitationClaim */ - InvitationClaim: { - /** Invitation Link */ - invitation_link: string; - /** Password */ - password: string; - /** User Id */ - user_id: string; - }; - /** InvitationDelete */ - InvitationDelete: { - /** Invitation Id */ - invitation_id: string; - }; - /** InvitationModel */ - InvitationModel: { - /** Accepted At */ - accepted_at: string | null; - /** - * Created At - * Format: date-time - */ - created_at: string; - /** Created By */ - created_by: string; - /** - * Expires At - * Format: date-time - */ - expires_at: string; - /** Id */ - id: string; - /** Is Accepted */ - is_accepted: boolean; - /** - * Updated At - * Format: date-time - */ - updated_at: string; - /** Updated By */ - updated_by: string; - /** User Id */ - user_id: string; - }; - /** InvitationNew */ - InvitationNew: { - /** User Id */ - user_id: string; - }; - /** InvitationUpdate */ - InvitationUpdate: { - /** Invitation Id */ - invitation_id: string; - /** Is Accepted */ - is_accepted: boolean; - }; /** JWTKeyMappingResponse */ JWTKeyMappingResponse: { /** @@ -23461,11 +21093,6 @@ export interface components { * @enum {string} */ KeyManagementRoutes: "/key/generate" | "/key/update" | "/key/delete" | "/key/regenerate" | "/key/service-account/generate" | "/key/{key_id}/regenerate" | "/key/block" | "/key/unblock" | "/key/bulk_update" | "/team/key/bulk_update" | "/key/{key_id}/reset_spend" | "/key/access_group_assignment" | "/key/info" | "/key/health" | "/key/list" | "/key/aliases" | "/team/daily/activity" | "/spend/logs" | "/spend/logs/v2"; - /** - * KeyManagementSystem - * @enum {string} - */ - KeyManagementSystem: "google_kms" | "azure_key_vault" | "aws_secret_manager" | "google_secret_manager" | "hashicorp_vault" | "cyberark" | "local" | "aws_kms" | "custom"; /** * KeyMetadata * @description Metadata for a key @@ -23737,7 +21364,8 @@ export interface components { }; /** * LiteLLM_DeletedTeamTable - * @description Audit record for deleted teams; mirrors the team plus deletion metadata. + * @description Recording of deleted teams for audit purposes. Mirrors LiteLLM_TeamTable + * plus metadata captured at deletion time. */ LiteLLM_DeletedTeamTable: { /** Access Group Ids */ @@ -23747,11 +21375,6 @@ export interface components { * @default [] */ admins: unknown[]; - /** - * Allow Team Guardrail Config - * @default false - */ - allow_team_guardrail_config: boolean | null; /** * Blocked * @default false @@ -23798,20 +21421,6 @@ export interface components { } | null; /** Model Id */ model_id?: number | null; - /** - * Model Max Budget - * @default {} - */ - model_max_budget: { - [key: string]: unknown; - } | null; - /** - * Model Spend - * @default {} - */ - model_spend: { - [key: string]: unknown; - } | null; /** * Models * @default [] @@ -23822,8 +21431,6 @@ export interface components { object_permission_id?: string | null; /** Organization Id */ organization_id?: string | null; - /** Policies */ - policies?: string[] | null; /** Router Settings */ router_settings?: { [key: string]: unknown; @@ -23847,7 +21454,8 @@ export interface components { }; /** * LiteLLM_DeletedVerificationToken - * @description Audit record for deleted keys; mirrors the token plus deletion metadata. + * @description Recording of deleted keys for audit purposes. Mirrors LiteLLM_VerificationToken + * plus metadata captured at deletion time. */ LiteLLM_DeletedVerificationToken: { /** Access Group Ids */ @@ -23880,8 +21488,6 @@ export interface components { blocked?: boolean | null; /** Budget Duration */ budget_duration?: string | null; - /** Budget Id */ - budget_id?: string | null; /** Budget Limits */ budget_limits?: { [key: string]: unknown; @@ -24027,6 +21633,129 @@ export interface components { /** User Id */ user_id: string; }; + /** + * LiteLLM_MCPServerTable + * @description Represents a LiteLLM_MCPServerTable record + */ + LiteLLM_MCPServerTable: { + /** Alias */ + alias?: string | null; + /** + * Allow All Keys + * @default false + */ + allow_all_keys: boolean; + /** Allowed Tools */ + allowed_tools?: string[]; + /** + * Approval Status + * @description Approval status: 'pending_review', 'active', 'rejected' + * @default active + */ + approval_status: string | null; + /** Args */ + args?: string[]; + /** Auth Type */ + auth_type?: ("none" | "api_key" | "bearer_token" | "basic" | "authorization" | "oauth2" | "aws_sigv4" | "token") | null; + /** Authorization Url */ + authorization_url?: string | null; + /** + * Available On Public Internet + * @default true + */ + available_on_public_internet: boolean; + /** Byok Api Key Help Url */ + byok_api_key_help_url?: string | null; + /** Byok Description */ + byok_description?: string[]; + /** Command */ + command?: string | null; + /** Created At */ + created_at?: string | null; + /** Created By */ + created_by?: string | null; + credentials?: components["schemas"]["MCPCredentials"] | null; + /** Description */ + description?: string | null; + /** Env */ + env?: { + [key: string]: string; + }; + /** Extra Headers */ + extra_headers?: string[]; + /** Has User Credential */ + has_user_credential?: boolean | null; + /** Health Check Error */ + health_check_error?: string | null; + /** Instructions */ + instructions?: string | null; + /** + * Is Byok + * @default false + */ + is_byok: boolean; + /** Last Health Check */ + last_health_check?: string | null; + /** Mcp Access Groups */ + mcp_access_groups?: string[]; + /** Mcp Info */ + mcp_info?: { + [key: string]: unknown; + } | null; + /** Registration Url */ + registration_url?: string | null; + /** Review Notes */ + review_notes?: string | null; + /** Reviewed At */ + reviewed_at?: string | null; + /** Server Id */ + server_id: string; + /** Server Name */ + server_name?: string | null; + /** Source Url */ + source_url?: string | null; + /** Spec Path */ + spec_path?: string | null; + /** Static Headers */ + static_headers?: { + [key: string]: string; + } | null; + /** + * Status + * @description Health status: 'healthy', 'unhealthy', 'unknown' + * @default unknown + */ + status: ("healthy" | "unhealthy" | "unknown") | null; + /** Submitted At */ + submitted_at?: string | null; + /** Submitted By */ + submitted_by?: string | null; + /** Teams */ + teams?: { + [key: string]: string | null; + }[]; + /** Token Url */ + token_url?: string | null; + /** Tool Name To Description */ + tool_name_to_description?: { + [key: string]: string; + } | null; + /** Tool Name To Display Name */ + tool_name_to_display_name?: { + [key: string]: string; + } | null; + /** + * Transport + * @enum {string} + */ + transport: "sse" | "http" | "stdio"; + /** Updated At */ + updated_at?: string | null; + /** Updated By */ + updated_by?: string | null; + /** Url */ + url?: string | null; + }; /** * LiteLLM_ManagedVectorStore * @description LiteLLM managed vector store object - this is is the object stored in the database @@ -24137,9 +21866,9 @@ export interface components { /** Id */ id?: number | null; /** Model Aliases */ - model_aliases?: string | { + model_aliases?: { [key: string]: unknown; - } | null; + } | string | null; team?: components["schemas"]["LiteLLM_TeamTable"] | null; /** Updated By */ updated_by: string; @@ -24205,11 +21934,6 @@ export interface components { } | null; /** Mcp Toolsets */ mcp_toolsets?: string[] | null; - /** - * Models - * @default [] - */ - models: string[] | null; /** Object Permission Id */ object_permission_id: string; /** @@ -24225,7 +21949,7 @@ export interface components { }; /** * LiteLLM_OrganizationMembershipTable - * @description Tracks which organizations a user belongs to and their spend within it. + * @description This is the table that track what organizations a user belongs to and users spend within the organization */ LiteLLM_OrganizationMembershipTable: { /** Budget Id */ @@ -24281,17 +22005,7 @@ export interface components { metadata?: { [key: string]: unknown; } | null; - /** - * Model Spend - * @default {} - */ - model_spend: { - [key: string]: unknown; - } | null; - /** - * Models - * @default [] - */ + /** Models */ models: string[]; object_permission?: components["schemas"]["LiteLLM_ObjectPermissionTable"] | null; /** Object Permission Id */ @@ -24347,8 +22061,6 @@ export interface components { auto_router_embedding_model?: string | null; /** Aws Access Key Id */ aws_access_key_id?: string | null; - /** Aws Bedrock Project Id */ - aws_bedrock_project_id?: string | null; /** Aws Bedrock Runtime Endpoint */ aws_bedrock_runtime_endpoint?: string | null; /** Aws Region Name */ @@ -24519,7 +22231,7 @@ export interface components { [key: string]: unknown; } | null; /** Stream Timeout */ - stream_timeout?: number | string | null; + stream_timeout?: string | number | null; /** Tag Regex */ tag_regex?: string[] | null; /** Tags */ @@ -24544,12 +22256,6 @@ export interface components { * @default false */ use_litellm_proxy: boolean | null; - /** - * Use Xai Oauth - * @description Use stored xAI OAuth credentials when no xAI API key is configured. - * @default false - */ - use_xai_oauth: boolean | null; /** Vector Store Id */ vector_store_id?: string | null; /** Vertex Credentials */ @@ -24580,7 +22286,7 @@ export interface components { /** Created At */ created_at?: string | null; /** Created By */ - created_by?: string | null; + created_by: string; /** Description */ description?: string | null; litellm_budget_table?: components["schemas"]["LiteLLM_BudgetTable"] | null; @@ -24622,35 +22328,7 @@ export interface components { /** Updated At */ updated_at?: string | null; /** Updated By */ - updated_by?: string | null; - }; - /** LiteLLM_ProxyModelTable */ - LiteLLM_ProxyModelTable: { - /** - * Blocked - * @default false - */ - blocked: boolean; - /** Created At */ - created_at?: string | null; - /** Created By */ - created_by?: string | null; - /** Litellm Params */ - litellm_params: { - [key: string]: unknown; - }; - /** Model Id */ - model_id: string; - /** Model Info */ - model_info?: { - [key: string]: unknown; - } | null; - /** Model Name */ - model_name: string; - /** Updated At */ - updated_at?: string | null; - /** Updated By */ - updated_by?: string | null; + updated_by: string; }; /** LiteLLM_SpendLogs */ LiteLLM_SpendLogs: { @@ -24754,11 +22432,6 @@ export interface components { * @default [] */ admins: unknown[]; - /** - * Allow Team Guardrail Config - * @default false - */ - allow_team_guardrail_config: boolean | null; /** * Blocked * @default false @@ -24795,20 +22468,6 @@ export interface components { } | null; /** Model Id */ model_id?: number | null; - /** - * Model Max Budget - * @default {} - */ - model_max_budget: { - [key: string]: unknown; - } | null; - /** - * Model Spend - * @default {} - */ - model_spend: { - [key: string]: unknown; - } | null; /** * Models * @default [] @@ -24819,8 +22478,6 @@ export interface components { object_permission_id?: string | null; /** Organization Id */ organization_id?: string | null; - /** Policies */ - policies?: string[] | null; /** Router Settings */ router_settings?: { [key: string]: unknown; @@ -24892,11 +22549,6 @@ export interface components { }; /** LiteLLM_UserTable */ LiteLLM_UserTable: { - /** - * Allowed Cache Controls - * @default [] - */ - allowed_cache_controls: string[]; /** Budget Duration */ budget_duration?: string | null; /** Budget Reset At */ @@ -24905,8 +22557,6 @@ export interface components { created_at?: string | null; /** Max Budget */ max_budget?: number | null; - /** Max Parallel Requests */ - max_parallel_requests?: number | null; /** Metadata */ metadata?: { [key: string]: unknown; @@ -24931,17 +22581,8 @@ export interface components { */ models: unknown[]; object_permission?: components["schemas"]["LiteLLM_ObjectPermissionTable"] | null; - /** Object Permission Id */ - object_permission_id?: string | null; - /** Organization Id */ - organization_id?: string | null; /** Organization Memberships */ organization_memberships?: components["schemas"]["LiteLLM_OrganizationMembershipTable"][] | null; - /** - * Policies - * @default [] - */ - policies: string[]; /** Rpm Limit */ rpm_limit?: number | null; /** @@ -24951,8 +22592,6 @@ export interface components { spend: number; /** Sso User Id */ sso_user_id?: string | null; - /** Team Id */ - team_id?: string | null; /** * Teams * @default [] @@ -24971,20 +22610,8 @@ export interface components { /** User Role */ user_role?: string | null; }; - /** LiteLLM_UserTableFiltered */ - LiteLLM_UserTableFiltered: { - /** User Email */ - user_email?: string | null; - /** User Id */ - user_id: string; - }; /** LiteLLM_UserTableWithKeyCount */ LiteLLM_UserTableWithKeyCount: { - /** - * Allowed Cache Controls - * @default [] - */ - allowed_cache_controls: string[]; /** Budget Duration */ budget_duration?: string | null; /** Budget Reset At */ @@ -24998,8 +22625,6 @@ export interface components { key_count: number; /** Max Budget */ max_budget?: number | null; - /** Max Parallel Requests */ - max_parallel_requests?: number | null; /** Metadata */ metadata?: { [key: string]: unknown; @@ -25024,17 +22649,8 @@ export interface components { */ models: unknown[]; object_permission?: components["schemas"]["LiteLLM_ObjectPermissionTable"] | null; - /** Object Permission Id */ - object_permission_id?: string | null; - /** Organization Id */ - organization_id?: string | null; /** Organization Memberships */ organization_memberships?: components["schemas"]["LiteLLM_OrganizationMembershipTable"][] | null; - /** - * Policies - * @default [] - */ - policies: string[]; /** Rpm Limit */ rpm_limit?: number | null; /** @@ -25044,8 +22660,6 @@ export interface components { spend: number; /** Sso User Id */ sso_user_id?: string | null; - /** Team Id */ - team_id?: string | null; /** * Teams * @default [] @@ -25096,8 +22710,6 @@ export interface components { blocked?: boolean | null; /** Budget Duration */ budget_duration?: string | null; - /** Budget Id */ - budget_id?: string | null; /** Budget Limits */ budget_limits?: { [key: string]: unknown; @@ -25897,6 +23509,64 @@ export interface components { */ status?: "healthy" | "unhealthy"; }; + /** MCPCredentials */ + MCPCredentials: { + /** Auth Value */ + auth_value?: string | null; + /** Aws Access Key Id */ + aws_access_key_id?: string | null; + /** Aws Region Name */ + aws_region_name?: string | null; + /** Aws Role Name */ + aws_role_name?: string | null; + /** Aws Secret Access Key */ + aws_secret_access_key?: string | null; + /** Aws Service Name */ + aws_service_name?: string | null; + /** Aws Session Name */ + aws_session_name?: string | null; + /** Aws Session Token */ + aws_session_token?: string | null; + /** Client Id */ + client_id?: string | null; + /** Client Secret */ + client_secret?: string | null; + /** Scopes */ + scopes?: string[] | null; + }; + /** + * MCPOAuthUserCredentialRequest + * @description Stores a user's OAuth2 token for an OpenAPI MCP server. + */ + MCPOAuthUserCredentialRequest: { + /** Access Token */ + access_token: string; + /** Expires In */ + expires_in?: number | null; + /** Refresh Token */ + refresh_token?: string | null; + /** Scopes */ + scopes?: string[] | null; + }; + /** + * MCPOAuthUserCredentialStatus + * @description Describes whether the calling user has a stored OAuth credential. + */ + MCPOAuthUserCredentialStatus: { + /** Connected At */ + connected_at?: string | null; + /** Expires At */ + expires_at?: string | null; + /** Has Credential */ + has_credential: boolean; + /** + * Is Expired + * @default false + */ + is_expired: boolean; + /** Server Id */ + server_id: string; + }; /** * MCPPublicServer * @description Safe params for public MCP servers @@ -25970,11 +23640,73 @@ export interface components { [key: string]: unknown; }; }; + /** MCPSubmissionsSummary */ + MCPSubmissionsSummary: { + /** Active */ + active: number; + /** Items */ + items: components["schemas"]["LiteLLM_MCPServerTable"][]; + /** Pending Review */ + pending_review: number; + /** Rejected */ + rejected: number; + /** Total */ + total: number; + }; + /** MCPToolsetTool */ + MCPToolsetTool: { + /** Server Id */ + server_id: string; + /** Tool Name */ + tool_name: string; + }; + /** + * MCPUserCredentialListItem + * @description One entry in the /user-credentials list. + */ + MCPUserCredentialListItem: { + /** Alias */ + alias?: string | null; + /** Connected At */ + connected_at?: string | null; + /** Credential Type */ + credential_type: string; + /** Expires At */ + expires_at?: string | null; + /** Has Credential */ + has_credential: boolean; + /** Server Id */ + server_id: string; + /** Server Name */ + server_name?: string | null; + }; + /** MCPUserCredentialRequest */ + MCPUserCredentialRequest: { + /** Credential */ + credential: string; + /** + * Save + * @default true + */ + save: boolean; + }; + /** MCPUserCredentialResponse */ + MCPUserCredentialResponse: { + /** Has Credential */ + has_credential: boolean; + /** Server Id */ + server_id: string; + }; /** MakeAgentsPublicRequest */ MakeAgentsPublicRequest: { /** Agent Ids */ agent_ids: string[]; }; + /** MakeMCPServersPublicRequest */ + MakeMCPServersPublicRequest: { + /** Mcp Server Ids */ + mcp_server_ids: string[]; + }; /** Member */ Member: { /** @@ -26178,21 +23910,41 @@ export interface components { /** Tpm */ tpm?: number | null; }; + /** ModelInfo */ + ModelInfo: { + /** Base Model */ + base_model?: string | null; + /** Blocked */ + blocked?: boolean | null; + /** Created At */ + created_at?: string | null; + /** Created By */ + created_by?: string | null; + /** + * Db Model + * @default false + */ + db_model: boolean; + /** Id */ + id: string | null; + /** Team Id */ + team_id?: string | null; + /** Team Public Model Name */ + team_public_model_name?: string | null; + /** Tier */ + tier?: ("free" | "paid") | null; + /** Updated At */ + updated_at?: string | null; + /** Updated By */ + updated_by?: string | null; + } & { + [key: string]: unknown; + }; /** ModelInfoDelete */ ModelInfoDelete: { /** Id */ id: string; }; - /** ModelParams */ - ModelParams: { - /** Litellm Params */ - litellm_params: { - [key: string]: unknown; - }; - model_info: components["schemas"]["litellm__proxy___types__ModelInfo"]; - /** Model Name */ - model_name: string; - }; /** ModelResponse */ ModelResponse: { /** Choices */ @@ -26289,6 +24041,118 @@ export interface components { /** User Id */ user_id: string; }; + /** NewMCPServerRequest */ + NewMCPServerRequest: { + /** Alias */ + alias?: string | null; + /** + * Allow All Keys + * @default false + */ + allow_all_keys: boolean; + /** Allowed Tools */ + allowed_tools?: string[] | null; + /** + * Approval Status + * @description Server-managed: set by the endpoint; caller values are overridden. + */ + approval_status?: string | null; + /** Args */ + args?: string[]; + /** Auth Type */ + auth_type?: ("none" | "api_key" | "bearer_token" | "basic" | "authorization" | "oauth2" | "aws_sigv4" | "token") | null; + /** Authorization Url */ + authorization_url?: string | null; + /** + * Available On Public Internet + * @default true + */ + available_on_public_internet: boolean; + /** Byok Api Key Help Url */ + byok_api_key_help_url?: string | null; + /** Byok Description */ + byok_description?: string[]; + /** Command */ + command?: string | null; + credentials?: components["schemas"]["MCPCredentials"] | null; + /** Description */ + description?: string | null; + /** Env */ + env?: { + [key: string]: string; + }; + /** Extra Headers */ + extra_headers?: string[] | null; + /** Instructions */ + instructions?: string | null; + /** + * Is Byok + * @default false + */ + is_byok: boolean; + /** Mcp Access Groups */ + mcp_access_groups?: string[]; + /** Mcp Info */ + mcp_info?: { + [key: string]: unknown; + } | null; + /** Oauth2 Flow */ + oauth2_flow?: ("client_credentials" | "authorization_code") | null; + /** Registration Url */ + registration_url?: string | null; + /** Server Id */ + server_id?: string | null; + /** Server Name */ + server_name?: string | null; + /** Source Url */ + source_url?: string | null; + /** Spec Path */ + spec_path?: string | null; + /** Static Headers */ + static_headers?: { + [key: string]: string; + } | null; + /** + * Submitted At + * @description Server-managed: set by the endpoint; caller values are overridden. + */ + submitted_at?: string | null; + /** + * Submitted By + * @description Server-managed: set by the endpoint; caller values are overridden. + */ + submitted_by?: string | null; + /** Token Url */ + token_url?: string | null; + /** Tool Name To Description */ + tool_name_to_description?: { + [key: string]: string; + } | null; + /** Tool Name To Display Name */ + tool_name_to_display_name?: { + [key: string]: string; + } | null; + /** + * Transport + * @default sse + * @enum {string} + */ + transport: "sse" | "http" | "stdio"; + /** Url */ + url?: string | null; + }; + /** NewMCPToolsetRequest */ + NewMCPToolsetRequest: { + /** Description */ + description?: string | null; + /** + * Tools + * @default [] + */ + tools: components["schemas"]["MCPToolsetTool"][]; + /** Toolset Name */ + toolset_name: string; + }; /** NewModelGroupRequest */ NewModelGroupRequest: { /** Access Group */ @@ -26370,17 +24234,7 @@ export interface components { metadata?: { [key: string]: unknown; } | null; - /** - * Model Spend - * @default {} - */ - model_spend: { - [key: string]: unknown; - } | null; - /** - * Models - * @default [] - */ + /** Models */ models: string[]; object_permission?: components["schemas"]["LiteLLM_ObjectPermissionTable"] | null; /** Object Permission Id */ @@ -26485,7 +24339,7 @@ export interface components { */ created_at: string; /** Created By */ - created_by?: string | null; + created_by: string; /** Description */ description?: string | null; litellm_budget_table?: components["schemas"]["LiteLLM_BudgetTable"] | null; @@ -26530,7 +24384,7 @@ export interface components { */ updated_at: string; /** Updated By */ - updated_by?: string | null; + updated_by: string; }; /** NewTeamRequest */ NewTeamRequest: { @@ -27143,11 +24997,6 @@ export interface components { * @description The URL to which requests for this path should be forwarded. */ target: string; - /** - * Timeout - * @description Upstream request timeout in seconds for this pass-through endpoint. If unset, uses general_settings.pass_through_request_timeout (default 600). - */ - timeout?: number | null; }; /** * PassThroughGuardrailSettings @@ -28600,6 +26449,11 @@ export interface components { */ version: string | null; }; + /** RejectMCPServerRequest */ + RejectMCPServerRequest: { + /** Review Notes */ + review_notes?: string | null; + }; /** ResetSpendRequest */ ResetSpendRequest: { /** Reset To */ @@ -29277,13 +27131,6 @@ export interface components { /** Model */ model?: string | null; }; - /** - * SupportedDBObjectType - * @description Supported database object types for fine-grained DB storage control. - * Use in general_settings.supported_db_objects to specify which objects to load from DB. - * @enum {string} - */ - SupportedDBObjectType: "models" | "mcp" | "guardrails" | "policies" | "vector_stores" | "pass_through_endpoints" | "prompts" | "model_cost_map" | "tools" | "config_overrides"; /** SupportedEndpoint */ SupportedEndpoint: { /** Endpoint */ @@ -29425,11 +27272,6 @@ export interface components { * @default [] */ admins: unknown[]; - /** - * Allow Team Guardrail Config - * @default false - */ - allow_team_guardrail_config: boolean | null; /** * Blocked * @default false @@ -29466,20 +27308,6 @@ export interface components { } | null; /** Model Id */ model_id?: number | null; - /** - * Model Max Budget - * @default {} - */ - model_max_budget: { - [key: string]: unknown; - } | null; - /** - * Model Spend - * @default {} - */ - model_spend: { - [key: string]: unknown; - } | null; /** * Models * @default [] @@ -29490,8 +27318,6 @@ export interface components { object_permission_id?: string | null; /** Organization Id */ organization_id?: string | null; - /** Policies */ - policies?: string[] | null; /** Router Settings */ router_settings?: { [key: string]: unknown; @@ -29535,11 +27361,6 @@ export interface components { * @default [] */ admins: unknown[]; - /** - * Allow Team Guardrail Config - * @default false - */ - allow_team_guardrail_config: boolean | null; /** * Blocked * @default false @@ -29586,20 +27407,6 @@ export interface components { } | null; /** Model Id */ model_id?: number | null; - /** - * Model Max Budget - * @default {} - */ - model_max_budget: { - [key: string]: unknown; - } | null; - /** - * Model Spend - * @default {} - */ - model_spend: { - [key: string]: unknown; - } | null; /** * Models * @default [] @@ -29610,8 +27417,6 @@ export interface components { object_permission_id?: string | null; /** Organization Id */ organization_id?: string | null; - /** Policies */ - policies?: string[] | null; /** Router Settings */ router_settings?: { [key: string]: unknown; @@ -29769,11 +27574,6 @@ export interface components { * @description List of models this team member can access. Pass an empty list to remove per-member model restrictions. */ allowed_models?: string[] | null; - /** - * Budget Duration - * @description Duration after which this team member's budget resets (e.g. '1h', '24h', '7d', '30d'). If not set, the budget never resets. - */ - budget_duration?: string | null; /** Max Budget In Team */ max_budget_in_team?: number | null; /** Role */ @@ -29799,8 +27599,6 @@ export interface components { TeamMemberUpdateResponse: { /** Allowed Models */ allowed_models?: string[] | null; - /** Budget Duration */ - budget_duration?: string | null; /** Max Budget In Team */ max_budget_in_team?: number | null; /** Rpm Limit */ @@ -30408,6 +28206,100 @@ export interface components { /** User Id */ user_id?: string | null; }; + /** UpdateMCPServerRequest */ + UpdateMCPServerRequest: { + /** Alias */ + alias?: string | null; + /** + * Allow All Keys + * @default false + */ + allow_all_keys: boolean; + /** Allowed Tools */ + allowed_tools?: string[] | null; + /** Args */ + args?: string[]; + /** Auth Type */ + auth_type?: ("none" | "api_key" | "bearer_token" | "basic" | "authorization" | "oauth2" | "aws_sigv4" | "token") | null; + /** Authorization Url */ + authorization_url?: string | null; + /** + * Available On Public Internet + * @default true + */ + available_on_public_internet: boolean; + /** Byok Api Key Help Url */ + byok_api_key_help_url?: string | null; + /** Byok Description */ + byok_description?: string[]; + /** Command */ + command?: string | null; + credentials?: components["schemas"]["MCPCredentials"] | null; + /** Description */ + description?: string | null; + /** Env */ + env?: { + [key: string]: string; + }; + /** Extra Headers */ + extra_headers?: string[] | null; + /** Instructions */ + instructions?: string | null; + /** + * Is Byok + * @default false + */ + is_byok: boolean; + /** Mcp Access Groups */ + mcp_access_groups?: string[]; + /** Mcp Info */ + mcp_info?: { + [key: string]: unknown; + } | null; + /** Registration Url */ + registration_url?: string | null; + /** Server Id */ + server_id: string; + /** Server Name */ + server_name?: string | null; + /** Source Url */ + source_url?: string | null; + /** Spec Path */ + spec_path?: string | null; + /** Static Headers */ + static_headers?: { + [key: string]: string; + } | null; + /** Token Url */ + token_url?: string | null; + /** Tool Name To Description */ + tool_name_to_description?: { + [key: string]: string; + } | null; + /** Tool Name To Display Name */ + tool_name_to_display_name?: { + [key: string]: string; + } | null; + /** + * Transport + * @default sse + * @enum {string} + */ + transport: "sse" | "http" | "stdio"; + /** Url */ + url?: string | null; + }; + /** UpdateMCPToolsetRequest */ + UpdateMCPToolsetRequest: { + /** Description */ + description?: string | null; + /** Tools */ + tools?: components["schemas"]["MCPToolsetTool"][] | null; + /** Toolset Id */ + toolset_id: string; + /** Toolset Name */ + toolset_name?: string | null; + }; /** UpdateModelGroupRequest */ UpdateModelGroupRequest: { /** Model Ids */ @@ -31008,8 +28900,6 @@ export interface components { blocked?: boolean | null; /** Budget Duration */ budget_duration?: string | null; - /** Budget Id */ - budget_id?: string | null; /** Budget Limits */ budget_limits?: { [key: string]: unknown; @@ -31229,19 +29119,6 @@ export interface components { /** User Tpm Limit */ user_tpm_limit?: number | null; }; - /** - * UserHeaderMapping - * @description Map an incoming HTTP header to a LiteLLM user role. - */ - UserHeaderMapping: { - /** Header Name */ - header_name: string; - /** - * Litellm User Role - * @enum {string} - */ - litellm_user_role: "internal_user" | "customer"; - }; /** UserInfoResponse */ UserInfoResponse: { /** Keys */ @@ -31566,68 +29443,12 @@ export interface components { /** Status */ status?: ("pending" | "running" | "paused" | "completed" | "failed") | null; }; - /** ModelInfo */ - litellm__proxy___types__ModelInfo: { - /** Base Model */ - base_model: ("gpt-4-1106-preview" | "gpt-4-32k" | "gpt-4" | "gpt-3.5-turbo-16k" | "gpt-3.5-turbo" | "text-embedding-ada-002") | null; - /** Id */ - id: string | null; - /** - * Input Cost Per Token - * @default 0 - */ - input_cost_per_token: number | null; - /** - * Max Tokens - * @default 2048 - */ - max_tokens: number | null; - /** Mode */ - mode: ("embedding" | "chat" | "completion") | null; - /** - * Output Cost Per Token - * @default 0 - */ - output_cost_per_token: number | null; - } & { - [key: string]: unknown; - }; - /** ModelInfo */ - litellm__types__router__ModelInfo: { - /** Base Model */ - base_model?: string | null; - /** Blocked */ - blocked?: boolean | null; - /** Created At */ - created_at?: string | null; - /** Created By */ - created_by?: string | null; - /** - * Db Model - * @default false - */ - db_model: boolean; - /** Id */ - id: string | null; - /** Team Id */ - team_id?: string | null; - /** Team Public Model Name */ - team_public_model_name?: string | null; - /** Tier */ - tier?: ("free" | "paid") | null; - /** Updated At */ - updated_at?: string | null; - /** Updated By */ - updated_by?: string | null; - } & { - [key: string]: unknown; - }; /** updateDeployment */ updateDeployment: { /** Blocked */ blocked?: boolean | null; litellm_params?: components["schemas"]["updateLiteLLMParams"] | null; - model_info?: components["schemas"]["litellm__types__router__ModelInfo"] | null; + model_info?: components["schemas"]["ModelInfo"] | null; /** Model Name */ model_name?: string | null; }; @@ -31655,8 +29476,6 @@ export interface components { auto_router_embedding_model?: string | null; /** Aws Access Key Id */ aws_access_key_id?: string | null; - /** Aws Bedrock Project Id */ - aws_bedrock_project_id?: string | null; /** Aws Bedrock Runtime Endpoint */ aws_bedrock_runtime_endpoint?: string | null; /** Aws Region Name */ @@ -31827,7 +29646,7 @@ export interface components { [key: string]: unknown; } | null; /** Stream Timeout */ - stream_timeout?: number | string | null; + stream_timeout?: string | number | null; /** Tag Regex */ tag_regex?: string[] | null; /** Tags */ @@ -31852,12 +29671,6 @@ export interface components { * @default false */ use_litellm_proxy: boolean | null; - /** - * Use Xai Oauth - * @description Use stored xAI OAuth credentials when no xAI API key is configured. - * @default false - */ - use_xai_oauth: boolean | null; /** Vector Store Id */ vector_store_id?: string | null; /** Vertex Credentials */ @@ -32307,26 +30120,6 @@ export interface operations { }; }; }; - alerting_settings_alerting_settings_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; anthropic_proxy_route_anthropic__endpoint__get: { parameters: { query?: never; @@ -34733,39 +32526,6 @@ export interface operations { }; }; }; - delete_callback_config_callback_delete_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["CallbackDelete"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; get_cost_discount_config_config_cost_discount_config_get: { parameters: { query?: never; @@ -34878,134 +32638,6 @@ export interface operations { }; }; }; - delete_config_general_settings_config_field_delete_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["ConfigFieldDelete"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_config_general_settings_config_field_info_get: { - parameters: { - query: { - field_name: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ConfigFieldInfo"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - update_config_general_settings_config_field_update_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["ConfigFieldUpdate"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_config_list_config_list_get: { - parameters: { - query: { - config_type: "general_settings"; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["ConfigList"][]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; get_pass_through_endpoints_config_pass_through_endpoint_get: { parameters: { query?: { @@ -35170,72 +32802,6 @@ export interface operations { }; }; }; - update_config_config_update_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["ConfigYAML"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - config_yaml_endpoint_config_yaml_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["ConfigYAML"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; get_hashicorp_vault_config_config_overrides_hashicorp_vault_get: { parameters: { query?: never; @@ -36257,102 +33823,6 @@ export interface operations { }; }; }; - get_memory_details_debug_memory_details_get: { - parameters: { - query?: { - /** @description Number of top object types to return */ - top_n?: number; - /** @description Include process memory info */ - include_process_info?: boolean; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - [key: string]: unknown; - }; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - configure_gc_thresholds_endpoint_debug_memory_gc_configure_post: { - parameters: { - query?: { - /** @description Generation 0 threshold (default: 700) */ - generation_0?: number; - /** @description Generation 1 threshold (default: 10) */ - generation_1?: number; - /** @description Generation 2 threshold (default: 10) */ - generation_2?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - [key: string]: unknown; - }; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_memory_summary_debug_memory_summary_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - [key: string]: unknown; - }; - }; - }; - }; - }; delete_allowed_ip_delete_allowed_ip_post: { parameters: { query?: never; @@ -36559,261 +34029,6 @@ export interface operations { }; }; }; - block_user_end_user_block_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["BlockUsers"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_customer_daily_activity_end_user_daily_activity_get: { - parameters: { - query?: { - end_user_ids?: string | null; - start_date?: string | null; - end_date?: string | null; - model?: string | null; - api_key?: string | null; - page?: number; - page_size?: number; - exclude_end_user_ids?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - delete_end_user_end_user_delete_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["DeleteCustomerRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - end_user_info_end_user_info_get: { - parameters: { - query: { - /** @description End User ID in the request parameters */ - end_user_id: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - list_end_user_end_user_list_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - new_end_user_end_user_new_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["NewCustomerRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - unblock_user_end_user_unblock_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["BlockUsers"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - update_end_user_end_user_update_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["UpdateCustomerRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; chat_completion_engines__model__chat_completions_post: { parameters: { query?: never; @@ -37336,26 +34551,6 @@ export interface operations { }; }; }; - fallback_login_fallback_login_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; get_fallback_fallback__model__get: { parameters: { query?: { @@ -37876,46 +35071,6 @@ export interface operations { }; }; }; - get_allowed_ips_get_allowed_ips_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - get_config_get_config_callbacks_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; get_default_team_settings_get_default_team_settings_get: { parameters: { query?: never; @@ -38036,483 +35191,6 @@ export interface operations { }; }; }; - get_favicon_get_favicon_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - get_image_get_image_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - get_logo_url_get_logo_url_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - get_global_activity_global_activity_get: { - parameters: { - query?: { - /** @description Time from which to start viewing spend */ - start_date?: string | null; - /** @description Time till which to view spend */ - end_date?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_global_activity_global_activity_cache_hits_get: { - parameters: { - query?: { - /** @description Time from which to start viewing spend */ - start_date?: string | null; - /** @description Time till which to view spend */ - end_date?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_global_activity_exceptions_global_activity_exceptions_get: { - parameters: { - query: { - /** @description Filter by model group */ - model_group: string; - /** @description Time from which to start viewing spend */ - start_date?: string | null; - /** @description Time till which to view spend */ - end_date?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_global_activity_exceptions_per_deployment_global_activity_exceptions_deployment_get: { - parameters: { - query: { - /** @description Filter by model group */ - model_group: string; - /** @description Time from which to start viewing spend */ - start_date?: string | null; - /** @description Time till which to view spend */ - end_date?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_global_activity_model_global_activity_model_get: { - parameters: { - query?: { - /** @description Time from which to start viewing spend */ - start_date?: string | null; - /** @description Time till which to view spend */ - end_date?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - global_view_all_end_users_global_all_end_users_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - global_spend_global_spend_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - global_get_all_tag_names_global_spend_all_tag_names_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; - }; - }; - }; - }; - global_spend_end_users_global_spend_end_users_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["GlobalEndUsersSpend"] | null; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - global_spend_keys_global_spend_keys_get: { - parameters: { - query?: { - /** @description Number of keys to get. Will return Top 'n' keys. */ - limit?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - global_spend_logs_global_spend_logs_get: { - parameters: { - query?: { - /** @description API Key to get global spend (spend per day for last 30d). Admin-only endpoint */ - api_key?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - global_spend_models_global_spend_models_get: { - parameters: { - query?: { - /** @description Number of models to get. Will return Top 'n' models. */ - limit?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_global_spend_provider_global_spend_provider_get: { - parameters: { - query?: { - /** @description Time from which to start viewing spend */ - start_date?: string | null; - /** @description Time till which to view spend */ - end_date?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - global_spend_refresh_global_spend_refresh_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; get_global_spend_report_global_spend_report_get: { parameters: { query?: { @@ -38613,26 +35291,6 @@ export interface operations { }; }; }; - global_spend_per_team_global_spend_teams_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; create_guardrail_guardrails_post: { parameters: { query?: never; @@ -39601,7 +36259,7 @@ export interface operations { parameters: { query: { /** @description Specify the service being hit. */ - service: ("slack_budget_alerts" | "langfuse" | "langfuse_otel" | "slack" | "openmeter" | "webhook" | "email" | "braintrust" | "datadog" | "datadog_llm_observability" | "generic_api" | "arize" | "galileo" | "newrelic" | "sqs") | string; + service: ("slack_budget_alerts" | "langfuse" | "langfuse_otel" | "slack" | "openmeter" | "webhook" | "email" | "braintrust" | "datadog" | "datadog_llm_observability" | "generic_api" | "arize" | "sqs") | string; }; header?: never; path?: never; @@ -39881,136 +36539,6 @@ export interface operations { }; }; }; - invitation_delete_invitation_delete_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["InvitationDelete"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["InvitationModel"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - invitation_info_invitation_info_get: { - parameters: { - query: { - invitation_id: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["InvitationModel"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - new_invitation_invitation_new_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["InvitationNew"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["InvitationModel"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - invitation_update_invitation_update_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["InvitationUpdate"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["InvitationModel"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; delete_jwt_key_mapping_jwt_key_mapping_delete_post: { parameters: { query?: never; @@ -40852,16 +37380,38 @@ export interface operations { }; }; }; - warm_lazy_warm__name__post: { + get_ui_config_litellm__well_known_litellm_ui_config_get: { parameters: { query?: never; header?: never; - path: { - name: string; - }; + path?: never; cookie?: never; }; requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UiDiscoveryEndpoints"]; + }; + }; + }; + }; + test_connection_mcp_rest_test_connection_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["NewMCPServerRequest"]; + }; + }; responses: { /** @description Successful Response */ 200: { @@ -40883,14 +37433,18 @@ export interface operations { }; }; }; - get_ui_config_litellm__well_known_litellm_ui_config_get: { + test_tools_list_mcp_rest_test_tools_list_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; - requestBody?: never; + requestBody: { + content: { + "application/json": components["schemas"]["NewMCPServerRequest"]; + }; + }; responses: { /** @description Successful Response */ 200: { @@ -40898,12 +37452,21 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": components["schemas"]["UiDiscoveryEndpoints"]; + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; - login_login_post: { + call_tool_rest_api_mcp_rest_tools_call_post: { parameters: { query?: never; header?: never; @@ -40923,9 +37486,12 @@ export interface operations { }; }; }; - memory_usage_in_mem_cache_memory_usage_in_mem_cache_get: { + list_tool_rest_api_mcp_rest_tools_list_get: { parameters: { - query?: never; + query?: { + /** @description The server id to list tools for */ + server_id?: string | null; + }; header?: never; path?: never; cookie?: never; @@ -40938,27 +37504,18 @@ export interface operations { [name: string]: unknown; }; content: { - "application/json": unknown; + "application/json": { + [key: string]: unknown; + }; }; }; - }; - }; - memory_usage_in_mem_cache_items_memory_usage_in_mem_cache_items_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { + /** @description Validation Error */ + 422: { headers: { [name: string]: unknown; }; content: { - "application/json": unknown; + "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; @@ -41273,62 +37830,6 @@ export interface operations { }; }; }; - block_model_model_block_post: { - parameters: { - query?: never; - header?: { - /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ - "litellm-changed-by"?: string | null; - }; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["BlockModelRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_ProxyModelTable"] | null; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - get_model_cost_map_source_model_cost_map_source_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; delete_model_model_delete_post: { parameters: { query?: never; @@ -41366,115 +37867,6 @@ export interface operations { parameters: { query?: { litellm_model_id?: string | null; - /** @description When true, filter to deployments the caller can use via direct access or team membership. */ - include_team_models?: boolean | null; - /** @description Filter models by team ID. Returns models with direct_access=True or teamId in access_via_team_ids */ - teamId?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - model_metrics_model_metrics_get: { - parameters: { - query?: { - _selected_model_group?: string | null; - startTime?: string | null; - endTime?: string | null; - api_key?: string | null; - customer?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - model_metrics_exceptions_model_metrics_exceptions_get: { - parameters: { - query?: { - _selected_model_group?: string | null; - startTime?: string | null; - endTime?: string | null; - api_key?: string | null; - customer?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - model_metrics_slow_responses_model_metrics_slow_responses_get: { - parameters: { - query?: { - _selected_model_group?: string | null; - startTime?: string | null; - endTime?: string | null; - api_key?: string | null; - customer?: string | null; }; header?: never; path?: never; @@ -41535,95 +37927,6 @@ export interface operations { }; }; }; - model_settings_model_settings_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - model_streaming_metrics_model_streaming_metrics_get: { - parameters: { - query?: { - _selected_model_group?: string | null; - startTime?: string | null; - endTime?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - unblock_model_model_unblock_post: { - parameters: { - query?: never; - header?: { - /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ - "litellm-changed-by"?: string | null; - }; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["BlockModelRequest"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_ProxyModelTable"] | null; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; update_model_model_update_post: { parameters: { query?: never; @@ -41799,7 +38102,6 @@ export interface operations { include_metadata?: boolean | null; fallback_type?: string | null; scope?: string | null; - healthy_only?: boolean | null; }; header?: never; path?: never; @@ -41991,70 +38293,6 @@ export interface operations { }; }; }; - claim_onboarding_link_onboarding_claim_token_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["InvitationClaim"]; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - onboarding_onboarding_get_token_get: { - parameters: { - query: { - invite_link: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; chat_completion_openai_deployments__model__chat_completions_post: { parameters: { query?: never; @@ -42299,17 +38537,7 @@ export interface operations { "application/json": components["schemas"]["ErrorResponse"]; }; }; - /** - * @description Unified rate-limit error. - * - * Every rate-limit condition surfaced by litellm — whether it originated from - * an upstream LLM provider, a vendor batch endpoint, or one of litellm's own - * proxy-side limiters (parallel-requests, dynamic-rate, batch-rate, budget, - * max-iterations, etc.) — is raised as an instance of this class. - * - * The :attr:`category` attribute lets callers distinguish the source. See - * :class:`RateLimitErrorCategory` for the available values. - */ + /** @description RateLimitError */ 429: { headers: { [name: string]: unknown; @@ -43390,26 +39618,6 @@ export interface operations { }; }; }; - get_otel_spans_otel_spans_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; create_policy_policies_post: { parameters: { query?: never; @@ -44981,37 +41189,6 @@ export interface operations { }; }; }; - async_queue_request_queue_chat_completions_post: { - parameters: { - query?: { - model?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; rag_ingest_rag_ingest_post: { parameters: { query?: never; @@ -45110,46 +41287,6 @@ export interface operations { }; }; }; - reload_anthropic_beta_headers_reload_anthropic_beta_headers_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - reload_model_cost_map_reload_model_cost_map_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; rerank_rerank_post: { parameters: { query?: never; @@ -45432,148 +41569,6 @@ export interface operations { }; }; }; - schedule_anthropic_beta_headers_reload_schedule_anthropic_beta_headers_reload_post: { - parameters: { - query: { - hours: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - cancel_anthropic_beta_headers_reload_schedule_anthropic_beta_headers_reload_delete: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - get_anthropic_beta_headers_reload_status_schedule_anthropic_beta_headers_reload_status_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - schedule_model_cost_map_reload_schedule_model_cost_map_reload_post: { - parameters: { - query: { - hours: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - cancel_model_cost_map_reload_schedule_model_cost_map_reload_delete: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - get_model_cost_map_reload_status_schedule_model_cost_map_reload_status_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; get_scim_base_scim_v2_get: { parameters: { query?: { @@ -46522,26 +42517,6 @@ export interface operations { }; }; }; - spend_key_fn_spend_keys_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; view_spend_logs_spend_logs_get: { parameters: { query?: { @@ -46584,148 +42559,6 @@ export interface operations { }; }; }; - ui_view_session_spend_logs_spend_logs_session_ui_get: { - parameters: { - query: { - /** @description Get all spend logs for a particular session */ - session_id: string; - /** @description Page number for pagination */ - page?: number; - /** @description Number of items per page */ - page_size?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - ui_view_spend_logs_spend_logs_ui_get: { - parameters: { - query?: { - /** @description Get spend logs based on api key */ - api_key?: string | null; - /** @description Get spend logs based on user_id */ - user_id?: string | null; - /** @description request_id to get spend logs for specific request_id */ - request_id?: string | null; - /** @description Filter spend logs by team_id */ - team_id?: string | null; - /** @description Filter logs with spend greater than or equal to this value */ - min_spend?: number | null; - /** @description Filter logs with spend less than or equal to this value */ - max_spend?: number | null; - /** @description Time from which to start viewing key spend */ - start_date?: string | null; - /** @description Time till which to view key spend */ - end_date?: string | null; - /** @description Page number for pagination */ - page?: number; - /** @description Number of items per page */ - page_size?: number; - /** @description Filter logs by status (e.g., success, failure) */ - status_filter?: string | null; - /** @description Filter logs by model */ - model?: string | null; - /** @description Filter logs by model ID (litellm model deployment id) */ - model_id?: string | null; - /** @description Filter logs by model group */ - model_group?: string | null; - /** @description Filter logs by key alias */ - key_alias?: string | null; - /** @description Filter logs by end user */ - end_user?: string | null; - /** @description Filter logs by error code (e.g., '404', '500') */ - error_code?: string | null; - /** @description Filter logs by error message (partial string match) */ - error_message?: string | null; - /** @description Sort logs by field: spend, total_tokens, startTime, endTime, request_duration_ms, model, or ttft_ms */ - sort_by?: string; - /** @description Sort order: asc or desc */ - sort_order?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - ui_view_request_response_for_request_id_spend_logs_ui__request_id__get: { - parameters: { - query?: { - /** @description Time from which to start viewing key spend */ - start_date?: string | null; - /** @description Time till which to view key spend */ - end_date?: string | null; - }; - header?: never; - path: { - request_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; ui_view_spend_logs_spend_logs_v2_get: { parameters: { query?: { @@ -46832,249 +42665,6 @@ export interface operations { }; }; }; - spend_user_fn_spend_users_get: { - parameters: { - query?: { - /** @description Get User Table row for user_id */ - user_id?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - auth_callback_sso_callback_get: { - parameters: { - query?: { - state?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - cli_sso_complete_sso_cli_complete__login_id__post: { - parameters: { - query?: never; - header?: never; - path: { - login_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - cli_poll_key_sso_cli_poll__key_id__get: { - parameters: { - query?: { - team_id?: string | null; - }; - header?: { - "x-litellm-cli-poll-secret"?: string | null; - }; - path: { - key_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - cli_sso_start_sso_cli_start_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - debug_sso_callback_sso_debug_callback_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - debug_sso_login_sso_debug_login_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - get_ui_settings_sso_get_ui_settings_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - google_login_sso_key_generate_get: { - parameters: { - query?: { - source?: string | null; - key?: string | null; - existing_key?: string | null; - return_to?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; sso_readiness_sso_readiness_get: { parameters: { query?: never; @@ -47667,44 +43257,6 @@ export interface operations { }; }; }; - ui_view_teams_team_filter_ui_get: { - parameters: { - query?: { - /** @description Team ID in the request parameters */ - team_id?: string | null; - /** @description Team alias in the request parameters */ - team_alias?: string | null; - /** @description Page number for pagination */ - page?: number; - /** @description Number of items per page */ - page_size?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_TeamTable"][]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; team_info_team_info_get: { parameters: { query?: { @@ -48955,26 +44507,6 @@ export interface operations { }; }; }; - ui_get_available_role_user_available_roles_get: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; available_enterprise_users_user_available_users_get: { parameters: { query?: never; @@ -49155,46 +44687,6 @@ export interface operations { }; }; }; - ui_view_users_user_filter_ui_get: { - parameters: { - query?: { - /** @description User ID in the request parameters */ - user_id?: string | null; - /** @description User email in the request parameters */ - user_email?: string | null; - /** @description Team ID — used when a team admin searches for users to add to their team */ - team_id?: string | null; - /** @description Page number for pagination */ - page?: number; - /** @description Number of items per page */ - page_size?: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["LiteLLM_UserTableFiltered"][]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; user_info_user_info_get: { parameters: { query?: { @@ -51565,6 +47057,866 @@ export interface operations { }; }; }; + get_mcp_access_groups_v1_mcp_access_groups_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + discover_mcp_servers_v1_mcp_discover_get: { + parameters: { + query?: { + /** @description Search filter for server names and descriptions */ + query?: string | null; + /** @description Filter by category */ + category?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + make_mcp_servers_public_v1_mcp_make_public_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MakeMCPServersPublicRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_client_ip_v1_mcp_network_client_ip_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + get_openapi_registry_v1_mcp_openapi_registry_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + get_mcp_registry_v1_mcp_registry_json_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + fetch_all_mcp_servers_v1_mcp_server_get: { + parameters: { + query?: { + /** @description Filter MCP servers by team scope. When provided, returns only servers the team has access to plus globally available (allow_all_keys) servers. Used by the Create Key UI to show team-scoped MCP servers. */ + team_id?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_MCPServerTable"][]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + edit_mcp_server_v1_mcp_server_put: { + parameters: { + query?: never; + header?: { + /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ + "litellm-changed-by"?: string | null; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UpdateMCPServerRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_MCPServerTable"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + add_mcp_server_v1_mcp_server_post: { + parameters: { + query?: never; + header?: { + /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ + "litellm-changed-by"?: string | null; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["NewMCPServerRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_MCPServerTable"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + health_check_servers_v1_mcp_server_health_get: { + parameters: { + query?: { + /** @description Server IDs to check. If not provided, checks all accessible servers. */ + server_ids?: string[] | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + add_session_mcp_server_v1_mcp_server_oauth_session_post: { + parameters: { + query?: never; + header?: { + /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ + "litellm-changed-by"?: string | null; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["NewMCPServerRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + register_mcp_server_v1_mcp_server_register_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["NewMCPServerRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_MCPServerTable"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_mcp_server_submissions_v1_mcp_server_submissions_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MCPSubmissionsSummary"]; + }; + }; + }; + }; + fetch_mcp_server_v1_mcp_server__server_id__get: { + parameters: { + query?: never; + header?: never; + path: { + server_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_MCPServerTable"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + remove_mcp_server_v1_mcp_server__server_id__delete: { + parameters: { + query?: never; + header?: { + /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ + "litellm-changed-by"?: string | null; + }; + path: { + server_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + approve_mcp_server_submission_v1_mcp_server__server_id__approve_put: { + parameters: { + query?: never; + header?: never; + path: { + server_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_MCPServerTable"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + store_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_post: { + parameters: { + query?: never; + header?: never; + path: { + server_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MCPOAuthUserCredentialRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MCPOAuthUserCredentialStatus"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + delete_mcp_oauth_user_credential_v1_mcp_server__server_id__oauth_user_credential_delete: { + parameters: { + query?: never; + header?: never; + path: { + server_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MCPOAuthUserCredentialStatus"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_mcp_oauth_user_credential_status_v1_mcp_server__server_id__oauth_user_credential_status_get: { + parameters: { + query?: never; + header?: never; + path: { + server_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MCPOAuthUserCredentialStatus"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + reject_mcp_server_submission_v1_mcp_server__server_id__reject_put: { + parameters: { + query?: never; + header?: never; + path: { + server_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RejectMCPServerRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_MCPServerTable"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + store_mcp_user_credential_v1_mcp_server__server_id__user_credential_post: { + parameters: { + query?: never; + header?: never; + path: { + server_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MCPUserCredentialRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MCPUserCredentialResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + delete_mcp_user_credential_v1_mcp_server__server_id__user_credential_delete: { + parameters: { + query?: never; + header?: never; + path: { + server_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MCPUserCredentialResponse"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_mcp_tools_v1_mcp_tools_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + fetch_mcp_toolsets_v1_mcp_toolset_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + edit_mcp_toolset_v1_mcp_toolset_put: { + parameters: { + query?: never; + header?: { + "litellm-changed-by"?: string | null; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UpdateMCPToolsetRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + add_mcp_toolset_v1_mcp_toolset_post: { + parameters: { + query?: never; + header?: { + "litellm-changed-by"?: string | null; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["NewMCPToolsetRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + fetch_mcp_toolset_v1_mcp_toolset__toolset_id__get: { + parameters: { + query?: never; + header?: never; + path: { + toolset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + remove_mcp_toolset_v1_mcp_toolset__toolset_id__delete: { + parameters: { + query?: never; + header?: { + "litellm-changed-by"?: string | null; + }; + path: { + toolset_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + list_mcp_user_credentials_v1_mcp_user_credentials_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MCPUserCredentialListItem"][]; + }; + }; + }; + }; list_memory_v1_memory_get: { parameters: { query?: { @@ -51775,10 +48127,6 @@ export interface operations { parameters: { query?: { litellm_model_id?: string | null; - /** @description When true, filter to deployments the caller can use via direct access or team membership. */ - include_team_models?: boolean | null; - /** @description Filter models by team ID. Returns models with direct_access=True or teamId in access_via_team_ids */ - teamId?: string | null; }; header?: never; path?: never; @@ -51816,7 +48164,6 @@ export interface operations { include_metadata?: boolean | null; fallback_type?: string | null; scope?: string | null; - healthy_only?: boolean | null; }; header?: never; path?: never; @@ -54082,110 +50429,6 @@ export interface operations { }; }; }; - info_key_fn_v2_v2_key_info_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["KeyRequest"] | null; - }; - }; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - login_v2_v2_login_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - model_info_v2_v2_model_info_get: { - parameters: { - query?: { - /** @description Specify the model name (optional) */ - model?: string | null; - /** @description Only return models added by this user */ - user_models_only?: boolean | null; - /** @description Return all models across all teams user is in. */ - include_team_models?: boolean | null; - debug?: boolean | null; - /** @description Page number */ - page?: number; - /** @description Page size */ - size?: number; - /** @description Search model names (case-insensitive partial match) */ - search?: string | null; - /** @description Search for a specific model by its unique ID */ - modelId?: string | null; - /** @description Filter models by team ID. Returns models with direct_access=True or teamId in access_via_team_ids */ - teamId?: string | null; - /** @description Field to sort by. Options: model_name, created_at, updated_at, costs, status */ - sortBy?: string | null; - /** @description Sort order. Options: asc, desc */ - sortOrder?: string | null; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; rerank_v2_rerank_post: { parameters: { query?: never; @@ -54288,46 +50531,6 @@ export interface operations { }; }; }; - login_v3_v3_login_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; - login_v3_exchange_v3_login_exchange_post: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - }; - }; delete_vantage_settings_vantage_delete_delete: { parameters: { query?: never; @@ -55032,161 +51235,6 @@ export interface operations { }; }; }; - vertex_proxy_route_vertex_ai__endpoint__get_2: { - parameters: { - query?: never; - header?: never; - path: { - endpoint: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - vertex_proxy_route_vertex_ai__endpoint__put_2: { - parameters: { - query?: never; - header?: never; - path: { - endpoint: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - vertex_proxy_route_vertex_ai__endpoint__post_2: { - parameters: { - query?: never; - header?: never; - path: { - endpoint: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - vertex_proxy_route_vertex_ai__endpoint__delete_2: { - parameters: { - query?: never; - header?: never; - path: { - endpoint: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; - vertex_proxy_route_vertex_ai__endpoint__patch_2: { - parameters: { - query?: never; - header?: never; - path: { - endpoint: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": unknown; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; vertex_discovery_proxy_route_vertex_ai_discovery__endpoint__get: { parameters: { query?: never; From 56f38f06e73a73dcb57dd6a2a1b8b38e24ea0a1b Mon Sep 17 00:00:00 2001 From: Dushyant Acharya Date: Sun, 14 Jun 2026 04:57:30 +0530 Subject: [PATCH 6/7] fix: revert schema files against correct base branch (litellm_internal_staging) --- ...odel_prices_and_context_window_backup.json | 348 +- ui/litellm-dashboard/src/lib/http/schema.d.ts | 5999 ++++++++++++++++- 2 files changed, 6287 insertions(+), 60 deletions(-) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index 757aacf1caf..76a7c0640af 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -4409,6 +4409,23 @@ "/v1/audio/transcriptions" ] }, + "azure/gpt-realtime-whisper": { + "input_cost_per_second": 0.0002833333333333333, + "litellm_provider": "azure", + "mode": "audio_transcription", + "source": "https://learn.microsoft.com/en-us/azure/ai-foundry/openai/concepts/gpt-realtime-whisper", + "supported_endpoints": [ + "/v1/realtime", + "/v1/realtime/transcription_sessions" + ], + "supported_modalities": [ + "audio" + ], + "supported_output_modalities": [ + "text" + ], + "supports_audio_input": true + }, "azure/gpt-5.1-2025-11-13": { "cache_read_input_token_cost": 1.25e-07, "cache_read_input_token_cost_priority": 2.5e-07, @@ -7064,6 +7081,43 @@ "/v1/images/generations" ] }, + "azure_ai/MAI-Image-2.5": { + "input_cost_per_image_token": 8e-06, + "input_cost_per_token": 5e-06, + "litellm_provider": "azure_ai", + "mode": "image_generation", + "output_cost_per_image": 0.05, + "output_cost_per_image_token": 4.7e-05, + "source": "https://techcommunity.microsoft.com/blog/azure-ai-foundry-blog/new-mai-models-in-microsoft-foundry-across-text-image-voice-and-speech/4524632", + "supported_endpoints": [ + "/v1/images/generations", + "/v1/images/edits" + ] + }, + "azure_ai/MAI-Image-2.5-Flash": { + "input_cost_per_image_token": 1.75e-06, + "input_cost_per_token": 1.75e-06, + "litellm_provider": "azure_ai", + "mode": "image_generation", + "output_cost_per_image": 0.0338, + "output_cost_per_image_token": 3.3e-05, + "source": "https://techcommunity.microsoft.com/blog/azure-ai-foundry-blog/new-mai-models-in-microsoft-foundry-across-text-image-voice-and-speech/4524632", + "supported_endpoints": [ + "/v1/images/generations", + "/v1/images/edits" + ] + }, + "azure_ai/MAI-Image-2e": { + "input_cost_per_token": 5e-06, + "litellm_provider": "azure_ai", + "mode": "image_generation", + "output_cost_per_image": 0.02, + "output_cost_per_image_token": 1.95e-05, + "source": "https://aka.ms/mai-image-2e-foundryblog", + "supported_endpoints": [ + "/v1/images/generations" + ] + }, "azure_ai/Llama-3.2-11B-Vision-Instruct": { "input_cost_per_token": 3.7e-07, "litellm_provider": "azure_ai", @@ -7520,6 +7574,45 @@ "supports_function_calling": true, "supports_tool_choice": true }, + "azure_ai/deepseek-v3.1": { + "input_cost_per_token": 1.23e-06, + "litellm_provider": "azure_ai", + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "max_tokens": 131072, + "mode": "chat", + "output_cost_per_token": 4.94e-06, + "source": "https://azure.microsoft.com/en-us/pricing/details/ai-foundry-models/deepseek/", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "azure_ai/deepseek-v4-pro": { + "input_cost_per_token": 1.74e-06, + "litellm_provider": "azure_ai", + "max_input_tokens": 1000000, + "max_output_tokens": 384000, + "max_tokens": 384000, + "mode": "chat", + "output_cost_per_token": 3.48e-06, + "source": "https://azure.microsoft.com/en-us/pricing/details/ai-foundry-models/deepseek/", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, + "azure_ai/deepseek-v4-flash": { + "input_cost_per_token": 1.9e-07, + "litellm_provider": "azure_ai", + "max_input_tokens": 1000000, + "max_output_tokens": 384000, + "max_tokens": 384000, + "mode": "chat", + "output_cost_per_token": 5.1e-07, + "source": "https://azure.microsoft.com/en-us/pricing/details/ai-foundry-models/deepseek/", + "supports_function_calling": true, + "supports_reasoning": true, + "supports_tool_choice": true + }, "azure_ai/embed-v-4-0": { "input_cost_per_token": 1.2e-07, "litellm_provider": "azure_ai", @@ -14498,10 +14591,10 @@ "mode": "chat", "output_cost_per_token": 4.4e-06, "source": "https://fireworks.ai/models/fireworks/glm-5p1", - "supports_function_calling": false, + "supports_function_calling": true, "supports_reasoning": true, - "supports_response_schema": false, - "supports_tool_choice": false + "supports_response_schema": true, + "supports_tool_choice": true }, "fireworks_ai/accounts/fireworks/models/gpt-oss-120b": { "input_cost_per_token": 1.5e-07, @@ -14779,10 +14872,10 @@ "mode": "chat", "output_cost_per_token": 4.4e-06, "source": "https://fireworks.ai/models/fireworks/glm-5p1", - "supports_function_calling": false, + "supports_function_calling": true, "supports_reasoning": true, - "supports_response_schema": false, - "supports_tool_choice": false + "supports_response_schema": true, + "supports_tool_choice": true }, "fireworks_ai/kimi-k2p5": { "cache_read_input_token_cost": 1e-07, @@ -24355,9 +24448,12 @@ "max_output_tokens": 8192 }, "minimax/MiniMax-M3": { - "input_cost_per_token": 6e-07, - "output_cost_per_token": 2.4e-06, - "cache_read_input_token_cost": 1.2e-07, + "input_cost_per_token": 3e-07, + "input_cost_per_token_above_512k_tokens": 6e-07, + "output_cost_per_token": 1.2e-06, + "output_cost_per_token_above_512k_tokens": 2.4e-06, + "cache_read_input_token_cost": 6e-08, + "cache_read_input_token_cost_above_512k_tokens": 1.2e-07, "litellm_provider": "minimax", "mode": "chat", "supports_function_calling": true, @@ -24366,7 +24462,7 @@ "supports_reasoning": true, "supports_system_messages": true, "supports_vision": true, - "max_input_tokens": 512000, + "max_input_tokens": 1000000, "max_output_tokens": 128000 }, "mistral.devstral-2-123b": { @@ -35756,7 +35852,17 @@ "max_input_tokens": 32000, "max_tokens": 32000, "mode": "embedding", - "output_cost_per_token": 0.0 + "output_cost_per_token": 0.0, + "supports_vision": true + }, + "voyage/voyage-multimodal-3.5": { + "input_cost_per_token": 1.2e-07, + "litellm_provider": "voyage", + "max_input_tokens": 32000, + "max_tokens": 32000, + "mode": "embedding", + "output_cost_per_token": 0.0, + "supports_vision": true }, "wandb/openai/gpt-oss-120b": { "max_tokens": 131072, @@ -40876,6 +40982,23 @@ "supports_system_messages": true, "supports_tool_choice": true }, + "gpt-realtime-whisper": { + "input_cost_per_second": 0.0002833333333333333, + "litellm_provider": "openai", + "mode": "audio_transcription", + "source": "https://platform.openai.com/docs/models/gpt-realtime-whisper", + "supported_endpoints": [ + "/v1/realtime", + "/v1/realtime/transcription_sessions" + ], + "supported_modalities": [ + "audio" + ], + "supported_output_modalities": [ + "text" + ], + "supports_audio_input": true + }, "sora-2": { "litellm_provider": "openai", "mode": "video_generation", @@ -41609,6 +41732,7 @@ "max_output_tokens": 128000, "max_tokens": 128000, "mode": "responses", + "use_openai_responses_path": true, "supported_endpoints": ["/v1/responses"], "supported_modalities": ["text", "image"], "supported_output_modalities": ["text"], @@ -41628,6 +41752,7 @@ "max_output_tokens": 128000, "max_tokens": 128000, "mode": "responses", + "use_openai_responses_path": true, "supported_endpoints": ["/v1/responses"], "supported_modalities": ["text", "image"], "supported_output_modalities": ["text"], @@ -41638,6 +41763,48 @@ "supports_tool_choice": true, "supports_vision": true }, + "bedrock_mantle/google.gemma-4-31b": { + "input_cost_per_token": 1.4e-07, + "output_cost_per_token": 4e-07, + "litellm_provider": "bedrock_mantle", + "max_input_tokens": 256000, + "max_output_tokens": 256000, + "max_tokens": 256000, + "mode": "chat", + "supports_function_calling": true, + "supports_parallel_function_calling": false, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "bedrock_mantle/google.gemma-4-26b-a4b": { + "input_cost_per_token": 1.3e-07, + "output_cost_per_token": 4e-07, + "litellm_provider": "bedrock_mantle", + "max_input_tokens": 256000, + "max_output_tokens": 256000, + "max_tokens": 256000, + "mode": "chat", + "supports_function_calling": true, + "supports_parallel_function_calling": false, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true + }, + "bedrock_mantle/google.gemma-4-e2b": { + "input_cost_per_token": 4e-08, + "output_cost_per_token": 8e-08, + "litellm_provider": "bedrock_mantle", + "max_input_tokens": 128000, + "max_output_tokens": 128000, + "max_tokens": 128000, + "mode": "chat", + "supports_function_calling": true, + "supports_parallel_function_calling": false, + "supports_reasoning": true, + "supports_tool_choice": true, + "supports_vision": true + }, "volcengine/doubao-seed-2-0-pro-260215": { "litellm_provider": "volcengine", "max_input_tokens": 256000, @@ -41929,5 +42096,164 @@ "/v1/audio/transcriptions" ], "supports_audio_input": true + }, + "tensormesh/Qwen/Qwen3.5-397B-A17B-FP8": { + "litellm_provider": "tensormesh", + "mode": "chat", + "input_cost_per_token": 6e-07, + "output_cost_per_token": 3.6e-06, + "cache_read_input_token_cost": 0, + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_prompt_caching": true, + "supports_system_messages": true, + "supports_reasoning": true, + "source": "https://serverless.tensormesh.ai/v1/models/openrouter" + }, + "tensormesh/Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": { + "litellm_provider": "tensormesh", + "mode": "chat", + "input_cost_per_token": 4.5e-07, + "output_cost_per_token": 1.8e-06, + "cache_read_input_token_cost": 0, + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_prompt_caching": true, + "supports_system_messages": true, + "source": "https://serverless.tensormesh.ai/v1/models/openrouter" + }, + "tensormesh/Qwen/Qwen3.6-27B-FP8": { + "litellm_provider": "tensormesh", + "mode": "chat", + "input_cost_per_token": 3.2e-07, + "output_cost_per_token": 3.2e-06, + "cache_read_input_token_cost": 0, + "max_input_tokens": 262144, + "max_output_tokens": 262144, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_prompt_caching": true, + "supports_system_messages": true, + "supports_reasoning": true, + "source": "https://serverless.tensormesh.ai/v1/models/openrouter" + }, + "tensormesh/lukealonso/GLM-5.1-NVFP4-MTP": { + "litellm_provider": "tensormesh", + "mode": "chat", + "input_cost_per_token": 1.4e-06, + "output_cost_per_token": 4.4e-06, + "cache_read_input_token_cost": 0, + "max_input_tokens": 202752, + "max_output_tokens": 202752, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_prompt_caching": true, + "supports_system_messages": true, + "supports_reasoning": true, + "source": "https://serverless.tensormesh.ai/v1/models/openrouter" + }, + "tensormesh/deepseek-ai/DeepSeek-V4-Flash": { + "litellm_provider": "tensormesh", + "mode": "chat", + "input_cost_per_token": 1.4e-07, + "output_cost_per_token": 2.8e-07, + "cache_read_input_token_cost": 0, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_prompt_caching": true, + "supports_system_messages": true, + "supports_reasoning": true, + "source": "https://serverless.tensormesh.ai/v1/models/openrouter" + }, + "tensormesh/moonshotai/Kimi-K2.6": { + "litellm_provider": "tensormesh", + "mode": "chat", + "input_cost_per_token": 9.6e-07, + "output_cost_per_token": 4e-06, + "cache_read_input_token_cost": 0, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_prompt_caching": true, + "supports_system_messages": true, + "supports_reasoning": true, + "source": "https://serverless.tensormesh.ai/v1/models/openrouter" + }, + "tensormesh/MiniMaxAI/MiniMax-M2.5": { + "litellm_provider": "tensormesh", + "mode": "chat", + "input_cost_per_token": 3e-07, + "output_cost_per_token": 1.2e-06, + "cache_read_input_token_cost": 0, + "max_input_tokens": 196608, + "max_output_tokens": 196608, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_prompt_caching": true, + "supports_system_messages": true, + "supports_reasoning": true, + "source": "https://serverless.tensormesh.ai/v1/models/openrouter" + }, + "tensormesh/google/gemma-4-31B-it": { + "litellm_provider": "tensormesh", + "mode": "chat", + "input_cost_per_token": 1.4e-07, + "output_cost_per_token": 5.6e-07, + "cache_read_input_token_cost": 0, + "max_input_tokens": 32768, + "max_output_tokens": 32768, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_prompt_caching": true, + "supports_system_messages": true, + "supports_reasoning": true, + "source": "https://serverless.tensormesh.ai/v1/models/openrouter" + }, + "tensormesh/openai/gpt-oss-120b": { + "litellm_provider": "tensormesh", + "mode": "chat", + "input_cost_per_token": 1.5e-07, + "output_cost_per_token": 6e-07, + "cache_read_input_token_cost": 0, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_prompt_caching": true, + "supports_system_messages": true, + "supports_reasoning": true, + "source": "https://serverless.tensormesh.ai/v1/models/openrouter" + }, + "tensormesh/openai/gpt-oss-20b": { + "litellm_provider": "tensormesh", + "mode": "chat", + "input_cost_per_token": 7e-08, + "output_cost_per_token": 2.8e-07, + "cache_read_input_token_cost": 0, + "max_input_tokens": 131072, + "max_output_tokens": 131072, + "supports_function_calling": true, + "supports_tool_choice": true, + "supports_response_schema": true, + "supports_prompt_caching": true, + "supports_system_messages": true, + "supports_reasoning": true, + "source": "https://serverless.tensormesh.ai/v1/models/openrouter" } } \ No newline at end of file diff --git a/ui/litellm-dashboard/src/lib/http/schema.d.ts b/ui/litellm-dashboard/src/lib/http/schema.d.ts index d14ec8af56b..d95a918a3b0 100644 --- a/ui/litellm-dashboard/src/lib/http/schema.d.ts +++ b/ui/litellm-dashboard/src/lib/http/schema.d.ts @@ -436,6 +436,26 @@ export interface paths { patch?: never; trace?: never; }; + "/alerting/settings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Alerting Settings + * @description Return the configurable alerting param, description, and current value + */ + get: operations["alerting_settings_alerting_settings_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/anthropic/{endpoint}": { parameters: { query?: never; @@ -1770,6 +1790,26 @@ export interface paths { patch?: never; trace?: never; }; + "/config/callback/delete": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Delete Callback + * @description Delete specific logging callback from configuration. + */ + post: operations["delete_callback_config_callback_delete_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/config/cost_discount_config": { parameters: { query?: never; @@ -1851,6 +1891,83 @@ export interface paths { patch: operations["update_cost_margin_config_config_cost_margin_config_patch"]; trace?: never; }; + "/config/field/delete": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Delete Config General Settings + * @description Delete the db value of this field in litellm general settings. Resets it to it's initial default value on litellm. + */ + post: operations["delete_config_general_settings_config_field_delete_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/config/field/info": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Config General Settings */ + get: operations["get_config_general_settings_config_field_info_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/config/field/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Update Config General Settings + * @description Update a specific field in litellm general settings + */ + post: operations["update_config_general_settings_config_field_update_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/config/list": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Config List + * @description List the available fields + current values for a given type of setting (currently just 'general_settings'user_api_key_dict: UserAPIKeyAuth = Depends(user_api_key_auth),) + */ + get: operations["get_config_list_config_list_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/config/pass_through_endpoint": { parameters: { query?: never; @@ -1925,6 +2042,64 @@ export interface paths { patch?: never; trace?: never; }; + "/config/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Update Config + * @description For Admin UI - allows admin to update config via UI. + * + * Writes only the sections present in the request body to LiteLLM_Config rows + * (one row per top-level section). Sections the caller did not send are left + * untouched — this endpoint never persists pre-existing YAML values to DB as + * a side effect of an unrelated update. + */ + post: operations["update_config_config_update_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/config/yaml": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Config Yaml Endpoint + * @description This is a mock endpoint, to show what you can set in config.yaml details in the Swagger UI. + * + * Parameters: + * + * The config.yaml object has the following attributes: + * - **model_list**: *Optional[List[ModelParams]]* - A list of supported models on the server, along with model-specific configurations. ModelParams includes "model_name" (name of the model), "litellm_params" (litellm-specific parameters for the model), and "model_info" (additional info about the model such as id, mode, cost per token, etc). + * + * - **litellm_settings**: *Optional[dict]*: Settings for the litellm module. You can specify multiple properties like "drop_params", "set_verbose", "api_base", "cache". + * + * - **general_settings**: *Optional[ConfigGeneralSettings]*: General settings for the server like "completion_model" (default model for chat completion calls), "use_azure_key_vault" (option to load keys from azure key vault), "master_key" (key required for all calls to proxy), and others. + * + * Please, refer to each class's description for a better understanding of the specific attributes within them. + * + * Note: This is a mock endpoint primarily meant for demonstration purposes, and does not actually provide or change any configurations. + */ + get: operations["config_yaml_endpoint_config_yaml_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/config_overrides/hashicorp_vault": { parameters: { query?: never; @@ -2764,6 +2939,120 @@ export interface paths { patch?: never; trace?: never; }; + "/debug/memory/details": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Memory Details + * @description Get detailed memory diagnostics for deep debugging. + * + * Returns: + * - worker_pid: Process ID + * - process_memory: RAM usage, virtual memory, file handles, threads + * - garbage_collector: GC thresholds, counts, collection history + * - objects: Total tracked objects and top object types + * - uncollectable: Objects that can't be garbage collected (potential leaks) + * - cache_memory: Memory usage of user_api_key, router, and logging caches + * - router_memory: Memory usage of router components (model_list, deployment_names, etc.) + * + * Query Parameters: + * - top_n: Number of top object types to return (default: 20) + * - include_process_info: Include process-level memory info using psutil (default: true) + * + * Example usage: + * curl "http://localhost:4000/debug/memory/details?top_n=30" -H "Authorization: Bearer sk-1234" + * + * All memory sizes are reported in both bytes and MB. + */ + get: operations["get_memory_details_debug_memory_details_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/debug/memory/gc/configure": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Configure Gc Thresholds Endpoint + * @description Configure Python garbage collection thresholds. + * + * Lower thresholds mean more frequent GC cycles (less memory, more CPU overhead). + * Higher thresholds mean less frequent GC cycles (more memory, less CPU overhead). + * + * Returns: + * - message: Confirmation message + * - previous_thresholds: Old threshold values + * - new_thresholds: New threshold values + * - objects_awaiting_collection: Current object count in gen-0 + * - tip: Hint about when next collection will occur + * + * Query Parameters: + * - generation_0: Number of allocations before gen-0 collection (default: 700) + * - generation_1: Number of gen-0 collections before gen-1 collection (default: 10) + * - generation_2: Number of gen-1 collections before gen-2 collection (default: 10) + * + * Example for more aggressive collection: + * curl -X POST "http://localhost:4000/debug/memory/gc/configure?generation_0=500" -H "Authorization: Bearer sk-1234" + * + * Example for less aggressive collection: + * curl -X POST "http://localhost:4000/debug/memory/gc/configure?generation_0=1000" -H "Authorization: Bearer sk-1234" + * + * Monitor memory usage with GET /debug/memory/summary after changes. + */ + post: operations["configure_gc_thresholds_endpoint_debug_memory_gc_configure_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/debug/memory/summary": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Memory Summary + * @description Get simplified memory usage summary for the proxy. + * + * Returns: + * - worker_pid: Process ID + * - status: Overall health based on memory usage + * - memory: Process memory usage and RAM info + * - caches: Cache item counts and descriptions + * - garbage_collector: GC status and pending object counts + * + * Example usage: + * curl http://localhost:4000/debug/memory/summary -H "Authorization: Bearer sk-1234" + * + * For detailed analysis, call GET /debug/memory/details + * For cache management, use the cache management endpoints + */ + get: operations["get_memory_summary_debug_memory_summary_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/delete/allowed_ip": { parameters: { query?: never; @@ -2855,6 +3144,312 @@ export interface paths { patch?: never; trace?: never; }; + "/end_user/block": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Block User + * @description [BETA] Reject calls with this end-user id + * + * Parameters: + * - user_ids (List[str], required): The unique `user_id`s for the users to block + * + * (any /chat/completion call with this user={end-user-id} param, will be rejected.) + * + * ``` + * curl -X POST "http://0.0.0.0:8000/user/block" + * -H "Authorization: Bearer sk-1234" + * -d '{ + * "user_ids": [, ...] + * }' + * ``` + */ + post: operations["block_user_end_user_block_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/end_user/daily/activity": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Customer Daily Activity + * @description Get daily activity for specific organizations or all accessible organizations. + */ + get: operations["get_customer_daily_activity_end_user_daily_activity_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/end_user/delete": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Delete End User + * @description Delete multiple end-users. + * + * Parameters: + * - user_ids (List[str], required): The unique `user_id`s for the users to delete + * + * Example curl: + * ``` + * curl --location 'http://0.0.0.0:4000/customer/delete' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ + * "user_ids" :["ishaan-jaff-5"] + * }' + * + * See below for all params + * ``` + */ + post: operations["delete_end_user_end_user_delete_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/end_user/info": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * End User Info + * @description Get information about an end-user. An `end_user` is a customer (external user) of the proxy. + * + * Parameters: + * - end_user_id (str, required): The unique identifier for the end-user + * + * Example curl: + * ``` + * curl -X GET 'http://localhost:4000/customer/info?end_user_id=test-litellm-user-4' -H 'Authorization: Bearer sk-1234' + * ``` + */ + get: operations["end_user_info_end_user_info_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/end_user/list": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List End User + * @description [Admin-only] List all available customers + * + * Example curl: + * ``` + * curl --location --request GET 'http://0.0.0.0:4000/customer/list' --header 'Authorization: Bearer sk-1234' + * ``` + */ + get: operations["list_end_user_end_user_list_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/end_user/new": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * New End User + * @description Allow creating a new Customer + * + * + * Parameters: + * - user_id: str - The unique identifier for the user. + * - alias: Optional[str] - A human-friendly alias for the user. + * - blocked: bool - Flag to allow or disallow requests for this end-user. Default is False. + * - max_budget: Optional[float] - The maximum budget allocated to the user. Either 'max_budget' or 'budget_id' should be provided, not both. + * - budget_id: Optional[str] - The identifier for an existing budget allocated to the user. Either 'max_budget' or 'budget_id' should be provided, not both. + * - allowed_model_region: Optional[Union[Literal["eu"], Literal["us"]]] - Require all user requests to use models in this specific region. + * - default_model: Optional[str] - If no equivalent model in the allowed region, default all requests to this model. + * - metadata: Optional[dict] = Metadata for customer, store information for customer. Example metadata = {"data_training_opt_out": True} + * - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). + * - tpm_limit: Optional[int] - [Not Implemented Yet] Specify tpm limit for a given customer (Tokens per minute) + * - rpm_limit: Optional[int] - [Not Implemented Yet] Specify rpm limit for a given customer (Requests per minute) + * - model_max_budget: Optional[dict] - [Not Implemented Yet] Specify max budget for a given model. Example: {"openai/gpt-4o-mini": {"max_budget": 100.0, "budget_duration": "1d"}} + * - max_parallel_requests: Optional[int] - [Not Implemented Yet] Specify max parallel requests for a given customer. + * - soft_budget: Optional[float] - [Not Implemented Yet] Get alerts when customer crosses given budget, doesn't block requests. + * - spend: Optional[float] - Specify initial spend for a given customer. + * - budget_reset_at: Optional[str] - Specify the date and time when the budget should be reset. + * - object_permission: Optional[LiteLLM_ObjectPermissionBase] - Customer-specific object permissions to control access to resources. + * Supported fields: + * * mcp_servers: List[str] - List of allowed MCP server IDs + * * mcp_access_groups: List[str] - List of MCP access group names + * * mcp_tool_permissions: Dict[str, List[str]] - Map of server ID to allowed tool names (e.g., {"server_1": ["tool_a", "tool_b"]}) + * * vector_stores: List[str] - List of allowed vector store IDs + * * agents: List[str] - List of allowed agent IDs + * * agent_access_groups: List[str] - List of agent access group names + * Example: {"mcp_servers": ["server_1", "server_2"], "vector_stores": ["vector_store_1"], "agents": ["agent_1"]} + * IF null or {} then no object-level restrictions apply. + * + * + * - Allow specifying allowed regions + * - Allow specifying default model + * + * Example curl: + * ``` + * curl --location 'http://0.0.0.0:4000/customer/new' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ + * "user_id" : "ishaan-jaff-3", + * "allowed_region": "eu", + * "budget_id": "free_tier", + * "default_model": "azure/gpt-3.5-turbo-eu" + * }' + * + * # With object permissions + * curl -L -X POST 'http://localhost:4000/customer/new' -H 'Authorization: Bearer sk-1234' -H 'Content-Type: application/json' -d '{ + * "user_id": "user_1", + * "object_permission": { + * "mcp_servers": ["server_1"], + * "mcp_access_groups": ["public_group"], + * "vector_stores": ["vector_store_1"] + * } + * }' + * + * # return end-user object + * ``` + * + * NOTE: This used to be called `/end_user/new`, we will still be maintaining compatibility for /end_user/XXX for these endpoints + */ + post: operations["new_end_user_end_user_new_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/end_user/unblock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Unblock User + * @description [BETA] Unblock calls with this user id + * + * Example + * ``` + * curl -X POST "http://0.0.0.0:8000/user/unblock" + * -H "Authorization: Bearer sk-1234" + * -d '{ + * "user_ids": [, ...] + * }' + * ``` + */ + post: operations["unblock_user_end_user_unblock_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/end_user/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Update End User + * @description Example curl + * + * Parameters: + * - user_id: str + * - alias: Optional[str] = None # human-friendly alias + * - blocked: bool = False # allow/disallow requests for this end-user + * - max_budget: Optional[float] = None + * - budget_id: Optional[str] = None # give either a budget_id or max_budget + * - allowed_model_region: Optional[AllowedModelRegion] = ( + * None # require all user requests to use models in this specific region + * ) + * - default_model: Optional[str] = ( + * None # if no equivalent model in allowed region - default all requests to this model + * ) + * - object_permission: Optional[LiteLLM_ObjectPermissionBase] - Customer-specific object permissions to control access to resources. + * Supported fields: + * * mcp_servers: List[str] - List of allowed MCP server IDs + * * mcp_access_groups: List[str] - List of MCP access group names + * * mcp_tool_permissions: Dict[str, List[str]] - Map of server ID to allowed tool names + * * vector_stores: List[str] - List of allowed vector store IDs + * * agents: List[str] - List of allowed agent IDs + * * agent_access_groups: List[str] - List of agent access group names + * Example: {"mcp_servers": ["server_1"], "vector_stores": ["vector_store_1"]} + * IF null or {} then no object-level restrictions apply. + * + * Example curl: + * ``` + * curl --location 'http://0.0.0.0:4000/customer/update' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ + * "user_id": "test-litellm-user-4", + * "budget_id": "paid_tier" + * }' + * + * # Updating object permissions + * curl -L -X POST 'http://localhost:4000/customer/update' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ + * "user_id": "user_1", + * "object_permission": { + * "mcp_servers": ["server_3"], + * "vector_stores": ["vector_store_2", "vector_store_3"] + * } + * }' + * + * See below for all params + * ``` + */ + post: operations["update_end_user_end_user_update_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/engines/{model}/chat/completions": { parameters: { query?: never; @@ -3010,6 +3605,28 @@ export interface paths { patch?: never; trace?: never; }; + "/fallback/login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fallback Login + * @description Create Proxy API Keys using Google Workspace SSO. Requires setting PROXY_BASE_URL in .env + * PROXY_BASE_URL should be the your deployed proxy endpoint, e.g. PROXY_BASE_URL="https://litellm-production-7002.up.railway.app/" + * Example: + */ + get: operations["fallback_login_fallback_login_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/fallback/{model}": { parameters: { query?: never; @@ -3296,6 +3913,44 @@ export interface paths { patch: operations["gemini_proxy_route_gemini__endpoint__patch"]; trace?: never; }; + "/get/allowed_ips": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Allowed Ips */ + get: operations["get_allowed_ips_get_allowed_ips_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/get/config/callbacks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Config + * @description For Admin UI - allows admin to view config via UI + * # return the callbacks and the env variables for the callback + */ + get: operations["get_config_get_config_callbacks_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/get/default_team_settings": { parameters: { query?: never; @@ -3425,6 +4080,508 @@ export interface paths { patch?: never; trace?: never; }; + "/get_favicon": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Favicon + * @description Get custom favicon for the admin UI. + */ + get: operations["get_favicon_get_favicon_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/get_image": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Image + * @description Get logo to show on admin UI + */ + get: operations["get_image_get_image_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/get_logo_url": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Logo Url + * @description Get the current logo URL from environment. + * + * Only HTTP(S) URLs are returned — those are intended to be loaded + * directly by the browser from a public/internal CDN. Local file + * paths set via ``UI_LOGO_PATH`` are NOT returned: they are admin- + * only filesystem details, the dashboard falls back to ``/get_image`` + * which serves the file only when it is a supported image. Without + * this filter, the unauthenticated endpoint would disclose internal + * hostnames or filesystem paths to any caller. + */ + get: operations["get_logo_url_get_logo_url_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/activity": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Global Activity + * @description Get number of API Requests, total tokens through proxy + * + * { + * "daily_data": [ + * const chartdata = [ + * { + * date: 'Jan 22', + * api_requests: 10, + * total_tokens: 2000 + * }, + * { + * date: 'Jan 23', + * api_requests: 10, + * total_tokens: 12 + * }, + * ], + * "sum_api_requests": 20, + * "sum_total_tokens": 2012 + * } + */ + get: operations["get_global_activity_global_activity_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/activity/cache_hits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Global Activity + * @description Get number of cache hits, vs misses + * + * { + * "daily_data": [ + * const chartdata = [ + * { + * date: 'Jan 22', + * cache_hits: 10, + * llm_api_calls: 2000 + * }, + * { + * date: 'Jan 23', + * cache_hits: 10, + * llm_api_calls: 12 + * }, + * ], + * "sum_cache_hits": 20, + * "sum_llm_api_calls": 2012 + * } + */ + get: operations["get_global_activity_global_activity_cache_hits_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/activity/exceptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Global Activity Exceptions + * @description Get number of API Requests, total tokens through proxy + * + * { + * "daily_data": [ + * const chartdata = [ + * { + * date: 'Jan 22', + * num_rate_limit_exceptions: 10, + * }, + * { + * date: 'Jan 23', + * num_rate_limit_exceptions: 10, + * }, + * ], + * "sum_api_exceptions": 20, + * } + */ + get: operations["get_global_activity_exceptions_global_activity_exceptions_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/activity/exceptions/deployment": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Global Activity Exceptions Per Deployment + * @description Get number of 429 errors - Grouped by deployment + * + * [ + * { + * "deployment": "https://azure-us-east-1.openai.azure.com/", + * "daily_data": [ + * const chartdata = [ + * { + * date: 'Jan 22', + * num_rate_limit_exceptions: 10 + * }, + * { + * date: 'Jan 23', + * num_rate_limit_exceptions: 12 + * }, + * ], + * "sum_num_rate_limit_exceptions": 20, + * + * }, + * { + * "deployment": "https://azure-us-east-1.openai.azure.com/", + * "daily_data": [ + * const chartdata = [ + * { + * date: 'Jan 22', + * num_rate_limit_exceptions: 10, + * }, + * { + * date: 'Jan 23', + * num_rate_limit_exceptions: 12 + * }, + * ], + * "sum_num_rate_limit_exceptions": 20, + * + * }, + * ] + */ + get: operations["get_global_activity_exceptions_per_deployment_global_activity_exceptions_deployment_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/activity/model": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Global Activity Model + * @description Get number of API Requests, total tokens through proxy - Grouped by MODEL + * + * [ + * { + * "model": "gpt-4", + * "daily_data": [ + * const chartdata = [ + * { + * date: 'Jan 22', + * api_requests: 10, + * total_tokens: 2000 + * }, + * { + * date: 'Jan 23', + * api_requests: 10, + * total_tokens: 12 + * }, + * ], + * "sum_api_requests": 20, + * "sum_total_tokens": 2012 + * + * }, + * { + * "model": "azure/gpt-4-turbo", + * "daily_data": [ + * const chartdata = [ + * { + * date: 'Jan 22', + * api_requests: 10, + * total_tokens: 2000 + * }, + * { + * date: 'Jan 23', + * api_requests: 10, + * total_tokens: 12 + * }, + * ], + * "sum_api_requests": 20, + * "sum_total_tokens": 2012 + * + * }, + * ] + */ + get: operations["get_global_activity_model_global_activity_model_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/all_end_users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Global View All End Users + * @description [BETA] This is a beta endpoint. It will change. + * + * Use this to just get all the unique `end_users` + */ + get: operations["global_view_all_end_users_global_all_end_users_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/spend": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Global Spend + * @description [BETA] This is a beta endpoint. It will change. + * + * View total spend across all proxy keys + */ + get: operations["global_spend_global_spend_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/spend/all_tag_names": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Global Get All Tag Names */ + get: operations["global_get_all_tag_names_global_spend_all_tag_names_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/spend/end_users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Global Spend End Users + * @description [BETA] This is a beta endpoint. It will change. + * + * Use this to get the top 'n' keys with the highest spend, ordered by spend. + */ + post: operations["global_spend_end_users_global_spend_end_users_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/spend/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Global Spend Keys + * @description [BETA] This is a beta endpoint. It will change. + * + * Use this to get the top 'n' keys with the highest spend, ordered by spend. + */ + get: operations["global_spend_keys_global_spend_keys_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/spend/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Global Spend Logs + * @description [BETA] This is a beta endpoint. It will change. + * + * Use this to get global spend (spend per day for last 30d). Admin-only endpoint + * + * More efficient implementation of /spend/logs, by creating a view over the spend logs table. + */ + get: operations["global_spend_logs_global_spend_logs_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/spend/models": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Global Spend Models + * @description [BETA] This is a beta endpoint. It will change. + * + * Use this to get the top 'n' models with the highest spend, ordered by spend. + */ + get: operations["global_spend_models_global_spend_models_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/spend/provider": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Global Spend Provider + * @description Get breakdown of spend per provider + * [ + * { + * "provider": "Azure OpenAI", + * "spend": 20 + * }, + * { + * "provider": "OpenAI", + * "spend": 10 + * }, + * { + * "provider": "VertexAI", + * "spend": 30 + * } + * ] + */ + get: operations["get_global_spend_provider_global_spend_provider_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/global/spend/refresh": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Global Spend Refresh + * @description ADMIN ONLY / MASTER KEY Only Endpoint + * + * Globally refresh spend MonthlyGlobalSpend view + */ + post: operations["global_spend_refresh_global_spend_refresh_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/global/spend/report": { parameters: { query?: never; @@ -3527,6 +4684,28 @@ export interface paths { patch?: never; trace?: never; }; + "/global/spend/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Global Spend Per Team + * @description [BETA] This is a beta endpoint. It will change. + * + * Use this to get daily spend, grouped by `team_id` and `date` + */ + get: operations["global_spend_per_team_global_spend_teams_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/guardrails": { parameters: { query?: never; @@ -4860,6 +6039,111 @@ export interface paths { patch?: never; trace?: never; }; + "/invitation/delete": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Invitation Delete + * @description Delete invitation link + * + * ``` + * curl -X POST 'http://localhost:4000/invitation/delete' -H 'Content-Type: application/json' -d '{ + * "invitation_id": "1234" // 👈 id of invitation in 'LiteLLM_InvitationTable' + * }' + * ``` + */ + post: operations["invitation_delete_invitation_delete_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/invitation/info": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Invitation Info + * @description Allow admin to create invite links, to onboard new users to Admin UI. + * + * ``` + * curl -X POST 'http://localhost:4000/invitation/new' -H 'Content-Type: application/json' -d '{ + * "user_id": "1234" // 👈 id of user in 'LiteLLM_UserTable' + * }' + * ``` + */ + get: operations["invitation_info_invitation_info_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/invitation/new": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * New Invitation + * @description Allow admin to create invite links, to onboard new users to Admin UI. + * + * ``` + * curl -X POST 'http://localhost:4000/invitation/new' -H 'Content-Type: application/json' -d '{ + * "user_id": "1234" // 👈 id of user in 'LiteLLM_UserTable' + * }' + * ``` + */ + post: operations["new_invitation_invitation_new_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/invitation/update": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Invitation Update + * @description Update when invitation is accepted + * + * ``` + * curl -X POST 'http://localhost:4000/invitation/update' -H 'Content-Type: application/json' -d '{ + * "invitation_id": "1234" // 👈 id of invitation in 'LiteLLM_InvitationTable' + * "is_accepted": True // when invitation is accepted + * }' + * ``` + */ + post: operations["invitation_update_invitation_update_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/jwt/key/mapping/delete": { parameters: { query?: never; @@ -5700,6 +6984,23 @@ export interface paths { patch: operations["langfuse_proxy_route_langfuse__endpoint__patch"]; trace?: never; }; + "/lazy/warm/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Warm */ + post: operations["warm_lazy_warm__name__post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/litellm/.well-known/litellm-ui-config": { parameters: { query?: never; @@ -5717,6 +7018,23 @@ export interface paths { patch?: never; trace?: never; }; + "/login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Login */ + post: operations["login_login_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/mcp-rest/test/connection": { parameters: { query?: never; @@ -5814,6 +7132,52 @@ export interface paths { patch?: never; trace?: never; }; + "/memory-usage-in-mem-cache": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Memory Usage In Mem Cache + * @description 1. user_api_key_cache + * 2. router_cache + * 3. proxy_logging_cache + * 4. internal_usage_cache + */ + get: operations["memory_usage_in_mem_cache_memory_usage_in_mem_cache_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/memory-usage-in-mem-cache-items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Memory Usage In Mem Cache Items + * @description 1. user_api_key_cache + * 2. router_cache + * 3. proxy_logging_cache + * 4. internal_usage_cache + */ + get: operations["memory_usage_in_mem_cache_items_memory_usage_in_mem_cache_items_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/milvus/{endpoint}": { parameters: { query?: never; @@ -5886,6 +7250,58 @@ export interface paths { patch: operations["mistral_proxy_route_mistral__endpoint__patch"]; trace?: never; }; + "/model/block": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Block Model + * @description Block a DB-stored model deployment from serving requests. + * + * Parameters: + * - model_id: str - The model deployment id to block. + */ + post: operations["block_model_model_block_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/model/cost_map/source": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Model Cost Map Source + * @description ADMIN ONLY / MASTER KEY Only Endpoint + * + * Returns information about where the current model cost/pricing data was loaded from. + * + * Response fields: + * - source: "local" (bundled backup) or "remote" (fetched from URL) + * - url: the remote URL that was attempted (null when env-forced local) + * - is_env_forced: true if LITELLM_LOCAL_MODEL_COST_MAP=True forced local usage + * - fallback_reason: human-readable reason why remote failed (null on success) + * - model_count: number of models in the currently loaded cost map + */ + get: operations["get_model_cost_map_source_model_cost_map_source_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/model/delete": { parameters: { query?: never; @@ -5922,6 +7338,11 @@ export interface paths { * * - When litellm_model_id is passed, it will return the info for that specific model * - When litellm_model_id is not passed, it will return the info for all models + * - include_team_models: When true, filter to deployments the caller can use (same as /v2/model/info). + * - teamId: Filter to models accessible by the given team. + * + * Each model in the list response includes `model_info.access_via_team_ids` and + * `model_info.direct_access` when the proxy database is connected. * * Returns: * Returns a dictionary containing information about each model. @@ -5955,6 +7376,66 @@ export interface paths { patch?: never; trace?: never; }; + "/model/metrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Model Metrics + * @description View number of requests & avg latency per model on config.yaml + */ + get: operations["model_metrics_model_metrics_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/model/metrics/exceptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Model Metrics Exceptions + * @description View number of failed requests per model on config.yaml + */ + get: operations["model_metrics_exceptions_model_metrics_exceptions_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/model/metrics/slow_responses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Model Metrics Slow Responses + * @description View number of hanging requests per model_group + */ + get: operations["model_metrics_slow_responses_model_metrics_slow_responses_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/model/new": { parameters: { query?: never; @@ -5975,6 +7456,69 @@ export interface paths { patch?: never; trace?: never; }; + "/model/settings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Model Settings + * @description Returns provider name, description, and required parameters for each provider + */ + get: operations["model_settings_model_settings_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/model/streaming_metrics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Model Streaming Metrics + * @description View time to first token for models in spend logs + */ + get: operations["model_streaming_metrics_model_streaming_metrics_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/model/unblock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Unblock Model + * @description Unblock a DB-stored model deployment so it can serve requests again. + * + * Parameters: + * - model_id: str - The model deployment id to unblock. + */ + post: operations["unblock_model_model_unblock_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/model/update": { parameters: { query?: never; @@ -6248,6 +7792,15 @@ export interface paths { * - scope: Optional scope parameter. Currently only accepts "expand". * When scope=expand is passed, proxy admins, team admins, and org admins * will receive all proxy models as if they are a proxy admin. + * - healthy_only: When true, hide models whose backing deployments are all marked + * unhealthy by background health checks. Requires + * `background_health_checks: true` in general_settings; without + * health state the listing is returned unfiltered (fail open). + * Models expanded from wildcard routes (e.g. `openai/*`) are not + * filtered, and nothing is hidden when `allowed_fails_policy` is + * configured (cooldown remains the sole exclusion mechanism). + * Hiding is presentation-only: a hidden model can still be + * called directly. */ get: operations["model_list_models_get"]; put?: never; @@ -6411,6 +7964,58 @@ export interface paths { patch?: never; trace?: never; }; + "/onboarding/claim_token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Claim Onboarding Link + * @description Special route. Allows UI link share user to update their password. + * + * - Get the invite link + * - Validate it's still 'valid' + * - Check if user within initial session (prevents abuse) + * - Get user from db + * - Update user password + * + * This route can only update user password. + */ + post: operations["claim_onboarding_link_onboarding_claim_token_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/onboarding/get_token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Onboarding + * @description - Get the invite link + * - Validate it's still 'valid' + * - Return a short-lived onboarding token + * - Get user from db + * - Pass in user_email if set + */ + get: operations["onboarding_onboarding_get_token_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/openai/deployments/{model}/chat/completions": { parameters: { query?: never; @@ -7339,6 +8944,23 @@ export interface paths { patch: operations["update_organization_organization_update_patch"]; trace?: never; }; + "/otel-spans": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Otel Spans */ + get: operations["get_otel_spans_otel_spans_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/policies": { parameters: { query?: never; @@ -9012,6 +10634,23 @@ export interface paths { patch?: never; trace?: never; }; + "/queue/chat/completions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Async Queue Request */ + post: operations["async_queue_request_queue_chat_completions_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/rag/ingest": { parameters: { query?: never; @@ -9178,6 +10817,52 @@ export interface paths { patch?: never; trace?: never; }; + "/reload/anthropic_beta_headers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Reload Anthropic Beta Headers + * @description ADMIN ONLY / MASTER KEY Only Endpoint + * + * Manually reload the Anthropic beta headers configuration from the remote source. + * This will fetch fresh configuration from the anthropic_beta_headers_config.json file. + */ + post: operations["reload_anthropic_beta_headers_reload_anthropic_beta_headers_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/reload/model_cost_map": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Reload Model Cost Map + * @description ADMIN ONLY / MASTER KEY Only Endpoint + * + * Manually reload the model cost map from the remote source. + * This will fetch fresh pricing data from the model_prices_and_context_window.json file. + */ + post: operations["reload_model_cost_map_reload_model_cost_map_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/rerank": { parameters: { query?: never; @@ -9467,6 +11152,108 @@ export interface paths { patch?: never; trace?: never; }; + "/schedule/anthropic_beta_headers_reload": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Schedule Anthropic Beta Headers Reload + * @description ADMIN ONLY / MASTER KEY Only Endpoint + * + * Schedule periodic reload of the Anthropic beta headers configuration. + * This will create a background job that reloads the configuration every specified hours. + */ + post: operations["schedule_anthropic_beta_headers_reload_schedule_anthropic_beta_headers_reload_post"]; + /** + * Cancel Anthropic Beta Headers Reload + * @description ADMIN ONLY / MASTER KEY Only Endpoint + * + * Cancel the scheduled periodic reload of the Anthropic beta headers configuration. + */ + delete: operations["cancel_anthropic_beta_headers_reload_schedule_anthropic_beta_headers_reload_delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/schedule/anthropic_beta_headers_reload/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Anthropic Beta Headers Reload Status + * @description ADMIN ONLY / MASTER KEY Only Endpoint + * + * Get the status of the scheduled Anthropic beta headers reload job. + */ + get: operations["get_anthropic_beta_headers_reload_status_schedule_anthropic_beta_headers_reload_status_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/schedule/model_cost_map_reload": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Schedule Model Cost Map Reload + * @description ADMIN ONLY / MASTER KEY Only Endpoint + * + * Schedule periodic reload of the model cost map. + * This will create a background job that reloads the model cost map every specified hours. + */ + post: operations["schedule_model_cost_map_reload_schedule_model_cost_map_reload_post"]; + /** + * Cancel Model Cost Map Reload + * @description ADMIN ONLY / MASTER KEY Only Endpoint + * + * Cancel the scheduled periodic reload of the model cost map. + */ + delete: operations["cancel_model_cost_map_reload_schedule_model_cost_map_reload_delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/schedule/model_cost_map_reload/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Model Cost Map Reload Status + * @description ADMIN ONLY / MASTER KEY Only Endpoint + * + * Get the status of the scheduled model cost map reload job. + */ + get: operations["get_model_cost_map_reload_status_schedule_model_cost_map_reload_status_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/scim/v2": { parameters: { query?: never; @@ -10322,6 +12109,38 @@ export interface paths { patch?: never; trace?: never; }; + "/spend/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Spend Key Fn + * @description View keys created, ordered by spend. + * + * - Admin callers (PROXY_ADMIN / PROXY_ADMIN_VIEW_ONLY) see every key in + * the database. + * - All other callers (INTERNAL_USER / INTERNAL_USER_VIEW_ONLY, etc.) are + * scoped to keys they own (``user_id == caller``). A caller with no + * ``user_id`` has no scope and receives an empty list rather than the + * full table. + * + * Example Request: + * ``` + * curl -X GET "http://0.0.0.0:8000/spend/keys" -H "Authorization: Bearer sk-1234" + * ``` + */ + get: operations["spend_key_fn_spend_keys_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/spend/logs": { parameters: { query?: never; @@ -10374,6 +12193,86 @@ export interface paths { patch?: never; trace?: never; }; + "/spend/logs/session/ui": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Ui View Session Spend Logs + * @description Get paginated spend logs for a particular session. + * + * Returns: + * { + * "data": List[LiteLLM_SpendLogs], + * "total": int, + * "page": int, + * "page_size": int, + * "total_pages": int, + * } + */ + get: operations["ui_view_session_spend_logs_spend_logs_session_ui_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/spend/logs/ui": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Ui View Spend Logs + * @description View spend logs with pagination support. + * Available at both `/spend/logs/v2` (public API) and `/spend/logs/ui` (internal UI). + * + * Returns paginated response with data, total, page, page_size, and total_pages. + * + * Example: + * ``` + * curl -X GET "http://0.0.0.0:8000/spend/logs/v2?start_date=2025-11-25%2000:00:00&end_date=2025-11-26%2023:59:59&page=1&page_size=50" -H "Authorization: Bearer sk-1234" + * ``` + */ + get: operations["ui_view_spend_logs_spend_logs_ui_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/spend/logs/ui/{request_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Ui View Request Response For Request Id + * @description View request / response for a specific request_id + * + * - goes through all callbacks, checks if any of them have a @property -> has_request_response_payload + * - if so, it will return the request and response payload + */ + get: operations["ui_view_request_response_for_request_id_spend_logs_ui__request_id__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/spend/logs/v2": { parameters: { query?: never; @@ -10432,6 +12331,208 @@ export interface paths { patch?: never; trace?: never; }; + "/spend/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Spend User Fn + * @description View users created, ordered by spend. + * + * - Admin callers (PROXY_ADMIN / PROXY_ADMIN_VIEW_ONLY) see every user, or + * a specific user when ``user_id`` is supplied. + * - All other callers may only read their own row. If they supply a + * ``user_id`` query parameter that does not match their authenticated + * ``user_id`` the request is rejected with HTTP 403; supplying their + * own id (or none at all) returns just their row. A caller with no + * ``user_id`` on their key has no scope and receives an empty list + * rather than the full table. + * + * Example Request: + * ``` + * curl -X GET "http://0.0.0.0:8000/spend/users" -H "Authorization: Bearer sk-1234" + * ``` + * + * View User Table row for user_id + * ``` + * curl -X GET "http://0.0.0.0:8000/spend/users?user_id=1234" -H "Authorization: Bearer sk-1234" + * ``` + */ + get: operations["spend_user_fn_spend_users_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/sso/callback": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Auth Callback + * @description Verify login + */ + get: operations["auth_callback_sso_callback_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/sso/cli/complete/{login_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Cli Sso Complete */ + post: operations["cli_sso_complete_sso_cli_complete__login_id__post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/sso/cli/poll/{key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Cli Poll Key + * @description CLI polling endpoint - retrieves session from cache and generates JWT. + * + * Flow: + * 1. First poll (no team_id): Returns teams list without generating JWT + * 2. Second poll (with team_id): Generates JWT with selected team and deletes session + * + * Args: + * key_id: The CLI login session ID + * team_id: Optional team ID to assign to the JWT. If provided, must be one of user's teams. + */ + get: operations["cli_poll_key_sso_cli_poll__key_id__get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/sso/cli/start": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Cli Sso Start */ + post: operations["cli_sso_start_sso_cli_start_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/sso/debug/callback": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Debug Sso Callback + * @description Returns the OpenID object returned by the SSO provider + */ + get: operations["debug_sso_callback_sso_debug_callback_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/sso/debug/login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Debug Sso Login + * @description Create Proxy API Keys using Google Workspace SSO. Requires setting PROXY_BASE_URL in .env + * PROXY_BASE_URL should be the your deployed proxy endpoint, e.g. PROXY_BASE_URL="https://litellm-production-7002.up.railway.app/" + * Example: + */ + get: operations["debug_sso_login_sso_debug_login_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/sso/get/ui_settings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Ui Settings */ + get: operations["get_ui_settings_sso_get_ui_settings_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/sso/key/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Google Login + * @description Create Proxy API Keys using Google Workspace SSO. Requires setting PROXY_BASE_URL in .env + * PROXY_BASE_URL should be the your deployed proxy endpoint, e.g. PROXY_BASE_URL="https://litellm-production-7002.up.railway.app/" + * Example: + */ + get: operations["google_login_sso_key_generate_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/sso/readiness": { parameters: { query?: never; @@ -10970,6 +13071,36 @@ export interface paths { patch?: never; trace?: never; }; + "/team/filter/ui": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Ui View Teams + * @description [PROXY-ADMIN ONLY] Filter teams based on partial match of team_id or team_alias with pagination. + * + * Args: + * user_id (Optional[str]): Partial user ID to search for + * user_email (Optional[str]): Partial email to search for + * page (int): Page number for pagination (starts at 1) + * page_size (int): Number of items per page (max 100) + * user_api_key_dict (UserAPIKeyAuth): User authentication information + * + * Returns: + * List[LiteLLM_SpendLogs]: Paginated list of matching user records + */ + get: operations["ui_view_teams_team_filter_ui_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/team/info": { parameters: { query?: never; @@ -11959,6 +14090,32 @@ export interface paths { patch?: never; trace?: never; }; + "/user/available_roles": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Ui Get Available Role + * @description Endpoint used by Admin UI to show all available roles to assign a user + * return { + * "proxy_admin": { + * "description": "Proxy Admin role", + * "ui_label": "Admin" + * } + * } + */ + get: operations["ui_get_available_role_user_available_roles_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/user/available_users": { parameters: { query?: never; @@ -12128,6 +14285,36 @@ export interface paths { patch?: never; trace?: never; }; + "/user/filter/ui": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Ui View Users + * @description Filter users based on partial match of user_id or email with pagination. + * + * Behaviour depends on the ``scope_user_search_to_org`` UI-setting flag + * (stored in the ``litellm_uisettings`` table): + * + * * **Flag OFF (default):** any authenticated user can search all users. + * * **Flag ON:** + * - Proxy admins see all users. + * - Org admins see only users in their org(s). + * - Team admins for an org-bound team see users in that org. + * - Others receive a 403. + */ + get: operations["ui_view_users_user_filter_ui_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/user/info": { parameters: { query?: never; @@ -14383,6 +16570,11 @@ export interface paths { * * - When litellm_model_id is passed, it will return the info for that specific model * - When litellm_model_id is not passed, it will return the info for all models + * - include_team_models: When true, filter to deployments the caller can use (same as /v2/model/info). + * - teamId: Filter to models accessible by the given team. + * + * Each model in the list response includes `model_info.access_via_team_ids` and + * `model_info.direct_access` when the proxy database is connected. * * Returns: * Returns a dictionary containing information about each model. @@ -14436,6 +16628,15 @@ export interface paths { * - scope: Optional scope parameter. Currently only accepts "expand". * When scope=expand is passed, proxy admins, team admins, and org admins * will receive all proxy models as if they are a proxy admin. + * - healthy_only: When true, hide models whose backing deployments are all marked + * unhealthy by background health checks. Requires + * `background_health_checks: true` in general_settings; without + * health state the listing is returned unfiltered (fail open). + * Models expanded from wildcard routes (e.g. `openai/*`) are not + * filtered, and nothing is hidden when `allowed_fails_policy` is + * configured (cooldown remains the sole exclusion mechanism). + * Hiding is presentation-only: a hidden model can still be + * called directly. */ get: operations["model_list_v1_models_get"]; put?: never; @@ -16256,6 +18457,117 @@ export interface paths { patch?: never; trace?: never; }; + "/v2/key/info": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Info Key Fn V2 + * @description Retrieve information about a list of keys. + * + * **New endpoint**. Currently admin only. + * Parameters: + * keys: Optional[list] = body parameter representing the key(s) in the request + * user_api_key_dict: UserAPIKeyAuth = Dependency representing the user's API key + * Returns: + * Dict containing the key and its associated information + * + * Example Curl: + * ``` + * curl -X GET "http://0.0.0.0:4000/key/info" -H "Authorization: Bearer sk-1234" -d {"keys": ["sk-1", "sk-2", "sk-3"]} + * ``` + */ + post: operations["info_key_fn_v2_v2_key_info_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Login V2 */ + post: operations["login_v2_v2_login_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v2/model/info": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Model Info V2 + * @description Paginated model metadata for proxy deployments (pricing, provider, team access). + * + * Returns configured router deployments with enriched `model_info` (costs, provider, + * context window, etc.). Sensitive fields such as API keys and api_base are omitted. + * + * Query parameters: + * model: Filter to a single public `model_name`. + * user_models_only: When true, only return models created by the calling user. + * include_team_models: When true, populate `access_via_team_ids` and `direct_access` + * on each model and filter to deployments the caller can use. + * page / size: Pagination controls (defaults: page=1, size=50). + * search: Case-insensitive partial match on model name or team public name. + * modelId: Return a single deployment by LiteLLM model id. + * teamId: Filter to models with direct access or team membership for this team id. + * sortBy / sortOrder: Sort by model_name, created_at, updated_at, costs, or status. + * + * Example request: + * ``` + * curl -X GET 'http://localhost:4000/v2/model/info?include_team_models=true&page=1&size=50' \ + * --header 'Authorization: Bearer sk-1234' + * ``` + * + * Example response: + * ```json + * { + * "data": [ + * { + * "model_name": "gpt-4", + * "litellm_params": {"model": "openai/gpt-4.1"}, + * "model_info": { + * "id": "abc123", + * "litellm_provider": "openai", + * "access_via_team_ids": ["team-1"], + * "direct_access": true + * } + * } + * ], + * "total_count": 1, + * "current_page": 1, + * "total_pages": 1, + * "size": 50 + * } + * ``` + */ + get: operations["model_info_v2_v2_model_info_get"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/v2/rerank": { parameters: { query?: never; @@ -16348,6 +18660,40 @@ export interface paths { patch?: never; trace?: never; }; + "/v3/login": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Login V3 */ + post: operations["login_v3_v3_login_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/v3/login/exchange": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Login V3 Exchange */ + post: operations["login_v3_exchange_v3_login_exchange_post"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/vantage/delete": { parameters: { query?: never; @@ -16752,6 +19098,52 @@ export interface paths { patch?: never; trace?: never; }; + "/vertex-ai/{endpoint}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Vertex Proxy Route + * @description Call LiteLLM proxy via Vertex AI SDK. + * + * [Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai) + */ + get: operations["vertex_proxy_route_vertex_ai__endpoint__get_2"]; + /** + * Vertex Proxy Route + * @description Call LiteLLM proxy via Vertex AI SDK. + * + * [Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai) + */ + put: operations["vertex_proxy_route_vertex_ai__endpoint__put_2"]; + /** + * Vertex Proxy Route + * @description Call LiteLLM proxy via Vertex AI SDK. + * + * [Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai) + */ + post: operations["vertex_proxy_route_vertex_ai__endpoint__post_2"]; + /** + * Vertex Proxy Route + * @description Call LiteLLM proxy via Vertex AI SDK. + * + * [Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai) + */ + delete: operations["vertex_proxy_route_vertex_ai__endpoint__delete_2"]; + options?: never; + head?: never; + /** + * Vertex Proxy Route + * @description Call LiteLLM proxy via Vertex AI SDK. + * + * [Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai) + */ + patch: operations["vertex_proxy_route_vertex_ai__endpoint__patch_2"]; + trace?: never; + }; "/vertex_ai/discovery/{endpoint}": { parameters: { query?: never; @@ -17919,6 +20311,12 @@ export interface components { /** Tags */ tags?: string[]; }; + /** + * AlertType + * @description Enum for alert types and management event types + * @enum {string} + */ + AlertType: "llm_exceptions" | "llm_too_slow" | "llm_requests_hanging" | "budget_alerts" | "spend_reports" | "failed_tracking_spend" | "db_exceptions" | "daily_reports" | "cooldown_deployment" | "new_model_added" | "outage_alerts" | "region_outage_alerts" | "fallback_reports" | "new_virtual_key_created" | "virtual_key_updated" | "virtual_key_deleted" | "new_team_created" | "team_updated" | "team_deleted" | "new_internal_user_created" | "internal_user_updated" | "internal_user_deleted"; /** AllowedVectorStoreIndexItem */ AllowedVectorStoreIndexItem: { /** Index Name */ @@ -18379,6 +20777,11 @@ export interface components { /** Key */ key: string; }; + /** BlockModelRequest */ + BlockModelRequest: { + /** Model Id */ + model_id: string; + }; /** BlockTeamRequest */ BlockTeamRequest: { /** Team Id */ @@ -18962,6 +21365,11 @@ export interface components { * @enum {string} */ CallTypes: "embedding" | "aembedding" | "completion" | "acompletion" | "atext_completion" | "text_completion" | "image_generation" | "aimage_generation" | "image_edit" | "aimage_edit" | "moderation" | "amoderation" | "atranscription" | "transcription" | "aspeech" | "speech" | "rerank" | "arerank" | "search" | "asearch" | "_arealtime" | "_aresponses_websocket" | "create_batch" | "acreate_batch" | "aretrieve_batch" | "retrieve_batch" | "acancel_batch" | "cancel_batch" | "pass_through_endpoint" | "anthropic_messages" | "get_assistants" | "aget_assistants" | "create_assistants" | "acreate_assistants" | "delete_assistant" | "adelete_assistant" | "acreate_thread" | "create_thread" | "aget_thread" | "get_thread" | "a_add_message" | "add_message" | "aget_messages" | "get_messages" | "arun_thread" | "run_thread" | "arun_thread_stream" | "run_thread_stream" | "afile_retrieve" | "file_retrieve" | "afile_delete" | "file_delete" | "afile_list" | "file_list" | "acreate_file" | "create_file" | "afile_content" | "file_content" | "create_fine_tuning_job" | "acreate_fine_tuning_job" | "create_video" | "acreate_video" | "avideo_retrieve" | "video_retrieve" | "avideo_content" | "video_content" | "video_remix" | "avideo_remix" | "video_list" | "avideo_list" | "video_retrieve_job" | "avideo_retrieve_job" | "video_delete" | "avideo_delete" | "video_create_character" | "avideo_create_character" | "video_get_character" | "avideo_get_character" | "video_edit" | "avideo_edit" | "video_extension" | "avideo_extension" | "vector_store_file_create" | "avector_store_file_create" | "vector_store_file_list" | "avector_store_file_list" | "vector_store_file_retrieve" | "avector_store_file_retrieve" | "vector_store_file_content" | "avector_store_file_content" | "vector_store_file_update" | "avector_store_file_update" | "vector_store_file_delete" | "avector_store_file_delete" | "vector_store_create" | "avector_store_create" | "vector_store_search" | "avector_store_search" | "create_container" | "acreate_container" | "list_containers" | "alist_containers" | "retrieve_container" | "aretrieve_container" | "delete_container" | "adelete_container" | "list_container_files" | "alist_container_files" | "upload_container_file" | "aupload_container_file" | "acancel_fine_tuning_job" | "cancel_fine_tuning_job" | "alist_fine_tuning_jobs" | "list_fine_tuning_jobs" | "aretrieve_fine_tuning_job" | "retrieve_fine_tuning_job" | "responses" | "aresponses" | "alist_input_items" | "llm_passthrough_route" | "allm_passthrough_route" | "generate_content" | "agenerate_content" | "generate_content_stream" | "agenerate_content_stream" | "ocr" | "aocr" | "call_mcp_tool" | "list_mcp_tools" | "asend_message" | "send_message" | "acreate_skill"; + /** CallbackDelete */ + CallbackDelete: { + /** Callback Name */ + callback_name: string; + }; /** CallbacksByType */ CallbacksByType: { /** Failure */ @@ -19581,6 +21989,321 @@ export interface components { /** Regulation */ regulation: string; }; + /** ConfigFieldDelete */ + ConfigFieldDelete: { + /** + * Config Type + * @constant + */ + config_type: "general_settings"; + /** Field Name */ + field_name: string; + }; + /** ConfigFieldInfo */ + ConfigFieldInfo: { + /** Field Name */ + field_name: string; + /** Field Value */ + field_value: unknown; + }; + /** ConfigFieldUpdate */ + ConfigFieldUpdate: { + /** + * Config Type + * @constant + */ + config_type: "general_settings"; + /** Field Name */ + field_name: string; + /** Field Value */ + field_value: unknown; + }; + /** + * ConfigGeneralSettings + * @description Documents all the fields supported by `general_settings` in config.yaml + */ + ConfigGeneralSettings: { + /** + * Alert To Webhook Url + * @description Mapping of alert type to webhook url. e.g. `alert_to_webhook_url: {'budget_alerts': 'https://nothooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX'}` + */ + alert_to_webhook_url?: { + [key: string]: unknown; + } | null; + /** + * Alert Types + * @description List of alerting types. By default it is all alerts + */ + alert_types?: components["schemas"]["AlertType"][] | null; + /** + * Alerting + * @description List of alerting integrations. Today, just slack - `alerting: ['slack']` + */ + alerting?: unknown[] | null; + /** + * Alerting Args + * @description Controllable params for slack alerting - e.g. ttl in cache. + */ + alerting_args?: { + [key: string]: unknown; + } | null; + /** + * Alerting Threshold + * @description sends alerts if requests hang for 5min+ + */ + alerting_threshold?: number | null; + /** + * Allowed Routes + * @description Proxy API Endpoints you want users to be able to access + */ + allowed_routes?: unknown[] | null; + /** + * Background Health Checks + * @description run health checks in background + */ + background_health_checks?: boolean | null; + /** + * Cancel On Disconnect + * @description cancel the in-flight upstream LLM request (non-streaming) when the client disconnects, freeing backend capacity (e.g. a vLLM GPU slot); the request is logged as a 499 failure + */ + cancel_on_disconnect?: boolean | null; + /** + * Completion Model + * @description proxy level default model for all chat completion calls + */ + completion_model?: string | null; + /** + * Custom Auth + * @description override user_api_key_auth with your own auth script - https://docs.litellm.ai/docs/proxy/virtual_keys#custom-auth + */ + custom_auth?: string | null; + /** @description custom args for instantiating dynamodb client - e.g. billing provision */ + database_args?: components["schemas"]["DynamoDBArgs"] | null; + /** + * Database Connect Timeout + * @description Prisma `connect_timeout` URL param (seconds). Bounds how long the engine waits to establish a new connection before failing. Defaults to Prisma's built-in value when unset. + */ + database_connect_timeout?: number | null; + /** + * Database Connection Pool Limit + * @description default connection pool for prisma client connecting to postgres db + * @default 10 + */ + database_connection_pool_limit: number | null; + /** + * Database Connection Timeout + * @description default timeout for a connection to the database + * @default 60 + */ + database_connection_timeout: number | null; + /** + * Database Disable Prepared Statements + * @description Disable server-side prepared statements by setting Prisma's `pgbouncer=true` URL param. Use this for pgbouncer transaction-pooling deployments, or to prevent the 'cached plan must not change result type' error that pooled connections hit during rolling schema migrations. An explicit `pgbouncer` in `database_extra_connection_params` takes precedence. + */ + database_disable_prepared_statements?: boolean | null; + /** + * Database Extra Connection Params + * @description Escape hatch: extra key/value pairs appended verbatim to the Prisma DATABASE_URL / DIRECT_URL query string (e.g. `sslmode`, `pgbouncer`, `statement_cache_size`). Keys here override any default LiteLLM sets. + */ + database_extra_connection_params?: { + [key: string]: unknown; + } | null; + /** + * Database Socket Timeout + * @description Prisma `socket_timeout` URL param (seconds). When set, an idle/slow connection that has not produced data within this window is closed. This is the main knob for capping idle DB connections from LiteLLM. + */ + database_socket_timeout?: number | null; + /** + * Database Type + * @description to use dynamodb instead of postgres db + */ + database_type?: "dynamo_db" | null; + /** + * Database Url + * @description connect to a postgres db - needed for generating temporary keys + tracking spend / key + */ + database_url?: string | null; + /** + * Disable Budget Reservation + * @description If True, disables the optimistic per-request budget reservation introduced in v1.84.0. WARNING: This weakens hard budget enforcement. Without the reservation, a burst of concurrent requests from a single key can each pass the read-time spend check before any of them is charged, allowing a configured budget to be exceeded under high concurrency. Budgets are still evaluated on every request at read time, so an already-exhausted budget is still rejected. Enable only if your deployment is experiencing phantom BudgetExceededError responses caused by leaked reservations (see GitHub issue #27639). A proxy-level WARNING is logged on every request while this flag is active as a reminder that hard enforcement is relaxed. + */ + disable_budget_reservation?: boolean | null; + /** + * Enable Public Model Hub + * @description Public model hub for users to see what models they have access to, supported openai params, etc. + * @default false + */ + enable_public_model_hub: boolean; + /** + * Forward Client Headers To Llm Api + * @description If True, forwards client headers (e.g. Authorization) to the LLM API. Required for Claude Code with Max subscription. + */ + forward_client_headers_to_llm_api?: boolean | null; + /** + * Global Max Parallel Requests + * @description global max parallel requests to allow for a proxy instance. + */ + global_max_parallel_requests?: number | null; + /** + * Health Check Concurrency + * @description limit concurrent health checks per cycle; when unset, health checks run without a concurrency cap + */ + health_check_concurrency?: number | null; + /** + * Health Check Interval + * @description background health check interval in seconds + * @default 300 + */ + health_check_interval: number; + /** + * Health Check Skip Disabled Background Models + * @description When true, deployments with model_info.disable_background_health_check are skipped for on-demand GET /health as well as the background health loop. + * @default false + */ + health_check_skip_disabled_background_models: boolean; + /** + * Infer Model From Keys + * @description for `/models` endpoint, infers available model based on environment keys (e.g. OPENAI_API_KEY) + */ + infer_model_from_keys?: boolean | null; + /** @description key manager to load keys from / decrypt keys with */ + key_management_system?: components["schemas"]["KeyManagementSystem"] | null; + /** + * Master Key + * @description require a key for all calls to proxy + */ + master_key?: string | null; + /** + * Max Parallel Requests + * @description maximum parallel requests for each api key + */ + max_parallel_requests?: number | null; + /** + * Max Request Size Mb + * @description max request size in MB, if a request is larger than this size it will be rejected + */ + max_request_size_mb?: number | null; + /** + * Max Response Size Mb + * @description max response size in MB, if a response is larger than this size it will be rejected + */ + max_response_size_mb?: number | null; + /** + * Maximum Spend Logs Retention Period + * @description Maximum retention period for spend logs (e.g., '7d' for 7 days). Logs older than this will be deleted. + */ + maximum_spend_logs_retention_period?: string | null; + /** + * Mcp Internal Ip Ranges + * @description Custom CIDR ranges that define internal/private networks for MCP access control. When set, only these ranges are treated as internal. Defaults to RFC 1918 private ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8). + */ + mcp_internal_ip_ranges?: string[] | null; + /** + * Mcp Required Fields + * @description List of MCP server fields that must be filled in for a submission to pass standards checks (e.g. ['description', 'source_url', 'alias']). + */ + mcp_required_fields?: string[] | null; + /** + * Mcp Trusted Proxy Ranges + * @description CIDR ranges of trusted reverse proxies. When set, X-Forwarded-For and X-Forwarded-* origin headers are only trusted from these IPs. + */ + mcp_trusted_proxy_ranges?: string[] | null; + /** + * Otel + * @description [BETA] OpenTelemetry support - this might change, use with caution. + */ + otel?: boolean | null; + /** + * Pass Through Endpoints + * @description Set-up pass-through endpoints for provider-specific endpoints. Docs - https://docs.litellm.ai/docs/proxy/pass_through + */ + pass_through_endpoints?: components["schemas"]["PassThroughGenericEndpoint"][] | null; + /** + * Pass Through Request Timeout + * @description Default upstream request timeout in seconds for native and custom pass-through endpoints that use pass_through_request. Defaults to 600 when unset. + */ + pass_through_request_timeout?: number | null; + /** + * Reject Clientside Metadata Tags + * @description When set to True, rejects requests that contain client-side 'metadata.tags' to prevent users from influencing budgets by sending different tags. Tags can only be inherited from the API key metadata. + */ + reject_clientside_metadata_tags?: boolean | null; + /** + * Store Model In Db + * @description If True, models and config are stored in and loaded from the database. Default is False. + */ + store_model_in_db?: boolean | null; + /** + * Store Prompts In Spend Logs + * @description If True, stores request messages and responses in spend logs. Default is False. + */ + store_prompts_in_spend_logs?: boolean | null; + /** + * Supported Db Objects + * @description Fine-grained control over which object types to load from the database when store_model_in_db is True. Available types: 'models', 'mcp', 'guardrails', 'vector_stores', 'pass_through_endpoints', 'prompts', 'model_cost_map', 'tools', 'config_overrides'. If not set, all objects are loaded (default behavior). + */ + supported_db_objects?: components["schemas"]["SupportedDBObjectType"][] | null; + /** + * Trusted Proxy Ranges + * @description CIDR ranges of trusted reverse proxies allowed to provide identity headers for header-based auth paths such as enable_oauth2_proxy_auth and custom_ui_sso_sign_in_handler. + */ + trusted_proxy_ranges?: string[] | null; + /** + * Ui Access Mode + * @description Control access to the Proxy UI + * @default all + */ + ui_access_mode: ("admin_only" | "all") | null; + /** + * Use Azure Key Vault + * @description load keys from azure key vault + */ + use_azure_key_vault?: boolean | null; + /** + * Use Google Kms + * @description decrypt keys with google kms + */ + use_google_kms?: boolean | null; + /** + * Use Spend Logs Partitioning + * @description If True and LiteLLM_SpendLogs has been converted to a range-partitioned table (db_scripts/partition_spend_logs.sql), retention cleanup drops expired partitions instead of deleting rows, and pre-creates upcoming partitions. Default is False. + */ + use_spend_logs_partitioning?: boolean | null; + /** User Header Mappings */ + user_header_mappings?: components["schemas"]["UserHeaderMapping"][] | null; + /** + * User Header Name + * @description [DEPRECATED] Use 'user_header_mappings' instead. When set, the header value is treated as the end user id unless overridden by user_header_mappings. + */ + user_header_name?: string | null; + /** + * User Mcp Management Mode + * @description Controls how non-admin users interact with MCP servers in the dashboard. 'restricted' shows only accessible servers, 'view_all' lists every server in read-only mode. + */ + user_mcp_management_mode?: ("restricted" | "view_all") | null; + }; + /** ConfigList */ + ConfigList: { + /** Field Default Value */ + field_default_value: unknown; + /** Field Description */ + field_description: string; + /** Field Name */ + field_name: string; + /** Field Type */ + field_type: string; + /** Field Value */ + field_value: unknown; + /** Nested Fields */ + nested_fields?: components["schemas"]["FieldDetail"][] | null; + /** + * Premium Field + * @default false + */ + premium_field: boolean; + /** Stored In Db */ + stored_in_db: boolean | null; + }; /** * ConfigOverrideSettingsResponse * @description Response model for config override settings GET endpoints. @@ -19606,6 +22329,34 @@ export interface components { [key: string]: unknown; }; }; + /** + * ConfigYAML + * @description Documents all the fields supported by the config.yaml + */ + ConfigYAML: { + /** + * Environment Variables + * @description Object to pass in additional environment variables via POST request + */ + environment_variables?: { + [key: string]: unknown; + } | null; + general_settings?: components["schemas"]["ConfigGeneralSettings"] | null; + /** + * Litellm Settings + * @description litellm Module settings. See __init__.py for all, example litellm.drop_params=True, litellm.set_verbose=True, litellm.api_base, litellm.cache + */ + litellm_settings?: { + [key: string]: unknown; + } | null; + /** + * Model List + * @description List of supported models on the server, with model-specific configs + */ + model_list?: components["schemas"]["ModelParams"][] | null; + /** @description litellm router object settings. See router.py __init__ for all, example router.num_retries=5, router.timeout=5, router.max_retries=5, router.retry_after=5 */ + router_settings?: components["schemas"]["UpdateRouterConfig"] | null; + }; /** ConfigurableClientsideParamsCustomAuth */ "ConfigurableClientsideParamsCustomAuth-Input": { /** Api Base */ @@ -20087,7 +22838,7 @@ export interface components { /** Deployment */ Deployment: { litellm_params: components["schemas"]["LiteLLM_Params"]; - model_info: components["schemas"]["ModelInfo"]; + model_info: components["schemas"]["litellm__types__router__ModelInfo"]; /** Model Name */ model_name: string; } & { @@ -20121,6 +22872,60 @@ export interface components { */ type: "text"; }; + /** DynamoDBArgs */ + DynamoDBArgs: { + /** Assume Role Aws Role Name */ + assume_role_aws_role_name?: string | null; + /** Assume Role Aws Session Name */ + assume_role_aws_session_name?: string | null; + /** Aws Duration Seconds */ + aws_duration_seconds?: number | null; + /** Aws Policy */ + aws_policy?: string | null; + /** Aws Policy Arns */ + aws_policy_arns?: string[] | null; + /** Aws Provider Id */ + aws_provider_id?: string | null; + /** Aws Role Name */ + aws_role_name?: string | null; + /** Aws Session Name */ + aws_session_name?: string | null; + /** Aws Web Identity Token */ + aws_web_identity_token?: string | null; + /** + * Billing Mode + * @enum {string} + */ + billing_mode: "PROVISIONED_THROUGHPUT" | "PAY_PER_REQUEST"; + /** + * Config Table Name + * @default LiteLLM_Config + */ + config_table_name: string; + /** + * Key Table Name + * @default LiteLLM_VerificationToken + */ + key_table_name: string; + /** Read Capacity Units */ + read_capacity_units?: number | null; + /** Region Name */ + region_name: string; + /** + * Spend Table Name + * @default LiteLLM_SpendLogs + */ + spend_table_name: string; + /** Ssl Verify */ + ssl_verify?: boolean | null; + /** + * User Table Name + * @default LiteLLM_UserTable + */ + user_table_name: string; + /** Write Capacity Units */ + write_capacity_units?: number | null; + }; /** * EmailEvent * @enum {string} @@ -20394,6 +23199,19 @@ export interface components { */ model: string; }; + /** FieldDetail */ + FieldDetail: { + /** Field Default Value */ + field_default_value?: unknown; + /** Field Description */ + field_description: string; + /** Field Name */ + field_name: string; + /** Field Type */ + field_type: string; + /** Stored In Db */ + stored_in_db: boolean | null; + }; /** FunctionCall */ FunctionCall: { /** Arguments */ @@ -20728,6 +23546,15 @@ export interface components { */ team_member_permissions: string[] | null; }; + /** GlobalEndUsersSpend */ + GlobalEndUsersSpend: { + /** Api Key */ + api_key?: string | null; + /** Endtime */ + endTime?: string | null; + /** Starttime */ + startTime?: string | null; + }; /** * GraySwanGuardrailConfigModelOptionalParams * @description Optional parameters for the Gray Swan guardrail. @@ -21040,6 +23867,62 @@ export interface components { [key: string]: unknown; }; }; + /** InvitationClaim */ + InvitationClaim: { + /** Invitation Link */ + invitation_link: string; + /** Password */ + password: string; + /** User Id */ + user_id: string; + }; + /** InvitationDelete */ + InvitationDelete: { + /** Invitation Id */ + invitation_id: string; + }; + /** InvitationModel */ + InvitationModel: { + /** Accepted At */ + accepted_at: string | null; + /** + * Created At + * Format: date-time + */ + created_at: string; + /** Created By */ + created_by: string; + /** + * Expires At + * Format: date-time + */ + expires_at: string; + /** Id */ + id: string; + /** Is Accepted */ + is_accepted: boolean; + /** + * Updated At + * Format: date-time + */ + updated_at: string; + /** Updated By */ + updated_by: string; + /** User Id */ + user_id: string; + }; + /** InvitationNew */ + InvitationNew: { + /** User Id */ + user_id: string; + }; + /** InvitationUpdate */ + InvitationUpdate: { + /** Invitation Id */ + invitation_id: string; + /** Is Accepted */ + is_accepted: boolean; + }; /** JWTKeyMappingResponse */ JWTKeyMappingResponse: { /** @@ -21093,6 +23976,11 @@ export interface components { * @enum {string} */ KeyManagementRoutes: "/key/generate" | "/key/update" | "/key/delete" | "/key/regenerate" | "/key/service-account/generate" | "/key/{key_id}/regenerate" | "/key/block" | "/key/unblock" | "/key/bulk_update" | "/team/key/bulk_update" | "/key/{key_id}/reset_spend" | "/key/access_group_assignment" | "/key/info" | "/key/health" | "/key/list" | "/key/aliases" | "/team/daily/activity" | "/spend/logs" | "/spend/logs/v2"; + /** + * KeyManagementSystem + * @enum {string} + */ + KeyManagementSystem: "google_kms" | "azure_key_vault" | "aws_secret_manager" | "google_secret_manager" | "hashicorp_vault" | "cyberark" | "local" | "aws_kms" | "custom"; /** * KeyMetadata * @description Metadata for a key @@ -21364,8 +24252,7 @@ export interface components { }; /** * LiteLLM_DeletedTeamTable - * @description Recording of deleted teams for audit purposes. Mirrors LiteLLM_TeamTable - * plus metadata captured at deletion time. + * @description Audit record for deleted teams; mirrors the team plus deletion metadata. */ LiteLLM_DeletedTeamTable: { /** Access Group Ids */ @@ -21375,6 +24262,11 @@ export interface components { * @default [] */ admins: unknown[]; + /** + * Allow Team Guardrail Config + * @default false + */ + allow_team_guardrail_config: boolean | null; /** * Blocked * @default false @@ -21421,6 +24313,20 @@ export interface components { } | null; /** Model Id */ model_id?: number | null; + /** + * Model Max Budget + * @default {} + */ + model_max_budget: { + [key: string]: unknown; + } | null; + /** + * Model Spend + * @default {} + */ + model_spend: { + [key: string]: unknown; + } | null; /** * Models * @default [] @@ -21431,6 +24337,8 @@ export interface components { object_permission_id?: string | null; /** Organization Id */ organization_id?: string | null; + /** Policies */ + policies?: string[] | null; /** Router Settings */ router_settings?: { [key: string]: unknown; @@ -21454,8 +24362,7 @@ export interface components { }; /** * LiteLLM_DeletedVerificationToken - * @description Recording of deleted keys for audit purposes. Mirrors LiteLLM_VerificationToken - * plus metadata captured at deletion time. + * @description Audit record for deleted keys; mirrors the token plus deletion metadata. */ LiteLLM_DeletedVerificationToken: { /** Access Group Ids */ @@ -21488,6 +24395,8 @@ export interface components { blocked?: boolean | null; /** Budget Duration */ budget_duration?: string | null; + /** Budget Id */ + budget_id?: string | null; /** Budget Limits */ budget_limits?: { [key: string]: unknown; @@ -21866,9 +24775,9 @@ export interface components { /** Id */ id?: number | null; /** Model Aliases */ - model_aliases?: { + model_aliases?: string | { [key: string]: unknown; - } | string | null; + } | null; team?: components["schemas"]["LiteLLM_TeamTable"] | null; /** Updated By */ updated_by: string; @@ -21934,6 +24843,11 @@ export interface components { } | null; /** Mcp Toolsets */ mcp_toolsets?: string[] | null; + /** + * Models + * @default [] + */ + models: string[] | null; /** Object Permission Id */ object_permission_id: string; /** @@ -21949,7 +24863,7 @@ export interface components { }; /** * LiteLLM_OrganizationMembershipTable - * @description This is the table that track what organizations a user belongs to and users spend within the organization + * @description Tracks which organizations a user belongs to and their spend within it. */ LiteLLM_OrganizationMembershipTable: { /** Budget Id */ @@ -22005,7 +24919,17 @@ export interface components { metadata?: { [key: string]: unknown; } | null; - /** Models */ + /** + * Model Spend + * @default {} + */ + model_spend: { + [key: string]: unknown; + } | null; + /** + * Models + * @default [] + */ models: string[]; object_permission?: components["schemas"]["LiteLLM_ObjectPermissionTable"] | null; /** Object Permission Id */ @@ -22061,6 +24985,8 @@ export interface components { auto_router_embedding_model?: string | null; /** Aws Access Key Id */ aws_access_key_id?: string | null; + /** Aws Bedrock Project Id */ + aws_bedrock_project_id?: string | null; /** Aws Bedrock Runtime Endpoint */ aws_bedrock_runtime_endpoint?: string | null; /** Aws Region Name */ @@ -22231,7 +25157,7 @@ export interface components { [key: string]: unknown; } | null; /** Stream Timeout */ - stream_timeout?: string | number | null; + stream_timeout?: number | string | null; /** Tag Regex */ tag_regex?: string[] | null; /** Tags */ @@ -22256,6 +25182,12 @@ export interface components { * @default false */ use_litellm_proxy: boolean | null; + /** + * Use Xai Oauth + * @description Use stored xAI OAuth credentials when no xAI API key is configured. + * @default false + */ + use_xai_oauth: boolean | null; /** Vector Store Id */ vector_store_id?: string | null; /** Vertex Credentials */ @@ -22286,7 +25218,7 @@ export interface components { /** Created At */ created_at?: string | null; /** Created By */ - created_by: string; + created_by?: string | null; /** Description */ description?: string | null; litellm_budget_table?: components["schemas"]["LiteLLM_BudgetTable"] | null; @@ -22328,7 +25260,35 @@ export interface components { /** Updated At */ updated_at?: string | null; /** Updated By */ - updated_by: string; + updated_by?: string | null; + }; + /** LiteLLM_ProxyModelTable */ + LiteLLM_ProxyModelTable: { + /** + * Blocked + * @default false + */ + blocked: boolean; + /** Created At */ + created_at?: string | null; + /** Created By */ + created_by?: string | null; + /** Litellm Params */ + litellm_params: { + [key: string]: unknown; + }; + /** Model Id */ + model_id: string; + /** Model Info */ + model_info?: { + [key: string]: unknown; + } | null; + /** Model Name */ + model_name: string; + /** Updated At */ + updated_at?: string | null; + /** Updated By */ + updated_by?: string | null; }; /** LiteLLM_SpendLogs */ LiteLLM_SpendLogs: { @@ -22432,6 +25392,11 @@ export interface components { * @default [] */ admins: unknown[]; + /** + * Allow Team Guardrail Config + * @default false + */ + allow_team_guardrail_config: boolean | null; /** * Blocked * @default false @@ -22468,6 +25433,20 @@ export interface components { } | null; /** Model Id */ model_id?: number | null; + /** + * Model Max Budget + * @default {} + */ + model_max_budget: { + [key: string]: unknown; + } | null; + /** + * Model Spend + * @default {} + */ + model_spend: { + [key: string]: unknown; + } | null; /** * Models * @default [] @@ -22478,6 +25457,8 @@ export interface components { object_permission_id?: string | null; /** Organization Id */ organization_id?: string | null; + /** Policies */ + policies?: string[] | null; /** Router Settings */ router_settings?: { [key: string]: unknown; @@ -22549,6 +25530,11 @@ export interface components { }; /** LiteLLM_UserTable */ LiteLLM_UserTable: { + /** + * Allowed Cache Controls + * @default [] + */ + allowed_cache_controls: string[]; /** Budget Duration */ budget_duration?: string | null; /** Budget Reset At */ @@ -22557,6 +25543,8 @@ export interface components { created_at?: string | null; /** Max Budget */ max_budget?: number | null; + /** Max Parallel Requests */ + max_parallel_requests?: number | null; /** Metadata */ metadata?: { [key: string]: unknown; @@ -22581,8 +25569,17 @@ export interface components { */ models: unknown[]; object_permission?: components["schemas"]["LiteLLM_ObjectPermissionTable"] | null; + /** Object Permission Id */ + object_permission_id?: string | null; + /** Organization Id */ + organization_id?: string | null; /** Organization Memberships */ organization_memberships?: components["schemas"]["LiteLLM_OrganizationMembershipTable"][] | null; + /** + * Policies + * @default [] + */ + policies: string[]; /** Rpm Limit */ rpm_limit?: number | null; /** @@ -22592,6 +25589,8 @@ export interface components { spend: number; /** Sso User Id */ sso_user_id?: string | null; + /** Team Id */ + team_id?: string | null; /** * Teams * @default [] @@ -22610,8 +25609,20 @@ export interface components { /** User Role */ user_role?: string | null; }; + /** LiteLLM_UserTableFiltered */ + LiteLLM_UserTableFiltered: { + /** User Email */ + user_email?: string | null; + /** User Id */ + user_id: string; + }; /** LiteLLM_UserTableWithKeyCount */ LiteLLM_UserTableWithKeyCount: { + /** + * Allowed Cache Controls + * @default [] + */ + allowed_cache_controls: string[]; /** Budget Duration */ budget_duration?: string | null; /** Budget Reset At */ @@ -22625,6 +25636,8 @@ export interface components { key_count: number; /** Max Budget */ max_budget?: number | null; + /** Max Parallel Requests */ + max_parallel_requests?: number | null; /** Metadata */ metadata?: { [key: string]: unknown; @@ -22649,8 +25662,17 @@ export interface components { */ models: unknown[]; object_permission?: components["schemas"]["LiteLLM_ObjectPermissionTable"] | null; + /** Object Permission Id */ + object_permission_id?: string | null; + /** Organization Id */ + organization_id?: string | null; /** Organization Memberships */ organization_memberships?: components["schemas"]["LiteLLM_OrganizationMembershipTable"][] | null; + /** + * Policies + * @default [] + */ + policies: string[]; /** Rpm Limit */ rpm_limit?: number | null; /** @@ -22660,6 +25682,8 @@ export interface components { spend: number; /** Sso User Id */ sso_user_id?: string | null; + /** Team Id */ + team_id?: string | null; /** * Teams * @default [] @@ -22710,6 +25734,8 @@ export interface components { blocked?: boolean | null; /** Budget Duration */ budget_duration?: string | null; + /** Budget Id */ + budget_id?: string | null; /** Budget Limits */ budget_limits?: { [key: string]: unknown; @@ -23910,41 +26936,21 @@ export interface components { /** Tpm */ tpm?: number | null; }; - /** ModelInfo */ - ModelInfo: { - /** Base Model */ - base_model?: string | null; - /** Blocked */ - blocked?: boolean | null; - /** Created At */ - created_at?: string | null; - /** Created By */ - created_by?: string | null; - /** - * Db Model - * @default false - */ - db_model: boolean; - /** Id */ - id: string | null; - /** Team Id */ - team_id?: string | null; - /** Team Public Model Name */ - team_public_model_name?: string | null; - /** Tier */ - tier?: ("free" | "paid") | null; - /** Updated At */ - updated_at?: string | null; - /** Updated By */ - updated_by?: string | null; - } & { - [key: string]: unknown; - }; /** ModelInfoDelete */ ModelInfoDelete: { /** Id */ id: string; }; + /** ModelParams */ + ModelParams: { + /** Litellm Params */ + litellm_params: { + [key: string]: unknown; + }; + model_info: components["schemas"]["litellm__proxy___types__ModelInfo"]; + /** Model Name */ + model_name: string; + }; /** ModelResponse */ ModelResponse: { /** Choices */ @@ -24234,7 +27240,17 @@ export interface components { metadata?: { [key: string]: unknown; } | null; - /** Models */ + /** + * Model Spend + * @default {} + */ + model_spend: { + [key: string]: unknown; + } | null; + /** + * Models + * @default [] + */ models: string[]; object_permission?: components["schemas"]["LiteLLM_ObjectPermissionTable"] | null; /** Object Permission Id */ @@ -24339,7 +27355,7 @@ export interface components { */ created_at: string; /** Created By */ - created_by: string; + created_by?: string | null; /** Description */ description?: string | null; litellm_budget_table?: components["schemas"]["LiteLLM_BudgetTable"] | null; @@ -24384,7 +27400,7 @@ export interface components { */ updated_at: string; /** Updated By */ - updated_by: string; + updated_by?: string | null; }; /** NewTeamRequest */ NewTeamRequest: { @@ -24997,6 +28013,11 @@ export interface components { * @description The URL to which requests for this path should be forwarded. */ target: string; + /** + * Timeout + * @description Upstream request timeout in seconds for this pass-through endpoint. If unset, uses general_settings.pass_through_request_timeout (default 600). + */ + timeout?: number | null; }; /** * PassThroughGuardrailSettings @@ -27131,6 +30152,13 @@ export interface components { /** Model */ model?: string | null; }; + /** + * SupportedDBObjectType + * @description Supported database object types for fine-grained DB storage control. + * Use in general_settings.supported_db_objects to specify which objects to load from DB. + * @enum {string} + */ + SupportedDBObjectType: "models" | "mcp" | "guardrails" | "policies" | "vector_stores" | "pass_through_endpoints" | "prompts" | "model_cost_map" | "tools" | "config_overrides"; /** SupportedEndpoint */ SupportedEndpoint: { /** Endpoint */ @@ -27272,6 +30300,11 @@ export interface components { * @default [] */ admins: unknown[]; + /** + * Allow Team Guardrail Config + * @default false + */ + allow_team_guardrail_config: boolean | null; /** * Blocked * @default false @@ -27308,6 +30341,20 @@ export interface components { } | null; /** Model Id */ model_id?: number | null; + /** + * Model Max Budget + * @default {} + */ + model_max_budget: { + [key: string]: unknown; + } | null; + /** + * Model Spend + * @default {} + */ + model_spend: { + [key: string]: unknown; + } | null; /** * Models * @default [] @@ -27318,6 +30365,8 @@ export interface components { object_permission_id?: string | null; /** Organization Id */ organization_id?: string | null; + /** Policies */ + policies?: string[] | null; /** Router Settings */ router_settings?: { [key: string]: unknown; @@ -27361,6 +30410,11 @@ export interface components { * @default [] */ admins: unknown[]; + /** + * Allow Team Guardrail Config + * @default false + */ + allow_team_guardrail_config: boolean | null; /** * Blocked * @default false @@ -27407,6 +30461,20 @@ export interface components { } | null; /** Model Id */ model_id?: number | null; + /** + * Model Max Budget + * @default {} + */ + model_max_budget: { + [key: string]: unknown; + } | null; + /** + * Model Spend + * @default {} + */ + model_spend: { + [key: string]: unknown; + } | null; /** * Models * @default [] @@ -27417,6 +30485,8 @@ export interface components { object_permission_id?: string | null; /** Organization Id */ organization_id?: string | null; + /** Policies */ + policies?: string[] | null; /** Router Settings */ router_settings?: { [key: string]: unknown; @@ -27574,6 +30644,11 @@ export interface components { * @description List of models this team member can access. Pass an empty list to remove per-member model restrictions. */ allowed_models?: string[] | null; + /** + * Budget Duration + * @description Duration after which this team member's budget resets (e.g. '1h', '24h', '7d', '30d'). If not set, the budget never resets. + */ + budget_duration?: string | null; /** Max Budget In Team */ max_budget_in_team?: number | null; /** Role */ @@ -27599,6 +30674,8 @@ export interface components { TeamMemberUpdateResponse: { /** Allowed Models */ allowed_models?: string[] | null; + /** Budget Duration */ + budget_duration?: string | null; /** Max Budget In Team */ max_budget_in_team?: number | null; /** Rpm Limit */ @@ -28900,6 +31977,8 @@ export interface components { blocked?: boolean | null; /** Budget Duration */ budget_duration?: string | null; + /** Budget Id */ + budget_id?: string | null; /** Budget Limits */ budget_limits?: { [key: string]: unknown; @@ -29119,6 +32198,19 @@ export interface components { /** User Tpm Limit */ user_tpm_limit?: number | null; }; + /** + * UserHeaderMapping + * @description Map an incoming HTTP header to a LiteLLM user role. + */ + UserHeaderMapping: { + /** Header Name */ + header_name: string; + /** + * Litellm User Role + * @enum {string} + */ + litellm_user_role: "internal_user" | "customer"; + }; /** UserInfoResponse */ UserInfoResponse: { /** Keys */ @@ -29443,12 +32535,68 @@ export interface components { /** Status */ status?: ("pending" | "running" | "paused" | "completed" | "failed") | null; }; + /** ModelInfo */ + litellm__proxy___types__ModelInfo: { + /** Base Model */ + base_model: ("gpt-4-1106-preview" | "gpt-4-32k" | "gpt-4" | "gpt-3.5-turbo-16k" | "gpt-3.5-turbo" | "text-embedding-ada-002") | null; + /** Id */ + id: string | null; + /** + * Input Cost Per Token + * @default 0 + */ + input_cost_per_token: number | null; + /** + * Max Tokens + * @default 2048 + */ + max_tokens: number | null; + /** Mode */ + mode: ("embedding" | "chat" | "completion") | null; + /** + * Output Cost Per Token + * @default 0 + */ + output_cost_per_token: number | null; + } & { + [key: string]: unknown; + }; + /** ModelInfo */ + litellm__types__router__ModelInfo: { + /** Base Model */ + base_model?: string | null; + /** Blocked */ + blocked?: boolean | null; + /** Created At */ + created_at?: string | null; + /** Created By */ + created_by?: string | null; + /** + * Db Model + * @default false + */ + db_model: boolean; + /** Id */ + id: string | null; + /** Team Id */ + team_id?: string | null; + /** Team Public Model Name */ + team_public_model_name?: string | null; + /** Tier */ + tier?: ("free" | "paid") | null; + /** Updated At */ + updated_at?: string | null; + /** Updated By */ + updated_by?: string | null; + } & { + [key: string]: unknown; + }; /** updateDeployment */ updateDeployment: { /** Blocked */ blocked?: boolean | null; litellm_params?: components["schemas"]["updateLiteLLMParams"] | null; - model_info?: components["schemas"]["ModelInfo"] | null; + model_info?: components["schemas"]["litellm__types__router__ModelInfo"] | null; /** Model Name */ model_name?: string | null; }; @@ -29476,6 +32624,8 @@ export interface components { auto_router_embedding_model?: string | null; /** Aws Access Key Id */ aws_access_key_id?: string | null; + /** Aws Bedrock Project Id */ + aws_bedrock_project_id?: string | null; /** Aws Bedrock Runtime Endpoint */ aws_bedrock_runtime_endpoint?: string | null; /** Aws Region Name */ @@ -29646,7 +32796,7 @@ export interface components { [key: string]: unknown; } | null; /** Stream Timeout */ - stream_timeout?: string | number | null; + stream_timeout?: number | string | null; /** Tag Regex */ tag_regex?: string[] | null; /** Tags */ @@ -29671,6 +32821,12 @@ export interface components { * @default false */ use_litellm_proxy: boolean | null; + /** + * Use Xai Oauth + * @description Use stored xAI OAuth credentials when no xAI API key is configured. + * @default false + */ + use_xai_oauth: boolean | null; /** Vector Store Id */ vector_store_id?: string | null; /** Vertex Credentials */ @@ -30120,6 +33276,26 @@ export interface operations { }; }; }; + alerting_settings_alerting_settings_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; anthropic_proxy_route_anthropic__endpoint__get: { parameters: { query?: never; @@ -32526,6 +35702,39 @@ export interface operations { }; }; }; + delete_callback_config_callback_delete_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CallbackDelete"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; get_cost_discount_config_config_cost_discount_config_get: { parameters: { query?: never; @@ -32638,6 +35847,134 @@ export interface operations { }; }; }; + delete_config_general_settings_config_field_delete_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ConfigFieldDelete"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_config_general_settings_config_field_info_get: { + parameters: { + query: { + field_name: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ConfigFieldInfo"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + update_config_general_settings_config_field_update_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ConfigFieldUpdate"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_config_list_config_list_get: { + parameters: { + query: { + config_type: "general_settings"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ConfigList"][]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; get_pass_through_endpoints_config_pass_through_endpoint_get: { parameters: { query?: { @@ -32802,6 +36139,72 @@ export interface operations { }; }; }; + update_config_config_update_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ConfigYAML"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + config_yaml_endpoint_config_yaml_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ConfigYAML"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; get_hashicorp_vault_config_config_overrides_hashicorp_vault_get: { parameters: { query?: never; @@ -33823,6 +37226,102 @@ export interface operations { }; }; }; + get_memory_details_debug_memory_details_get: { + parameters: { + query?: { + /** @description Number of top object types to return */ + top_n?: number; + /** @description Include process memory info */ + include_process_info?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: unknown; + }; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + configure_gc_thresholds_endpoint_debug_memory_gc_configure_post: { + parameters: { + query?: { + /** @description Generation 0 threshold (default: 700) */ + generation_0?: number; + /** @description Generation 1 threshold (default: 10) */ + generation_1?: number; + /** @description Generation 2 threshold (default: 10) */ + generation_2?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: unknown; + }; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_memory_summary_debug_memory_summary_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: unknown; + }; + }; + }; + }; + }; delete_allowed_ip_delete_allowed_ip_post: { parameters: { query?: never; @@ -34029,6 +37528,261 @@ export interface operations { }; }; }; + block_user_end_user_block_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BlockUsers"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_customer_daily_activity_end_user_daily_activity_get: { + parameters: { + query?: { + end_user_ids?: string | null; + start_date?: string | null; + end_date?: string | null; + model?: string | null; + api_key?: string | null; + page?: number; + page_size?: number; + exclude_end_user_ids?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + delete_end_user_end_user_delete_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["DeleteCustomerRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + end_user_info_end_user_info_get: { + parameters: { + query: { + /** @description End User ID in the request parameters */ + end_user_id: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + list_end_user_end_user_list_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + new_end_user_end_user_new_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["NewCustomerRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + unblock_user_end_user_unblock_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BlockUsers"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + update_end_user_end_user_update_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UpdateCustomerRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; chat_completion_engines__model__chat_completions_post: { parameters: { query?: never; @@ -34551,6 +38305,26 @@ export interface operations { }; }; }; + fallback_login_fallback_login_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; get_fallback_fallback__model__get: { parameters: { query?: { @@ -35071,6 +38845,46 @@ export interface operations { }; }; }; + get_allowed_ips_get_allowed_ips_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + get_config_get_config_callbacks_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; get_default_team_settings_get_default_team_settings_get: { parameters: { query?: never; @@ -35191,6 +39005,483 @@ export interface operations { }; }; }; + get_favicon_get_favicon_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + get_image_get_image_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + get_logo_url_get_logo_url_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + get_global_activity_global_activity_get: { + parameters: { + query?: { + /** @description Time from which to start viewing spend */ + start_date?: string | null; + /** @description Time till which to view spend */ + end_date?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_global_activity_global_activity_cache_hits_get: { + parameters: { + query?: { + /** @description Time from which to start viewing spend */ + start_date?: string | null; + /** @description Time till which to view spend */ + end_date?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_global_activity_exceptions_global_activity_exceptions_get: { + parameters: { + query: { + /** @description Filter by model group */ + model_group: string; + /** @description Time from which to start viewing spend */ + start_date?: string | null; + /** @description Time till which to view spend */ + end_date?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_global_activity_exceptions_per_deployment_global_activity_exceptions_deployment_get: { + parameters: { + query: { + /** @description Filter by model group */ + model_group: string; + /** @description Time from which to start viewing spend */ + start_date?: string | null; + /** @description Time till which to view spend */ + end_date?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_global_activity_model_global_activity_model_get: { + parameters: { + query?: { + /** @description Time from which to start viewing spend */ + start_date?: string | null; + /** @description Time till which to view spend */ + end_date?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + global_view_all_end_users_global_all_end_users_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + global_spend_global_spend_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + global_get_all_tag_names_global_spend_all_tag_names_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; + }; + }; + }; + }; + global_spend_end_users_global_spend_end_users_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["GlobalEndUsersSpend"] | null; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + global_spend_keys_global_spend_keys_get: { + parameters: { + query?: { + /** @description Number of keys to get. Will return Top 'n' keys. */ + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + global_spend_logs_global_spend_logs_get: { + parameters: { + query?: { + /** @description API Key to get global spend (spend per day for last 30d). Admin-only endpoint */ + api_key?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + global_spend_models_global_spend_models_get: { + parameters: { + query?: { + /** @description Number of models to get. Will return Top 'n' models. */ + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_global_spend_provider_global_spend_provider_get: { + parameters: { + query?: { + /** @description Time from which to start viewing spend */ + start_date?: string | null; + /** @description Time till which to view spend */ + end_date?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + global_spend_refresh_global_spend_refresh_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; get_global_spend_report_global_spend_report_get: { parameters: { query?: { @@ -35291,6 +39582,26 @@ export interface operations { }; }; }; + global_spend_per_team_global_spend_teams_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; create_guardrail_guardrails_post: { parameters: { query?: never; @@ -36259,7 +40570,7 @@ export interface operations { parameters: { query: { /** @description Specify the service being hit. */ - service: ("slack_budget_alerts" | "langfuse" | "langfuse_otel" | "slack" | "openmeter" | "webhook" | "email" | "braintrust" | "datadog" | "datadog_llm_observability" | "generic_api" | "arize" | "sqs") | string; + service: ("slack_budget_alerts" | "langfuse" | "langfuse_otel" | "slack" | "openmeter" | "webhook" | "email" | "braintrust" | "datadog" | "datadog_llm_observability" | "generic_api" | "arize" | "galileo" | "newrelic" | "sqs") | string; }; header?: never; path?: never; @@ -36539,6 +40850,136 @@ export interface operations { }; }; }; + invitation_delete_invitation_delete_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["InvitationDelete"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["InvitationModel"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + invitation_info_invitation_info_get: { + parameters: { + query: { + invitation_id: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["InvitationModel"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + new_invitation_invitation_new_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["InvitationNew"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["InvitationModel"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + invitation_update_invitation_update_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["InvitationUpdate"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["InvitationModel"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; delete_jwt_key_mapping_jwt_key_mapping_delete_post: { parameters: { query?: never; @@ -37380,6 +41821,37 @@ export interface operations { }; }; }; + warm_lazy_warm__name__post: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; get_ui_config_litellm__well_known_litellm_ui_config_get: { parameters: { query?: never; @@ -37400,6 +41872,26 @@ export interface operations { }; }; }; + login_login_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; test_connection_mcp_rest_test_connection_post: { parameters: { query?: never; @@ -37520,6 +42012,46 @@ export interface operations { }; }; }; + memory_usage_in_mem_cache_memory_usage_in_mem_cache_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + memory_usage_in_mem_cache_items_memory_usage_in_mem_cache_items_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; milvus_proxy_route_milvus__endpoint__get: { parameters: { query?: never; @@ -37830,6 +42362,62 @@ export interface operations { }; }; }; + block_model_model_block_post: { + parameters: { + query?: never; + header?: { + /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ + "litellm-changed-by"?: string | null; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BlockModelRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_ProxyModelTable"] | null; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + get_model_cost_map_source_model_cost_map_source_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; delete_model_model_delete_post: { parameters: { query?: never; @@ -37867,6 +42455,115 @@ export interface operations { parameters: { query?: { litellm_model_id?: string | null; + /** @description When true, filter to deployments the caller can use via direct access or team membership. */ + include_team_models?: boolean | null; + /** @description Filter models by team ID. Returns models with direct_access=True or teamId in access_via_team_ids */ + teamId?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + model_metrics_model_metrics_get: { + parameters: { + query?: { + _selected_model_group?: string | null; + startTime?: string | null; + endTime?: string | null; + api_key?: string | null; + customer?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + model_metrics_exceptions_model_metrics_exceptions_get: { + parameters: { + query?: { + _selected_model_group?: string | null; + startTime?: string | null; + endTime?: string | null; + api_key?: string | null; + customer?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + model_metrics_slow_responses_model_metrics_slow_responses_get: { + parameters: { + query?: { + _selected_model_group?: string | null; + startTime?: string | null; + endTime?: string | null; + api_key?: string | null; + customer?: string | null; }; header?: never; path?: never; @@ -37927,6 +42624,95 @@ export interface operations { }; }; }; + model_settings_model_settings_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + model_streaming_metrics_model_streaming_metrics_get: { + parameters: { + query?: { + _selected_model_group?: string | null; + startTime?: string | null; + endTime?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + unblock_model_model_unblock_post: { + parameters: { + query?: never; + header?: { + /** @description The litellm-changed-by header enables tracking of actions performed by authorized users on behalf of other users, providing an audit trail for accountability */ + "litellm-changed-by"?: string | null; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BlockModelRequest"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_ProxyModelTable"] | null; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; update_model_model_update_post: { parameters: { query?: never; @@ -38102,6 +42888,7 @@ export interface operations { include_metadata?: boolean | null; fallback_type?: string | null; scope?: string | null; + healthy_only?: boolean | null; }; header?: never; path?: never; @@ -38293,6 +43080,70 @@ export interface operations { }; }; }; + claim_onboarding_link_onboarding_claim_token_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["InvitationClaim"]; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + onboarding_onboarding_get_token_get: { + parameters: { + query: { + invite_link: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; chat_completion_openai_deployments__model__chat_completions_post: { parameters: { query?: never; @@ -38537,7 +43388,17 @@ export interface operations { "application/json": components["schemas"]["ErrorResponse"]; }; }; - /** @description RateLimitError */ + /** + * @description Unified rate-limit error. + * + * Every rate-limit condition surfaced by litellm — whether it originated from + * an upstream LLM provider, a vendor batch endpoint, or one of litellm's own + * proxy-side limiters (parallel-requests, dynamic-rate, batch-rate, budget, + * max-iterations, etc.) — is raised as an instance of this class. + * + * The :attr:`category` attribute lets callers distinguish the source. See + * :class:`RateLimitErrorCategory` for the available values. + */ 429: { headers: { [name: string]: unknown; @@ -39618,6 +44479,26 @@ export interface operations { }; }; }; + get_otel_spans_otel_spans_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; create_policy_policies_post: { parameters: { query?: never; @@ -41189,6 +46070,37 @@ export interface operations { }; }; }; + async_queue_request_queue_chat_completions_post: { + parameters: { + query?: { + model?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; rag_ingest_rag_ingest_post: { parameters: { query?: never; @@ -41287,6 +46199,46 @@ export interface operations { }; }; }; + reload_anthropic_beta_headers_reload_anthropic_beta_headers_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + reload_model_cost_map_reload_model_cost_map_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; rerank_rerank_post: { parameters: { query?: never; @@ -41569,6 +46521,148 @@ export interface operations { }; }; }; + schedule_anthropic_beta_headers_reload_schedule_anthropic_beta_headers_reload_post: { + parameters: { + query: { + hours: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + cancel_anthropic_beta_headers_reload_schedule_anthropic_beta_headers_reload_delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + get_anthropic_beta_headers_reload_status_schedule_anthropic_beta_headers_reload_status_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + schedule_model_cost_map_reload_schedule_model_cost_map_reload_post: { + parameters: { + query: { + hours: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + cancel_model_cost_map_reload_schedule_model_cost_map_reload_delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + get_model_cost_map_reload_status_schedule_model_cost_map_reload_status_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; get_scim_base_scim_v2_get: { parameters: { query?: { @@ -42517,6 +47611,26 @@ export interface operations { }; }; }; + spend_key_fn_spend_keys_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; view_spend_logs_spend_logs_get: { parameters: { query?: { @@ -42559,6 +47673,148 @@ export interface operations { }; }; }; + ui_view_session_spend_logs_spend_logs_session_ui_get: { + parameters: { + query: { + /** @description Get all spend logs for a particular session */ + session_id: string; + /** @description Page number for pagination */ + page?: number; + /** @description Number of items per page */ + page_size?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + ui_view_spend_logs_spend_logs_ui_get: { + parameters: { + query?: { + /** @description Get spend logs based on api key */ + api_key?: string | null; + /** @description Get spend logs based on user_id */ + user_id?: string | null; + /** @description request_id to get spend logs for specific request_id */ + request_id?: string | null; + /** @description Filter spend logs by team_id */ + team_id?: string | null; + /** @description Filter logs with spend greater than or equal to this value */ + min_spend?: number | null; + /** @description Filter logs with spend less than or equal to this value */ + max_spend?: number | null; + /** @description Time from which to start viewing key spend */ + start_date?: string | null; + /** @description Time till which to view key spend */ + end_date?: string | null; + /** @description Page number for pagination */ + page?: number; + /** @description Number of items per page */ + page_size?: number; + /** @description Filter logs by status (e.g., success, failure) */ + status_filter?: string | null; + /** @description Filter logs by model */ + model?: string | null; + /** @description Filter logs by model ID (litellm model deployment id) */ + model_id?: string | null; + /** @description Filter logs by model group */ + model_group?: string | null; + /** @description Filter logs by key alias */ + key_alias?: string | null; + /** @description Filter logs by end user */ + end_user?: string | null; + /** @description Filter logs by error code (e.g., '404', '500') */ + error_code?: string | null; + /** @description Filter logs by error message (partial string match) */ + error_message?: string | null; + /** @description Sort logs by field: spend, total_tokens, startTime, endTime, request_duration_ms, model, or ttft_ms */ + sort_by?: string; + /** @description Sort order: asc or desc */ + sort_order?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_SpendLogs"][]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + ui_view_request_response_for_request_id_spend_logs_ui__request_id__get: { + parameters: { + query?: { + /** @description Time from which to start viewing key spend */ + start_date?: string | null; + /** @description Time till which to view key spend */ + end_date?: string | null; + }; + header?: never; + path: { + request_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; ui_view_spend_logs_spend_logs_v2_get: { parameters: { query?: { @@ -42665,6 +47921,249 @@ export interface operations { }; }; }; + spend_user_fn_spend_users_get: { + parameters: { + query?: { + /** @description Get User Table row for user_id */ + user_id?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + auth_callback_sso_callback_get: { + parameters: { + query?: { + state?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + cli_sso_complete_sso_cli_complete__login_id__post: { + parameters: { + query?: never; + header?: never; + path: { + login_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + cli_poll_key_sso_cli_poll__key_id__get: { + parameters: { + query?: { + team_id?: string | null; + }; + header?: { + "x-litellm-cli-poll-secret"?: string | null; + }; + path: { + key_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + cli_sso_start_sso_cli_start_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + debug_sso_callback_sso_debug_callback_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + debug_sso_login_sso_debug_login_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + get_ui_settings_sso_get_ui_settings_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + google_login_sso_key_generate_get: { + parameters: { + query?: { + source?: string | null; + key?: string | null; + existing_key?: string | null; + return_to?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; sso_readiness_sso_readiness_get: { parameters: { query?: never; @@ -43257,6 +48756,44 @@ export interface operations { }; }; }; + ui_view_teams_team_filter_ui_get: { + parameters: { + query?: { + /** @description Team ID in the request parameters */ + team_id?: string | null; + /** @description Team alias in the request parameters */ + team_alias?: string | null; + /** @description Page number for pagination */ + page?: number; + /** @description Number of items per page */ + page_size?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_TeamTable"][]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; team_info_team_info_get: { parameters: { query?: { @@ -44507,6 +50044,26 @@ export interface operations { }; }; }; + ui_get_available_role_user_available_roles_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; available_enterprise_users_user_available_users_get: { parameters: { query?: never; @@ -44687,6 +50244,46 @@ export interface operations { }; }; }; + ui_view_users_user_filter_ui_get: { + parameters: { + query?: { + /** @description User ID in the request parameters */ + user_id?: string | null; + /** @description User email in the request parameters */ + user_email?: string | null; + /** @description Team ID — used when a team admin searches for users to add to their team */ + team_id?: string | null; + /** @description Page number for pagination */ + page?: number; + /** @description Number of items per page */ + page_size?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["LiteLLM_UserTableFiltered"][]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; user_info_user_info_get: { parameters: { query?: { @@ -48127,6 +53724,10 @@ export interface operations { parameters: { query?: { litellm_model_id?: string | null; + /** @description When true, filter to deployments the caller can use via direct access or team membership. */ + include_team_models?: boolean | null; + /** @description Filter models by team ID. Returns models with direct_access=True or teamId in access_via_team_ids */ + teamId?: string | null; }; header?: never; path?: never; @@ -48164,6 +53765,7 @@ export interface operations { include_metadata?: boolean | null; fallback_type?: string | null; scope?: string | null; + healthy_only?: boolean | null; }; header?: never; path?: never; @@ -50429,6 +56031,110 @@ export interface operations { }; }; }; + info_key_fn_v2_v2_key_info_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["KeyRequest"] | null; + }; + }; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + login_v2_v2_login_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + model_info_v2_v2_model_info_get: { + parameters: { + query?: { + /** @description Specify the model name (optional) */ + model?: string | null; + /** @description Only return models added by this user */ + user_models_only?: boolean | null; + /** @description Return all models across all teams user is in. */ + include_team_models?: boolean | null; + debug?: boolean | null; + /** @description Page number */ + page?: number; + /** @description Page size */ + size?: number; + /** @description Search model names (case-insensitive partial match) */ + search?: string | null; + /** @description Search for a specific model by its unique ID */ + modelId?: string | null; + /** @description Filter models by team ID. Returns models with direct_access=True or teamId in access_via_team_ids */ + teamId?: string | null; + /** @description Field to sort by. Options: model_name, created_at, updated_at, costs, status */ + sortBy?: string | null; + /** @description Sort order. Options: asc, desc */ + sortOrder?: string | null; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; rerank_v2_rerank_post: { parameters: { query?: never; @@ -50531,6 +56237,46 @@ export interface operations { }; }; }; + login_v3_v3_login_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; + login_v3_exchange_v3_login_exchange_post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + }; + }; delete_vantage_settings_vantage_delete_delete: { parameters: { query?: never; @@ -51235,6 +56981,161 @@ export interface operations { }; }; }; + vertex_proxy_route_vertex_ai__endpoint__get_2: { + parameters: { + query?: never; + header?: never; + path: { + endpoint: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + vertex_proxy_route_vertex_ai__endpoint__put_2: { + parameters: { + query?: never; + header?: never; + path: { + endpoint: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + vertex_proxy_route_vertex_ai__endpoint__post_2: { + parameters: { + query?: never; + header?: never; + path: { + endpoint: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + vertex_proxy_route_vertex_ai__endpoint__delete_2: { + parameters: { + query?: never; + header?: never; + path: { + endpoint: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + vertex_proxy_route_vertex_ai__endpoint__patch_2: { + parameters: { + query?: never; + header?: never; + path: { + endpoint: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": unknown; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; vertex_discovery_proxy_route_vertex_ai_discovery__endpoint__get: { parameters: { query?: never; From 5cddf3c34582417194fac1afd7f279b042b6be73 Mon Sep 17 00:00:00 2001 From: Dotify71 Date: Mon, 6 Jul 2026 23:04:55 +0530 Subject: [PATCH 7/7] test: add cache_read_input_image_token_cost to json schema in test_utils.py --- tests/test_litellm/test_utils.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_litellm/test_utils.py b/tests/test_litellm/test_utils.py index 0d193a8a832..d57532747f4 100644 --- a/tests/test_litellm/test_utils.py +++ b/tests/test_litellm/test_utils.py @@ -711,6 +711,7 @@ def test_aaamodel_prices_and_context_window_json_is_valid(): "cache_creation_input_token_cost_above_1hr": {"type": "number"}, "cache_creation_input_token_cost_above_200k_tokens": {"type": "number"}, "cache_read_input_token_cost": {"type": "number"}, + "cache_read_input_image_token_cost": {"type": "number"}, "cache_read_input_token_cost_above_200k_tokens": {"type": "number"}, "cache_read_input_token_cost_above_272k_tokens": {"type": "number"}, "cache_read_input_token_cost_above_512k_tokens": {"type": "number"},