{"openapi":"3.1.0","info":{"title":"LiteLLM API","description":"Proxy Server to call 100+ LLMs in the OpenAI format. [**Customize Swagger Docs**](https://docs.litellm.ai/docs/proxy/enterprise#swagger-docs---custom-routes--branding)\n\n👉 [```LiteLLM Admin Panel on /ui```](/ui/). Create, Edit Keys with SSO\n\n💸 [```LiteLLM Model Cost Map```](https://models.litellm.ai/).\n\n🔎 [```LiteLLM Model Hub```](/ui/model_hub_table). See available models on the proxy. [**Docs**](https://docs.litellm.ai/docs/proxy/model_hub)","version":"1.75.8"},"paths":{"/models":{"get":{"tags":["model management"],"summary":"Model List","description":"Use `/model/info` - to get detailed model information, example - pricing, mode, etc.\n\nThis is just for compatibility with openai projects like aider.\n\nQuery Parameters:\n- include_metadata: Include additional metadata in the response with fallback information\n- fallback_type: Type of fallbacks to include (\"general\", \"context_window\", \"content_policy\")\n                Defaults to \"general\" when include_metadata=true","operationId":"model_list_models_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"return_wildcard_routes","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"title":"Return Wildcard Routes"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"}},{"name":"include_model_access_groups","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"title":"Include Model Access Groups"}},{"name":"only_model_access_groups","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"title":"Only Model Access Groups"}},{"name":"include_metadata","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"title":"Include Metadata"}},{"name":"fallback_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fallback Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/models":{"get":{"tags":["model management"],"summary":"Model List","description":"Use `/model/info` - to get detailed model information, example - pricing, mode, etc.\n\nThis is just for compatibility with openai projects like aider.\n\nQuery Parameters:\n- include_metadata: Include additional metadata in the response with fallback information\n- fallback_type: Type of fallbacks to include (\"general\", \"context_window\", \"content_policy\")\n                Defaults to \"general\" when include_metadata=true","operationId":"model_list_v1_models_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"return_wildcard_routes","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"title":"Return Wildcard Routes"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"}},{"name":"include_model_access_groups","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"title":"Include Model Access Groups"}},{"name":"only_model_access_groups","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"title":"Only Model Access Groups"}},{"name":"include_metadata","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"title":"Include Metadata"}},{"name":"fallback_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fallback Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/models/{model_id}":{"get":{"tags":["model management"],"summary":"Model Info","description":"Retrieve information about a specific model accessible to your API key.\n\nReturns model details only if the model is available to your API key/team.\nReturns 404 if the model doesn't exist or is not accessible.\n\nFollows OpenAI API specification for individual model retrieval.\nhttps://platform.openai.com/docs/api-reference/models/retrieve","operationId":"model_info_models__model_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/models/{model_id}":{"get":{"tags":["model management"],"summary":"Model Info","description":"Retrieve information about a specific model accessible to your API key.\n\nReturns model details only if the model is available to your API key/team.\nReturns 404 if the model doesn't exist or is not accessible.\n\nFollows OpenAI API specification for individual model retrieval.\nhttps://platform.openai.com/docs/api-reference/models/retrieve","operationId":"model_info_v1_models__model_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/openai/deployments/{model}/chat/completions":{"post":{"tags":["chat/completions"],"summary":"Chat Completion","description":"Follows the exact same API spec as `OpenAI's Chat API https://platform.openai.com/docs/api-reference/chat`\n\n```bash\ncurl -X POST http://localhost:4000/v1/chat/completions \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"gpt-4o\",\n    \"messages\": [\n        {\n            \"role\": \"user\",\n            \"content\": \"Hello!\"\n        }\n    ]\n}'\n```","operationId":"chat_completion_openai_deployments__model__chat_completions_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{}}}},"401":{"description":"AuthenticationError","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"NotFoundError","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"ContentPolicyViolationError","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"UnprocessableEntityError","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"408":{"description":"Timeout","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PermissionDeniedError","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"RateLimitError","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"JSONSchemaValidationError","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"APIConnectionError","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model","messages"],"properties":{"model":{"title":"Model","type":"string"},"messages":{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionUserMessage"},{"$ref":"#/$defs/ChatCompletionAssistantMessage"},{"$ref":"#/$defs/ChatCompletionToolMessage"},{"$ref":"#/$defs/ChatCompletionSystemMessage"},{"$ref":"#/$defs/ChatCompletionFunctionMessage"},{"$ref":"#/$defs/ChatCompletionDeveloperMessage"}]},"title":"Messages","type":"array","example":[{"role":"user","content":"Hello, how are you?"}]},"frequency_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Frequency Penalty"},"logit_bias":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"default":null,"title":"Logit Bias"},"logprobs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Logprobs"},"top_logprobs":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Top Logprobs"},"max_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Max Tokens"},"n":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"N"},"presence_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Presence Penalty"},"response_format":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Response Format"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Seed"},"service_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Service Tier"},"stop":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Stop"},"stream_options":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Stream Options"},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Temperature"},"top_p":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Top P"},"tools":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"default":null,"title":"Tools"},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Tool Choice"},"parallel_tool_calls":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Parallel Tool Calls"},"function_call":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Function Call"},"functions":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"default":null,"title":"Functions"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"User"},"stream":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Stream"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Metadata"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Guardrails"},"caching":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Caching"},"num_retries":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Num Retries"},"context_window_fallback_dict":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"default":null,"title":"Context Window Fallback Dict"},"fallbacks":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Fallbacks"}},"$defs":{"ChatCompletionAssistantMessage":{"properties":{"role":{"const":"assistant","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionTextObject"},{"$ref":"#/$defs/ChatCompletionThinkingBlock"}]},"type":"array"},{"type":"null"}],"title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"tool_calls":{"anyOf":[{"items":{"$ref":"#/$defs/ChatCompletionAssistantToolCall"},"type":"array"},{"type":"null"}],"title":"Tool Calls"},"function_call":{"anyOf":[{"$ref":"#/$defs/ChatCompletionToolCallFunctionChunk"},{"type":"null"}]},"reasoning_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning Content"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"},"thinking_blocks":{"anyOf":[{"items":{"$ref":"#/$defs/ChatCompletionThinkingBlock"},"type":"array"},{"type":"null"}],"title":"Thinking Blocks"}},"required":["role"],"title":"ChatCompletionAssistantMessage","type":"object"},"ChatCompletionAssistantToolCall":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"type":{"const":"function","title":"Type","type":"string"},"function":{"$ref":"#/$defs/ChatCompletionToolCallFunctionChunk"}},"required":["id","type","function"],"title":"ChatCompletionAssistantToolCall","type":"object"},"ChatCompletionAudioObject":{"properties":{"input_audio":{"$ref":"#/$defs/InputAudio"},"type":{"const":"input_audio","title":"Type","type":"string"}},"required":["input_audio","type"],"title":"ChatCompletionAudioObject","type":"object"},"ChatCompletionCachedContent":{"properties":{"type":{"const":"ephemeral","title":"Type","type":"string"}},"required":["type"],"title":"ChatCompletionCachedContent","type":"object"},"ChatCompletionDeveloperMessage":{"properties":{"role":{"const":"developer","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{},"type":"array"}],"title":"Content"},"name":{"title":"Name","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionDeveloperMessage","type":"object"},"ChatCompletionDocumentObject":{"properties":{"type":{"const":"document","title":"Type","type":"string"},"source":{"$ref":"#/$defs/DocumentObject"},"title":{"title":"Title","type":"string"},"context":{"title":"Context","type":"string"},"citations":{"anyOf":[{"$ref":"#/$defs/CitationsObject"},{"type":"null"}]}},"required":["type","source","title","context","citations"],"title":"ChatCompletionDocumentObject","type":"object"},"ChatCompletionFileObject":{"properties":{"type":{"const":"file","title":"Type","type":"string"},"file":{"$ref":"#/$defs/ChatCompletionFileObjectFile"}},"required":["type","file"],"title":"ChatCompletionFileObject","type":"object"},"ChatCompletionFileObjectFile":{"properties":{"file_data":{"title":"File Data","type":"string"},"file_id":{"title":"File Id","type":"string"},"filename":{"title":"Filename","type":"string"},"format":{"title":"Format","type":"string"}},"title":"ChatCompletionFileObjectFile","type":"object"},"ChatCompletionFunctionMessage":{"properties":{"role":{"const":"function","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/$defs/ChatCompletionTextObject"},"type":"array"},{"type":"null"}],"title":"Content"},"name":{"title":"Name","type":"string"},"tool_call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tool Call Id"}},"required":["role","content","name","tool_call_id"],"title":"ChatCompletionFunctionMessage","type":"object"},"ChatCompletionImageObject":{"properties":{"type":{"const":"image_url","title":"Type","type":"string"},"image_url":{"anyOf":[{"type":"string"},{"$ref":"#/$defs/ChatCompletionImageUrlObject"}],"title":"Image Url"}},"required":["type","image_url"],"title":"ChatCompletionImageObject","type":"object"},"ChatCompletionImageUrlObject":{"properties":{"url":{"title":"Url","type":"string"},"detail":{"title":"Detail","type":"string"},"format":{"title":"Format","type":"string"}},"required":["url"],"title":"ChatCompletionImageUrlObject","type":"object"},"ChatCompletionSystemMessage":{"properties":{"role":{"const":"system","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{},"type":"array"}],"title":"Content"},"name":{"title":"Name","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionSystemMessage","type":"object"},"ChatCompletionTextObject":{"properties":{"type":{"const":"text","title":"Type","type":"string"},"text":{"title":"Text","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["type","text"],"title":"ChatCompletionTextObject","type":"object"},"ChatCompletionThinkingBlock":{"properties":{"type":{"const":"thinking","title":"Type","type":"string"},"thinking":{"title":"Thinking","type":"string"},"signature":{"title":"Signature","type":"string"},"cache_control":{"anyOf":[{"type":"object"},{"$ref":"#/$defs/ChatCompletionCachedContent"},{"type":"null"}],"title":"Cache Control"}},"required":["type"],"title":"ChatCompletionThinkingBlock","type":"object"},"ChatCompletionToolCallFunctionChunk":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"arguments":{"title":"Arguments","type":"string"}},"title":"ChatCompletionToolCallFunctionChunk","type":"object"},"ChatCompletionToolMessage":{"properties":{"role":{"const":"tool","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/$defs/ChatCompletionTextObject"},"type":"array"}],"title":"Content"},"tool_call_id":{"title":"Tool Call Id","type":"string"}},"required":["role","content","tool_call_id"],"title":"ChatCompletionToolMessage","type":"object"},"ChatCompletionUserMessage":{"properties":{"role":{"const":"user","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionTextObject"},{"$ref":"#/$defs/ChatCompletionImageObject"},{"$ref":"#/$defs/ChatCompletionAudioObject"},{"$ref":"#/$defs/ChatCompletionDocumentObject"},{"$ref":"#/$defs/ChatCompletionVideoObject"},{"$ref":"#/$defs/ChatCompletionFileObject"}]},"type":"array"}],"title":"Content"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionUserMessage","type":"object"},"ChatCompletionVideoObject":{"properties":{"type":{"const":"video_url","title":"Type","type":"string"},"video_url":{"anyOf":[{"type":"string"},{"$ref":"#/$defs/ChatCompletionVideoUrlObject"}],"title":"Video Url"}},"required":["type","video_url"],"title":"ChatCompletionVideoObject","type":"object"},"ChatCompletionVideoUrlObject":{"properties":{"url":{"title":"Url","type":"string"},"detail":{"title":"Detail","type":"string"}},"required":["url"],"title":"ChatCompletionVideoUrlObject","type":"object"},"CitationsObject":{"properties":{"enabled":{"title":"Enabled","type":"boolean"}},"required":["enabled"],"title":"CitationsObject","type":"object"},"DocumentObject":{"properties":{"type":{"const":"text","title":"Type","type":"string"},"media_type":{"title":"Media Type","type":"string"},"data":{"title":"Data","type":"string"}},"required":["type","media_type","data"],"title":"DocumentObject","type":"object"},"InputAudio":{"properties":{"data":{"title":"Data","type":"string"},"format":{"enum":["wav","mp3"],"title":"Format","type":"string"}},"required":["data","format"],"title":"InputAudio","type":"object"}}}}}}}},"/engines/{model}/chat/completions":{"post":{"tags":["chat/completions"],"summary":"Chat Completion","description":"Follows the exact same API spec as `OpenAI's Chat API https://platform.openai.com/docs/api-reference/chat`\n\n```bash\ncurl -X POST http://localhost:4000/v1/chat/completions \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"gpt-4o\",\n    \"messages\": [\n        {\n            \"role\": \"user\",\n            \"content\": \"Hello!\"\n        }\n    ]\n}'\n```","operationId":"chat_completion_engines__model__chat_completions_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model","messages"],"properties":{"model":{"title":"Model","type":"string"},"messages":{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionUserMessage"},{"$ref":"#/$defs/ChatCompletionAssistantMessage"},{"$ref":"#/$defs/ChatCompletionToolMessage"},{"$ref":"#/$defs/ChatCompletionSystemMessage"},{"$ref":"#/$defs/ChatCompletionFunctionMessage"},{"$ref":"#/$defs/ChatCompletionDeveloperMessage"}]},"title":"Messages","type":"array","example":[{"role":"user","content":"Hello, how are you?"}]},"frequency_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Frequency Penalty"},"logit_bias":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"default":null,"title":"Logit Bias"},"logprobs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Logprobs"},"top_logprobs":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Top Logprobs"},"max_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Max Tokens"},"n":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"N"},"presence_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Presence Penalty"},"response_format":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Response Format"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Seed"},"service_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Service Tier"},"stop":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Stop"},"stream_options":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Stream Options"},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Temperature"},"top_p":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Top P"},"tools":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"default":null,"title":"Tools"},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Tool Choice"},"parallel_tool_calls":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Parallel Tool Calls"},"function_call":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Function Call"},"functions":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"default":null,"title":"Functions"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"User"},"stream":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Stream"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Metadata"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Guardrails"},"caching":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Caching"},"num_retries":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Num Retries"},"context_window_fallback_dict":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"default":null,"title":"Context Window Fallback Dict"},"fallbacks":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Fallbacks"}},"$defs":{"ChatCompletionAssistantMessage":{"properties":{"role":{"const":"assistant","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionTextObject"},{"$ref":"#/$defs/ChatCompletionThinkingBlock"}]},"type":"array"},{"type":"null"}],"title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"tool_calls":{"anyOf":[{"items":{"$ref":"#/$defs/ChatCompletionAssistantToolCall"},"type":"array"},{"type":"null"}],"title":"Tool Calls"},"function_call":{"anyOf":[{"$ref":"#/$defs/ChatCompletionToolCallFunctionChunk"},{"type":"null"}]},"reasoning_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning Content"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"},"thinking_blocks":{"anyOf":[{"items":{"$ref":"#/$defs/ChatCompletionThinkingBlock"},"type":"array"},{"type":"null"}],"title":"Thinking Blocks"}},"required":["role"],"title":"ChatCompletionAssistantMessage","type":"object"},"ChatCompletionAssistantToolCall":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"type":{"const":"function","title":"Type","type":"string"},"function":{"$ref":"#/$defs/ChatCompletionToolCallFunctionChunk"}},"required":["id","type","function"],"title":"ChatCompletionAssistantToolCall","type":"object"},"ChatCompletionAudioObject":{"properties":{"input_audio":{"$ref":"#/$defs/InputAudio"},"type":{"const":"input_audio","title":"Type","type":"string"}},"required":["input_audio","type"],"title":"ChatCompletionAudioObject","type":"object"},"ChatCompletionCachedContent":{"properties":{"type":{"const":"ephemeral","title":"Type","type":"string"}},"required":["type"],"title":"ChatCompletionCachedContent","type":"object"},"ChatCompletionDeveloperMessage":{"properties":{"role":{"const":"developer","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{},"type":"array"}],"title":"Content"},"name":{"title":"Name","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionDeveloperMessage","type":"object"},"ChatCompletionDocumentObject":{"properties":{"type":{"const":"document","title":"Type","type":"string"},"source":{"$ref":"#/$defs/DocumentObject"},"title":{"title":"Title","type":"string"},"context":{"title":"Context","type":"string"},"citations":{"anyOf":[{"$ref":"#/$defs/CitationsObject"},{"type":"null"}]}},"required":["type","source","title","context","citations"],"title":"ChatCompletionDocumentObject","type":"object"},"ChatCompletionFileObject":{"properties":{"type":{"const":"file","title":"Type","type":"string"},"file":{"$ref":"#/$defs/ChatCompletionFileObjectFile"}},"required":["type","file"],"title":"ChatCompletionFileObject","type":"object"},"ChatCompletionFileObjectFile":{"properties":{"file_data":{"title":"File Data","type":"string"},"file_id":{"title":"File Id","type":"string"},"filename":{"title":"Filename","type":"string"},"format":{"title":"Format","type":"string"}},"title":"ChatCompletionFileObjectFile","type":"object"},"ChatCompletionFunctionMessage":{"properties":{"role":{"const":"function","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/$defs/ChatCompletionTextObject"},"type":"array"},{"type":"null"}],"title":"Content"},"name":{"title":"Name","type":"string"},"tool_call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tool Call Id"}},"required":["role","content","name","tool_call_id"],"title":"ChatCompletionFunctionMessage","type":"object"},"ChatCompletionImageObject":{"properties":{"type":{"const":"image_url","title":"Type","type":"string"},"image_url":{"anyOf":[{"type":"string"},{"$ref":"#/$defs/ChatCompletionImageUrlObject"}],"title":"Image Url"}},"required":["type","image_url"],"title":"ChatCompletionImageObject","type":"object"},"ChatCompletionImageUrlObject":{"properties":{"url":{"title":"Url","type":"string"},"detail":{"title":"Detail","type":"string"},"format":{"title":"Format","type":"string"}},"required":["url"],"title":"ChatCompletionImageUrlObject","type":"object"},"ChatCompletionSystemMessage":{"properties":{"role":{"const":"system","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{},"type":"array"}],"title":"Content"},"name":{"title":"Name","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionSystemMessage","type":"object"},"ChatCompletionTextObject":{"properties":{"type":{"const":"text","title":"Type","type":"string"},"text":{"title":"Text","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["type","text"],"title":"ChatCompletionTextObject","type":"object"},"ChatCompletionThinkingBlock":{"properties":{"type":{"const":"thinking","title":"Type","type":"string"},"thinking":{"title":"Thinking","type":"string"},"signature":{"title":"Signature","type":"string"},"cache_control":{"anyOf":[{"type":"object"},{"$ref":"#/$defs/ChatCompletionCachedContent"},{"type":"null"}],"title":"Cache Control"}},"required":["type"],"title":"ChatCompletionThinkingBlock","type":"object"},"ChatCompletionToolCallFunctionChunk":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"arguments":{"title":"Arguments","type":"string"}},"title":"ChatCompletionToolCallFunctionChunk","type":"object"},"ChatCompletionToolMessage":{"properties":{"role":{"const":"tool","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/$defs/ChatCompletionTextObject"},"type":"array"}],"title":"Content"},"tool_call_id":{"title":"Tool Call Id","type":"string"}},"required":["role","content","tool_call_id"],"title":"ChatCompletionToolMessage","type":"object"},"ChatCompletionUserMessage":{"properties":{"role":{"const":"user","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionTextObject"},{"$ref":"#/$defs/ChatCompletionImageObject"},{"$ref":"#/$defs/ChatCompletionAudioObject"},{"$ref":"#/$defs/ChatCompletionDocumentObject"},{"$ref":"#/$defs/ChatCompletionVideoObject"},{"$ref":"#/$defs/ChatCompletionFileObject"}]},"type":"array"}],"title":"Content"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionUserMessage","type":"object"},"ChatCompletionVideoObject":{"properties":{"type":{"const":"video_url","title":"Type","type":"string"},"video_url":{"anyOf":[{"type":"string"},{"$ref":"#/$defs/ChatCompletionVideoUrlObject"}],"title":"Video Url"}},"required":["type","video_url"],"title":"ChatCompletionVideoObject","type":"object"},"ChatCompletionVideoUrlObject":{"properties":{"url":{"title":"Url","type":"string"},"detail":{"title":"Detail","type":"string"}},"required":["url"],"title":"ChatCompletionVideoUrlObject","type":"object"},"CitationsObject":{"properties":{"enabled":{"title":"Enabled","type":"boolean"}},"required":["enabled"],"title":"CitationsObject","type":"object"},"DocumentObject":{"properties":{"type":{"const":"text","title":"Type","type":"string"},"media_type":{"title":"Media Type","type":"string"},"data":{"title":"Data","type":"string"}},"required":["type","media_type","data"],"title":"DocumentObject","type":"object"},"InputAudio":{"properties":{"data":{"title":"Data","type":"string"},"format":{"enum":["wav","mp3"],"title":"Format","type":"string"}},"required":["data","format"],"title":"InputAudio","type":"object"}}}}}}}},"/chat/completions":{"post":{"tags":["chat/completions"],"summary":"Chat Completion","description":"Follows the exact same API spec as `OpenAI's Chat API https://platform.openai.com/docs/api-reference/chat`\n\n```bash\ncurl -X POST http://localhost:4000/v1/chat/completions \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"gpt-4o\",\n    \"messages\": [\n        {\n            \"role\": \"user\",\n            \"content\": \"Hello!\"\n        }\n    ]\n}'\n```","operationId":"chat_completion_chat_completions_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model","messages"],"properties":{"model":{"title":"Model","type":"string"},"messages":{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionUserMessage"},{"$ref":"#/$defs/ChatCompletionAssistantMessage"},{"$ref":"#/$defs/ChatCompletionToolMessage"},{"$ref":"#/$defs/ChatCompletionSystemMessage"},{"$ref":"#/$defs/ChatCompletionFunctionMessage"},{"$ref":"#/$defs/ChatCompletionDeveloperMessage"}]},"title":"Messages","type":"array","example":[{"role":"user","content":"Hello, how are you?"}]},"frequency_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Frequency Penalty"},"logit_bias":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"default":null,"title":"Logit Bias"},"logprobs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Logprobs"},"top_logprobs":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Top Logprobs"},"max_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Max Tokens"},"n":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"N"},"presence_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Presence Penalty"},"response_format":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Response Format"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Seed"},"service_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Service Tier"},"stop":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Stop"},"stream_options":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Stream Options"},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Temperature"},"top_p":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Top P"},"tools":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"default":null,"title":"Tools"},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Tool Choice"},"parallel_tool_calls":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Parallel Tool Calls"},"function_call":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Function Call"},"functions":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"default":null,"title":"Functions"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"User"},"stream":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Stream"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Metadata"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Guardrails"},"caching":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Caching"},"num_retries":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Num Retries"},"context_window_fallback_dict":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"default":null,"title":"Context Window Fallback Dict"},"fallbacks":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Fallbacks"}},"$defs":{"ChatCompletionAssistantMessage":{"properties":{"role":{"const":"assistant","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionTextObject"},{"$ref":"#/$defs/ChatCompletionThinkingBlock"}]},"type":"array"},{"type":"null"}],"title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"tool_calls":{"anyOf":[{"items":{"$ref":"#/$defs/ChatCompletionAssistantToolCall"},"type":"array"},{"type":"null"}],"title":"Tool Calls"},"function_call":{"anyOf":[{"$ref":"#/$defs/ChatCompletionToolCallFunctionChunk"},{"type":"null"}]},"reasoning_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning Content"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"},"thinking_blocks":{"anyOf":[{"items":{"$ref":"#/$defs/ChatCompletionThinkingBlock"},"type":"array"},{"type":"null"}],"title":"Thinking Blocks"}},"required":["role"],"title":"ChatCompletionAssistantMessage","type":"object"},"ChatCompletionAssistantToolCall":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"type":{"const":"function","title":"Type","type":"string"},"function":{"$ref":"#/$defs/ChatCompletionToolCallFunctionChunk"}},"required":["id","type","function"],"title":"ChatCompletionAssistantToolCall","type":"object"},"ChatCompletionAudioObject":{"properties":{"input_audio":{"$ref":"#/$defs/InputAudio"},"type":{"const":"input_audio","title":"Type","type":"string"}},"required":["input_audio","type"],"title":"ChatCompletionAudioObject","type":"object"},"ChatCompletionCachedContent":{"properties":{"type":{"const":"ephemeral","title":"Type","type":"string"}},"required":["type"],"title":"ChatCompletionCachedContent","type":"object"},"ChatCompletionDeveloperMessage":{"properties":{"role":{"const":"developer","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{},"type":"array"}],"title":"Content"},"name":{"title":"Name","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionDeveloperMessage","type":"object"},"ChatCompletionDocumentObject":{"properties":{"type":{"const":"document","title":"Type","type":"string"},"source":{"$ref":"#/$defs/DocumentObject"},"title":{"title":"Title","type":"string"},"context":{"title":"Context","type":"string"},"citations":{"anyOf":[{"$ref":"#/$defs/CitationsObject"},{"type":"null"}]}},"required":["type","source","title","context","citations"],"title":"ChatCompletionDocumentObject","type":"object"},"ChatCompletionFileObject":{"properties":{"type":{"const":"file","title":"Type","type":"string"},"file":{"$ref":"#/$defs/ChatCompletionFileObjectFile"}},"required":["type","file"],"title":"ChatCompletionFileObject","type":"object"},"ChatCompletionFileObjectFile":{"properties":{"file_data":{"title":"File Data","type":"string"},"file_id":{"title":"File Id","type":"string"},"filename":{"title":"Filename","type":"string"},"format":{"title":"Format","type":"string"}},"title":"ChatCompletionFileObjectFile","type":"object"},"ChatCompletionFunctionMessage":{"properties":{"role":{"const":"function","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/$defs/ChatCompletionTextObject"},"type":"array"},{"type":"null"}],"title":"Content"},"name":{"title":"Name","type":"string"},"tool_call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tool Call Id"}},"required":["role","content","name","tool_call_id"],"title":"ChatCompletionFunctionMessage","type":"object"},"ChatCompletionImageObject":{"properties":{"type":{"const":"image_url","title":"Type","type":"string"},"image_url":{"anyOf":[{"type":"string"},{"$ref":"#/$defs/ChatCompletionImageUrlObject"}],"title":"Image Url"}},"required":["type","image_url"],"title":"ChatCompletionImageObject","type":"object"},"ChatCompletionImageUrlObject":{"properties":{"url":{"title":"Url","type":"string"},"detail":{"title":"Detail","type":"string"},"format":{"title":"Format","type":"string"}},"required":["url"],"title":"ChatCompletionImageUrlObject","type":"object"},"ChatCompletionSystemMessage":{"properties":{"role":{"const":"system","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{},"type":"array"}],"title":"Content"},"name":{"title":"Name","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionSystemMessage","type":"object"},"ChatCompletionTextObject":{"properties":{"type":{"const":"text","title":"Type","type":"string"},"text":{"title":"Text","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["type","text"],"title":"ChatCompletionTextObject","type":"object"},"ChatCompletionThinkingBlock":{"properties":{"type":{"const":"thinking","title":"Type","type":"string"},"thinking":{"title":"Thinking","type":"string"},"signature":{"title":"Signature","type":"string"},"cache_control":{"anyOf":[{"type":"object"},{"$ref":"#/$defs/ChatCompletionCachedContent"},{"type":"null"}],"title":"Cache Control"}},"required":["type"],"title":"ChatCompletionThinkingBlock","type":"object"},"ChatCompletionToolCallFunctionChunk":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"arguments":{"title":"Arguments","type":"string"}},"title":"ChatCompletionToolCallFunctionChunk","type":"object"},"ChatCompletionToolMessage":{"properties":{"role":{"const":"tool","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/$defs/ChatCompletionTextObject"},"type":"array"}],"title":"Content"},"tool_call_id":{"title":"Tool Call Id","type":"string"}},"required":["role","content","tool_call_id"],"title":"ChatCompletionToolMessage","type":"object"},"ChatCompletionUserMessage":{"properties":{"role":{"const":"user","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionTextObject"},{"$ref":"#/$defs/ChatCompletionImageObject"},{"$ref":"#/$defs/ChatCompletionAudioObject"},{"$ref":"#/$defs/ChatCompletionDocumentObject"},{"$ref":"#/$defs/ChatCompletionVideoObject"},{"$ref":"#/$defs/ChatCompletionFileObject"}]},"type":"array"}],"title":"Content"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionUserMessage","type":"object"},"ChatCompletionVideoObject":{"properties":{"type":{"const":"video_url","title":"Type","type":"string"},"video_url":{"anyOf":[{"type":"string"},{"$ref":"#/$defs/ChatCompletionVideoUrlObject"}],"title":"Video Url"}},"required":["type","video_url"],"title":"ChatCompletionVideoObject","type":"object"},"ChatCompletionVideoUrlObject":{"properties":{"url":{"title":"Url","type":"string"},"detail":{"title":"Detail","type":"string"}},"required":["url"],"title":"ChatCompletionVideoUrlObject","type":"object"},"CitationsObject":{"properties":{"enabled":{"title":"Enabled","type":"boolean"}},"required":["enabled"],"title":"CitationsObject","type":"object"},"DocumentObject":{"properties":{"type":{"const":"text","title":"Type","type":"string"},"media_type":{"title":"Media Type","type":"string"},"data":{"title":"Data","type":"string"}},"required":["type","media_type","data"],"title":"DocumentObject","type":"object"},"InputAudio":{"properties":{"data":{"title":"Data","type":"string"},"format":{"enum":["wav","mp3"],"title":"Format","type":"string"}},"required":["data","format"],"title":"InputAudio","type":"object"}}}}}}}},"/v1/chat/completions":{"post":{"tags":["chat/completions"],"summary":"Chat Completion","description":"Follows the exact same API spec as `OpenAI's Chat API https://platform.openai.com/docs/api-reference/chat`\n\n```bash\ncurl -X POST http://localhost:4000/v1/chat/completions \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"gpt-4o\",\n    \"messages\": [\n        {\n            \"role\": \"user\",\n            \"content\": \"Hello!\"\n        }\n    ]\n}'\n```","operationId":"chat_completion_v1_chat_completions_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model","messages"],"properties":{"model":{"title":"Model","type":"string"},"messages":{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionUserMessage"},{"$ref":"#/$defs/ChatCompletionAssistantMessage"},{"$ref":"#/$defs/ChatCompletionToolMessage"},{"$ref":"#/$defs/ChatCompletionSystemMessage"},{"$ref":"#/$defs/ChatCompletionFunctionMessage"},{"$ref":"#/$defs/ChatCompletionDeveloperMessage"}]},"title":"Messages","type":"array","example":[{"role":"user","content":"Hello, how are you?"}]},"frequency_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Frequency Penalty"},"logit_bias":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"default":null,"title":"Logit Bias"},"logprobs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Logprobs"},"top_logprobs":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Top Logprobs"},"max_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Max Tokens"},"n":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"N"},"presence_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Presence Penalty"},"response_format":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Response Format"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Seed"},"service_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Service Tier"},"stop":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Stop"},"stream_options":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Stream Options"},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Temperature"},"top_p":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Top P"},"tools":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"default":null,"title":"Tools"},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Tool Choice"},"parallel_tool_calls":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Parallel Tool Calls"},"function_call":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Function Call"},"functions":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"default":null,"title":"Functions"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"User"},"stream":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Stream"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Metadata"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Guardrails"},"caching":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Caching"},"num_retries":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Num Retries"},"context_window_fallback_dict":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"default":null,"title":"Context Window Fallback Dict"},"fallbacks":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Fallbacks"}},"$defs":{"ChatCompletionAssistantMessage":{"properties":{"role":{"const":"assistant","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionTextObject"},{"$ref":"#/$defs/ChatCompletionThinkingBlock"}]},"type":"array"},{"type":"null"}],"title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"tool_calls":{"anyOf":[{"items":{"$ref":"#/$defs/ChatCompletionAssistantToolCall"},"type":"array"},{"type":"null"}],"title":"Tool Calls"},"function_call":{"anyOf":[{"$ref":"#/$defs/ChatCompletionToolCallFunctionChunk"},{"type":"null"}]},"reasoning_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning Content"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"},"thinking_blocks":{"anyOf":[{"items":{"$ref":"#/$defs/ChatCompletionThinkingBlock"},"type":"array"},{"type":"null"}],"title":"Thinking Blocks"}},"required":["role"],"title":"ChatCompletionAssistantMessage","type":"object"},"ChatCompletionAssistantToolCall":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"type":{"const":"function","title":"Type","type":"string"},"function":{"$ref":"#/$defs/ChatCompletionToolCallFunctionChunk"}},"required":["id","type","function"],"title":"ChatCompletionAssistantToolCall","type":"object"},"ChatCompletionAudioObject":{"properties":{"input_audio":{"$ref":"#/$defs/InputAudio"},"type":{"const":"input_audio","title":"Type","type":"string"}},"required":["input_audio","type"],"title":"ChatCompletionAudioObject","type":"object"},"ChatCompletionCachedContent":{"properties":{"type":{"const":"ephemeral","title":"Type","type":"string"}},"required":["type"],"title":"ChatCompletionCachedContent","type":"object"},"ChatCompletionDeveloperMessage":{"properties":{"role":{"const":"developer","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{},"type":"array"}],"title":"Content"},"name":{"title":"Name","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionDeveloperMessage","type":"object"},"ChatCompletionDocumentObject":{"properties":{"type":{"const":"document","title":"Type","type":"string"},"source":{"$ref":"#/$defs/DocumentObject"},"title":{"title":"Title","type":"string"},"context":{"title":"Context","type":"string"},"citations":{"anyOf":[{"$ref":"#/$defs/CitationsObject"},{"type":"null"}]}},"required":["type","source","title","context","citations"],"title":"ChatCompletionDocumentObject","type":"object"},"ChatCompletionFileObject":{"properties":{"type":{"const":"file","title":"Type","type":"string"},"file":{"$ref":"#/$defs/ChatCompletionFileObjectFile"}},"required":["type","file"],"title":"ChatCompletionFileObject","type":"object"},"ChatCompletionFileObjectFile":{"properties":{"file_data":{"title":"File Data","type":"string"},"file_id":{"title":"File Id","type":"string"},"filename":{"title":"Filename","type":"string"},"format":{"title":"Format","type":"string"}},"title":"ChatCompletionFileObjectFile","type":"object"},"ChatCompletionFunctionMessage":{"properties":{"role":{"const":"function","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/$defs/ChatCompletionTextObject"},"type":"array"},{"type":"null"}],"title":"Content"},"name":{"title":"Name","type":"string"},"tool_call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tool Call Id"}},"required":["role","content","name","tool_call_id"],"title":"ChatCompletionFunctionMessage","type":"object"},"ChatCompletionImageObject":{"properties":{"type":{"const":"image_url","title":"Type","type":"string"},"image_url":{"anyOf":[{"type":"string"},{"$ref":"#/$defs/ChatCompletionImageUrlObject"}],"title":"Image Url"}},"required":["type","image_url"],"title":"ChatCompletionImageObject","type":"object"},"ChatCompletionImageUrlObject":{"properties":{"url":{"title":"Url","type":"string"},"detail":{"title":"Detail","type":"string"},"format":{"title":"Format","type":"string"}},"required":["url"],"title":"ChatCompletionImageUrlObject","type":"object"},"ChatCompletionSystemMessage":{"properties":{"role":{"const":"system","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{},"type":"array"}],"title":"Content"},"name":{"title":"Name","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionSystemMessage","type":"object"},"ChatCompletionTextObject":{"properties":{"type":{"const":"text","title":"Type","type":"string"},"text":{"title":"Text","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["type","text"],"title":"ChatCompletionTextObject","type":"object"},"ChatCompletionThinkingBlock":{"properties":{"type":{"const":"thinking","title":"Type","type":"string"},"thinking":{"title":"Thinking","type":"string"},"signature":{"title":"Signature","type":"string"},"cache_control":{"anyOf":[{"type":"object"},{"$ref":"#/$defs/ChatCompletionCachedContent"},{"type":"null"}],"title":"Cache Control"}},"required":["type"],"title":"ChatCompletionThinkingBlock","type":"object"},"ChatCompletionToolCallFunctionChunk":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"arguments":{"title":"Arguments","type":"string"}},"title":"ChatCompletionToolCallFunctionChunk","type":"object"},"ChatCompletionToolMessage":{"properties":{"role":{"const":"tool","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/$defs/ChatCompletionTextObject"},"type":"array"}],"title":"Content"},"tool_call_id":{"title":"Tool Call Id","type":"string"}},"required":["role","content","tool_call_id"],"title":"ChatCompletionToolMessage","type":"object"},"ChatCompletionUserMessage":{"properties":{"role":{"const":"user","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionTextObject"},{"$ref":"#/$defs/ChatCompletionImageObject"},{"$ref":"#/$defs/ChatCompletionAudioObject"},{"$ref":"#/$defs/ChatCompletionDocumentObject"},{"$ref":"#/$defs/ChatCompletionVideoObject"},{"$ref":"#/$defs/ChatCompletionFileObject"}]},"type":"array"}],"title":"Content"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionUserMessage","type":"object"},"ChatCompletionVideoObject":{"properties":{"type":{"const":"video_url","title":"Type","type":"string"},"video_url":{"anyOf":[{"type":"string"},{"$ref":"#/$defs/ChatCompletionVideoUrlObject"}],"title":"Video Url"}},"required":["type","video_url"],"title":"ChatCompletionVideoObject","type":"object"},"ChatCompletionVideoUrlObject":{"properties":{"url":{"title":"Url","type":"string"},"detail":{"title":"Detail","type":"string"}},"required":["url"],"title":"ChatCompletionVideoUrlObject","type":"object"},"CitationsObject":{"properties":{"enabled":{"title":"Enabled","type":"boolean"}},"required":["enabled"],"title":"CitationsObject","type":"object"},"DocumentObject":{"properties":{"type":{"const":"text","title":"Type","type":"string"},"media_type":{"title":"Media Type","type":"string"},"data":{"title":"Data","type":"string"}},"required":["type","media_type","data"],"title":"DocumentObject","type":"object"},"InputAudio":{"properties":{"data":{"title":"Data","type":"string"},"format":{"enum":["wav","mp3"],"title":"Format","type":"string"}},"required":["data","format"],"title":"InputAudio","type":"object"}}}}}}}},"/openai/deployments/{model}/completions":{"post":{"tags":["completions"],"summary":"Completion","description":"Follows the exact same API spec as `OpenAI's Completions API https://platform.openai.com/docs/api-reference/completions`\n\n```bash\ncurl -X POST http://localhost:4000/v1/completions \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"gpt-3.5-turbo-instruct\",\n    \"prompt\": \"Once upon a time\",\n    \"max_tokens\": 50,\n    \"temperature\": 0.7\n}'\n```","operationId":"completion_openai_deployments__model__completions_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/engines/{model}/completions":{"post":{"tags":["completions"],"summary":"Completion","description":"Follows the exact same API spec as `OpenAI's Completions API https://platform.openai.com/docs/api-reference/completions`\n\n```bash\ncurl -X POST http://localhost:4000/v1/completions \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"gpt-3.5-turbo-instruct\",\n    \"prompt\": \"Once upon a time\",\n    \"max_tokens\": 50,\n    \"temperature\": 0.7\n}'\n```","operationId":"completion_engines__model__completions_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/completions":{"post":{"tags":["completions"],"summary":"Completion","description":"Follows the exact same API spec as `OpenAI's Completions API https://platform.openai.com/docs/api-reference/completions`\n\n```bash\ncurl -X POST http://localhost:4000/v1/completions \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"gpt-3.5-turbo-instruct\",\n    \"prompt\": \"Once upon a time\",\n    \"max_tokens\": 50,\n    \"temperature\": 0.7\n}'\n```","operationId":"completion_completions_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/completions":{"post":{"tags":["completions"],"summary":"Completion","description":"Follows the exact same API spec as `OpenAI's Completions API https://platform.openai.com/docs/api-reference/completions`\n\n```bash\ncurl -X POST http://localhost:4000/v1/completions \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"gpt-3.5-turbo-instruct\",\n    \"prompt\": \"Once upon a time\",\n    \"max_tokens\": 50,\n    \"temperature\": 0.7\n}'\n```","operationId":"completion_v1_completions_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/openai/deployments/{model}/embeddings":{"post":{"tags":["embeddings"],"summary":"Embeddings","description":"Follows the exact same API spec as `OpenAI's Embeddings API https://platform.openai.com/docs/api-reference/embeddings`\n\n```bash\ncurl -X POST http://localhost:4000/v1/embeddings \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"text-embedding-ada-002\",\n    \"input\": \"The quick brown fox jumps over the lazy dog\"\n}'\n```","operationId":"embeddings_openai_deployments__model__embeddings_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model"],"properties":{"model":{"title":"Model","type":"string"},"input":{"default":[],"items":{"type":"string"},"title":"Input","type":"array"},"timeout":{"default":600,"title":"Timeout","type":"integer"},"api_base":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Base"},"api_version":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Version"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"api_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Type"},"caching":{"default":false,"title":"Caching","type":"boolean"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"User"},"custom_llm_provider":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Custom Llm Provider"},"litellm_call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Litellm Call Id"},"litellm_logging_obj":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Litellm Logging Obj"},"logger_fn":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Logger Fn"}}}}}}}},"/engines/{model}/embeddings":{"post":{"tags":["embeddings"],"summary":"Embeddings","description":"Follows the exact same API spec as `OpenAI's Embeddings API https://platform.openai.com/docs/api-reference/embeddings`\n\n```bash\ncurl -X POST http://localhost:4000/v1/embeddings \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"text-embedding-ada-002\",\n    \"input\": \"The quick brown fox jumps over the lazy dog\"\n}'\n```","operationId":"embeddings_engines__model__embeddings_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model"],"properties":{"model":{"title":"Model","type":"string"},"input":{"default":[],"items":{"type":"string"},"title":"Input","type":"array"},"timeout":{"default":600,"title":"Timeout","type":"integer"},"api_base":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Base"},"api_version":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Version"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"api_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Type"},"caching":{"default":false,"title":"Caching","type":"boolean"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"User"},"custom_llm_provider":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Custom Llm Provider"},"litellm_call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Litellm Call Id"},"litellm_logging_obj":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Litellm Logging Obj"},"logger_fn":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Logger Fn"}}}}}}}},"/embeddings":{"post":{"tags":["embeddings"],"summary":"Embeddings","description":"Follows the exact same API spec as `OpenAI's Embeddings API https://platform.openai.com/docs/api-reference/embeddings`\n\n```bash\ncurl -X POST http://localhost:4000/v1/embeddings \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"text-embedding-ada-002\",\n    \"input\": \"The quick brown fox jumps over the lazy dog\"\n}'\n```","operationId":"embeddings_embeddings_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model"],"properties":{"model":{"title":"Model","type":"string"},"input":{"default":[],"items":{"type":"string"},"title":"Input","type":"array"},"timeout":{"default":600,"title":"Timeout","type":"integer"},"api_base":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Base"},"api_version":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Version"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"api_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Type"},"caching":{"default":false,"title":"Caching","type":"boolean"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"User"},"custom_llm_provider":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Custom Llm Provider"},"litellm_call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Litellm Call Id"},"litellm_logging_obj":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Litellm Logging Obj"},"logger_fn":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Logger Fn"}}}}}}}},"/v1/embeddings":{"post":{"tags":["embeddings"],"summary":"Embeddings","description":"Follows the exact same API spec as `OpenAI's Embeddings API https://platform.openai.com/docs/api-reference/embeddings`\n\n```bash\ncurl -X POST http://localhost:4000/v1/embeddings \n-H \"Content-Type: application/json\" \n-H \"Authorization: Bearer sk-1234\" \n-d '{\n    \"model\": \"text-embedding-ada-002\",\n    \"input\": \"The quick brown fox jumps over the lazy dog\"\n}'\n```","operationId":"embeddings_v1_embeddings_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model"],"properties":{"model":{"title":"Model","type":"string"},"input":{"default":[],"items":{"type":"string"},"title":"Input","type":"array"},"timeout":{"default":600,"title":"Timeout","type":"integer"},"api_base":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Base"},"api_version":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Version"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"api_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Type"},"caching":{"default":false,"title":"Caching","type":"boolean"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"User"},"custom_llm_provider":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Custom Llm Provider"},"litellm_call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Litellm Call Id"},"litellm_logging_obj":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Litellm Logging Obj"},"logger_fn":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Logger Fn"}}}}}}}},"/moderations":{"post":{"tags":["moderations"],"summary":"Moderations","description":"The moderations endpoint is a tool you can use to check whether content complies with an LLM Providers policies.\nQuick Start\n```\ncurl --location 'http://0.0.0.0:4000/moderations'     --header 'Content-Type: application/json'     --header 'Authorization: Bearer sk-1234'     --data '{\"input\": \"Sample text goes here\", \"model\": \"text-moderation-stable\"}'\n```","operationId":"moderations_moderations_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v1/moderations":{"post":{"tags":["moderations"],"summary":"Moderations","description":"The moderations endpoint is a tool you can use to check whether content complies with an LLM Providers policies.\nQuick Start\n```\ncurl --location 'http://0.0.0.0:4000/moderations'     --header 'Content-Type: application/json'     --header 'Authorization: Bearer sk-1234'     --data '{\"input\": \"Sample text goes here\", \"model\": \"text-moderation-stable\"}'\n```","operationId":"moderations_v1_moderations_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/audio/speech":{"post":{"tags":["audio"],"summary":"Audio Speech","description":"Same params as:\n\nhttps://platform.openai.com/docs/api-reference/audio/createSpeech","operationId":"audio_speech_audio_speech_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v1/audio/speech":{"post":{"tags":["audio"],"summary":"Audio Speech","description":"Same params as:\n\nhttps://platform.openai.com/docs/api-reference/audio/createSpeech","operationId":"audio_speech_v1_audio_speech_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/audio/transcriptions":{"post":{"tags":["audio"],"summary":"Audio Transcriptions","description":"Same params as:\n\nhttps://platform.openai.com/docs/api-reference/audio/createTranscription?lang=curl","operationId":"audio_transcriptions_audio_transcriptions_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_audio_transcriptions_audio_transcriptions_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v1/audio/transcriptions":{"post":{"tags":["audio"],"summary":"Audio Transcriptions","description":"Same params as:\n\nhttps://platform.openai.com/docs/api-reference/audio/createTranscription?lang=curl","operationId":"audio_transcriptions_v1_audio_transcriptions_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_audio_transcriptions_v1_audio_transcriptions_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/assistants":{"get":{"tags":["assistants"],"summary":"Get Assistants","description":"Returns a list of assistants.\n\nAPI Reference docs - https://platform.openai.com/docs/api-reference/assistants/listAssistants","operationId":"get_assistants_assistants_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]},"post":{"tags":["assistants"],"summary":"Create Assistant","description":"Create assistant\n\nAPI Reference docs - https://platform.openai.com/docs/api-reference/assistants/createAssistant","operationId":"create_assistant_assistants_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v1/assistants":{"get":{"tags":["assistants"],"summary":"Get Assistants","description":"Returns a list of assistants.\n\nAPI Reference docs - https://platform.openai.com/docs/api-reference/assistants/listAssistants","operationId":"get_assistants_v1_assistants_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]},"post":{"tags":["assistants"],"summary":"Create Assistant","description":"Create assistant\n\nAPI Reference docs - https://platform.openai.com/docs/api-reference/assistants/createAssistant","operationId":"create_assistant_v1_assistants_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/assistants/{assistant_id}":{"delete":{"tags":["assistants"],"summary":"Delete Assistant","description":"Delete assistant\n\nAPI Reference docs - https://platform.openai.com/docs/api-reference/assistants/createAssistant","operationId":"delete_assistant_assistants__assistant_id__delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"assistant_id","in":"path","required":true,"schema":{"type":"string","title":"Assistant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assistants/{assistant_id}":{"delete":{"tags":["assistants"],"summary":"Delete Assistant","description":"Delete assistant\n\nAPI Reference docs - https://platform.openai.com/docs/api-reference/assistants/createAssistant","operationId":"delete_assistant_v1_assistants__assistant_id__delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"assistant_id","in":"path","required":true,"schema":{"type":"string","title":"Assistant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/threads":{"post":{"tags":["assistants"],"summary":"Create Threads","description":"Create a thread.\n\nAPI Reference - https://platform.openai.com/docs/api-reference/threads/createThread","operationId":"create_threads_threads_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v1/threads":{"post":{"tags":["assistants"],"summary":"Create Threads","description":"Create a thread.\n\nAPI Reference - https://platform.openai.com/docs/api-reference/threads/createThread","operationId":"create_threads_v1_threads_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/threads/{thread_id}":{"get":{"tags":["assistants"],"summary":"Get Thread","description":"Retrieves a thread.\n\nAPI Reference - https://platform.openai.com/docs/api-reference/threads/getThread","operationId":"get_thread_threads__thread_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threads/{thread_id}":{"get":{"tags":["assistants"],"summary":"Get Thread","description":"Retrieves a thread.\n\nAPI Reference - https://platform.openai.com/docs/api-reference/threads/getThread","operationId":"get_thread_v1_threads__thread_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/threads/{thread_id}/messages":{"post":{"tags":["assistants"],"summary":"Add Messages","description":"Create a message.\n\nAPI Reference - https://platform.openai.com/docs/api-reference/messages/createMessage","operationId":"add_messages_threads__thread_id__messages_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["assistants"],"summary":"Get Messages","description":"Returns a list of messages for a given thread.\n\nAPI Reference - https://platform.openai.com/docs/api-reference/messages/listMessages","operationId":"get_messages_threads__thread_id__messages_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threads/{thread_id}/messages":{"post":{"tags":["assistants"],"summary":"Add Messages","description":"Create a message.\n\nAPI Reference - https://platform.openai.com/docs/api-reference/messages/createMessage","operationId":"add_messages_v1_threads__thread_id__messages_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["assistants"],"summary":"Get Messages","description":"Returns a list of messages for a given thread.\n\nAPI Reference - https://platform.openai.com/docs/api-reference/messages/listMessages","operationId":"get_messages_v1_threads__thread_id__messages_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/threads/{thread_id}/runs":{"post":{"tags":["assistants"],"summary":"Run Thread","description":"Create a run.\n\nAPI Reference: https://platform.openai.com/docs/api-reference/runs/createRun","operationId":"run_thread_threads__thread_id__runs_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threads/{thread_id}/runs":{"post":{"tags":["assistants"],"summary":"Run Thread","description":"Create a run.\n\nAPI Reference: https://platform.openai.com/docs/api-reference/runs/createRun","operationId":"run_thread_v1_threads__thread_id__runs_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/utils/token_counter":{"post":{"tags":["llm utils"],"summary":"Token Counter","description":"Args:\n    request: TokenCountRequest\n    call_endpoint: bool - When set to \"True\" it will call the token counting endpoint - e.g Anthropic or Google AI Studio Token Counting APIs.\n\nReturns:\n    TokenCountResponse","operationId":"token_counter_utils_token_counter_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"call_endpoint","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Call Endpoint"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenCountRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenCountResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/utils/supported_openai_params":{"get":{"tags":["llm utils"],"summary":"Supported Openai Params","description":"Returns supported openai params for a given litellm model name\n\ne.g. `gpt-4` vs `gpt-3.5-turbo`\n\nExample curl:\n```\ncurl -X GET --location 'http://localhost:4000/utils/supported_openai_params?model=gpt-3.5-turbo-16k'         --header 'Authorization: Bearer sk-1234'\n```","operationId":"supported_openai_params_utils_supported_openai_params_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"query","required":true,"schema":{"type":"string","title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/utils/transform_request":{"post":{"tags":["llm utils"],"summary":"Transform Request","operationId":"transform_request_utils_transform_request_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransformRequestBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RawRequestTypedDict"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v1/model/info":{"get":{"tags":["model management"],"summary":"Model Info V1","description":"Provides more info about each model in /models, including config.yaml descriptions (except api key and api base)\n\nParameters:\n    litellm_model_id: Optional[str] = None (this is the value of `x-litellm-model-id` returned in response headers)\n\n    - When litellm_model_id is passed, it will return the info for that specific model\n    - When litellm_model_id is not passed, it will return the info for all models\n\nReturns:\n    Returns a dictionary containing information about each model.\n\nExample Response:\n```json\n{\n    \"data\": [\n                {\n                    \"model_name\": \"fake-openai-endpoint\",\n                    \"litellm_params\": {\n                        \"api_base\": \"https://exampleopenaiendpoint-production.up.railway.app/\",\n                        \"model\": \"openai/fake\"\n                    },\n                    \"model_info\": {\n                        \"id\": \"112f74fab24a7a5245d2ced3536dd8f5f9192c57ee6e332af0f0512e08bed5af\",\n                        \"db_model\": false\n                    }\n                }\n            ]\n}\n\n```","operationId":"model_info_v1_v1_model_info_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm_model_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Litellm Model Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/model/info":{"get":{"tags":["model management"],"summary":"Model Info V1","description":"Provides more info about each model in /models, including config.yaml descriptions (except api key and api base)\n\nParameters:\n    litellm_model_id: Optional[str] = None (this is the value of `x-litellm-model-id` returned in response headers)\n\n    - When litellm_model_id is passed, it will return the info for that specific model\n    - When litellm_model_id is not passed, it will return the info for all models\n\nReturns:\n    Returns a dictionary containing information about each model.\n\nExample Response:\n```json\n{\n    \"data\": [\n                {\n                    \"model_name\": \"fake-openai-endpoint\",\n                    \"litellm_params\": {\n                        \"api_base\": \"https://exampleopenaiendpoint-production.up.railway.app/\",\n                        \"model\": \"openai/fake\"\n                    },\n                    \"model_info\": {\n                        \"id\": \"112f74fab24a7a5245d2ced3536dd8f5f9192c57ee6e332af0f0512e08bed5af\",\n                        \"db_model\": false\n                    }\n                }\n            ]\n}\n\n```","operationId":"model_info_v1_model_info_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm_model_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Litellm Model Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/model_group/info":{"get":{"tags":["model management"],"summary":"Model Group Info","description":"Get information about all the deployments on litellm proxy, including config.yaml descriptions (except api key and api base)\n\n- /model_group/info returns all model groups. End users of proxy should use /model_group/info since those models will be used for /chat/completions, /embeddings, etc.\n- /model_group/info?model_group=rerank-english-v3.0 returns all model groups for a specific model group (`model_name` in config.yaml)\n\n\n\nExample Request (All Models):\n```shell\ncurl -X 'GET'     'http://localhost:4000/model_group/info'     -H 'accept: application/json'     -H 'x-api-key: sk-1234'\n```\n\nExample Request (Specific Model Group):\n```shell\ncurl -X 'GET'     'http://localhost:4000/model_group/info?model_group=rerank-english-v3.0'     -H 'accept: application/json'     -H 'Authorization: Bearer sk-1234'\n```\n\nExample Request (Specific Wildcard Model Group): (e.g. `model_name: openai/*` on config.yaml)\n```shell\ncurl -X 'GET'     'http://localhost:4000/model_group/info?model_group=openai/tts-1'\n-H 'accept: application/json'     -H 'Authorization: Bearersk-1234'\n```\n\nLearn how to use and set wildcard models [here](https://docs.litellm.ai/docs/wildcard_routing)\n\nExample Response:\n```json\n    {\n        \"data\": [\n            {\n            \"model_group\": \"rerank-english-v3.0\",\n            \"providers\": [\n                \"cohere\"\n            ],\n            \"max_input_tokens\": null,\n            \"max_output_tokens\": null,\n            \"input_cost_per_token\": 0.0,\n            \"output_cost_per_token\": 0.0,\n            \"mode\": null,\n            \"tpm\": null,\n            \"rpm\": null,\n            \"supports_parallel_function_calling\": false,\n            \"supports_vision\": false,\n            \"supports_function_calling\": false,\n            \"supported_openai_params\": [\n                \"stream\",\n                \"temperature\",\n                \"max_tokens\",\n                \"logit_bias\",\n                \"top_p\",\n                \"frequency_penalty\",\n                \"presence_penalty\",\n                \"stop\",\n                \"n\",\n                \"extra_headers\"\n            ]\n            },\n            {\n            \"model_group\": \"gpt-3.5-turbo\",\n            \"providers\": [\n                \"openai\"\n            ],\n            \"max_input_tokens\": 16385.0,\n            \"max_output_tokens\": 4096.0,\n            \"input_cost_per_token\": 1.5e-06,\n            \"output_cost_per_token\": 2e-06,\n            \"mode\": \"chat\",\n            \"tpm\": null,\n            \"rpm\": null,\n            \"supports_parallel_function_calling\": false,\n            \"supports_vision\": false,\n            \"supports_function_calling\": true,\n            \"supported_openai_params\": [\n                \"frequency_penalty\",\n                \"logit_bias\",\n                \"logprobs\",\n                \"top_logprobs\",\n                \"max_tokens\",\n                \"max_completion_tokens\",\n                \"n\",\n                \"presence_penalty\",\n                \"seed\",\n                \"stop\",\n                \"stream\",\n                \"stream_options\",\n                \"temperature\",\n                \"top_p\",\n                \"tools\",\n                \"tool_choice\",\n                \"function_call\",\n                \"functions\",\n                \"max_retries\",\n                \"extra_headers\",\n                \"parallel_tool_calls\",\n                \"response_format\"\n            ]\n            },\n            {\n            \"model_group\": \"llava-hf\",\n            \"providers\": [\n                \"openai\"\n            ],\n            \"max_input_tokens\": null,\n            \"max_output_tokens\": null,\n            \"input_cost_per_token\": 0.0,\n            \"output_cost_per_token\": 0.0,\n            \"mode\": null,\n            \"tpm\": null,\n            \"rpm\": null,\n            \"supports_parallel_function_calling\": false,\n            \"supports_vision\": true,\n            \"supports_function_calling\": false,\n            \"supported_openai_params\": [\n                \"frequency_penalty\",\n                \"logit_bias\",\n                \"logprobs\",\n                \"top_logprobs\",\n                \"max_tokens\",\n                \"max_completion_tokens\",\n                \"n\",\n                \"presence_penalty\",\n                \"seed\",\n                \"stop\",\n                \"stream\",\n                \"stream_options\",\n                \"temperature\",\n                \"top_p\",\n                \"tools\",\n                \"tool_choice\",\n                \"function_call\",\n                \"functions\",\n                \"max_retries\",\n                \"extra_headers\",\n                \"parallel_tool_calls\",\n                \"response_format\"\n            ]\n            }\n        ]\n        }\n```","operationId":"model_group_info_model_group_info_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model_group","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Group"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"summary":"Home","operationId":"home__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/routes":{"get":{"summary":"Get Routes","description":"Get a list of available routes in the FastAPI application.","operationId":"get_routes_routes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/responses":{"post":{"tags":["responses"],"summary":"Responses Api","description":"Follows the OpenAI Responses API spec: https://platform.openai.com/docs/api-reference/responses\n\n```bash\ncurl -X POST http://localhost:4000/v1/responses     -H \"Content-Type: application/json\"     -H \"Authorization: Bearer sk-1234\"     -d '{\n    \"model\": \"gpt-4o\",\n    \"input\": \"Tell me about AI\"\n}'\n```","operationId":"responses_api_responses_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v1/responses":{"post":{"tags":["responses"],"summary":"Responses Api","description":"Follows the OpenAI Responses API spec: https://platform.openai.com/docs/api-reference/responses\n\n```bash\ncurl -X POST http://localhost:4000/v1/responses     -H \"Content-Type: application/json\"     -H \"Authorization: Bearer sk-1234\"     -d '{\n    \"model\": \"gpt-4o\",\n    \"input\": \"Tell me about AI\"\n}'\n```","operationId":"responses_api_v1_responses_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/responses/{response_id}":{"get":{"tags":["responses"],"summary":"Get Response","description":"Get a response by ID.\n\nFollows the OpenAI Responses API spec: https://platform.openai.com/docs/api-reference/responses/get\n\n```bash\ncurl -X GET http://localhost:4000/v1/responses/resp_abc123     -H \"Authorization: Bearer sk-1234\"\n```","operationId":"get_response_responses__response_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string","title":"Response Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["responses"],"summary":"Delete Response","description":"Delete a response by ID.\n\nFollows the OpenAI Responses API spec: https://platform.openai.com/docs/api-reference/responses/delete\n\n```bash\ncurl -X DELETE http://localhost:4000/v1/responses/resp_abc123     -H \"Authorization: Bearer sk-1234\"\n```","operationId":"delete_response_responses__response_id__delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string","title":"Response Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/responses/{response_id}":{"get":{"tags":["responses"],"summary":"Get Response","description":"Get a response by ID.\n\nFollows the OpenAI Responses API spec: https://platform.openai.com/docs/api-reference/responses/get\n\n```bash\ncurl -X GET http://localhost:4000/v1/responses/resp_abc123     -H \"Authorization: Bearer sk-1234\"\n```","operationId":"get_response_v1_responses__response_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string","title":"Response Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["responses"],"summary":"Delete Response","description":"Delete a response by ID.\n\nFollows the OpenAI Responses API spec: https://platform.openai.com/docs/api-reference/responses/delete\n\n```bash\ncurl -X DELETE http://localhost:4000/v1/responses/resp_abc123     -H \"Authorization: Bearer sk-1234\"\n```","operationId":"delete_response_v1_responses__response_id__delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string","title":"Response Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/responses/{response_id}/input_items":{"get":{"tags":["responses"],"summary":"Get Response Input Items","description":"List input items for a response.","operationId":"get_response_input_items_responses__response_id__input_items_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string","title":"Response Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/responses/{response_id}/input_items":{"get":{"tags":["responses"],"summary":"Get Response Input Items","description":"List input items for a response.","operationId":"get_response_input_items_v1_responses__response_id__input_items_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string","title":"Response Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/batches":{"post":{"tags":["batch"],"summary":"Create Batch","description":"Create large batches of API requests for asynchronous processing.\nThis is the equivalent of POST https://api.openai.com/v1/batch\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/batch\n\nExample Curl\n```\ncurl http://localhost:4000/v1/batches         -H \"Authorization: Bearer sk-1234\"         -H \"Content-Type: application/json\"         -d '{\n        \"input_file_id\": \"file-abc123\",\n        \"endpoint\": \"/v1/chat/completions\",\n        \"completion_window\": \"24h\"\n}'\n```","operationId":"create_batch_batches_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["batch"],"summary":"List Batches","description":"Lists \nThis is the equivalent of GET https://api.openai.com/v1/batches/\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/batch/list\n\nExample Curl\n```\ncurl http://localhost:4000/v1/batches?limit=2     -H \"Authorization: Bearer sk-1234\"     -H \"Content-Type: application/json\" \n```","operationId":"list_batches_batches_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}},{"name":"target_model_names","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Model Names"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/batches":{"post":{"tags":["batch"],"summary":"Create Batch","description":"Create large batches of API requests for asynchronous processing.\nThis is the equivalent of POST https://api.openai.com/v1/batch\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/batch\n\nExample Curl\n```\ncurl http://localhost:4000/v1/batches         -H \"Authorization: Bearer sk-1234\"         -H \"Content-Type: application/json\"         -d '{\n        \"input_file_id\": \"file-abc123\",\n        \"endpoint\": \"/v1/chat/completions\",\n        \"completion_window\": \"24h\"\n}'\n```","operationId":"create_batch_v1_batches_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["batch"],"summary":"List Batches","description":"Lists \nThis is the equivalent of GET https://api.openai.com/v1/batches/\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/batch/list\n\nExample Curl\n```\ncurl http://localhost:4000/v1/batches?limit=2     -H \"Authorization: Bearer sk-1234\"     -H \"Content-Type: application/json\" \n```","operationId":"list_batches_v1_batches_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}},{"name":"target_model_names","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Model Names"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{provider}/v1/batches":{"post":{"tags":["batch"],"summary":"Create Batch","description":"Create large batches of API requests for asynchronous processing.\nThis is the equivalent of POST https://api.openai.com/v1/batch\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/batch\n\nExample Curl\n```\ncurl http://localhost:4000/v1/batches         -H \"Authorization: Bearer sk-1234\"         -H \"Content-Type: application/json\"         -d '{\n        \"input_file_id\": \"file-abc123\",\n        \"endpoint\": \"/v1/chat/completions\",\n        \"completion_window\": \"24h\"\n}'\n```","operationId":"create_batch__provider__v1_batches_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["batch"],"summary":"List Batches","description":"Lists \nThis is the equivalent of GET https://api.openai.com/v1/batches/\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/batch/list\n\nExample Curl\n```\ncurl http://localhost:4000/v1/batches?limit=2     -H \"Authorization: Bearer sk-1234\"     -H \"Content-Type: application/json\" \n```","operationId":"list_batches__provider__v1_batches_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}},{"name":"target_model_names","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Model Names"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/batches/{batch_id}":{"get":{"tags":["batch"],"summary":"Retrieve Batch","description":"Retrieves a batch.\nThis is the equivalent of GET https://api.openai.com/v1/batches/{batch_id}\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/batch/retrieve\n\nExample Curl\n```\ncurl http://localhost:4000/v1/batches/batch_abc123     -H \"Authorization: Bearer sk-1234\"     -H \"Content-Type: application/json\" \n```","operationId":"retrieve_batch_batches__batch_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch ID to retrieve","description":"The ID of the batch to retrieve"},"description":"The ID of the batch to retrieve"},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/batches/{batch_id}":{"get":{"tags":["batch"],"summary":"Retrieve Batch","description":"Retrieves a batch.\nThis is the equivalent of GET https://api.openai.com/v1/batches/{batch_id}\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/batch/retrieve\n\nExample Curl\n```\ncurl http://localhost:4000/v1/batches/batch_abc123     -H \"Authorization: Bearer sk-1234\"     -H \"Content-Type: application/json\" \n```","operationId":"retrieve_batch_v1_batches__batch_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch ID to retrieve","description":"The ID of the batch to retrieve"},"description":"The ID of the batch to retrieve"},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{provider}/v1/batches/{batch_id}":{"get":{"tags":["batch"],"summary":"Retrieve Batch","description":"Retrieves a batch.\nThis is the equivalent of GET https://api.openai.com/v1/batches/{batch_id}\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/batch/retrieve\n\nExample Curl\n```\ncurl http://localhost:4000/v1/batches/batch_abc123     -H \"Authorization: Bearer sk-1234\"     -H \"Content-Type: application/json\" \n```","operationId":"retrieve_batch__provider__v1_batches__batch_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch ID to retrieve","description":"The ID of the batch to retrieve"},"description":"The ID of the batch to retrieve"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/batches/{batch_id}/cancel":{"post":{"tags":["batch"],"summary":"Cancel Batch","description":"Cancel a batch.\nThis is the equivalent of POST https://api.openai.com/v1/batches/{batch_id}/cancel\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/batch/cancel\n\nExample Curl\n```\ncurl http://localhost:4000/v1/batches/batch_abc123/cancel         -H \"Authorization: Bearer sk-1234\"         -H \"Content-Type: application/json\"         -X POST\n\n```","operationId":"cancel_batch_batches__batch_id__cancel_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch Id"}},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/batches/{batch_id}/cancel":{"post":{"tags":["batch"],"summary":"Cancel Batch","description":"Cancel a batch.\nThis is the equivalent of POST https://api.openai.com/v1/batches/{batch_id}/cancel\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/batch/cancel\n\nExample Curl\n```\ncurl http://localhost:4000/v1/batches/batch_abc123/cancel         -H \"Authorization: Bearer sk-1234\"         -H \"Content-Type: application/json\"         -X POST\n\n```","operationId":"cancel_batch_v1_batches__batch_id__cancel_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch Id"}},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{provider}/v1/batches/{batch_id}/cancel":{"post":{"tags":["batch"],"summary":"Cancel Batch","description":"Cancel a batch.\nThis is the equivalent of POST https://api.openai.com/v1/batches/{batch_id}/cancel\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/batch/cancel\n\nExample Curl\n```\ncurl http://localhost:4000/v1/batches/batch_abc123/cancel         -H \"Authorization: Bearer sk-1234\"         -H \"Content-Type: application/json\"         -X POST\n\n```","operationId":"cancel_batch__provider__v1_batches__batch_id__cancel_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch Id"}},{"name":"provider","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/model_hub":{"get":{"tags":["public","model management"],"summary":"Public Model Hub","operationId":"public_model_hub_public_model_hub_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ModelGroupInfoProxy"},"type":"array","title":"Response Public Model Hub Public Model Hub Get"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/public/model_hub/info":{"get":{"tags":["public","model management"],"summary":"Public Model Hub Info","operationId":"public_model_hub_info_public_model_hub_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicModelHubInfo"}}}}}}},"/rerank":{"post":{"tags":["rerank"],"summary":"Rerank","operationId":"rerank_rerank_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v1/rerank":{"post":{"tags":["rerank"],"summary":"Rerank","operationId":"rerank_v1_rerank_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v2/rerank":{"post":{"tags":["rerank"],"summary":"Rerank","operationId":"rerank_v2_rerank_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/openai/deployments/{model}/images/generations":{"post":{"tags":["images"],"summary":"Image Generation","operationId":"image_generation_openai_deployments__model__images_generations_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/images/generations":{"post":{"tags":["images"],"summary":"Image Generation","operationId":"image_generation_images_generations_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/images/generations":{"post":{"tags":["images"],"summary":"Image Generation","operationId":"image_generation_v1_images_generations_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/openai/deployments/{model}/images/edits":{"post":{"tags":["images"],"summary":"Image Edit Api","description":"Follows the OpenAI Images API spec: https://platform.openai.com/docs/api-reference/images/create\n\n```bash\ncurl -s -D >(grep -i x-request-id >&2)     -o >(jq -r '.data[0].b64_json' | base64 --decode > gift-basket.png)     -X POST \"http://localhost:4000/v1/images/edits\"     -H \"Authorization: Bearer sk-1234\"         -F \"model=gpt-image-1\"         -F \"image[]=@soap.png\"         -F 'prompt=Create a studio ghibli image of this'\n```","operationId":"image_edit_api_openai_deployments__model__images_edits_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_image_edit_api_openai_deployments__model__images_edits_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/images/edits":{"post":{"tags":["images"],"summary":"Image Edit Api","description":"Follows the OpenAI Images API spec: https://platform.openai.com/docs/api-reference/images/create\n\n```bash\ncurl -s -D >(grep -i x-request-id >&2)     -o >(jq -r '.data[0].b64_json' | base64 --decode > gift-basket.png)     -X POST \"http://localhost:4000/v1/images/edits\"     -H \"Authorization: Bearer sk-1234\"         -F \"model=gpt-image-1\"         -F \"image[]=@soap.png\"         -F 'prompt=Create a studio ghibli image of this'\n```","operationId":"image_edit_api_images_edits_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_image_edit_api_images_edits_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/images/edits":{"post":{"tags":["images"],"summary":"Image Edit Api","description":"Follows the OpenAI Images API spec: https://platform.openai.com/docs/api-reference/images/create\n\n```bash\ncurl -s -D >(grep -i x-request-id >&2)     -o >(jq -r '.data[0].b64_json' | base64 --decode > gift-basket.png)     -X POST \"http://localhost:4000/v1/images/edits\"     -H \"Authorization: Bearer sk-1234\"         -F \"model=gpt-image-1\"         -F \"image[]=@soap.png\"         -F 'prompt=Create a studio ghibli image of this'\n```","operationId":"image_edit_api_v1_images_edits_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_image_edit_api_v1_images_edits_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fine_tuning/jobs":{"post":{"tags":["fine-tuning"],"summary":"✨ (Enterprise) Create Fine-Tuning Job","description":"Creates a fine-tuning job which begins the process of creating a new model from a given dataset.\nThis is the equivalent of POST https://api.openai.com/v1/fine_tuning/jobs\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/fine-tuning/create\n\nExample Curl:\n```\ncurl http://localhost:4000/v1/fine_tuning/jobs       -H \"Content-Type: application/json\"       -H \"Authorization: Bearer sk-1234\"       -d '{\n    \"model\": \"gpt-3.5-turbo\",\n    \"training_file\": \"file-abc123\",\n    \"hyperparameters\": {\n      \"n_epochs\": 4\n    }\n  }'\n```","operationId":"create_fine_tuning_job_fine_tuning_jobs_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLMFineTuningJobCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["fine-tuning"],"summary":"✨ (Enterprise) List Fine-Tuning Jobs","description":"Lists fine-tuning jobs for the organization.\nThis is the equivalent of GET https://api.openai.com/v1/fine_tuning/jobs\n\nSupported Query Params:\n- `custom_llm_provider`: Name of the LiteLLM provider\n- `after`: Identifier for the last job from the previous pagination request.\n- `limit`: Number of fine-tuning jobs to retrieve (default is 20).","operationId":"list_fine_tuning_jobs_fine_tuning_jobs_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"custom_llm_provider","in":"query","required":false,"schema":{"anyOf":[{"enum":["openai","azure"],"type":"string"},{"type":"null"}],"title":"Custom Llm Provider"}},{"name":"target_model_names","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma separated list of model names to filter by. Example: 'gpt-4o,gpt-4o-mini'","title":"Target Model Names"},"description":"Comma separated list of model names to filter by. Example: 'gpt-4o,gpt-4o-mini'"},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fine_tuning/jobs":{"post":{"tags":["fine-tuning"],"summary":"✨ (Enterprise) Create Fine-Tuning Job","description":"Creates a fine-tuning job which begins the process of creating a new model from a given dataset.\nThis is the equivalent of POST https://api.openai.com/v1/fine_tuning/jobs\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/fine-tuning/create\n\nExample Curl:\n```\ncurl http://localhost:4000/v1/fine_tuning/jobs       -H \"Content-Type: application/json\"       -H \"Authorization: Bearer sk-1234\"       -d '{\n    \"model\": \"gpt-3.5-turbo\",\n    \"training_file\": \"file-abc123\",\n    \"hyperparameters\": {\n      \"n_epochs\": 4\n    }\n  }'\n```","operationId":"create_fine_tuning_job_v1_fine_tuning_jobs_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLMFineTuningJobCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["fine-tuning"],"summary":"✨ (Enterprise) List Fine-Tuning Jobs","description":"Lists fine-tuning jobs for the organization.\nThis is the equivalent of GET https://api.openai.com/v1/fine_tuning/jobs\n\nSupported Query Params:\n- `custom_llm_provider`: Name of the LiteLLM provider\n- `after`: Identifier for the last job from the previous pagination request.\n- `limit`: Number of fine-tuning jobs to retrieve (default is 20).","operationId":"list_fine_tuning_jobs_v1_fine_tuning_jobs_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"custom_llm_provider","in":"query","required":false,"schema":{"anyOf":[{"enum":["openai","azure"],"type":"string"},{"type":"null"}],"title":"Custom Llm Provider"}},{"name":"target_model_names","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma separated list of model names to filter by. Example: 'gpt-4o,gpt-4o-mini'","title":"Target Model Names"},"description":"Comma separated list of model names to filter by. Example: 'gpt-4o,gpt-4o-mini'"},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fine_tuning/jobs/{fine_tuning_job_id}":{"get":{"tags":["fine-tuning"],"summary":"✨ (Enterprise) Retrieve Fine-Tuning Job","description":"Retrieves a fine-tuning job.\nThis is the equivalent of GET https://api.openai.com/v1/fine_tuning/jobs/{fine_tuning_job_id}\n\nSupported Query Params:\n- `custom_llm_provider`: Name of the LiteLLM provider\n- `fine_tuning_job_id`: The ID of the fine-tuning job to retrieve.","operationId":"retrieve_fine_tuning_job_fine_tuning_jobs__fine_tuning_job_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"fine_tuning_job_id","in":"path","required":true,"schema":{"type":"string","title":"Fine Tuning Job Id"}},{"name":"custom_llm_provider","in":"query","required":false,"schema":{"anyOf":[{"enum":["openai","azure"],"type":"string"},{"type":"null"}],"title":"Custom Llm Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fine_tuning/jobs/{fine_tuning_job_id}":{"get":{"tags":["fine-tuning"],"summary":"✨ (Enterprise) Retrieve Fine-Tuning Job","description":"Retrieves a fine-tuning job.\nThis is the equivalent of GET https://api.openai.com/v1/fine_tuning/jobs/{fine_tuning_job_id}\n\nSupported Query Params:\n- `custom_llm_provider`: Name of the LiteLLM provider\n- `fine_tuning_job_id`: The ID of the fine-tuning job to retrieve.","operationId":"retrieve_fine_tuning_job_v1_fine_tuning_jobs__fine_tuning_job_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"fine_tuning_job_id","in":"path","required":true,"schema":{"type":"string","title":"Fine Tuning Job Id"}},{"name":"custom_llm_provider","in":"query","required":false,"schema":{"anyOf":[{"enum":["openai","azure"],"type":"string"},{"type":"null"}],"title":"Custom Llm Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fine_tuning/jobs/{fine_tuning_job_id}/cancel":{"post":{"tags":["fine-tuning"],"summary":"✨ (Enterprise) Cancel Fine-Tuning Jobs","description":"Cancel a fine-tuning job.\n\nThis is the equivalent of POST https://api.openai.com/v1/fine_tuning/jobs/{fine_tuning_job_id}/cancel\n\nSupported Query Params:\n- `custom_llm_provider`: Name of the LiteLLM provider\n- `fine_tuning_job_id`: The ID of the fine-tuning job to cancel.","operationId":"cancel_fine_tuning_job_fine_tuning_jobs__fine_tuning_job_id__cancel_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"fine_tuning_job_id","in":"path","required":true,"schema":{"type":"string","title":"Fine Tuning Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fine_tuning/jobs/{fine_tuning_job_id}/cancel":{"post":{"tags":["fine-tuning"],"summary":"✨ (Enterprise) Cancel Fine-Tuning Jobs","description":"Cancel a fine-tuning job.\n\nThis is the equivalent of POST https://api.openai.com/v1/fine_tuning/jobs/{fine_tuning_job_id}/cancel\n\nSupported Query Params:\n- `custom_llm_provider`: Name of the LiteLLM provider\n- `fine_tuning_job_id`: The ID of the fine-tuning job to cancel.","operationId":"cancel_fine_tuning_job_v1_fine_tuning_jobs__fine_tuning_job_id__cancel_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"fine_tuning_job_id","in":"path","required":true,"schema":{"type":"string","title":"Fine Tuning Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/vector_stores/{vector_store_id}/search":{"post":{"summary":"Vector Store Search","description":"Search a vector store.\n\nAPI Reference:\nhttps://platform.openai.com/docs/api-reference/vector-stores/search","operationId":"vector_store_search_vector_stores__vector_store_id__search_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"vector_store_id","in":"path","required":true,"schema":{"type":"string","title":"Vector Store Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/vector_stores/{vector_store_id}/search":{"post":{"summary":"Vector Store Search","description":"Search a vector store.\n\nAPI Reference:\nhttps://platform.openai.com/docs/api-reference/vector-stores/search","operationId":"vector_store_search_v1_vector_stores__vector_store_id__search_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"vector_store_id","in":"path","required":true,"schema":{"type":"string","title":"Vector Store Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/vector_stores":{"post":{"summary":"Vector Store Create","description":"Create a vector store.\n\nAPI Reference:\nhttps://platform.openai.com/docs/api-reference/vector-stores/create","operationId":"vector_store_create_vector_stores_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v1/vector_stores":{"post":{"summary":"Vector Store Create","description":"Create a vector store.\n\nAPI Reference:\nhttps://platform.openai.com/docs/api-reference/vector-stores/create","operationId":"vector_store_create_v1_vector_stores_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/credentials":{"get":{"tags":["credential management"],"summary":"Get Credentials","description":"[BETA] endpoint. This might change unexpectedly.","operationId":"get_credentials_credentials_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]},"post":{"tags":["credential management"],"summary":"Create Credential","description":"[BETA] endpoint. This might change unexpectedly.\nStores credential in DB.\nReloads credentials in memory.","operationId":"create_credential_credentials_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCredentialItem"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/credentials/by_model/{model_id}":{"get":{"tags":["credential management"],"summary":"Get Credential","description":"[BETA] endpoint. This might change unexpectedly.","operationId":"get_credential_credentials_by_model__model_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"credential_name","in":"path","required":true,"schema":{"type":"string","description":"The credential name, percent-decoded; may contain slashes","title":"Credential Name"},"description":"The credential name, percent-decoded; may contain slashes"},{"name":"model_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/credentials/by_name/{credential_name}":{"get":{"tags":["credential management"],"summary":"Get Credential","description":"[BETA] endpoint. This might change unexpectedly.","operationId":"get_credential_credentials_by_name__credential_name__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"credential_name","in":"path","required":true,"schema":{"type":"string","description":"The credential name, percent-decoded; may contain slashes","title":"Credential Name"},"description":"The credential name, percent-decoded; may contain slashes"},{"name":"model_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/credentials/{credential_name}":{"delete":{"tags":["credential management"],"summary":"Delete Credential","description":"[BETA] endpoint. This might change unexpectedly.","operationId":"delete_credential_credentials__credential_name__delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"credential_name","in":"path","required":true,"schema":{"type":"string","description":"The credential name, percent-decoded; may contain slashes","title":"Credential Name"},"description":"The credential name, percent-decoded; may contain slashes"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["credential management"],"summary":"Update Credential","description":"[BETA] endpoint. This might change unexpectedly.","operationId":"update_credential_credentials__credential_name__patch","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"credential_name","in":"path","required":true,"schema":{"type":"string","description":"The credential name, percent-decoded; may contain slashes","title":"Credential Name"},"description":"The credential name, percent-decoded; may contain slashes"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialItem"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/gemini/{endpoint}":{"put":{"tags":["Google AI Studio Pass-through","pass-through"],"summary":"Gemini Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/google_ai_studio)","operationId":"gemini_proxy_route_gemini__endpoint__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Google AI Studio Pass-through","pass-through"],"summary":"Gemini Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/google_ai_studio)","operationId":"gemini_proxy_route_gemini__endpoint__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Google AI Studio Pass-through","pass-through"],"summary":"Gemini Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/google_ai_studio)","operationId":"gemini_proxy_route_gemini__endpoint__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Google AI Studio Pass-through","pass-through"],"summary":"Gemini Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/google_ai_studio)","operationId":"gemini_proxy_route_gemini__endpoint__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Google AI Studio Pass-through","pass-through"],"summary":"Gemini Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/google_ai_studio)","operationId":"gemini_proxy_route_gemini__endpoint__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cohere/{endpoint}":{"put":{"tags":["Cohere Pass-through","pass-through"],"summary":"Cohere Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/cohere)","operationId":"cohere_proxy_route_cohere__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Cohere Pass-through","pass-through"],"summary":"Cohere Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/cohere)","operationId":"cohere_proxy_route_cohere__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Cohere Pass-through","pass-through"],"summary":"Cohere Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/cohere)","operationId":"cohere_proxy_route_cohere__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Cohere Pass-through","pass-through"],"summary":"Cohere Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/cohere)","operationId":"cohere_proxy_route_cohere__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Cohere Pass-through","pass-through"],"summary":"Cohere Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/cohere)","operationId":"cohere_proxy_route_cohere__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/vllm/{endpoint}":{"put":{"tags":["VLLM Pass-through","pass-through"],"summary":"Vllm Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/vllm)","operationId":"vllm_proxy_route_vllm__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["VLLM Pass-through","pass-through"],"summary":"Vllm Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/vllm)","operationId":"vllm_proxy_route_vllm__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["VLLM Pass-through","pass-through"],"summary":"Vllm Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/vllm)","operationId":"vllm_proxy_route_vllm__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["VLLM Pass-through","pass-through"],"summary":"Vllm Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/vllm)","operationId":"vllm_proxy_route_vllm__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["VLLM Pass-through","pass-through"],"summary":"Vllm Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/pass_through/vllm)","operationId":"vllm_proxy_route_vllm__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mistral/{endpoint}":{"put":{"tags":["Mistral Pass-through","pass-through"],"summary":"Mistral Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/anthropic_completion)","operationId":"mistral_proxy_route_mistral__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Mistral Pass-through","pass-through"],"summary":"Mistral Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/anthropic_completion)","operationId":"mistral_proxy_route_mistral__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Mistral Pass-through","pass-through"],"summary":"Mistral Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/anthropic_completion)","operationId":"mistral_proxy_route_mistral__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Mistral Pass-through","pass-through"],"summary":"Mistral Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/anthropic_completion)","operationId":"mistral_proxy_route_mistral__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Mistral Pass-through","pass-through"],"summary":"Mistral Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/anthropic_completion)","operationId":"mistral_proxy_route_mistral__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/anthropic/{endpoint}":{"put":{"tags":["Anthropic Pass-through","pass-through"],"summary":"Anthropic Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/anthropic_completion)","operationId":"anthropic_proxy_route_anthropic__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Anthropic Pass-through","pass-through"],"summary":"Anthropic Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/anthropic_completion)","operationId":"anthropic_proxy_route_anthropic__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Anthropic Pass-through","pass-through"],"summary":"Anthropic Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/anthropic_completion)","operationId":"anthropic_proxy_route_anthropic__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Anthropic Pass-through","pass-through"],"summary":"Anthropic Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/anthropic_completion)","operationId":"anthropic_proxy_route_anthropic__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Anthropic Pass-through","pass-through"],"summary":"Anthropic Proxy Route","description":"[Docs](https://docs.litellm.ai/docs/anthropic_completion)","operationId":"anthropic_proxy_route_anthropic__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/bedrock/{endpoint}":{"put":{"tags":["Bedrock Pass-through","pass-through"],"summary":"Bedrock Proxy Route","description":"This is the v1 passthrough for Bedrock.\nV2 is handled by the `/bedrock/v2` endpoint.\n[Docs](https://docs.litellm.ai/docs/pass_through/bedrock)","operationId":"bedrock_proxy_route_bedrock__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Bedrock Pass-through","pass-through"],"summary":"Bedrock Proxy Route","description":"This is the v1 passthrough for Bedrock.\nV2 is handled by the `/bedrock/v2` endpoint.\n[Docs](https://docs.litellm.ai/docs/pass_through/bedrock)","operationId":"bedrock_proxy_route_bedrock__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Bedrock Pass-through","pass-through"],"summary":"Bedrock Proxy Route","description":"This is the v1 passthrough for Bedrock.\nV2 is handled by the `/bedrock/v2` endpoint.\n[Docs](https://docs.litellm.ai/docs/pass_through/bedrock)","operationId":"bedrock_proxy_route_bedrock__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Bedrock Pass-through","pass-through"],"summary":"Bedrock Proxy Route","description":"This is the v1 passthrough for Bedrock.\nV2 is handled by the `/bedrock/v2` endpoint.\n[Docs](https://docs.litellm.ai/docs/pass_through/bedrock)","operationId":"bedrock_proxy_route_bedrock__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Bedrock Pass-through","pass-through"],"summary":"Bedrock Proxy Route","description":"This is the v1 passthrough for Bedrock.\nV2 is handled by the `/bedrock/v2` endpoint.\n[Docs](https://docs.litellm.ai/docs/pass_through/bedrock)","operationId":"bedrock_proxy_route_bedrock__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/eu.assemblyai/{endpoint}":{"put":{"tags":["AssemblyAI EU Pass-through","pass-through"],"summary":"Assemblyai Proxy Route","operationId":"assemblyai_proxy_route_eu_assemblyai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["AssemblyAI EU Pass-through","pass-through"],"summary":"Assemblyai Proxy Route","operationId":"assemblyai_proxy_route_eu_assemblyai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["AssemblyAI EU Pass-through","pass-through"],"summary":"Assemblyai Proxy Route","operationId":"assemblyai_proxy_route_eu_assemblyai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["AssemblyAI EU Pass-through","pass-through"],"summary":"Assemblyai Proxy Route","operationId":"assemblyai_proxy_route_eu_assemblyai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["AssemblyAI EU Pass-through","pass-through"],"summary":"Assemblyai Proxy Route","operationId":"assemblyai_proxy_route_eu_assemblyai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/assemblyai/{endpoint}":{"put":{"tags":["AssemblyAI Pass-through","pass-through"],"summary":"Assemblyai Proxy Route","operationId":"assemblyai_proxy_route_assemblyai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["AssemblyAI Pass-through","pass-through"],"summary":"Assemblyai Proxy Route","operationId":"assemblyai_proxy_route_assemblyai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["AssemblyAI Pass-through","pass-through"],"summary":"Assemblyai Proxy Route","operationId":"assemblyai_proxy_route_assemblyai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["AssemblyAI Pass-through","pass-through"],"summary":"Assemblyai Proxy Route","operationId":"assemblyai_proxy_route_assemblyai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["AssemblyAI Pass-through","pass-through"],"summary":"Assemblyai Proxy Route","operationId":"assemblyai_proxy_route_assemblyai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/azure/{endpoint}":{"put":{"tags":["Azure Pass-through","pass-through"],"summary":"Azure Proxy Route","description":"Call any azure endpoint using the proxy.\n\nJust use `{PROXY_BASE_URL}/azure/{endpoint:path}`","operationId":"azure_proxy_route_azure__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Azure Pass-through","pass-through"],"summary":"Azure Proxy Route","description":"Call any azure endpoint using the proxy.\n\nJust use `{PROXY_BASE_URL}/azure/{endpoint:path}`","operationId":"azure_proxy_route_azure__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Azure Pass-through","pass-through"],"summary":"Azure Proxy Route","description":"Call any azure endpoint using the proxy.\n\nJust use `{PROXY_BASE_URL}/azure/{endpoint:path}`","operationId":"azure_proxy_route_azure__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Azure Pass-through","pass-through"],"summary":"Azure Proxy Route","description":"Call any azure endpoint using the proxy.\n\nJust use `{PROXY_BASE_URL}/azure/{endpoint:path}`","operationId":"azure_proxy_route_azure__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Azure Pass-through","pass-through"],"summary":"Azure Proxy Route","description":"Call any azure endpoint using the proxy.\n\nJust use `{PROXY_BASE_URL}/azure/{endpoint:path}`","operationId":"azure_proxy_route_azure__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/vertex_ai/discovery/{endpoint}":{"put":{"tags":["Vertex AI Pass-through","pass-through"],"summary":"Vertex Discovery Proxy Route","description":"Call any vertex discovery endpoint using the proxy.\n\nJust use `{PROXY_BASE_URL}/vertex_ai/discovery/{endpoint:path}`\n\nTarget url: `https://discoveryengine.googleapis.com`","operationId":"vertex_discovery_proxy_route_vertex_ai_discovery__endpoint__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Vertex AI Pass-through","pass-through"],"summary":"Vertex Discovery Proxy Route","description":"Call any vertex discovery endpoint using the proxy.\n\nJust use `{PROXY_BASE_URL}/vertex_ai/discovery/{endpoint:path}`\n\nTarget url: `https://discoveryengine.googleapis.com`","operationId":"vertex_discovery_proxy_route_vertex_ai_discovery__endpoint__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Vertex AI Pass-through","pass-through"],"summary":"Vertex Discovery Proxy Route","description":"Call any vertex discovery endpoint using the proxy.\n\nJust use `{PROXY_BASE_URL}/vertex_ai/discovery/{endpoint:path}`\n\nTarget url: `https://discoveryengine.googleapis.com`","operationId":"vertex_discovery_proxy_route_vertex_ai_discovery__endpoint__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Vertex AI Pass-through","pass-through"],"summary":"Vertex Discovery Proxy Route","description":"Call any vertex discovery endpoint using the proxy.\n\nJust use `{PROXY_BASE_URL}/vertex_ai/discovery/{endpoint:path}`\n\nTarget url: `https://discoveryengine.googleapis.com`","operationId":"vertex_discovery_proxy_route_vertex_ai_discovery__endpoint__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Vertex AI Pass-through","pass-through"],"summary":"Vertex Discovery Proxy Route","description":"Call any vertex discovery endpoint using the proxy.\n\nJust use `{PROXY_BASE_URL}/vertex_ai/discovery/{endpoint:path}`\n\nTarget url: `https://discoveryengine.googleapis.com`","operationId":"vertex_discovery_proxy_route_vertex_ai_discovery__endpoint__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/vertex_ai/{endpoint}":{"put":{"tags":["Vertex AI Pass-through","pass-through"],"summary":"Vertex Proxy Route","description":"Call LiteLLM proxy via Vertex AI SDK.\n\n[Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai)","operationId":"vertex_proxy_route_vertex_ai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Vertex AI Pass-through","pass-through"],"summary":"Vertex Proxy Route","description":"Call LiteLLM proxy via Vertex AI SDK.\n\n[Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai)","operationId":"vertex_proxy_route_vertex_ai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Vertex AI Pass-through","pass-through"],"summary":"Vertex Proxy Route","description":"Call LiteLLM proxy via Vertex AI SDK.\n\n[Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai)","operationId":"vertex_proxy_route_vertex_ai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Vertex AI Pass-through","pass-through"],"summary":"Vertex Proxy Route","description":"Call LiteLLM proxy via Vertex AI SDK.\n\n[Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai)","operationId":"vertex_proxy_route_vertex_ai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Vertex AI Pass-through","pass-through"],"summary":"Vertex Proxy Route","description":"Call LiteLLM proxy via Vertex AI SDK.\n\n[Docs](https://docs.litellm.ai/docs/pass_through/vertex_ai)","operationId":"vertex_proxy_route_vertex_ai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/openai/{endpoint}":{"put":{"tags":["OpenAI Pass-through","pass-through"],"summary":"Openai Proxy Route","description":"Simple pass-through for OpenAI. Use this if you want to directly send a request to OpenAI.","operationId":"openai_proxy_route_openai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["OpenAI Pass-through","pass-through"],"summary":"Openai Proxy Route","description":"Simple pass-through for OpenAI. Use this if you want to directly send a request to OpenAI.","operationId":"openai_proxy_route_openai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["OpenAI Pass-through","pass-through"],"summary":"Openai Proxy Route","description":"Simple pass-through for OpenAI. Use this if you want to directly send a request to OpenAI.","operationId":"openai_proxy_route_openai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["OpenAI Pass-through","pass-through"],"summary":"Openai Proxy Route","description":"Simple pass-through for OpenAI. Use this if you want to directly send a request to OpenAI.","operationId":"openai_proxy_route_openai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["OpenAI Pass-through","pass-through"],"summary":"Openai Proxy Route","description":"Simple pass-through for OpenAI. Use this if you want to directly send a request to OpenAI.","operationId":"openai_proxy_route_openai__endpoint__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mcp/tools":{"get":{"tags":["mcp","mcp"],"summary":"Get Mcp Tools","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":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v1/mcp/access_groups":{"get":{"tags":["mcp","mcp"],"summary":"Get Mcp Access Groups","description":"Get all available MCP access groups from the database AND config","operationId":"get_mcp_access_groups_v1_mcp_access_groups_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v1/mcp/server/{server_id}/health":{"get":{"tags":["mcp"],"summary":"Health Check Mcp Server","description":"Perform health check on a specific MCP server","operationId":"health_check_mcp_server_v1_mcp_server__server_id__health_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"server_id","in":"path","required":true,"schema":{"type":"string","title":"Server Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mcp/server/health":{"get":{"tags":["mcp"],"summary":"Health Check All Mcp Servers","description":"Perform health check on all accessible MCP servers","operationId":"health_check_all_mcp_servers_v1_mcp_server_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v1/mcp/server":{"get":{"tags":["mcp"],"summary":"Fetch All Mcp Servers","description":"Returns the mcp server list with associated teams","operationId":"fetch_all_mcp_servers_v1_mcp_server_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LiteLLM_MCPServerTable"},"title":"Response Fetch All Mcp Servers V1 Mcp Server Get"}}}}}},"post":{"tags":["mcp"],"summary":"Add Mcp Server","description":"Allows creation of mcp servers","operationId":"add_mcp_server_v1_mcp_server_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewMCPServerRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLM_MCPServerTable"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["mcp"],"summary":"Edit Mcp Server","description":"Allows deleting mcp serves in the db","operationId":"edit_mcp_server_v1_mcp_server_put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMCPServerRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLM_MCPServerTable"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mcp/server/{server_id}":{"get":{"tags":["mcp"],"summary":"Fetch Mcp Server","description":"Returns the mcp server info","operationId":"fetch_mcp_server_v1_mcp_server__server_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"server_id","in":"path","required":true,"schema":{"type":"string","title":"Server Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLM_MCPServerTable"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["mcp"],"summary":"Remove Mcp Server","description":"Allows deleting mcp serves in the db","operationId":"remove_mcp_server_v1_mcp_server__server_id__delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"server_id","in":"path","required":true,"schema":{"type":"string","title":"Server Id"}},{"name":"litellm-changed-by","in":"header","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"},"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"}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/messages":{"post":{"tags":["[beta] Anthropic `/v1/messages`"],"summary":"Anthropic Response","description":"Use `{PROXY_BASE_URL}/anthropic/v1/messages` instead - [Docs](https://docs.litellm.ai/docs/anthropic_completion).\n\nThis was a BETA endpoint that calls 100+ LLMs in the anthropic format.","operationId":"anthropic_response_v1_messages_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v1/messages/count_tokens":{"post":{"tags":["[beta] Anthropic Messages Token Counting"],"summary":"Count Tokens","description":"Count tokens for Anthropic Messages API format.\n\nThis endpoint follows the Anthropic Messages API token counting specification.\nIt accepts the same parameters as the /v1/messages endpoint but returns\ntoken counts instead of generating a response.\n\nExample usage:\n```\ncurl -X POST \"http://localhost:4000/v1/messages/count_tokens?beta=true\"       -H \"Content-Type: application/json\"       -H \"Authorization: Bearer your-key\"       -d '{\n    \"model\": \"claude-3-sonnet-20240229\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Hello Claude!\"}]\n  }'\n```\n\nReturns: {\"input_tokens\": <number>}","operationId":"count_tokens_v1_messages_count_tokens_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/models/{model_name}:generateContent":{"post":{"tags":["google genai endpoints"],"summary":"Google Generate Content","description":"Not Implemented, this is a placeholder for the google genai generateContent endpoint.","operationId":"google_generate_content_models__model_name__generateContent_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model_name","in":"path","required":true,"schema":{"type":"string","title":"Model Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1beta/models/{model_name}:generateContent":{"post":{"tags":["google genai endpoints"],"summary":"Google Generate Content","description":"Not Implemented, this is a placeholder for the google genai generateContent endpoint.","operationId":"google_generate_content_v1beta_models__model_name__generateContent_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model_name","in":"path","required":true,"schema":{"type":"string","title":"Model Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/models/{model_name}:streamGenerateContent":{"post":{"tags":["google genai endpoints"],"summary":"Google Stream Generate Content","description":"Not Implemented, this is a placeholder for the google genai streamGenerateContent endpoint.","operationId":"google_stream_generate_content_models__model_name__streamGenerateContent_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model_name","in":"path","required":true,"schema":{"type":"string","title":"Model Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1beta/models/{model_name}:streamGenerateContent":{"post":{"tags":["google genai endpoints"],"summary":"Google Stream Generate Content","description":"Not Implemented, this is a placeholder for the google genai streamGenerateContent endpoint.","operationId":"google_stream_generate_content_v1beta_models__model_name__streamGenerateContent_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model_name","in":"path","required":true,"schema":{"type":"string","title":"Model Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/models/{model_name}:countTokens":{"post":{"tags":["google genai endpoints"],"summary":"Google Count Tokens","description":"```json\nreturn {\n    \"totalTokens\": 31,\n    \"totalBillableCharacters\": 96,\n    \"promptTokensDetails\": [\n        {\n        \"modality\": \"TEXT\",\n        \"tokenCount\": 31\n        }\n    ]\n}\n```","operationId":"google_count_tokens_models__model_name__countTokens_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model_name","in":"path","required":true,"schema":{"type":"string","title":"Model Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenCountDetailsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1beta/models/{model_name}:countTokens":{"post":{"tags":["google genai endpoints"],"summary":"Google Count Tokens","description":"```json\nreturn {\n    \"totalTokens\": 31,\n    \"totalBillableCharacters\": 96,\n    \"promptTokensDetails\": [\n        {\n        \"modality\": \"TEXT\",\n        \"tokenCount\": 31\n        }\n    ]\n}\n```","operationId":"google_count_tokens_v1beta_models__model_name__countTokens_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model_name","in":"path","required":true,"schema":{"type":"string","title":"Model Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenCountDetailsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/langfuse/{endpoint}":{"put":{"tags":["Langfuse Pass-through","pass-through"],"summary":"Langfuse Proxy Route","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__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Langfuse Pass-through","pass-through"],"summary":"Langfuse Proxy Route","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__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Langfuse Pass-through","pass-through"],"summary":"Langfuse Proxy Route","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__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Langfuse Pass-through","pass-through"],"summary":"Langfuse Proxy Route","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__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Langfuse Pass-through","pass-through"],"summary":"Langfuse Proxy Route","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__put","parameters":[{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/config/pass_through_endpoint":{"get":{"summary":"Get Pass Through Endpoints","description":"GET configured pass through endpoint.\n\nIf no endpoint_id given, return all configured endpoints.","operationId":"get_pass_through_endpoints_config_pass_through_endpoint_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PassThroughEndpointResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Pass Through Endpoints","description":"Create new pass-through endpoint","operationId":"create_pass_through_endpoints_config_pass_through_endpoint_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PassThroughGenericEndpoint"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Pass Through Endpoints","description":"Delete a pass-through endpoint by ID.\n\nReturns - the deleted endpoint","operationId":"delete_pass_through_endpoints_config_pass_through_endpoint_delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint_id","in":"query","required":true,"schema":{"type":"string","title":"Endpoint Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PassThroughEndpointResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/config/pass_through_endpoint/{endpoint_id}":{"post":{"summary":"Update Pass Through Endpoints","description":"Update a pass-through endpoint by ID.","operationId":"update_pass_through_endpoints_config_pass_through_endpoint__endpoint_id__post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","title":"Endpoint Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PassThroughGenericEndpoint"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/test":{"get":{"tags":["health"],"summary":"Test Endpoint","description":"[DEPRECATED] use `/health/liveliness` instead.\n\nA test endpoint that pings the proxy server to check if it's healthy.\n\nParameters:\n    request (Request): The incoming request.\n\nReturns:\n    dict: A dictionary containing the route of the request URL.","operationId":"test_endpoint_test_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/health/services":{"get":{"tags":["health"],"summary":"Health Services Endpoint","description":"Use this admin-only endpoint to check if the service is healthy.\n\nExample:\n```\ncurl -L -X GET 'http://0.0.0.0:4000/health/services?service=datadog'     -H 'Authorization: Bearer sk-1234'\n```","operationId":"health_services_endpoint_health_services_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"service","in":"query","required":true,"schema":{"anyOf":[{"enum":["slack_budget_alerts","langfuse","slack","openmeter","webhook","email","braintrust","datadog","generic_api"],"type":"string"},{"type":"string"}],"description":"Specify the service being hit.","title":"Service"},"description":"Specify the service being hit."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"tags":["health"],"summary":"Health Endpoint","description":"🚨 USE `/health/liveliness` to health check the proxy 🚨\n\nSee more 👉 https://docs.litellm.ai/docs/proxy/health\n\n\nCheck the health of all the endpoints in config.yaml\n\nTo run health checks in the background, add this to config.yaml:\n```\ngeneral_settings:\n    # ... other settings\n    background_health_checks: True\n```\nelse, the health checks will be run on models when /health is called.","operationId":"health_endpoint_health_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Specify the model name (optional)","title":"Model"},"description":"Specify the model name (optional)"},{"name":"model_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Specify the model ID (optional)","title":"Model Id"},"description":"Specify the model ID (optional)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health/history":{"get":{"tags":["health"],"summary":"Health Check History Endpoint","description":"Get health check history for models\n\nReturns historical health check data with optional filtering.","operationId":"health_check_history_endpoint_health_history_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by specific model name","title":"Model"},"description":"Filter by specific model name"},{"name":"status_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by status (healthy/unhealthy)","title":"Status Filter"},"description":"Filter by status (healthy/unhealthy)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Number of records to return","default":100,"title":"Limit"},"description":"Number of records to return"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of records to skip","default":0,"title":"Offset"},"description":"Number of records to skip"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health/latest":{"get":{"tags":["health"],"summary":"Latest Health Checks Endpoint","description":"Get the latest health check status for all models\n\nReturns the most recent health check result for each model.","operationId":"latest_health_checks_endpoint_health_latest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/active/callbacks":{"get":{"tags":["health"],"summary":"Active Callbacks","description":"Returns a list of litellm level settings\n\nThis is useful for debugging and ensuring the proxy server is configured correctly.\n\nResponse schema:\n```\n{\n    \"alerting\": _alerting,\n    \"litellm.callbacks\": litellm_callbacks,\n    \"litellm.input_callback\": litellm_input_callbacks,\n    \"litellm.failure_callback\": litellm_failure_callbacks,\n    \"litellm.success_callback\": litellm_success_callbacks,\n    \"litellm._async_success_callback\": litellm_async_success_callbacks,\n    \"litellm._async_failure_callback\": litellm_async_failure_callbacks,\n    \"litellm._async_input_callback\": litellm_async_input_callbacks,\n    \"all_litellm_callbacks\": all_litellm_callbacks,\n    \"num_callbacks\": len(all_litellm_callbacks),\n    \"num_alerting\": _num_alerting,\n    \"litellm.request_timeout\": litellm.request_timeout,\n}\n```","operationId":"active_callbacks_active_callbacks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/settings":{"get":{"tags":["health"],"summary":"Active Callbacks","description":"Returns a list of litellm level settings\n\nThis is useful for debugging and ensuring the proxy server is configured correctly.\n\nResponse schema:\n```\n{\n    \"alerting\": _alerting,\n    \"litellm.callbacks\": litellm_callbacks,\n    \"litellm.input_callback\": litellm_input_callbacks,\n    \"litellm.failure_callback\": litellm_failure_callbacks,\n    \"litellm.success_callback\": litellm_success_callbacks,\n    \"litellm._async_success_callback\": litellm_async_success_callbacks,\n    \"litellm._async_failure_callback\": litellm_async_failure_callbacks,\n    \"litellm._async_input_callback\": litellm_async_input_callbacks,\n    \"all_litellm_callbacks\": all_litellm_callbacks,\n    \"num_callbacks\": len(all_litellm_callbacks),\n    \"num_alerting\": _num_alerting,\n    \"litellm.request_timeout\": litellm.request_timeout,\n}\n```","operationId":"active_callbacks_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/health/readiness":{"get":{"tags":["health"],"summary":"Health Readiness","description":"Unprotected endpoint for checking if worker can receive requests","operationId":"health_readiness_health_readiness_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]},"options":{"tags":["health"],"summary":"Health Readiness Options","description":"Options endpoint for health/readiness check.","operationId":"health_readiness_options_health_readiness_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/health/liveness":{"get":{"tags":["health"],"summary":"Health Liveliness","description":"Unprotected endpoint for checking if worker is alive","operationId":"health_liveliness_health_liveness_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"options":{"tags":["health"],"summary":"Health Liveliness Options","description":"Options endpoint for health/liveliness check.","operationId":"health_liveliness_options_health_liveness_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health/liveliness":{"get":{"tags":["health"],"summary":"Health Liveliness","description":"Unprotected endpoint for checking if worker is alive","operationId":"health_liveliness_health_liveliness_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"options":{"tags":["health"],"summary":"Health Liveliness Options","description":"Options endpoint for health/liveliness check.","operationId":"health_liveliness_options_health_liveliness_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health/test_connection":{"post":{"tags":["health"],"summary":"Test Model Connection","description":"Test a direct connection to a specific model.\n\nThis endpoint allows you to verify if your proxy can successfully connect to a specific model.\nIt's useful for troubleshooting model connectivity issues without going through the full proxy routing.\n\nExample:\n```bash\ncurl -X POST 'http://localhost:4000/health/test_connection' \\\n  -H 'Authorization: Bearer sk-1234' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"litellm_params\": {\n        \"model\": \"gpt-4\",\n        \"custom_llm_provider\": \"azure_ai\",\n        \"litellm_credential_name\": null,\n        \"api_key\": \"6xxxxxxx\",\n        \"api_base\": \"https://litellm8397336933.openai.azure.com/openai/deployments/gpt-4o/chat/completions?api-version=2024-10-21\",\n    },\n    \"mode\": \"chat\"\n  }'\n```\n\nReturns:\n    dict: A dictionary containing the health check result with either success information or error details.","operationId":"test_model_connection_health_test_connection_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_test_model_connection_health_test_connection_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/key/generate":{"post":{"tags":["key management"],"summary":"Generate Key Fn","description":"Generate an API key based on the provided data.\n\nDocs: https://docs.litellm.ai/docs/proxy/virtual_keys\n\nParameters:\n- duration: Optional[str] - Specify the length of time the token is valid for. You can set duration as seconds (\"30s\"), minutes (\"30m\"), hours (\"30h\"), days (\"30d\").\n- key_alias: Optional[str] - User defined key alias\n- key: Optional[str] - User defined key value. If not set, a 16-digit unique sk-key is created for you.\n- team_id: Optional[str] - The team id of the key\n- user_id: Optional[str] - The user id of the key\n- budget_id: Optional[str] - The budget id associated with the key. Created by calling `/budget/new`.\n- models: Optional[list] - Model_name's a user is allowed to call. (if empty, key is allowed to call all models)\n- aliases: Optional[dict] - Any alias mappings, on top of anything in the config.yaml model list. - https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---upgradedowngrade-models\n- config: Optional[dict] - any key-specific configs, overrides config in config.yaml\n- spend: Optional[int] - Amount spent by key. Default is 0. Will be updated by proxy whenever key is used. https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---tracking-spend\n- send_invite_email: Optional[bool] - Whether to send an invite email to the user_id, with the generate key\n- max_budget: Optional[float] - Specify max budget for a given key.\n- 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\").\n- max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user's parallel requests > x.\n- metadata: Optional[dict] - Metadata for key, store information for key. Example metadata = {\"team\": \"core-infra\", \"app\": \"app2\", \"email\": \"ishaan@berri.ai\" }\n- guardrails: Optional[List[str]] - List of active guardrails for the key\n- permissions: Optional[dict] - key-specific permissions. Currently just used for turning off pii masking (if connected). Example - {\"pii\": false}\n- model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {\"gpt-4\": {\"budget_limit\": 0.0005, \"time_period\": \"30d\"}}}. IF null or {} then no model specific budget.\n- model_rpm_limit: Optional[dict] - key-specific model rpm limit. Example - {\"text-davinci-002\": 1000, \"gpt-3.5-turbo\": 1000}. IF null or {} then no model specific rpm limit.\n- model_tpm_limit: Optional[dict] - key-specific model tpm limit. Example - {\"text-davinci-002\": 1000, \"gpt-3.5-turbo\": 1000}. IF null or {} then no model specific tpm limit.\n- allowed_cache_controls: Optional[list] - List of allowed cache control values. Example - [\"no-cache\", \"no-store\"]. See all values - https://docs.litellm.ai/docs/proxy/caching#turn-on--off-caching-per-request\n- blocked: Optional[bool] - Whether the key is blocked.\n- rpm_limit: Optional[int] - Specify rpm limit for a given key (Requests per minute)\n- tpm_limit: Optional[int] - Specify tpm limit for a given key (Tokens per minute)\n- soft_budget: Optional[float] - Specify soft budget for a given key. Will trigger a slack alert when this soft budget is reached.\n- tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing).\n- prompts: Optional[List[str]] - List of prompts that the key is allowed to use.\n- enforced_params: Optional[List[str]] - List of enforced params for the key (Enterprise only). [Docs](https://docs.litellm.ai/docs/proxy/enterprise#enforce-required-params-for-llm-requests)\n- prompts: Optional[List[str]] - List of prompts that the key is allowed to use.\n- allowed_routes: Optional[list] - List of allowed routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - [\"/chat/completions\", \"/embeddings\", \"/keys/*\"]\n- object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission.\n- key_type: Optional[str] - Type of key that determines default allowed routes. Options: \"llm_api\" (can call LLM API routes), \"management\" (can call management routes), \"read_only\" (can only call info/read routes), \"default\" (uses default allowed routes). Defaults to \"default\".\n- prompts: Optional[List[str]] - List of allowed prompts for the key. If specified, the key will only be able to use these specific prompts.\nExamples:\n\n1. Allow users to turn on/off pii masking\n\n```bash\ncurl --location 'http://0.0.0.0:4000/key/generate'         --header 'Authorization: Bearer sk-1234'         --header 'Content-Type: application/json'         --data '{\n        \"permissions\": {\"allow_pii_controls\": true}\n}'\n```\n\nReturns:\n- key: (str) The generated api key\n- expires: (datetime) Datetime object for when key expires.\n- user_id: (str) Unique user id - used for tracking spend across multiple keys for same user id.","operationId":"generate_key_fn_key_generate_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateKeyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/key/service-account/generate":{"post":{"tags":["key management"],"summary":"Generate Service Account Key Fn","description":"Generate a Service Account API key based on the provided data. This key does not belong to any user. It belongs to the team.\n\nWhy use a service account key?\n- Prevent key from being deleted when user is deleted.\n- Apply team limits, not team member limits to key.\n\nDocs: https://docs.litellm.ai/docs/proxy/virtual_keys\n\nParameters:\n- duration: Optional[str] - Specify the length of time the token is valid for. You can set duration as seconds (\"30s\"), minutes (\"30m\"), hours (\"30h\"), days (\"30d\").\n- key_alias: Optional[str] - User defined key alias\n- key: Optional[str] - User defined key value. If not set, a 16-digit unique sk-key is created for you.\n- team_id: Optional[str] - The team id of the key\n- user_id: Optional[str] - [NON-FUNCTIONAL] THIS WILL BE IGNORED. The user id of the key\n- budget_id: Optional[str] - The budget id associated with the key. Created by calling `/budget/new`.\n- models: Optional[list] - Model_name's a user is allowed to call. (if empty, key is allowed to call all models)\n- aliases: Optional[dict] - Any alias mappings, on top of anything in the config.yaml model list. - https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---upgradedowngrade-models\n- config: Optional[dict] - any key-specific configs, overrides config in config.yaml\n- spend: Optional[int] - Amount spent by key. Default is 0. Will be updated by proxy whenever key is used. https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---tracking-spend\n- send_invite_email: Optional[bool] - Whether to send an invite email to the user_id, with the generate key\n- max_budget: Optional[float] - Specify max budget for a given key.\n- 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\").\n- max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user's parallel requests > x.\n- metadata: Optional[dict] - Metadata for key, store information for key. Example metadata = {\"team\": \"core-infra\", \"app\": \"app2\", \"email\": \"ishaan@berri.ai\" }\n- guardrails: Optional[List[str]] - List of active guardrails for the key\n- permissions: Optional[dict] - key-specific permissions. Currently just used for turning off pii masking (if connected). Example - {\"pii\": false}\n- model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {\"gpt-4\": {\"budget_limit\": 0.0005, \"time_period\": \"30d\"}}}. IF null or {} then no model specific budget.\n- model_rpm_limit: Optional[dict] - key-specific model rpm limit. Example - {\"text-davinci-002\": 1000, \"gpt-3.5-turbo\": 1000}. IF null or {} then no model specific rpm limit.\n- model_tpm_limit: Optional[dict] - key-specific model tpm limit. Example - {\"text-davinci-002\": 1000, \"gpt-3.5-turbo\": 1000}. IF null or {} then no model specific tpm limit.\n- allowed_cache_controls: Optional[list] - List of allowed cache control values. Example - [\"no-cache\", \"no-store\"]. See all values - https://docs.litellm.ai/docs/proxy/caching#turn-on--off-caching-per-request\n- blocked: Optional[bool] - Whether the key is blocked.\n- rpm_limit: Optional[int] - Specify rpm limit for a given key (Requests per minute)\n- tpm_limit: Optional[int] - Specify tpm limit for a given key (Tokens per minute)\n- soft_budget: Optional[float] - Specify soft budget for a given key. Will trigger a slack alert when this soft budget is reached.\n- tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing).\n- enforced_params: Optional[List[str]] - List of enforced params for the key (Enterprise only). [Docs](https://docs.litellm.ai/docs/proxy/enterprise#enforce-required-params-for-llm-requests)\n- allowed_routes: Optional[list] - List of allowed routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - [\"/chat/completions\", \"/embeddings\", \"/keys/*\"]\n- object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission.\nExamples:\n\n1. Allow users to turn on/off pii masking\n\n```bash\ncurl --location 'http://0.0.0.0:4000/key/generate'         --header 'Authorization: Bearer sk-1234'         --header 'Content-Type: application/json'         --data '{\n        \"permissions\": {\"allow_pii_controls\": true}\n}'\n```\n\nReturns:\n- key: (str) The generated api key\n- expires: (datetime) Datetime object for when key expires.\n- user_id: (str) Unique user id - used for tracking spend across multiple keys for same user id.","operationId":"generate_service_account_key_fn_key_service_account_generate_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateKeyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/key/update":{"post":{"tags":["key management"],"summary":"Update Key Fn","description":"Update an existing API key's parameters.\n\nParameters:\n- key: str - The key to update\n- key_alias: Optional[str] - User-friendly key alias\n- user_id: Optional[str] - User ID associated with key\n- team_id: Optional[str] - Team ID associated with key\n- budget_id: Optional[str] - The budget id associated with the key. Created by calling `/budget/new`.\n- models: Optional[list] - Model_name's a user is allowed to call\n- tags: Optional[List[str]] - Tags for organizing keys (Enterprise only)\n- prompts: Optional[List[str]] - List of prompts that the key is allowed to use.\n- enforced_params: Optional[List[str]] - List of enforced params for the key (Enterprise only). [Docs](https://docs.litellm.ai/docs/proxy/enterprise#enforce-required-params-for-llm-requests)\n- spend: Optional[float] - Amount spent by key\n- max_budget: Optional[float] - Max budget for key\n- model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {\"gpt-4\": {\"budget_limit\": 0.0005, \"time_period\": \"30d\"}}\n- budget_duration: Optional[str] - Budget reset period (\"30d\", \"1h\", etc.)\n- soft_budget: Optional[float] - [TODO] Soft budget limit (warning vs. hard stop). Will trigger a slack alert when this soft budget is reached.\n- max_parallel_requests: Optional[int] - Rate limit for parallel requests\n- metadata: Optional[dict] - Metadata for key. Example {\"team\": \"core-infra\", \"app\": \"app2\"}\n- tpm_limit: Optional[int] - Tokens per minute limit\n- rpm_limit: Optional[int] - Requests per minute limit\n- model_rpm_limit: Optional[dict] - Model-specific RPM limits {\"gpt-4\": 100, \"claude-v1\": 200}\n- model_tpm_limit: Optional[dict] - Model-specific TPM limits {\"gpt-4\": 100000, \"claude-v1\": 200000}\n- allowed_cache_controls: Optional[list] - List of allowed cache control values\n- duration: Optional[str] - Key validity duration (\"30d\", \"1h\", etc.)\n- permissions: Optional[dict] - Key-specific permissions\n- send_invite_email: Optional[bool] - Send invite email to user_id\n- guardrails: Optional[List[str]] - List of active guardrails for the key\n- prompts: Optional[List[str]] - List of prompts that the key is allowed to use.\n- blocked: Optional[bool] - Whether the key is blocked\n- aliases: Optional[dict] - Model aliases for the key - [Docs](https://litellm.vercel.app/docs/proxy/virtual_keys#model-aliases)\n- config: Optional[dict] - [DEPRECATED PARAM] Key-specific config.\n- temp_budget_increase: Optional[float] - Temporary budget increase for the key (Enterprise only).\n- temp_budget_expiry: Optional[str] - Expiry time for the temporary budget increase (Enterprise only).\n- allowed_routes: Optional[list] - List of allowed routes for the key. Store the actual route or store a wildcard pattern for a set of routes. Example - [\"/chat/completions\", \"/embeddings\", \"/keys/*\"]\n- prompts: Optional[List[str]] - List of allowed prompts for the key. If specified, the key will only be able to use these specific prompts.\n- object_permission: Optional[LiteLLM_ObjectPermissionBase] - key-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission.\nExample:\n```bash\ncurl --location 'http://0.0.0.0:4000/key/update'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n    \"key\": \"sk-1234\",\n    \"key_alias\": \"my-key\",\n    \"user_id\": \"user-1234\",\n    \"team_id\": \"team-1234\",\n    \"max_budget\": 100,\n    \"metadata\": {\"any_key\": \"any-val\"},\n}'\n```","operationId":"update_key_fn_key_update_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKeyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/key/delete":{"post":{"tags":["key management"],"summary":"Delete Key Fn","description":"Delete a key from the key management system.\n\nParameters::\n- keys (List[str]): A list of keys or hashed keys to delete. Example {\"keys\": [\"sk-QWrxEynunsNpV1zT48HIrw\", \"837e17519f44683334df5291321d97b8bf1098cd490e49e215f6fea935aa28be\"]}\n- key_aliases (List[str]): A list of key aliases to delete. Can be passed instead of `keys`.Example {\"key_aliases\": [\"alias1\", \"alias2\"]}\n\nReturns:\n- deleted_keys (List[str]): A list of deleted keys. Example {\"deleted_keys\": [\"sk-QWrxEynunsNpV1zT48HIrw\", \"837e17519f44683334df5291321d97b8bf1098cd490e49e215f6fea935aa28be\"]}\n\nExample:\n```bash\ncurl --location 'http://0.0.0.0:4000/key/delete'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n    \"keys\": [\"sk-QWrxEynunsNpV1zT48HIrw\"]\n}'\n```\n\nRaises:\n    HTTPException: If an error occurs during key deletion.","operationId":"delete_key_fn_key_delete_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/key/info":{"get":{"tags":["key management"],"summary":"Info Key Fn","description":"Retrieve information about a key.\nParameters:\n    key: Optional[str] = Query parameter representing the key in the request\n    user_api_key_dict: UserAPIKeyAuth = Dependency representing the user's API key\nReturns:\n    Dict containing the key and its associated information\n\nExample Curl:\n```\ncurl -X GET \"http://0.0.0.0:4000/key/info?key=sk-02Wr4IAlN3NvPXvL5JVvDA\" -H \"Authorization: Bearer sk-1234\"\n```\n\nExample Curl - if no key is passed, it will use the Key Passed in Authorization Header\n```\ncurl -X GET \"http://0.0.0.0:4000/key/info\" -H \"Authorization: Bearer sk-02Wr4IAlN3NvPXvL5JVvDA\"\n```","operationId":"info_key_fn_key_info_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Key in the request parameters","title":"Key"},"description":"Key in the request parameters"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/key/regenerate":{"post":{"tags":["key management"],"summary":"Regenerate Key Fn","description":"Regenerate an existing API key while optionally updating its parameters.\n\nParameters:\n- key: str (path parameter) - The key to regenerate\n- data: Optional[RegenerateKeyRequest] - Request body containing optional parameters to update\n    - key: Optional[str] - The key to regenerate.\n    - new_master_key: Optional[str] - The new master key to use, if key is the master key.\n    - new_key: Optional[str] - The new key to use, if key is not the master key. If both set, new_master_key will be used.\n    - key_alias: Optional[str] - User-friendly key alias\n    - user_id: Optional[str] - User ID associated with key\n    - team_id: Optional[str] - Team ID associated with key\n    - models: Optional[list] - Model_name's a user is allowed to call\n    - tags: Optional[List[str]] - Tags for organizing keys (Enterprise only)\n    - spend: Optional[float] - Amount spent by key\n    - max_budget: Optional[float] - Max budget for key\n    - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {\"gpt-4\": {\"budget_limit\": 0.0005, \"time_period\": \"30d\"}}\n    - budget_duration: Optional[str] - Budget reset period (\"30d\", \"1h\", etc.)\n    - soft_budget: Optional[float] - Soft budget limit (warning vs. hard stop). Will trigger a slack alert when this soft budget is reached.\n    - max_parallel_requests: Optional[int] - Rate limit for parallel requests\n    - metadata: Optional[dict] - Metadata for key. Example {\"team\": \"core-infra\", \"app\": \"app2\"}\n    - tpm_limit: Optional[int] - Tokens per minute limit\n    - rpm_limit: Optional[int] - Requests per minute limit\n    - model_rpm_limit: Optional[dict] - Model-specific RPM limits {\"gpt-4\": 100, \"claude-v1\": 200}\n    - model_tpm_limit: Optional[dict] - Model-specific TPM limits {\"gpt-4\": 100000, \"claude-v1\": 200000}\n    - allowed_cache_controls: Optional[list] - List of allowed cache control values\n    - duration: Optional[str] - Key validity duration (\"30d\", \"1h\", etc.)\n    - permissions: Optional[dict] - Key-specific permissions\n    - guardrails: Optional[List[str]] - List of active guardrails for the key\n    - blocked: Optional[bool] - Whether the key is blocked\n\n\nReturns:\n- GenerateKeyResponse containing the new key and its updated parameters\n\nExample:\n```bash\ncurl --location --request POST 'http://localhost:4000/key/sk-1234/regenerate'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data-raw '{\n    \"max_budget\": 100,\n    \"metadata\": {\"team\": \"core-infra\"},\n    \"models\": [\"gpt-4\", \"gpt-3.5-turbo\"]\n}'\n```\n\nNote: This is an Enterprise feature. It requires a premium license to use.","operationId":"regenerate_key_fn_key_regenerate_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"}},{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/RegenerateKeyRequest"},{"type":"null"}],"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GenerateKeyResponse"},{"type":"null"}],"title":"Response Regenerate Key Fn Key Regenerate Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/key/{key}/regenerate":{"post":{"tags":["key management"],"summary":"Regenerate Key Fn","description":"Regenerate an existing API key while optionally updating its parameters.\n\nParameters:\n- key: str (path parameter) - The key to regenerate\n- data: Optional[RegenerateKeyRequest] - Request body containing optional parameters to update\n    - key: Optional[str] - The key to regenerate.\n    - new_master_key: Optional[str] - The new master key to use, if key is the master key.\n    - new_key: Optional[str] - The new key to use, if key is not the master key. If both set, new_master_key will be used.\n    - key_alias: Optional[str] - User-friendly key alias\n    - user_id: Optional[str] - User ID associated with key\n    - team_id: Optional[str] - Team ID associated with key\n    - models: Optional[list] - Model_name's a user is allowed to call\n    - tags: Optional[List[str]] - Tags for organizing keys (Enterprise only)\n    - spend: Optional[float] - Amount spent by key\n    - max_budget: Optional[float] - Max budget for key\n    - model_max_budget: Optional[Dict[str, BudgetConfig]] - Model-specific budgets {\"gpt-4\": {\"budget_limit\": 0.0005, \"time_period\": \"30d\"}}\n    - budget_duration: Optional[str] - Budget reset period (\"30d\", \"1h\", etc.)\n    - soft_budget: Optional[float] - Soft budget limit (warning vs. hard stop). Will trigger a slack alert when this soft budget is reached.\n    - max_parallel_requests: Optional[int] - Rate limit for parallel requests\n    - metadata: Optional[dict] - Metadata for key. Example {\"team\": \"core-infra\", \"app\": \"app2\"}\n    - tpm_limit: Optional[int] - Tokens per minute limit\n    - rpm_limit: Optional[int] - Requests per minute limit\n    - model_rpm_limit: Optional[dict] - Model-specific RPM limits {\"gpt-4\": 100, \"claude-v1\": 200}\n    - model_tpm_limit: Optional[dict] - Model-specific TPM limits {\"gpt-4\": 100000, \"claude-v1\": 200000}\n    - allowed_cache_controls: Optional[list] - List of allowed cache control values\n    - duration: Optional[str] - Key validity duration (\"30d\", \"1h\", etc.)\n    - permissions: Optional[dict] - Key-specific permissions\n    - guardrails: Optional[List[str]] - List of active guardrails for the key\n    - blocked: Optional[bool] - Whether the key is blocked\n\n\nReturns:\n- GenerateKeyResponse containing the new key and its updated parameters\n\nExample:\n```bash\ncurl --location --request POST 'http://localhost:4000/key/sk-1234/regenerate'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data-raw '{\n    \"max_budget\": 100,\n    \"metadata\": {\"team\": \"core-infra\"},\n    \"models\": [\"gpt-4\", \"gpt-3.5-turbo\"]\n}'\n```\n\nNote: This is an Enterprise feature. It requires a premium license to use.","operationId":"regenerate_key_fn_key__key__regenerate_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"}},{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/RegenerateKeyRequest"},{"type":"null"}],"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GenerateKeyResponse"},{"type":"null"}],"title":"Response Regenerate Key Fn Key  Key  Regenerate Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/key/list":{"get":{"tags":["key management"],"summary":"List Keys","description":"List all keys for a given user / team / organization.\n\nReturns:\n    {\n        \"keys\": List[str] or List[UserAPIKeyAuth],\n        \"total_count\": int,\n        \"current_page\": int,\n        \"total_pages\": int,\n    }","operationId":"list_keys_key_list_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":10,"title":"Size"},"description":"Page size"},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter keys by user ID","title":"User Id"},"description":"Filter keys by user ID"},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter keys by team ID","title":"Team Id"},"description":"Filter keys by team ID"},{"name":"organization_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter keys by organization ID","title":"Organization Id"},"description":"Filter keys by organization ID"},{"name":"key_hash","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter keys by key hash","title":"Key Hash"},"description":"Filter keys by key hash"},{"name":"key_alias","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter keys by key alias","title":"Key Alias"},"description":"Filter keys by key alias"},{"name":"return_full_object","in":"query","required":false,"schema":{"type":"boolean","description":"Return full key object","default":false,"title":"Return Full Object"},"description":"Return full key object"},{"name":"include_team_keys","in":"query","required":false,"schema":{"type":"boolean","description":"Include all keys for teams that user is an admin of.","default":false,"title":"Include Team Keys"},"description":"Include all keys for teams that user is an admin of."},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Column to sort by (e.g. 'user_id', 'created_at', 'spend')","title":"Sort By"},"description":"Column to sort by (e.g. 'user_id', 'created_at', 'spend')"},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","description":"Sort order ('asc' or 'desc')","default":"desc","title":"Sort Order"},"description":"Sort order ('asc' or 'desc')"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyListResponseObject"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/key/block":{"post":{"tags":["key management"],"summary":"Block Key","description":"Block an Virtual key from making any requests.\n\nParameters:\n- key: str - The key to block. Can be either the unhashed key (sk-...) or the hashed key value\n\n Example:\n```bash\ncurl --location 'http://0.0.0.0:4000/key/block'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n    \"key\": \"sk-Fn8Ej39NxjAXrvpUGKghGw\"\n}'\n```\n\nNote: This is an admin-only endpoint. Only proxy admins can block keys.","operationId":"block_key_key_block_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockKeyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_VerificationToken"},{"type":"null"}],"title":"Response Block Key Key Block Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/key/unblock":{"post":{"tags":["key management"],"summary":"Unblock Key","description":"Unblock a Virtual key to allow it to make requests again.\n\nParameters:\n- key: str - The key to unblock. Can be either the unhashed key (sk-...) or the hashed key value\n\nExample:\n```bash\ncurl --location 'http://0.0.0.0:4000/key/unblock'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n    \"key\": \"sk-Fn8Ej39NxjAXrvpUGKghGw\"\n}'\n```\n\nNote: This is an admin-only endpoint. Only proxy admins can unblock keys.","operationId":"unblock_key_key_unblock_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockKeyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/key/health":{"post":{"tags":["key management"],"summary":"Key Health","description":"Check the health of the key\n\nChecks:\n- If key based logging is configured correctly - sends a test log\n\nUsage \n\nPass the key in the request header\n\n```bash\ncurl -X POST \"http://localhost:4000/key/health\"      -H \"Authorization: Bearer sk-1234\"      -H \"Content-Type: application/json\"\n```\n\nResponse when logging callbacks are setup correctly:\n\n```json\n{\n  \"key\": \"healthy\",\n  \"logging_callbacks\": {\n    \"callbacks\": [\n      \"gcs_bucket\"\n    ],\n    \"status\": \"healthy\",\n    \"details\": \"No logger exceptions triggered, system is healthy. Manually check if logs were sent to ['gcs_bucket']\"\n  }\n}\n```\n\n\nResponse when logging callbacks are not setup correctly:\n```json\n{\n  \"key\": \"unhealthy\",\n  \"logging_callbacks\": {\n    \"callbacks\": [\n      \"gcs_bucket\"\n    ],\n    \"status\": \"unhealthy\",\n    \"details\": \"Logger exceptions triggered, system is unhealthy: Failed to load vertex credentials. Check to see if credentials containing partial/invalid information.\"\n  }\n}\n```","operationId":"key_health_key_health_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyHealthResponse"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/user/new":{"post":{"tags":["Internal User management"],"summary":"New User","description":"Use this to create a new INTERNAL user with a budget.\nInternal Users can access LiteLLM Admin UI to make keys, request access to models.\nThis creates a new user and generates a new api key for the new user. The new api key is returned.\n\nReturns user id, budget + new key.\n\nParameters:\n- user_id: Optional[str] - Specify a user id. If not set, a unique id will be generated.\n- user_alias: Optional[str] - A descriptive name for you to know who this user id refers to.\n- teams: Optional[list] - specify a list of team id's a user belongs to.\n- user_email: Optional[str] - Specify a user email.\n- send_invite_email: Optional[bool] - Specify if an invite email should be sent.\n- user_role: Optional[str] - Specify a user role - \"proxy_admin\", \"proxy_admin_viewer\", \"internal_user\", \"internal_user_viewer\", \"team\", \"customer\". Info about each role here: `https://github.com/BerriAI/litellm/litellm/proxy/_types.py#L20`\n- max_budget: Optional[float] - Specify max budget for a given user.\n- 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\"), months (\"1mo\").\n- models: Optional[list] - Model_name's a user is allowed to call. (if empty, key is allowed to call all models). Set to ['no-default-models'] to block all model access. Restricting user to only team-based model access.\n- tpm_limit: Optional[int] - Specify tpm limit for a given user (Tokens per minute)\n- rpm_limit: Optional[int] - Specify rpm limit for a given user (Requests per minute)\n- auto_create_key: bool - Default=True. Flag used for returning a key as part of the /user/new response\n- aliases: Optional[dict] - Model aliases for the user - [Docs](https://litellm.vercel.app/docs/proxy/virtual_keys#model-aliases)\n- config: Optional[dict] - [DEPRECATED PARAM] User-specific config.\n- allowed_cache_controls: Optional[list] - List of allowed cache control values. Example - [\"no-cache\", \"no-store\"]. See all values - https://docs.litellm.ai/docs/proxy/caching#turn-on--off-caching-per-request-\n- blocked: Optional[bool] - [Not Implemented Yet] Whether the user is blocked.\n- guardrails: Optional[List[str]] - [Not Implemented Yet] List of active guardrails for the user\n- permissions: Optional[dict] - [Not Implemented Yet] User-specific permissions, eg. turning off pii masking.\n- metadata: Optional[dict] - Metadata for user, store information for user. Example metadata = {\"team\": \"core-infra\", \"app\": \"app2\", \"email\": \"ishaan@berri.ai\" }\n- max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user's parallel requests > x.\n- soft_budget: Optional[float] - Get alerts when user crosses given budget, doesn't block requests.\n- model_max_budget: Optional[dict] - Model-specific max budget for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-budgets-to-keys)\n- model_rpm_limit: Optional[float] - Model-specific rpm limit for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-limits-to-keys)\n- model_tpm_limit: Optional[float] - Model-specific tpm limit for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-limits-to-keys)\n- spend: Optional[float] - Amount spent by user. Default is 0. Will be updated by proxy whenever user is used. You can set duration as seconds (\"30s\"), minutes (\"30m\"), hours (\"30h\"), days (\"30d\"), months (\"1mo\").\n- team_id: Optional[str] - [DEPRECATED PARAM] The team id of the user. Default is None. \n- duration: Optional[str] - Duration for the key auto-created on `/user/new`. Default is None.\n- key_alias: Optional[str] - Alias for the key auto-created on `/user/new`. Default is None.\n- sso_user_id: Optional[str] - The id of the user in the SSO provider.\n- object_permission: Optional[LiteLLM_ObjectPermissionBase] - internal user-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission.\n- prompts: Optional[List[str]] - List of allowed prompts for the user. If specified, the user will only be able to use these specific prompts.\n- organizations: List[str] - List of organization id's the user is a member of\nReturns:\n- key: (str) The generated api key for the user\n- expires: (datetime) Datetime object for when key expires.\n- user_id: (str) Unique user id - used for tracking spend across multiple keys for same user id.\n- max_budget: (float|None) Max budget for given user.\n\nUsage Example \n\n```shell\n curl -X POST \"http://localhost:4000/user/new\"      -H \"Content-Type: application/json\"      -H \"Authorization: Bearer sk-1234\"      -d '{\n     \"username\": \"new_user\",\n     \"email\": \"new_user@example.com\"\n }'\n```","operationId":"new_user_user_new_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewUserRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewUserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/user/info":{"get":{"tags":["Internal User management"],"summary":"User Info","description":"[10/07/2024]\nNote: To get all users (+pagination), use `/user/list` endpoint.\n\n\nUse this to get user information. (user row + all user key info)\n\nExample request\n```\ncurl -X GET 'http://localhost:4000/user/info?user_id=krrish7%40berri.ai'     --header 'Authorization: Bearer sk-1234'\n```","operationId":"user_info_user_info_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"User ID in the request parameters","title":"User Id"},"description":"User ID in the request parameters"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user/update":{"post":{"tags":["Internal User management"],"summary":"User Update","description":"Example curl \n\n```\ncurl --location 'http://0.0.0.0:4000/user/update'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n    \"user_id\": \"test-litellm-user-4\",\n    \"user_role\": \"proxy_admin_viewer\"\n}'\n```\n\nParameters:\n    - user_id: Optional[str] - Specify a user id. If not set, a unique id will be generated.\n    - user_email: Optional[str] - Specify a user email.\n    - password: Optional[str] - Specify a user password.\n    - user_alias: Optional[str] - A descriptive name for you to know who this user id refers to.\n    - teams: Optional[list] - specify a list of team id's a user belongs to.\n    - send_invite_email: Optional[bool] - Specify if an invite email should be sent.\n    - user_role: Optional[str] - Specify a user role - \"proxy_admin\", \"proxy_admin_viewer\", \"internal_user\", \"internal_user_viewer\", \"team\", \"customer\". Info about each role here: `https://github.com/BerriAI/litellm/litellm/proxy/_types.py#L20`\n    - max_budget: Optional[float] - Specify max budget for a given user.\n    - 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\"), months (\"1mo\").\n    - models: Optional[list] - Model_name's a user is allowed to call. (if empty, key is allowed to call all models)\n    - tpm_limit: Optional[int] - Specify tpm limit for a given user (Tokens per minute)\n    - rpm_limit: Optional[int] - Specify rpm limit for a given user (Requests per minute)\n    - auto_create_key: bool - Default=True. Flag used for returning a key as part of the /user/new response\n    - aliases: Optional[dict] - Model aliases for the user - [Docs](https://litellm.vercel.app/docs/proxy/virtual_keys#model-aliases)\n    - config: Optional[dict] - [DEPRECATED PARAM] User-specific config.\n    - allowed_cache_controls: Optional[list] - List of allowed cache control values. Example - [\"no-cache\", \"no-store\"]. See all values - https://docs.litellm.ai/docs/proxy/caching#turn-on--off-caching-per-request-\n    - blocked: Optional[bool] - [Not Implemented Yet] Whether the user is blocked.\n    - guardrails: Optional[List[str]] - [Not Implemented Yet] List of active guardrails for the user\n    - permissions: Optional[dict] - [Not Implemented Yet] User-specific permissions, eg. turning off pii masking.\n    - metadata: Optional[dict] - Metadata for user, store information for user. Example metadata = {\"team\": \"core-infra\", \"app\": \"app2\", \"email\": \"ishaan@berri.ai\" }\n    - max_parallel_requests: Optional[int] - Rate limit a user based on the number of parallel requests. Raises 429 error, if user's parallel requests > x.\n    - soft_budget: Optional[float] - Get alerts when user crosses given budget, doesn't block requests.\n    - model_max_budget: Optional[dict] - Model-specific max budget for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-budgets-to-keys)\n    - model_rpm_limit: Optional[float] - Model-specific rpm limit for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-limits-to-keys)\n    - model_tpm_limit: Optional[float] - Model-specific tpm limit for user. [Docs](https://docs.litellm.ai/docs/proxy/users#add-model-specific-limits-to-keys)\n    - spend: Optional[float] - Amount spent by user. Default is 0. Will be updated by proxy whenever user is used. You can set duration as seconds (\"30s\"), minutes (\"30m\"), hours (\"30h\"), days (\"30d\"), months (\"1mo\").\n    - team_id: Optional[str] - [DEPRECATED PARAM] The team id of the user. Default is None. \n    - duration: Optional[str] - [NOT IMPLEMENTED].\n    - key_alias: Optional[str] - [NOT IMPLEMENTED].\n    - object_permission: Optional[LiteLLM_ObjectPermissionBase] - internal user-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission.\n    - prompts: Optional[List[str]] - List of allowed prompts for the user. If specified, the user will only be able to use these specific prompts.","operationId":"user_update_user_update_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/user/bulk_update":{"post":{"tags":["Internal User management"],"summary":"Bulk User Update","description":"Bulk update multiple users at once.\n\nThis endpoint allows updating multiple users in a single request. Each user update\nis processed independently - if some updates fail, others will still succeed.\n\nParameters:\n- users: Optional[List[UpdateUserRequest]] - List of specific user update requests\n- all_users: Optional[bool] - Set to true to update all users in the system\n- user_updates: Optional[UpdateUserRequest] - Updates to apply when all_users=True\n\nReturns:\n- results: List of individual update results\n- total_requested: Total number of users requested for update\n- successful_updates: Number of successful updates\n- failed_updates: Number of failed updates\n\nExample request for specific users:\n```bash\ncurl --location 'http://0.0.0.0:4000/user/bulk_update'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n    \"users\": [\n        {\n            \"user_id\": \"user1\",\n            \"user_role\": \"internal_user\",\n            \"max_budget\": 100.0\n        },\n        {\n            \"user_email\": \"user2@example.com\", \n            \"user_role\": \"internal_user_viewer\",\n            \"max_budget\": 50.0\n        }\n    ]\n}'\n```\n\nExample request for all users:\n```bash\ncurl --location 'http://0.0.0.0:4000/user/bulk_update'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n    \"all_users\": true,\n    \"user_updates\": {\n        \"user_role\": \"internal_user\",\n        \"max_budget\": 50.0\n    }\n}'\n```","operationId":"bulk_user_update_user_bulk_update_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdateUserRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdateUserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user/list":{"get":{"tags":["Internal User management"],"summary":"Get Users","description":"Get a paginated list of users with filtering and sorting options.\n\nParameters:\n    role: Optional[str]\n        Filter users by role. Can be one of:\n        - proxy_admin\n        - proxy_admin_viewer\n        - internal_user\n        - internal_user_viewer\n    user_ids: Optional[str]\n        Get list of users by user_ids. Comma separated list of user_ids.\n    sso_ids: Optional[str]\n        Get list of users by sso_ids. Comma separated list of sso_ids.\n    user_email: Optional[str]\n        Filter users by partial email match\n    team: Optional[str]\n        Filter users by team id. Will match if user has this team in their teams array.\n    page: int\n        The page number to return\n    page_size: int\n        The number of items per page\n    sort_by: Optional[str]\n        Column to sort by (e.g. 'user_id', 'user_email', 'created_at', 'spend')\n    sort_order: Optional[str]\n        Sort order ('asc' or 'desc')","operationId":"get_users_user_list_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"role","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter users by role","title":"Role"},"description":"Filter users by role"},{"name":"user_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Get list of users by user_ids","title":"User Ids"},"description":"Get list of users by user_ids"},{"name":"sso_user_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Get list of users by sso_user_id","title":"Sso User Ids"},"description":"Get list of users by sso_user_id"},{"name":"user_email","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter users by partial email match","title":"User Email"},"description":"Filter users by partial email match"},{"name":"team","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter users by team id","title":"Team"},"description":"Filter users by team id"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Number of items per page","default":25,"title":"Page Size"},"description":"Number of items per page"},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Column to sort by (e.g. 'user_id', 'user_email', 'created_at', 'spend')","title":"Sort By"},"description":"Column to sort by (e.g. 'user_id', 'user_email', 'created_at', 'spend')"},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","description":"Sort order ('asc' or 'desc')","default":"asc","title":"Sort Order"},"description":"Sort order ('asc' or 'desc')"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user/delete":{"post":{"tags":["Internal User management"],"summary":"Delete User","description":"delete user and associated user keys\n\n```\ncurl --location 'http://0.0.0.0:4000/user/delete' \n--header 'Authorization: Bearer sk-1234' \n--header 'Content-Type: application/json' \n--data-raw '{\n    \"user_ids\": [\"45e3e396-ee08-4a61-a88e-16b3ce7e0849\"]\n}'\n```\n\nParameters:\n- user_ids: List[str] - The list of user id's to be deleted.","operationId":"delete_user_user_delete_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteUserRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user/daily/activity":{"get":{"tags":["Budget & Spend Tracking","Internal User management"],"summary":"Get User Daily Activity","description":"[BETA] This is a beta endpoint. It will change.\n\nMeant to optimize querying spend data for analytics for a user.\n\nReturns:\n(by date)\n- spend\n- prompt_tokens\n- completion_tokens\n- cache_read_input_tokens\n- cache_creation_input_tokens\n- total_tokens\n- api_requests\n- breakdown by model, api_key, provider","operationId":"get_user_daily_activity_user_daily_activity_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Start date in YYYY-MM-DD format","title":"Start Date"},"description":"Start date in YYYY-MM-DD format"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"End date in YYYY-MM-DD format","title":"End Date"},"description":"End date in YYYY-MM-DD format"},{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by specific model","title":"Model"},"description":"Filter by specific model"},{"name":"api_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by specific API key","title":"Api Key"},"description":"Filter by specific API key"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number for pagination","default":1,"title":"Page"},"description":"Page number for pagination"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Items per page","default":50,"title":"Page Size"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpendAnalyticsPaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user/daily/activity/aggregated":{"get":{"tags":["Budget & Spend Tracking","Internal User management"],"summary":"Get User Daily Activity Aggregated","description":"Aggregated analytics for a user's daily activity without pagination.\nReturns the same response shape as the paginated endpoint with page metadata set to single-page.","operationId":"get_user_daily_activity_aggregated_user_daily_activity_aggregated_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Start date in YYYY-MM-DD format","title":"Start Date"},"description":"Start date in YYYY-MM-DD format"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"End date in YYYY-MM-DD format","title":"End Date"},"description":"End date in YYYY-MM-DD format"},{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by specific model","title":"Model"},"description":"Filter by specific model"},{"name":"api_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by specific API key","title":"Api Key"},"description":"Filter by specific API key"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpendAnalyticsPaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/team/new":{"post":{"tags":["team management"],"summary":"New Team","description":"Allow users to create a new team. Apply user permissions to their team.\n\n👉 [Detailed Doc on setting team budgets](https://docs.litellm.ai/docs/proxy/team_budgets)\n\n\nParameters:\n- team_alias: Optional[str] - User defined team alias\n- team_id: Optional[str] - The team id of the user. If none passed, we'll generate it.\n- members_with_roles: List[{\"role\": \"admin\" or \"user\", \"user_id\": \"<user-id>\"}] - A list of users and their roles in the team. Get user_id when making a new user via `/user/new`.\n- team_member_permissions: Optional[List[str]] - A list of routes that non-admin team members can access. example: [\"/key/generate\", \"/key/update\", \"/key/delete\"]\n- metadata: Optional[dict] - Metadata for team, store information for team. Example metadata = {\"extra_info\": \"some info\"}\n- tpm_limit: Optional[int] - The TPM (Tokens Per Minute) limit for this team - all keys with this team_id will have at max this TPM limit\n- rpm_limit: Optional[int] - The RPM (Requests Per Minute) limit for this team - all keys associated with this team_id will have at max this RPM limit\n- max_budget: Optional[float] - The maximum budget allocated to the team - all keys for this team_id will have at max this max_budget\n- budget_duration: Optional[str] - The duration of the budget for the team. Doc [here](https://docs.litellm.ai/docs/proxy/team_budgets)\n- models: Optional[list] - A list of models associated with the team - all keys for this team_id will have at most, these models. If empty, assumes all models are allowed.\n- blocked: bool - Flag indicating if the team is blocked or not - will stop all calls from keys with this team_id.\n- members: Optional[List] - Control team members via `/team/member/add` and `/team/member/delete`.\n- tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing).\n- prompts: Optional[List[str]] - List of prompts that the team is allowed to use.\n- organization_id: Optional[str] - The organization id of the team. Default is None. Create via `/organization/new`.\n- model_aliases: Optional[dict] - Model aliases for the team. [Docs](https://docs.litellm.ai/docs/proxy/team_based_routing#create-team-with-model-alias)\n- guardrails: Optional[List[str]] - Guardrails for the team. [Docs](https://docs.litellm.ai/docs/proxy/guardrails)\n- prompts: Optional[List[str]] - List of prompts that the team is allowed to use.\n- object_permission: Optional[LiteLLM_ObjectPermissionBase] - team-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission.\n- team_member_budget: Optional[float] - The maximum budget allocated to an individual team member.\n- team_member_rpm_limit: Optional[int] - The RPM (Requests Per Minute) limit for individual team members.\n- team_member_tpm_limit: Optional[int] - The TPM (Tokens Per Minute) limit for individual team members.\n- team_member_key_duration: Optional[str] - The duration for a team member's key. e.g. \"1d\", \"1w\", \"1mo\"\n- prompts: Optional[List[str]] - List of allowed prompts for the team. If specified, the team will only be able to use these specific prompts.\n\nReturns:\n- team_id: (str) Unique team id - used for tracking spend across multiple keys for same team id.\n\n_deprecated_params:\n- admins: list - A list of user_id's for the admin role\n- users: list - A list of user_id's for the user role\n\nExample Request:\n```\ncurl --location 'http://0.0.0.0:4000/team/new'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n  \"team_alias\": \"my-new-team_2\",\n  \"members_with_roles\": [{\"role\": \"admin\", \"user_id\": \"user-1234\"},\n    {\"role\": \"user\", \"user_id\": \"user-2434\"}]\n}'\n\n```\n\n ```\ncurl --location 'http://0.0.0.0:4000/team/new'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n            \"team_alias\": \"QA Prod Bot\",\n            \"max_budget\": 0.000000001,\n            \"budget_duration\": \"1d\"\n        }'\n```","operationId":"new_team_team_new_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewTeamRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLM_TeamTable"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/team/update":{"post":{"tags":["team management"],"summary":"Update Team","description":"Use `/team/member_add` AND `/team/member/delete` to add/remove new team members\n\nYou can now update team budget / rate limits via /team/update\n\nParameters:\n- team_id: str - The team id of the user. Required param.\n- team_alias: Optional[str] - User defined team alias\n- team_member_permissions: Optional[List[str]] - A list of routes that non-admin team members can access. example: [\"/key/generate\", \"/key/update\", \"/key/delete\"]\n- metadata: Optional[dict] - Metadata for team, store information for team. Example metadata = {\"team\": \"core-infra\", \"app\": \"app2\", \"email\": \"ishaan@berri.ai\" }\n- tpm_limit: Optional[int] - The TPM (Tokens Per Minute) limit for this team - all keys with this team_id will have at max this TPM limit\n- rpm_limit: Optional[int] - The RPM (Requests Per Minute) limit for this team - all keys associated with this team_id will have at max this RPM limit\n- max_budget: Optional[float] - The maximum budget allocated to the team - all keys for this team_id will have at max this max_budget\n- budget_duration: Optional[str] - The duration of the budget for the team. Doc [here](https://docs.litellm.ai/docs/proxy/team_budgets)\n- models: Optional[list] - A list of models associated with the team - all keys for this team_id will have at most, these models. If empty, assumes all models are allowed.\n- prompts: Optional[List[str]] - List of prompts that the team is allowed to use.\n- blocked: bool - Flag indicating if the team is blocked or not - will stop all calls from keys with this team_id.\n- tags: Optional[List[str]] - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing).\n- organization_id: Optional[str] - The organization id of the team. Default is None. Create via `/organization/new`.\n- model_aliases: Optional[dict] - Model aliases for the team. [Docs](https://docs.litellm.ai/docs/proxy/team_based_routing#create-team-with-model-alias)\n- guardrails: Optional[List[str]] - Guardrails for the team. [Docs](https://docs.litellm.ai/docs/proxy/guardrails)\n- prompts: Optional[List[str]] - List of prompts that the team is allowed to use.\n- object_permission: Optional[LiteLLM_ObjectPermissionBase] - team-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission.\n- team_member_budget: Optional[float] - The maximum budget allocated to an individual team member.\n- team_member_rpm_limit: Optional[int] - The RPM (Requests Per Minute) limit for individual team members.\n- team_member_tpm_limit: Optional[int] - The TPM (Tokens Per Minute) limit for individual team members.\n- team_member_key_duration: Optional[str] - The duration for a team member's key. e.g. \"1d\", \"1w\", \"1mo\"\nExample - update team TPM Limit\n\n```\ncurl --location 'http://0.0.0.0:4000/team/update'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data-raw '{\n    \"team_id\": \"8d916b1c-510d-4894-a334-1c16a93344f5\",\n    \"tpm_limit\": 100\n}'\n```\n\nExample - Update Team `max_budget` budget\n```\ncurl --location 'http://0.0.0.0:4000/team/update'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data-raw '{\n    \"team_id\": \"8d916b1c-510d-4894-a334-1c16a93344f5\",\n    \"max_budget\": 10\n}'\n```","operationId":"update_team_team_update_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTeamRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/team/member_add":{"post":{"tags":["team management"],"summary":"Team Member Add","description":"Add new members (either via user_email or user_id) to a team\n\nIf user doesn't exist, new user row will also be added to User Table\n\nOnly proxy_admin or admin of team, allowed to access this endpoint.\n```\n\ncurl -X POST 'http://0.0.0.0:4000/team/member_add'     -H 'Authorization: Bearer sk-1234'     -H 'Content-Type: application/json'     -d '{\"team_id\": \"45e3e396-ee08-4a61-a88e-16b3ce7e0849\", \"member\": {\"role\": \"user\", \"user_id\": \"krrish247652@berri.ai\"}}'\n\n```","operationId":"team_member_add_team_member_add_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberAddRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamAddMemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/team/member_delete":{"post":{"tags":["team management"],"summary":"Team Member Delete","description":"[BETA]\n\ndelete members (either via user_email or user_id) from a team\n\nIf user doesn't exist, an exception will be raised\n```\ncurl -X POST 'http://0.0.0.0:8000/team/member_delete' \n-H 'Authorization: Bearer sk-1234' \n-H 'Content-Type: application/json' \n-d '{\n    \"team_id\": \"45e3e396-ee08-4a61-a88e-16b3ce7e0849\",\n    \"user_id\": \"krrish247652@berri.ai\"\n}'\n```","operationId":"team_member_delete_team_member_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/team/member_update":{"post":{"tags":["team management"],"summary":"Team Member Update","description":"[BETA]\n\nUpdate team member budgets and team member role","operationId":"team_member_update_team_member_update_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberUpdateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/team/bulk_member_add":{"post":{"tags":["team management"],"summary":"Bulk Team Member Add","description":"Bulk add multiple members to a team at once.\n\nThis endpoint reuses the same logic as /team/member_add but provides a bulk-friendly response format.\n\nParameters:\n- team_id: str - The ID of the team to add members to\n- members: List[Member] - List of members to add to the team\n- all_users: Optional[bool] - Flag to add all users on Proxy to the team\n- max_budget_in_team: Optional[float] - Maximum budget allocated to each user within the team\n\nReturns:\n- results: List of individual member addition results\n- total_requested: Total number of members requested for addition\n- successful_additions: Number of successful additions  \n- failed_additions: Number of failed additions\n- updated_team: The updated team object\n\nExample request:\n```bash\ncurl --location 'http://0.0.0.0:4000/team/bulk_member_add'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n    \"team_id\": \"team-1234\",\n    \"members\": [\n        {\n            \"user_id\": \"user1\",\n            \"role\": \"user\"\n        },\n        {\n            \"user_email\": \"user2@example.com\",\n            \"role\": \"admin\"\n        }\n    ],\n    \"max_budget_in_team\": 100.0\n}'\n```","operationId":"bulk_team_member_add_team_bulk_member_add_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkTeamMemberAddRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkTeamMemberAddResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/team/delete":{"post":{"tags":["team management"],"summary":"Delete Team","description":"delete team and associated team keys\n\nParameters:\n- team_ids: List[str] - Required. List of team IDs to delete. Example: [\"team-1234\", \"team-5678\"]\n\n```\ncurl --location 'http://0.0.0.0:4000/team/delete'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data-raw '{\n    \"team_ids\": [\"8d916b1c-510d-4894-a334-1c16a93344f5\"]\n}'\n```","operationId":"delete_team_team_delete_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteTeamRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/team/info":{"get":{"tags":["team management"],"summary":"Team Info","description":"get info on team + related keys\n\nParameters:\n- team_id: str - Required. The unique identifier of the team to get info on.\n\n```\ncurl --location 'http://localhost:4000/team/info?team_id=your_team_id_here'     --header 'Authorization: Bearer your_api_key_here'\n```","operationId":"team_info_team_info_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"type":"string","description":"Team ID in the request parameters","title":"Team Id"},"description":"Team ID in the request parameters"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/team/block":{"post":{"tags":["team management"],"summary":"Block Team","description":"Blocks all calls from keys with this team id.\n\nParameters:\n- team_id: str - Required. The unique identifier of the team to block.\n\nExample:\n```\ncurl --location 'http://0.0.0.0:4000/team/block'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n    \"team_id\": \"team-1234\"\n}'\n```\n\nReturns:\n- The updated team record with blocked=True","operationId":"block_team_team_block_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockTeamRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/team/unblock":{"post":{"tags":["team management"],"summary":"Unblock Team","description":"Blocks all calls from keys with this team id.\n\nParameters:\n- team_id: str - Required. The unique identifier of the team to unblock.\n\nExample:\n```\ncurl --location 'http://0.0.0.0:4000/team/unblock'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n    \"team_id\": \"team-1234\"\n}'\n```","operationId":"unblock_team_team_unblock_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockTeamRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/team/available":{"get":{"summary":"List Available Teams","operationId":"list_available_teams_team_available_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"response_model","in":"query","required":false,"schema":{"title":"Response Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/team/list":{"get":{"tags":["team management"],"summary":"List Team V2","description":"Get a paginated list of teams with filtering and sorting options.\n\nParameters:\n    user_id: Optional[str]\n        Only return teams which this user belongs to\n    organization_id: Optional[str]\n        Only return teams which belong to this organization\n    team_id: Optional[str]\n        Filter teams by exact team_id match\n    team_alias: Optional[str]\n        Filter teams by partial team_alias match\n    page: int\n        The page number to return\n    page_size: int\n        The number of items per page\n    sort_by: Optional[str]\n        Column to sort by (e.g. 'team_id', 'team_alias', 'created_at')\n    sort_order: str\n        Sort order ('asc' or 'desc')","operationId":"list_team_v2_v2_team_list_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Only return teams which this 'user_id' belongs to","title":"User Id"},"description":"Only return teams which this 'user_id' belongs to"},{"name":"organization_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Only return teams which this 'organization_id' belongs to","title":"Organization Id"},"description":"Only return teams which this 'organization_id' belongs to"},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Only return teams which this 'team_id' belongs to","title":"Team Id"},"description":"Only return teams which this 'team_id' belongs to"},{"name":"team_alias","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Only return teams which this 'team_alias' belongs to. Supports partial matching.","title":"Team Alias"},"description":"Only return teams which this 'team_alias' belongs to. Supports partial matching."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number for pagination","default":1,"title":"Page"},"description":"Page number for pagination"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Number of teams per page","default":10,"title":"Page Size"},"description":"Number of teams per page"},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Column to sort by (e.g. 'team_id', 'team_alias', 'created_at')","title":"Sort By"},"description":"Column to sort by (e.g. 'team_id', 'team_alias', 'created_at')"},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","description":"Sort order ('asc' or 'desc')","default":"asc","title":"Sort Order"},"description":"Sort order ('asc' or 'desc')"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/team/list":{"get":{"tags":["team management"],"summary":"List Team","description":"```\ncurl --location --request GET 'http://0.0.0.0:4000/team/list'         --header 'Authorization: Bearer sk-1234'\n```\n\nParameters:\n- user_id: str - Optional. If passed will only return teams that the user_id is a member of.\n- organization_id: str - Optional. If passed will only return teams that belong to the organization_id. Pass 'default_organization' to get all teams without organization_id.","operationId":"list_team_team_list_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Only return teams which this 'user_id' belongs to","title":"User Id"},"description":"Only return teams which this 'user_id' belongs to"},{"name":"organization_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/team/model/add":{"post":{"tags":["team management"],"summary":"Team Model Add","description":"Add models to a team's allowed model list. Only proxy admin or team admin can add models.\n\nParameters:\n- team_id: str - Required. The team to add models to\n- models: List[str] - Required. List of models to add to the team\n\nExample Request:\n```\ncurl --location 'http://0.0.0.0:4000/team/model/add'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n    \"team_id\": \"team-1234\",\n    \"models\": [\"gpt-4\", \"claude-2\"]\n}'\n```","operationId":"team_model_add_team_model_add_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamModelAddRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/team/model/delete":{"post":{"tags":["team management"],"summary":"Team Model Delete","description":"Remove models from a team's allowed model list. Only proxy admin or team admin can remove models.\n\nParameters:\n- team_id: str - Required. The team to remove models from\n- models: List[str] - Required. List of models to remove from the team\n\nExample Request:\n```\ncurl --location 'http://0.0.0.0:4000/team/model/delete'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n    \"team_id\": \"team-1234\",\n    \"models\": [\"gpt-4\"]\n}'\n```","operationId":"team_model_delete_team_model_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamModelDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/team/permissions_list":{"get":{"tags":["team management"],"summary":"Team Member Permissions","description":"Get the team member permissions for a team","operationId":"team_member_permissions_team_permissions_list_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"type":"string","description":"Team ID in the request parameters","title":"Team Id"},"description":"Team ID in the request parameters"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTeamMemberPermissionsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/team/permissions_update":{"post":{"tags":["team management"],"summary":"Update Team Member Permissions","description":"Update the team member permissions for a team","operationId":"update_team_member_permissions_team_permissions_update_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTeamMemberPermissionsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLM_TeamTable"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/team/daily/activity":{"get":{"tags":["team management"],"summary":"Get Team Daily Activity","description":"Get daily activity for specific teams or all teams.\n\nArgs:\n    team_ids (Optional[str]): Comma-separated list of team IDs to filter by. If not provided, returns data for all teams.\n    start_date (Optional[str]): Start date for the activity period (YYYY-MM-DD).\n    end_date (Optional[str]): End date for the activity period (YYYY-MM-DD).\n    model (Optional[str]): Filter by model name.\n    api_key (Optional[str]): Filter by API key.\n    page (int): Page number for pagination.\n    page_size (int): Number of items per page.\n    exclude_team_ids (Optional[str]): Comma-separated list of team IDs to exclude.\nReturns:\n    SpendAnalyticsPaginatedResponse: Paginated response containing daily activity data.","operationId":"get_team_daily_activity_team_daily_activity_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"team_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Ids"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"}},{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}},{"name":"api_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Page Size"}},{"name":"exclude_team_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exclude Team Ids"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpendAnalyticsPaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/scim/v2/ServiceProviderConfig":{"get":{"tags":["✨ SCIM v2 (Enterprise Only)"],"summary":"Get Service Provider Config","description":"Return SCIM Service Provider Configuration.","operationId":"get_service_provider_config_scim_v2_ServiceProviderConfig_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMServiceProviderConfig"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/scim/v2/Users":{"get":{"tags":["✨ SCIM v2 (Enterprise Only)"],"summary":"Get Users","description":"Get a list of users according to SCIM v2 protocol","operationId":"get_users_scim_v2_Users_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"startIndex","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Startindex"}},{"name":"count","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Count"}},{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["✨ SCIM v2 (Enterprise Only)"],"summary":"Create User","description":"Create a user according to SCIM v2 protocol","operationId":"create_user_scim_v2_Users_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMUser"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMUser"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/scim/v2/Users/{user_id}":{"get":{"tags":["✨ SCIM v2 (Enterprise Only)"],"summary":"Get User","description":"Get a single user by ID according to SCIM v2 protocol","operationId":"get_user_scim_v2_Users__user_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User ID"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMUser"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["✨ SCIM v2 (Enterprise Only)"],"summary":"Update User","description":"Update a user according to SCIM v2 protocol (full replacement)","operationId":"update_user_scim_v2_Users__user_id__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User ID"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMUser"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMUser"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["✨ SCIM v2 (Enterprise Only)"],"summary":"Delete User","description":"Delete a user according to SCIM v2 protocol","operationId":"delete_user_scim_v2_Users__user_id__delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User ID"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["✨ SCIM v2 (Enterprise Only)"],"summary":"Patch User","description":"Patch a user according to SCIM v2 protocol","operationId":"patch_user_scim_v2_Users__user_id__patch","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User ID"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMPatchOp"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMUser"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/scim/v2/Groups":{"get":{"tags":["✨ SCIM v2 (Enterprise Only)"],"summary":"Get Groups","description":"Get a list of groups according to SCIM v2 protocol","operationId":"get_groups_scim_v2_Groups_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"startIndex","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Startindex"}},{"name":"count","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Count"}},{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["✨ SCIM v2 (Enterprise Only)"],"summary":"Create Group","description":"Create a group according to SCIM v2 protocol","operationId":"create_group_scim_v2_Groups_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMGroup"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/scim/v2/Groups/{group_id}":{"get":{"tags":["✨ SCIM v2 (Enterprise Only)"],"summary":"Get Group","description":"Get a single group by ID according to SCIM v2 protocol","operationId":"get_group_scim_v2_Groups__group_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group ID"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["✨ SCIM v2 (Enterprise Only)"],"summary":"Update Group","description":"Update a group according to SCIM v2 protocol","operationId":"update_group_scim_v2_Groups__group_id__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group ID"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMGroup"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["✨ SCIM v2 (Enterprise Only)"],"summary":"Delete Group","description":"Delete a group according to SCIM v2 protocol","operationId":"delete_group_scim_v2_Groups__group_id__delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group ID"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["✨ SCIM v2 (Enterprise Only)"],"summary":"Patch Group","description":"Patch a group according to SCIM v2 protocol","operationId":"patch_group_scim_v2_Groups__group_id__patch","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","title":"Group ID"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMPatchOp"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SCIMGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/new":{"post":{"tags":["organization management"],"summary":"New Organization","description":"Allow orgs to own teams\n\nSet org level budgets + model access.\n\nOnly admins can create orgs.\n\n# Parameters\n\n- organization_alias: *str* - The name of the organization.\n- models: *List* - The models the organization has access to.\n- budget_id: *Optional[str]* - The id for a budget (tpm/rpm/max budget) for the organization.\n### IF NO BUDGET ID - CREATE ONE WITH THESE PARAMS ###\n- max_budget: *Optional[float]* - Max budget for org\n- tpm_limit: *Optional[int]* - Max tpm limit for org\n- rpm_limit: *Optional[int]* - Max rpm limit for org\n- max_parallel_requests: *Optional[int]* - [Not Implemented Yet] Max parallel requests for org\n- soft_budget: *Optional[float]* - [Not Implemented Yet] Get a slack alert when this soft budget is reached. Don't block requests.\n- model_max_budget: *Optional[dict]* - Max budget for a specific model\n- budget_duration: *Optional[str]* - Frequency of reseting org budget\n- metadata: *Optional[dict]* - Metadata for organization, store information for organization. Example metadata - {\"extra_info\": \"some info\"}\n- blocked: *bool* - Flag indicating if the org is blocked or not - will stop all calls from keys with this org_id.\n- tags: *Optional[List[str]]* - Tags for [tracking spend](https://litellm.vercel.app/docs/proxy/enterprise#tracking-spend-for-custom-tags) and/or doing [tag-based routing](https://litellm.vercel.app/docs/proxy/tag_routing).\n- organization_id: *Optional[str]* - The organization id of the team. Default is None. Create via `/organization/new`.\n- model_aliases: Optional[dict] - Model aliases for the team. [Docs](https://docs.litellm.ai/docs/proxy/team_based_routing#create-team-with-model-alias)\n- object_permission: Optional[LiteLLM_ObjectPermissionBase] - organization-specific object permission. Example - {\"vector_stores\": [\"vector_store_1\", \"vector_store_2\"]}. IF null or {} then no object permission.\nCase 1: Create new org **without** a budget_id\n\n```bash\ncurl --location 'http://0.0.0.0:4000/organization/new' \n--header 'Authorization: Bearer sk-1234' \n--header 'Content-Type: application/json' \n--data '{\n    \"organization_alias\": \"my-secret-org\",\n    \"models\": [\"model1\", \"model2\"],\n    \"max_budget\": 100\n}'\n\n\n```\n\nCase 2: Create new org **with** a budget_id\n\n```bash\ncurl --location 'http://0.0.0.0:4000/organization/new' \n--header 'Authorization: Bearer sk-1234' \n--header 'Content-Type: application/json' \n--data '{\n    \"organization_alias\": \"my-secret-org\",\n    \"models\": [\"model1\", \"model2\"],\n    \"budget_id\": \"428eeaa8-f3ac-4e85-a8fb-7dc8d7aa8689\"\n}'\n```","operationId":"new_organization_organization_new_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewOrganizationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewOrganizationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/organization/update":{"patch":{"tags":["organization management"],"summary":"Update Organization","description":"Update an organization","operationId":"update_organization_organization_update_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLM_OrganizationTableUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLM_OrganizationTableWithMembers"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/organization/delete":{"delete":{"tags":["organization management"],"summary":"Delete Organization","description":"Delete an organization\n\n# Parameters:\n\n- organization_ids: List[str] - The organization ids to delete.","operationId":"delete_organization_organization_delete_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/LiteLLM_OrganizationTableWithMembers"},"type":"array","title":"Response Delete Organization Organization Delete Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/organization/list":{"get":{"tags":["organization management"],"summary":"List Organization","description":"```\ncurl --location --request GET 'http://0.0.0.0:4000/organization/list'         --header 'Authorization: Bearer sk-1234'\n```","operationId":"list_organization_organization_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/LiteLLM_OrganizationTableWithMembers"},"type":"array","title":"Response List Organization Organization List Get"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/organization/info":{"get":{"tags":["organization management"],"summary":"Info Organization","description":"Get the org specific information","operationId":"info_organization_organization_info_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"organization_id","in":"query","required":true,"schema":{"type":"string","title":"Organization Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLM_OrganizationTableWithMembers"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["organization management"],"summary":"Deprecated Info Organization","description":"DEPRECATED: Use GET /organization/info instead","operationId":"deprecated_info_organization_organization_info_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/member_add":{"post":{"tags":["organization management"],"summary":"Organization Member Add","description":"[BETA]\n\nAdd new members (either via user_email or user_id) to an organization\n\nIf user doesn't exist, new user row will also be added to User Table\n\nOnly proxy_admin or org_admin of organization, allowed to access this endpoint.\n\n# Parameters:\n\n- organization_id: str (required)\n- member: Union[List[Member], Member] (required)\n    - role: Literal[LitellmUserRoles] (required)\n    - user_id: Optional[str]\n    - user_email: Optional[str]\n\nNote: Either user_id or user_email must be provided for each member.\n\nExample:\n```\ncurl -X POST 'http://0.0.0.0:4000/organization/member_add'     -H 'Authorization: Bearer sk-1234'     -H 'Content-Type: application/json'     -d '{\n    \"organization_id\": \"45e3e396-ee08-4a61-a88e-16b3ce7e0849\",\n    \"member\": {\n        \"role\": \"internal_user\",\n        \"user_id\": \"krrish247652@berri.ai\"\n    },\n    \"max_budget_in_organization\": 100.0\n}'\n```\n\nThe following is executed in this function:\n\n1. Check if organization exists\n2. Creates a new Internal User if the user_id or user_email is not found in LiteLLM_UserTable\n3. Add Internal User to the `LiteLLM_OrganizationMembership` table","operationId":"organization_member_add_organization_member_add_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberAddRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationAddMemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/organization/member_update":{"patch":{"tags":["organization management"],"summary":"Organization Member Update","description":"Update a member's role in an organization","operationId":"organization_member_update_organization_member_update_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLM_OrganizationMembershipTable"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/organization/member_delete":{"delete":{"tags":["organization management"],"summary":"Organization Member Delete","description":"Delete a member from an organization","operationId":"organization_member_delete_organization_member_delete_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/customer/block":{"post":{"tags":["Customer Management"],"summary":"Block User","description":"[BETA] Reject calls with this end-user id\n\nParameters:\n- user_ids (List[str], required): The unique `user_id`s for the users to block\n\n    (any /chat/completion call with this user={end-user-id} param, will be rejected.)\n\n    ```\n    curl -X POST \"http://0.0.0.0:8000/user/block\"\n    -H \"Authorization: Bearer sk-1234\"\n    -d '{\n    \"user_ids\": [<user_id>, ...]\n    }'\n    ```","operationId":"block_user_customer_block_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockUsers"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/customer/unblock":{"post":{"tags":["Customer Management"],"summary":"Unblock User","description":"[BETA] Unblock calls with this user id\n\nExample\n```\ncurl -X POST \"http://0.0.0.0:8000/user/unblock\"\n-H \"Authorization: Bearer sk-1234\"\n-d '{\n\"user_ids\": [<user_id>, ...]\n}'\n```","operationId":"unblock_user_customer_unblock_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockUsers"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/customer/new":{"post":{"tags":["Customer Management"],"summary":"New End User","description":"Allow creating a new Customer \n\n\nParameters:\n- user_id: str - The unique identifier for the user.\n- alias: Optional[str] - A human-friendly alias for the user.\n- blocked: bool - Flag to allow or disallow requests for this end-user. Default is False.\n- max_budget: Optional[float] - The maximum budget allocated to the user. Either 'max_budget' or 'budget_id' should be provided, not both.\n- 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.\n- allowed_model_region: Optional[Union[Literal[\"eu\"], Literal[\"us\"]]] - Require all user requests to use models in this specific region.\n- default_model: Optional[str] - If no equivalent model in the allowed region, default all requests to this model.\n- metadata: Optional[dict] = Metadata for customer, store information for customer. Example metadata = {\"data_training_opt_out\": True}\n- 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\").\n- tpm_limit: Optional[int] - [Not Implemented Yet] Specify tpm limit for a given customer (Tokens per minute)\n- rpm_limit: Optional[int] - [Not Implemented Yet] Specify rpm limit for a given customer (Requests per minute)\n- 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\"}}\n- max_parallel_requests: Optional[int] - [Not Implemented Yet] Specify max parallel requests for a given customer.\n- soft_budget: Optional[float] - [Not Implemented Yet] Get alerts when customer crosses given budget, doesn't block requests.\n- spend: Optional[float] - Specify initial spend for a given customer.\n- budget_reset_at: Optional[str] - Specify the date and time when the budget should be reset.\n\n\n- Allow specifying allowed regions \n- Allow specifying default model\n\nExample curl:\n```\ncurl --location 'http://0.0.0.0:4000/customer/new'         --header 'Authorization: Bearer sk-1234'         --header 'Content-Type: application/json'         --data '{\n        \"user_id\" : \"ishaan-jaff-3\",\n        \"allowed_region\": \"eu\",\n        \"budget_id\": \"free_tier\",\n        \"default_model\": \"azure/gpt-3.5-turbo-eu\" <- all calls from this user, use this model? \n    }'\n\n    # return end-user object\n```\n\nNOTE: This used to be called `/end_user/new`, we will still be maintaining compatibility for /end_user/XXX for these endpoints","operationId":"new_end_user_customer_new_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewCustomerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/customer/info":{"get":{"tags":["Customer Management"],"summary":"End User Info","description":"Get information about an end-user. An `end_user` is a customer (external user) of the proxy.\n\nParameters:\n- end_user_id (str, required): The unique identifier for the end-user\n\nExample curl:\n```\ncurl -X GET 'http://localhost:4000/customer/info?end_user_id=test-litellm-user-4'         -H 'Authorization: Bearer sk-1234'\n```","operationId":"end_user_info_customer_info_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"end_user_id","in":"query","required":true,"schema":{"type":"string","description":"End User ID in the request parameters","title":"End User Id"},"description":"End User ID in the request parameters"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLM_EndUserTable"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/customer/update":{"post":{"tags":["Customer Management"],"summary":"Update End User","description":"Example curl \n\nParameters:\n- user_id: str\n- alias: Optional[str] = None  # human-friendly alias\n- blocked: bool = False  # allow/disallow requests for this end-user\n- max_budget: Optional[float] = None\n- budget_id: Optional[str] = None  # give either a budget_id or max_budget\n- allowed_model_region: Optional[AllowedModelRegion] = (\n    None  # require all user requests to use models in this specific region\n)\n- default_model: Optional[str] = (\n    None  # if no equivalent model in allowed region - default all requests to this model\n)\n\nExample curl:\n```\ncurl --location 'http://0.0.0.0:4000/customer/update'     --header 'Authorization: Bearer sk-1234'     --header 'Content-Type: application/json'     --data '{\n    \"user_id\": \"test-litellm-user-4\",\n    \"budget_id\": \"paid_tier\"\n}'\n\nSee below for all params \n```","operationId":"update_end_user_customer_update_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/customer/delete":{"post":{"tags":["Customer Management"],"summary":"Delete End User","description":"Delete multiple end-users.\n\nParameters:\n- user_ids (List[str], required): The unique `user_id`s for the users to delete\n\nExample curl:\n```\ncurl --location 'http://0.0.0.0:4000/customer/delete'         --header 'Authorization: Bearer sk-1234'         --header 'Content-Type: application/json'         --data '{\n        \"user_ids\" :[\"ishaan-jaff-5\"]\n}'\n\nSee below for all params \n```","operationId":"delete_end_user_customer_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteCustomerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/customer/list":{"get":{"tags":["Customer Management"],"summary":"List End User","description":"[Admin-only] List all available customers\n\nExample curl:\n```\ncurl --location --request GET 'http://0.0.0.0:4000/customer/list'         --header 'Authorization: Bearer sk-1234'\n```","operationId":"list_end_user_customer_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/LiteLLM_EndUserTable"},"type":"array","title":"Response List End User Customer List Get"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/spend/tags":{"get":{"tags":["Budget & Spend Tracking"],"summary":"View Spend Tags","description":"LiteLLM Enterprise - View Spend Per Request Tag\n\nExample Request:\n```\ncurl -X GET \"http://0.0.0.0:8000/spend/tags\" -H \"Authorization: Bearer sk-1234\"\n```\n\nSpend with Start Date and End Date\n```\ncurl -X GET \"http://0.0.0.0:8000/spend/tags?start_date=2022-01-01&end_date=2022-02-01\" -H \"Authorization: Bearer sk-1234\"\n```","operationId":"view_spend_tags_spend_tags_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Time from which to start viewing key spend","title":"Start Date"},"description":"Time from which to start viewing key spend"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Time till which to view key spend","title":"End Date"},"description":"Time till which to view key spend"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LiteLLM_SpendLogs"},"title":"Response 200 View Spend Tags Spend Tags Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/global/spend/report":{"get":{"tags":["Budget & Spend Tracking"],"summary":"Get Global Spend Report","description":"Get Daily Spend per Team, based on specific startTime and endTime. Per team, view usage by each key, model\n[\n    {\n        \"group-by-day\": \"2024-05-10\",\n        \"teams\": [\n            {\n                \"team_name\": \"team-1\"\n                \"spend\": 10,\n                \"keys\": [\n                    \"key\": \"1213\",\n                    \"usage\": {\n                        \"model-1\": {\n                                \"cost\": 12.50,\n                                \"input_tokens\": 1000,\n                                \"output_tokens\": 5000,\n                                \"requests\": 100\n                            },\n                            \"audio-modelname1\": {\n                            \"cost\": 25.50,\n                            \"seconds\": 25,\n                            \"requests\": 50\n                    },\n                    }\n                }\n        ]\n    ]\n}","operationId":"get_global_spend_report_global_spend_report_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Time from which to start viewing spend","title":"Start Date"},"description":"Time from which to start viewing spend"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Time till which to view spend","title":"End Date"},"description":"Time till which to view spend"},{"name":"group_by","in":"query","required":false,"schema":{"anyOf":[{"enum":["team","customer","api_key"],"type":"string"},{"type":"null"}],"description":"Group spend by internal team or customer or api_key","default":"team","title":"Group By"},"description":"Group spend by internal team or customer or api_key"},{"name":"api_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"View spend for a specific api_key. Example api_key='sk-1234","title":"Api Key"},"description":"View spend for a specific api_key. Example api_key='sk-1234"},{"name":"internal_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"View spend for a specific internal_user_id. Example internal_user_id='1234","title":"Internal User Id"},"description":"View spend for a specific internal_user_id. Example internal_user_id='1234"},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"View spend for a specific team_id. Example team_id='1234","title":"Team Id"},"description":"View spend for a specific team_id. Example team_id='1234"},{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"View spend for a specific customer_id. Example customer_id='1234. Can be used in conjunction with team_id as well.","title":"Customer Id"},"description":"View spend for a specific customer_id. Example customer_id='1234. Can be used in conjunction with team_id as well."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LiteLLM_SpendLogs"},"title":"Response 200 Get Global Spend Report Global Spend Report Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/global/spend/tags":{"get":{"tags":["Budget & Spend Tracking"],"summary":"Global View Spend Tags","description":"LiteLLM Enterprise - View Spend Per Request Tag. Used by LiteLLM UI\n\nExample Request:\n```\ncurl -X GET \"http://0.0.0.0:4000/spend/tags\" -H \"Authorization: Bearer sk-1234\"\n```\n\nSpend with Start Date and End Date\n```\ncurl -X GET \"http://0.0.0.0:4000/spend/tags?start_date=2022-01-01&end_date=2022-02-01\" -H \"Authorization: Bearer sk-1234\"\n```","operationId":"global_view_spend_tags_global_spend_tags_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Time from which to start viewing key spend","title":"Start Date"},"description":"Time from which to start viewing key spend"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Time till which to view key spend","title":"End Date"},"description":"Time till which to view key spend"},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"comman separated tags to filter on","title":"Tags"},"description":"comman separated tags to filter on"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LiteLLM_SpendLogs"},"title":"Response 200 Global View Spend Tags Global Spend Tags Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/spend/calculate":{"post":{"tags":["Budget & Spend Tracking"],"summary":"Calculate Spend","description":"Accepts all the params of completion_cost.\n\nCalculate spend **before** making call:\n\nNote: If you see a spend of $0.0 you need to set custom_pricing for your model: https://docs.litellm.ai/docs/proxy/custom_pricing\n\n```\ncurl --location 'http://localhost:4000/spend/calculate'\n--header 'Authorization: Bearer sk-1234'\n--header 'Content-Type: application/json'\n--data '{\n    \"model\": \"anthropic.claude-v2\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Hey, how'''s it going?\"}]\n}'\n```\n\nCalculate spend **after** making call:\n\n```\ncurl --location 'http://localhost:4000/spend/calculate'\n--header 'Authorization: Bearer sk-1234'\n--header 'Content-Type: application/json'\n--data '{\n    \"completion_response\": {\n        \"id\": \"chatcmpl-123\",\n        \"object\": \"chat.completion\",\n        \"created\": 1677652288,\n        \"model\": \"gpt-3.5-turbo-0125\",\n        \"system_fingerprint\": \"fp_44709d6fcb\",\n        \"choices\": [{\n            \"index\": 0,\n            \"message\": {\n                \"role\": \"assistant\",\n                \"content\": \"Hello there, how may I assist you today?\"\n            },\n            \"logprobs\": null,\n            \"finish_reason\": \"stop\"\n        }]\n        \"usage\": {\n            \"prompt_tokens\": 9,\n            \"completion_tokens\": 12,\n            \"total_tokens\": 21\n        }\n    }\n}'\n```","operationId":"calculate_spend_spend_calculate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpendCalculateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}},"cost":{"description":"The calculated cost","example":0.0,"type":"float"}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/spend/logs":{"get":{"tags":["Budget & Spend Tracking"],"summary":"View Spend Logs","description":"View all spend logs, if request_id is provided, only logs for that request_id will be returned\n\nWhen start_date and end_date are provided:\n- summarize=true (default): Returns aggregated spend data grouped by date (maintains backward compatibility)\n- summarize=false: Returns filtered individual log entries within the date range\n\nExample Request for all logs\n```\ncurl -X GET \"http://0.0.0.0:8000/spend/logs\" -H \"Authorization: Bearer sk-1234\"\n```\n\nExample Request for specific request_id\n```\ncurl -X GET \"http://0.0.0.0:8000/spend/logs?request_id=chatcmpl-6dcb2540-d3d7-4e49-bb27-291f863f112e\" -H \"Authorization: Bearer sk-1234\"\n```\n\nExample Request for specific api_key\n```\ncurl -X GET \"http://0.0.0.0:8000/spend/logs?api_key=sk-Fn8Ej39NkBQmUagFEoUWPQ\" -H \"Authorization: Bearer sk-1234\"\n```\n\nExample Request for specific user_id\n```\ncurl -X GET \"http://0.0.0.0:8000/spend/logs?user_id=ishaan@berri.ai\" -H \"Authorization: Bearer sk-1234\"\n```\n\nExample Request for date range with individual logs (unsummarized)\n```\ncurl -X GET \"http://0.0.0.0:8000/spend/logs?start_date=2024-01-01&end_date=2024-01-02&summarize=false\" -H \"Authorization: Bearer sk-1234\"\n```","operationId":"view_spend_logs_spend_logs_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"api_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Get spend logs based on api key","title":"Api Key"},"description":"Get spend logs based on api key"},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Get spend logs based on user_id","title":"User Id"},"description":"Get spend logs based on user_id"},{"name":"request_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"request_id to get spend logs for specific request_id. If none passed then pass spend logs for all requests","title":"Request Id"},"description":"request_id to get spend logs for specific request_id. If none passed then pass spend logs for all requests"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Time from which to start viewing key spend","title":"Start Date"},"description":"Time from which to start viewing key spend"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Time till which to view key spend","title":"End Date"},"description":"Time till which to view key spend"},{"name":"summarize","in":"query","required":false,"schema":{"type":"boolean","description":"When start_date and end_date are provided, summarize=true returns aggregated data by date (legacy behavior), summarize=false returns filtered individual logs","default":true,"title":"Summarize"},"description":"When start_date and end_date are provided, summarize=true returns aggregated data by date (legacy behavior), summarize=false returns filtered individual logs"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LiteLLM_SpendLogs"},"title":"Response 200 View Spend Logs Spend Logs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/global/spend/reset":{"post":{"tags":["Budget & Spend Tracking"],"summary":"Global Spend Reset","description":"ADMIN ONLY / MASTER KEY Only Endpoint\n\nGlobally reset spend for All API Keys and Teams, maintain LiteLLM_SpendLogs\n\n1. LiteLLM_SpendLogs will maintain the logs on spend, no data gets deleted from there\n2. LiteLLM_VerificationTokens spend will be set = 0\n3. LiteLLM_TeamTable spend will be set = 0","operationId":"global_spend_reset_global_spend_reset_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/provider/budgets":{"get":{"summary":"Provider Budgets","description":"Provider Budget Routing - Get Budget, Spend Details https://docs.litellm.ai/docs/proxy/provider_budget_routing\n\nUse this endpoint to check current budget, spend and budget reset time for a provider\n\nExample Request\n\n```bash\ncurl -X GET http://localhost:4000/provider/budgets     -H \"Content-Type: application/json\"     -H \"Authorization: Bearer sk-1234\"\n```\n\nExample Response\n\n```json\n{\n    \"providers\": {\n        \"openai\": {\n            \"budget_limit\": 1e-12,\n            \"time_period\": \"1d\",\n            \"spend\": 0.0,\n            \"budget_reset_at\": null\n        },\n        \"azure\": {\n            \"budget_limit\": 100.0,\n            \"time_period\": \"1d\",\n            \"spend\": 0.0,\n            \"budget_reset_at\": null\n        },\n        \"anthropic\": {\n            \"budget_limit\": 100.0,\n            \"time_period\": \"10d\",\n            \"spend\": 0.0,\n            \"budget_reset_at\": null\n        },\n        \"vertex_ai\": {\n            \"budget_limit\": 100.0,\n            \"time_period\": \"12d\",\n            \"spend\": 0.0,\n            \"budget_reset_at\": null\n        }\n    }\n}\n```","operationId":"provider_budgets_provider_budgets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderBudgetResponse"}}}}}}},"/cloudzero/settings":{"get":{"tags":["CloudZero"],"summary":"Get 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.\n\nOnly admin users can view CloudZero settings.","operationId":"get_cloudzero_settings_cloudzero_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudZeroSettingsView"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]},"put":{"tags":["CloudZero"],"summary":"Update Cloudzero Settings","description":"Update existing CloudZero settings.\n\nAllows updating individual CloudZero configuration fields without requiring all fields.\nOnly provided fields will be updated; others will remain unchanged.\n\nParameters:\n- api_key: (Optional) New CloudZero API key for authentication\n- connection_id: (Optional) New CloudZero connection ID for data submission\n- timezone: (Optional) New timezone for date handling\n\nOnly admin users can update CloudZero settings.","operationId":"update_cloudzero_settings_cloudzero_settings_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudZeroSettingsUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudZeroInitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/cloudzero/init":{"post":{"tags":["CloudZero"],"summary":"Init Cloudzero Settings","description":"Initialize CloudZero settings and store in the database.\n\nThis endpoint stores the CloudZero API key, connection ID, and timezone configuration\nin the proxy database for use by the CloudZero logger.\n\nParameters:\n- api_key: CloudZero API key for authentication\n- connection_id: CloudZero connection ID for data submission\n- timezone: Timezone for date handling (default: UTC)\n\nOnly admin users can configure CloudZero settings.","operationId":"init_cloudzero_settings_cloudzero_init_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudZeroInitRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudZeroInitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/cloudzero/dry-run":{"post":{"tags":["CloudZero"],"summary":"Cloudzero Dry Run Export","description":"Perform a dry run export using the CloudZero logger.\n\nThis endpoint uses the CloudZero logger to perform a dry run export,\nwhich displays the data that would be exported without actually sending it to CloudZero.\n\nParameters:\n- limit: Optional limit on number of records to process (default: 10000)\n\nOnly admin users can perform CloudZero exports.","operationId":"cloudzero_dry_run_export_cloudzero_dry_run_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudZeroExportRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudZeroExportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/cloudzero/export":{"post":{"tags":["CloudZero"],"summary":"Cloudzero Export","description":"Perform an actual export using the CloudZero logger.\n\nThis endpoint uses the CloudZero logger to export usage data to CloudZero AnyCost API.\n\nParameters:\n- limit: Optional limit on number of records to export\n- operation: CloudZero operation type (\"replace_hourly\" or \"sum\", default: \"replace_hourly\")\n\nOnly admin users can perform CloudZero exports.","operationId":"cloudzero_export_cloudzero_export_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudZeroExportRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudZeroExportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/cache/ping":{"get":{"tags":["caching"],"summary":"Cache Ping","description":"Endpoint for checking if cache can be pinged","operationId":"cache_ping_cache_ping_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CachePingResponse"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/cache/delete":{"post":{"tags":["caching","caching"],"summary":"Cache Delete","description":"Endpoint for deleting a key from the cache. All responses from litellm proxy have `x-litellm-cache-key` in the headers\n\nParameters:\n- **keys**: *Optional[List[str]]* - A list of keys to delete from the cache. Example {\"keys\": [\"key1\", \"key2\"]}\n\n```shell\ncurl -X POST \"http://0.0.0.0:4000/cache/delete\"     -H \"Authorization: Bearer sk-1234\"     -d '{\"keys\": [\"key1\", \"key2\"]}'\n```","operationId":"cache_delete_cache_delete_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/cache/redis/info":{"get":{"tags":["caching"],"summary":"Cache Redis Info","description":"Endpoint for getting /redis/info","operationId":"cache_redis_info_cache_redis_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/cache/flushall":{"post":{"tags":["caching","caching"],"summary":"Cache Flushall","description":"A function to flush all items from the cache. (All items will be deleted from the cache with this)\nRaises HTTPException if the cache is not initialized or if the cache type does not support flushing.\nReturns a dictionary with the status of the operation.\n\nUsage:\n```\ncurl -X POST http://0.0.0.0:4000/cache/flushall -H \"Authorization: Bearer sk-1234\"\n```","operationId":"cache_flushall_cache_flushall_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/guardrails/list":{"get":{"tags":["Guardrails"],"summary":"List Guardrails","description":"List the guardrails that are available on the proxy server\n\n👉 [Guardrail docs](https://docs.litellm.ai/docs/proxy/guardrails/quick_start)\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/guardrails/list\" -H \"Authorization: Bearer <your_api_key>\"\n```\n\nExample Response:\n```json\n{\n    \"guardrails\": [\n        {\n        \"guardrail_name\": \"bedrock-pre-guard\",\n        \"guardrail_info\": {\n            \"params\": [\n            {\n                \"name\": \"toxicity_score\",\n                \"type\": \"float\",\n                \"description\": \"Score between 0-1 indicating content toxicity level\"\n            },\n            {\n                \"name\": \"pii_detection\",\n                \"type\": \"boolean\"\n            }\n            ]\n        }\n        }\n    ]\n}\n```","operationId":"list_guardrails_guardrails_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListGuardrailsResponse"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/v2/guardrails/list":{"get":{"tags":["Guardrails"],"summary":"List Guardrails V2","description":"List the guardrails that are available in the database using GuardrailRegistry\n\n👉 [Guardrail docs](https://docs.litellm.ai/docs/proxy/guardrails/quick_start)\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/v2/guardrails/list\" -H \"Authorization: Bearer <your_api_key>\"\n```\n\nExample Response:\n```json\n{\n    \"guardrails\": [\n        {\n            \"guardrail_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n            \"guardrail_name\": \"my-bedrock-guard\",\n            \"litellm_params\": {\n                \"guardrail\": \"bedrock\",\n                \"mode\": \"pre_call\",\n                \"guardrailIdentifier\": \"ff6ujrregl1q\",\n                \"guardrailVersion\": \"DRAFT\",\n                \"default_on\": true\n            },\n            \"guardrail_info\": {\n                \"description\": \"Bedrock content moderation guardrail\"\n            }\n        }\n    ]\n}\n```","operationId":"list_guardrails_v2_v2_guardrails_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListGuardrailsResponse"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/guardrails":{"post":{"tags":["Guardrails"],"summary":"Create Guardrail","description":"Create a new guardrail\n\n👉 [Guardrail docs](https://docs.litellm.ai/docs/proxy/guardrails/quick_start)\n\nExample Request:\n```bash\ncurl -X POST \"http://localhost:4000/guardrails\" \\\n    -H \"Authorization: Bearer <your_api_key>\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n        \"guardrail\": {\n            \"guardrail_name\": \"my-bedrock-guard\",\n            \"litellm_params\": {\n                \"guardrail\": \"bedrock\",\n                \"mode\": \"pre_call\",\n                \"guardrailIdentifier\": \"ff6ujrregl1q\",\n                \"guardrailVersion\": \"DRAFT\",\n                \"default_on\": true\n            },\n            \"guardrail_info\": {\n                \"description\": \"Bedrock content moderation guardrail\"\n            }\n        }\n    }'\n```\n\nExample Response:\n```json\n{\n    \"guardrail_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n    \"guardrail_name\": \"my-bedrock-guard\",\n    \"litellm_params\": {\n        \"guardrail\": \"bedrock\",\n        \"mode\": \"pre_call\",\n        \"guardrailIdentifier\": \"ff6ujrregl1q\",\n        \"guardrailVersion\": \"DRAFT\",\n        \"default_on\": true\n    },\n    \"guardrail_info\": {\n        \"description\": \"Bedrock content moderation guardrail\"\n    },\n    \"created_at\": \"2023-11-09T12:34:56.789Z\",\n    \"updated_at\": \"2023-11-09T12:34:56.789Z\"\n}\n```","operationId":"create_guardrail_guardrails_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGuardrailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/guardrails/{guardrail_id}":{"put":{"tags":["Guardrails"],"summary":"Update Guardrail","description":"Update an existing guardrail\n\n👉 [Guardrail docs](https://docs.litellm.ai/docs/proxy/guardrails/quick_start)\n\nExample Request:\n```bash\ncurl -X PUT \"http://localhost:4000/guardrails/123e4567-e89b-12d3-a456-426614174000\" \\\n    -H \"Authorization: Bearer <your_api_key>\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n        \"guardrail\": {\n            \"guardrail_name\": \"updated-bedrock-guard\",\n            \"litellm_params\": {\n                \"guardrail\": \"bedrock\",\n                \"mode\": \"pre_call\",\n                \"guardrailIdentifier\": \"ff6ujrregl1q\",\n                \"guardrailVersion\": \"1.0\",\n                \"default_on\": true\n            },\n            \"guardrail_info\": {\n                \"description\": \"Updated Bedrock content moderation guardrail\"\n            }\n        }\n    }'\n```\n\nExample Response:\n```json\n{\n    \"guardrail_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n    \"guardrail_name\": \"updated-bedrock-guard\",\n    \"litellm_params\": {\n        \"guardrail\": \"bedrock\",\n        \"mode\": \"pre_call\",\n        \"guardrailIdentifier\": \"ff6ujrregl1q\",\n        \"guardrailVersion\": \"1.0\",\n        \"default_on\": true\n    },\n    \"guardrail_info\": {\n        \"description\": \"Updated Bedrock content moderation guardrail\"\n    },\n    \"created_at\": \"2023-11-09T12:34:56.789Z\",\n    \"updated_at\": \"2023-11-09T13:45:12.345Z\"\n}\n```","operationId":"update_guardrail_guardrails__guardrail_id__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"guardrail_id","in":"path","required":true,"schema":{"type":"string","title":"Guardrail Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGuardrailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Guardrails"],"summary":"Delete Guardrail","description":"Delete a guardrail\n\n👉 [Guardrail docs](https://docs.litellm.ai/docs/proxy/guardrails/quick_start)\n\nExample Request:\n```bash\ncurl -X DELETE \"http://localhost:4000/guardrails/123e4567-e89b-12d3-a456-426614174000\" \\\n    -H \"Authorization: Bearer <your_api_key>\"\n```\n\nExample Response:\n```json\n{\n    \"message\": \"Guardrail 123e4567-e89b-12d3-a456-426614174000 deleted successfully\"\n}\n```","operationId":"delete_guardrail_guardrails__guardrail_id__delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"guardrail_id","in":"path","required":true,"schema":{"type":"string","title":"Guardrail Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Guardrails"],"summary":"Patch Guardrail","description":"Partially update an existing guardrail\n\n👉 [Guardrail docs](https://docs.litellm.ai/docs/proxy/guardrails/quick_start)\n\nThis endpoint allows updating specific fields of a guardrail without sending the entire object.\nOnly the following fields can be updated:\n- guardrail_name: The name of the guardrail\n- default_on: Whether the guardrail is enabled by default\n- guardrail_info: Additional information about the guardrail\n\nExample Request:\n```bash\ncurl -X PATCH \"http://localhost:4000/guardrails/123e4567-e89b-12d3-a456-426614174000\" \\\n    -H \"Authorization: Bearer <your_api_key>\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n        \"guardrail_name\": \"updated-name\",\n        \"default_on\": true,\n        \"guardrail_info\": {\n            \"description\": \"Updated description\"\n        }\n    }'\n```\n\nExample Response:\n```json\n{\n    \"guardrail_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n    \"guardrail_name\": \"updated-name\",\n    \"litellm_params\": {\n        \"guardrail\": \"bedrock\",\n        \"mode\": \"pre_call\",\n        \"guardrailIdentifier\": \"ff6ujrregl1q\",\n        \"guardrailVersion\": \"DRAFT\",\n        \"default_on\": true\n    },\n    \"guardrail_info\": {\n        \"description\": \"Updated description\"\n    },\n    \"created_at\": \"2023-11-09T12:34:56.789Z\",\n    \"updated_at\": \"2023-11-09T14:22:33.456Z\"\n}\n```","operationId":"patch_guardrail_guardrails__guardrail_id__patch","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"guardrail_id","in":"path","required":true,"schema":{"type":"string","title":"Guardrail Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchGuardrailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Guardrails"],"summary":"Get Guardrail Info","description":"Get detailed information about a specific guardrail by ID\n\n👉 [Guardrail docs](https://docs.litellm.ai/docs/proxy/guardrails/quick_start)\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/guardrails/123e4567-e89b-12d3-a456-426614174000/info\" \\\n    -H \"Authorization: Bearer <your_api_key>\"\n```\n\nExample Response:\n```json\n{\n    \"guardrail_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n    \"guardrail_name\": \"my-bedrock-guard\",\n    \"litellm_params\": {\n        \"guardrail\": \"bedrock\",\n        \"mode\": \"pre_call\",\n        \"guardrailIdentifier\": \"ff6ujrregl1q\",\n        \"guardrailVersion\": \"DRAFT\",\n        \"default_on\": true\n    },\n    \"guardrail_info\": {\n        \"description\": \"Bedrock content moderation guardrail\"\n    },\n    \"created_at\": \"2023-11-09T12:34:56.789Z\",\n    \"updated_at\": \"2023-11-09T12:34:56.789Z\"\n}\n```","operationId":"get_guardrail_info_guardrails__guardrail_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"guardrail_id","in":"path","required":true,"schema":{"type":"string","title":"Guardrail Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/guardrails/{guardrail_id}/info":{"get":{"tags":["Guardrails"],"summary":"Get Guardrail Info","description":"Get detailed information about a specific guardrail by ID\n\n👉 [Guardrail docs](https://docs.litellm.ai/docs/proxy/guardrails/quick_start)\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/guardrails/123e4567-e89b-12d3-a456-426614174000/info\" \\\n    -H \"Authorization: Bearer <your_api_key>\"\n```\n\nExample Response:\n```json\n{\n    \"guardrail_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n    \"guardrail_name\": \"my-bedrock-guard\",\n    \"litellm_params\": {\n        \"guardrail\": \"bedrock\",\n        \"mode\": \"pre_call\",\n        \"guardrailIdentifier\": \"ff6ujrregl1q\",\n        \"guardrailVersion\": \"DRAFT\",\n        \"default_on\": true\n    },\n    \"guardrail_info\": {\n        \"description\": \"Bedrock content moderation guardrail\"\n    },\n    \"created_at\": \"2023-11-09T12:34:56.789Z\",\n    \"updated_at\": \"2023-11-09T12:34:56.789Z\"\n}\n```","operationId":"get_guardrail_info_guardrails__guardrail_id__info_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"guardrail_id","in":"path","required":true,"schema":{"type":"string","title":"Guardrail Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/guardrails/ui/add_guardrail_settings":{"get":{"tags":["Guardrails"],"summary":"Get Guardrail Ui Settings","description":"Get the UI settings for the guardrails\n\nReturns:\n- Supported entities for guardrails\n- Supported modes for guardrails\n- PII entity categories for UI organization","operationId":"get_guardrail_ui_settings_guardrails_ui_add_guardrail_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/guardrails/ui/provider_specific_params":{"get":{"tags":["Guardrails"],"summary":"Get Provider Specific Params","description":"Get provider-specific parameters for different guardrail types.\n\nReturns a dictionary mapping guardrail providers to their specific parameters,\nincluding parameter names, descriptions, and whether they are required.\n\nExample Response:\n```json\n{\n    \"bedrock\": {\n        \"guardrailIdentifier\": {\n            \"description\": \"The ID of your guardrail on Bedrock\",\n            \"required\": true,\n            \"type\": null\n        },\n        \"guardrailVersion\": {\n            \"description\": \"The version of your Bedrock guardrail (e.g., DRAFT or version number)\",\n            \"required\": true,\n            \"type\": null\n        }\n    },\n    \"azure_content_safety_text_moderation\": {\n        \"api_key\": {\n            \"description\": \"API key for the Azure Content Safety Text Moderation guardrail\",\n            \"required\": false,\n            \"type\": null\n        },\n        \"optional_params\": {\n            \"description\": \"Optional parameters for the Azure Content Safety Text Moderation guardrail\",\n            \"required\": true,\n            \"type\": \"nested\",\n            \"fields\": {\n                \"severity_threshold\": {\n                    \"description\": \"Severity threshold for the Azure Content Safety Text Moderation guardrail across all categories\",\n                    \"required\": false,\n                    \"type\": null\n                },\n                \"categories\": {\n                    \"description\": \"Categories to scan for the Azure Content Safety Text Moderation guardrail\",\n                    \"required\": false,\n                    \"type\": \"multiselect\",\n                    \"options\": [\"Hate\", \"SelfHarm\", \"Sexual\", \"Violence\"],\n                    \"default_value\": None\n                }\n            }\n        }\n    }\n}\n```","operationId":"get_provider_specific_params_guardrails_ui_provider_specific_params_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/prompts/list":{"get":{"tags":["Prompt Management"],"summary":"List Prompts","description":"List the prompts that are available on the proxy server\n\n👉 [Prompt docs](https://docs.litellm.ai/docs/proxy/prompt_management)\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/prompts/list\" -H \"Authorization: Bearer <your_api_key>\"\n```\n\nExample Response:\n```json\n{\n    \"prompts\": [\n        {\n            \"prompt_id\": \"my_prompt_id\",\n            \"litellm_params\": {\n                \"prompt_id\": \"my_prompt_id\",\n                \"prompt_integration\": \"dotprompt\",\n                \"prompt_directory\": \"/path/to/prompts\"\n            },\n            \"prompt_info\": {\n                \"prompt_type\": \"config\"\n            },\n            \"created_at\": \"2023-11-09T12:34:56.789Z\",\n            \"updated_at\": \"2023-11-09T12:34:56.789Z\"\n        }\n    ]\n}\n```","operationId":"list_prompts_prompts_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPromptsResponse"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/prompts/{prompt_id}/info":{"get":{"tags":["Prompt Management"],"summary":"Get Prompt Info","description":"Get detailed information about a specific prompt by ID, including prompt content\n\n    👉 [Prompt docs](https://docs.litellm.ai/docs/proxy/prompt_management)\n\n    Example Request:\n    ```bash\n    curl -X GET \"http://localhost:4000/prompts/my_prompt_id/info\" \\\n        -H \"Authorization: Bearer <your_api_key>\"\n    ```\n\n    Example Response:\n    ```json\n    {\n        \"prompt_id\": \"my_prompt_id\",\n        \"litellm_params\": {\n            \"prompt_id\": \"my_prompt_id\",\n            \"prompt_integration\": \"dotprompt\",\n            \"prompt_directory\": \"/path/to/prompts\"\n        },\n        \"prompt_info\": {\n            \"prompt_type\": \"config\"\n        },\n        \"created_at\": \"2023-11-09T12:34:56.789Z\",\n        \"updated_at\": \"2023-11-09T12:34:56.789Z\",\n        \"content\": \"System: You are a helpful assistant.\n\nUser: {{user_message}}\"\n    }\n    ```","operationId":"get_prompt_info_prompts__prompt_id__info_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptInfoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/prompts/{prompt_id}":{"get":{"tags":["Prompt Management"],"summary":"Get Prompt Info","description":"Get detailed information about a specific prompt by ID, including prompt content\n\n    👉 [Prompt docs](https://docs.litellm.ai/docs/proxy/prompt_management)\n\n    Example Request:\n    ```bash\n    curl -X GET \"http://localhost:4000/prompts/my_prompt_id/info\" \\\n        -H \"Authorization: Bearer <your_api_key>\"\n    ```\n\n    Example Response:\n    ```json\n    {\n        \"prompt_id\": \"my_prompt_id\",\n        \"litellm_params\": {\n            \"prompt_id\": \"my_prompt_id\",\n            \"prompt_integration\": \"dotprompt\",\n            \"prompt_directory\": \"/path/to/prompts\"\n        },\n        \"prompt_info\": {\n            \"prompt_type\": \"config\"\n        },\n        \"created_at\": \"2023-11-09T12:34:56.789Z\",\n        \"updated_at\": \"2023-11-09T12:34:56.789Z\",\n        \"content\": \"System: You are a helpful assistant.\n\nUser: {{user_message}}\"\n    }\n    ```","operationId":"get_prompt_info_prompts__prompt_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptInfoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Prompt Management"],"summary":"Update Prompt","description":"Update an existing prompt\n\n👉 [Prompt docs](https://docs.litellm.ai/docs/proxy/prompt_management)\n\nExample Request:\n```bash\ncurl -X PUT \"http://localhost:4000/prompts/my_prompt_id\" \\\n    -H \"Authorization: Bearer <your_api_key>\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n        \"prompt_id\": \"my_prompt\",\n        \"litellm_params\": {\n            \"prompt_id\": \"my_prompt\",\n                \"prompt_integration\": \"dotprompt\",\n                \"prompt_directory\": \"/path/to/prompts\"\n            },\n            \"prompt_info\": {\n                \"prompt_type\": \"config\"\n            }\n        }\n    }'\n```","operationId":"update_prompt_prompts__prompt_id__put","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Prompt"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Prompt Management"],"summary":"Delete Prompt","description":"Delete a prompt\n\n👉 [Prompt docs](https://docs.litellm.ai/docs/proxy/prompt_management)\n\nExample Request:\n```bash\ncurl -X DELETE \"http://localhost:4000/prompts/my_prompt_id\" \\\n    -H \"Authorization: Bearer <your_api_key>\"\n```\n\nExample Response:\n```json\n{\n    \"message\": \"Prompt my_prompt_id deleted successfully\"\n}\n```","operationId":"delete_prompt_prompts__prompt_id__delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Prompt Management"],"summary":"Patch Prompt","description":"Partially update an existing prompt\n\n👉 [Prompt docs](https://docs.litellm.ai/docs/proxy/prompt_management)\n\nThis endpoint allows updating specific fields of a prompt without sending the entire object.\nOnly the following fields can be updated:\n- litellm_params: LiteLLM parameters for the prompt\n- prompt_info: Additional information about the prompt\n\nExample Request:\n```bash\ncurl -X PATCH \"http://localhost:4000/prompts/my_prompt_id\" \\\n    -H \"Authorization: Bearer <your_api_key>\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n        \"prompt_info\": {\n            \"prompt_type\": \"db\"\n        }\n    }'\n```","operationId":"patch_prompt_prompts__prompt_id__patch","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchPromptRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/prompts":{"post":{"tags":["Prompt Management"],"summary":"Create Prompt","description":"Create a new prompt\n\n👉 [Prompt docs](https://docs.litellm.ai/docs/proxy/prompt_management)\n\nExample Request:\n```bash\ncurl -X POST \"http://localhost:4000/prompts\" \\\n    -H \"Authorization: Bearer <your_api_key>\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n        \"prompt_id\": \"my_prompt\",\n        \"litellm_params\": {\n            \"prompt_id\": \"json_prompt\",\n            \"prompt_integration\": \"dotprompt\",\n            ### EITHER prompt_directory OR prompt_data MUST BE PROVIDED\n            \"prompt_directory\": \"/path/to/dotprompt/folder\",\n            \"prompt_data\": {\"json_prompt\": {\"content\": \"This is a prompt\", \"metadata\": {\"model\": \"gpt-4\"}}}\n        },\n        \"prompt_info\": {\n            \"prompt_type\": \"config\"\n        }\n    }'\n```","operationId":"create_prompt_prompts_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Prompt"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/utils/dotprompt_json_converter":{"post":{"tags":["prompts","utils"],"summary":"Convert Prompt File To Json","description":"Convert a .prompt file to JSON format.\n\nThis endpoint accepts a .prompt file upload and returns the equivalent JSON representation\nthat can be stored in a database or used programmatically.\n\nReturns the JSON structure with 'content' and 'metadata' fields.","operationId":"convert_prompt_file_to_json_utils_dotprompt_json_converter_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_convert_prompt_file_to_json_utils_dotprompt_json_converter_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Convert Prompt File To Json Utils Dotprompt Json Converter Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/callbacks/list":{"get":{"tags":["Logging Callbacks"],"summary":"List Callbacks","description":"View List of Active Logging Callbacks","operationId":"list_callbacks_callbacks_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallbacksByType"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/debug/asyncio-tasks":{"get":{"summary":"Get Active Tasks Stats","description":"Returns:\n  total_active_tasks: int\n  by_name: { coroutine_name: count }","operationId":"get_active_tasks_stats_debug_asyncio_tasks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/add/allowed_ip":{"post":{"tags":["Budget & Spend Tracking"],"summary":"Add Allowed Ip","operationId":"add_allowed_ip_add_allowed_ip_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPAddress"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/delete/allowed_ip":{"post":{"tags":["Budget & Spend Tracking"],"summary":"Delete Allowed Ip","operationId":"delete_allowed_ip_delete_allowed_ip_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPAddress"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/get/internal_user_settings":{"get":{"tags":["SSO Settings"],"summary":"Get Internal User Settings","description":"Get all SSO settings from the litellm_settings configuration.\nReturns a structured object with values and descriptions for UI display.","operationId":"get_internal_user_settings_get_internal_user_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalUserSettingsResponse"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/get/default_team_settings":{"get":{"tags":["SSO Settings"],"summary":"Get Default Team Settings","description":"Get all SSO settings from the litellm_settings configuration.\nReturns a structured object with values and descriptions for UI display.","operationId":"get_default_team_settings_get_default_team_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultTeamSettingsResponse"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/update/internal_user_settings":{"patch":{"tags":["SSO Settings"],"summary":"Update Internal User Settings","description":"Update the default internal user parameters for SSO users.\nThese settings will be applied to new users who sign in via SSO.","operationId":"update_internal_user_settings_update_internal_user_settings_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultInternalUserParams"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/update/default_team_settings":{"patch":{"tags":["SSO Settings"],"summary":"Update Default Team Settings","description":"Update the default team parameters for SSO users.\nThese settings will be applied to new teams created from SSO.","operationId":"update_default_team_settings_update_default_team_settings_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultTeamSSOParams"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/get/sso_settings":{"get":{"tags":["SSO Settings"],"summary":"Get Sso Settings","description":"Get all SSO configuration settings from the environment variables.\nReturns a structured object with values and descriptions for UI display.","operationId":"get_sso_settings_get_sso_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SSOSettingsResponse"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/update/sso_settings":{"patch":{"tags":["SSO Settings"],"summary":"Update Sso Settings","description":"Update SSO configuration by saving to both environment variables and config file.","operationId":"update_sso_settings_update_sso_settings_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SSOConfig"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/get/ui_theme_settings":{"get":{"tags":["UI Theme Settings"],"summary":"Get Ui Theme Settings","description":"Get UI theme configuration from the litellm_settings.\nReturns current logo settings for UI customization.","operationId":"get_ui_theme_settings_get_ui_theme_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UIThemeSettingsResponse"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/update/ui_theme_settings":{"patch":{"tags":["UI Theme Settings"],"summary":"Update Ui Theme Settings","description":"Update UI theme configuration.\nUpdates logo settings for the admin UI.","operationId":"update_ui_theme_settings_update_ui_theme_settings_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UIThemeConfig"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/upload/logo":{"post":{"tags":["UI Theme Settings"],"summary":"Upload Logo","description":"Upload a custom logo for the admin UI.\nAccepts image files (PNG, JPG, JPEG, SVG) and stores them for use in the UI.","operationId":"upload_logo_upload_logo_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_logo_upload_logo_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/files":{"post":{"tags":["files"],"summary":"Create File","description":"Upload a file that can be used across - Assistants API, Batch API \nThis is the equivalent of POST https://api.openai.com/v1/files\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/create\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files         -H \"Authorization: Bearer sk-1234\"         -F purpose=\"batch\"         -F file=\"@mydata.jsonl\"\n\n```","operationId":"create_file_files_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_file_files_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["files"],"summary":"List Files","description":"Returns information about a specific file. that can be used across - Assistants API, Batch API \nThis is the equivalent of GET https://api.openai.com/v1/files/\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/list\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files        -H \"Authorization: Bearer sk-1234\"\n\n```","operationId":"list_files_files_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},{"name":"target_model_names","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Model Names"}},{"name":"purpose","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purpose"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/files":{"post":{"tags":["files"],"summary":"Create File","description":"Upload a file that can be used across - Assistants API, Batch API \nThis is the equivalent of POST https://api.openai.com/v1/files\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/create\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files         -H \"Authorization: Bearer sk-1234\"         -F purpose=\"batch\"         -F file=\"@mydata.jsonl\"\n\n```","operationId":"create_file_v1_files_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_file_v1_files_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["files"],"summary":"List Files","description":"Returns information about a specific file. that can be used across - Assistants API, Batch API \nThis is the equivalent of GET https://api.openai.com/v1/files/\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/list\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files        -H \"Authorization: Bearer sk-1234\"\n\n```","operationId":"list_files_v1_files_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},{"name":"target_model_names","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Model Names"}},{"name":"purpose","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purpose"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{provider}/v1/files":{"post":{"tags":["files"],"summary":"Create File","description":"Upload a file that can be used across - Assistants API, Batch API \nThis is the equivalent of POST https://api.openai.com/v1/files\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/create\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files         -H \"Authorization: Bearer sk-1234\"         -F purpose=\"batch\"         -F file=\"@mydata.jsonl\"\n\n```","operationId":"create_file__provider__v1_files_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_file__provider__v1_files_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["files"],"summary":"List Files","description":"Returns information about a specific file. that can be used across - Assistants API, Batch API \nThis is the equivalent of GET https://api.openai.com/v1/files/\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/list\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files        -H \"Authorization: Bearer sk-1234\"\n\n```","operationId":"list_files__provider__v1_files_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},{"name":"target_model_names","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Model Names"}},{"name":"purpose","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purpose"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/files/{file_id}/content":{"get":{"tags":["files"],"summary":"Get File Content","description":"Returns information about a specific file. that can be used across - Assistants API, Batch API \nThis is the equivalent of GET https://api.openai.com/v1/files/{file_id}/content\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/retrieve-contents\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files/file-abc123/content         -H \"Authorization: Bearer sk-1234\"\n\n```","operationId":"get_file_content_files__file_id__content_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/files/{file_id}/content":{"get":{"tags":["files"],"summary":"Get File Content","description":"Returns information about a specific file. that can be used across - Assistants API, Batch API \nThis is the equivalent of GET https://api.openai.com/v1/files/{file_id}/content\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/retrieve-contents\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files/file-abc123/content         -H \"Authorization: Bearer sk-1234\"\n\n```","operationId":"get_file_content_v1_files__file_id__content_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{provider}/v1/files/{file_id}/content":{"get":{"tags":["files"],"summary":"Get File Content","description":"Returns information about a specific file. that can be used across - Assistants API, Batch API \nThis is the equivalent of GET https://api.openai.com/v1/files/{file_id}/content\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/retrieve-contents\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files/file-abc123/content         -H \"Authorization: Bearer sk-1234\"\n\n```","operationId":"get_file_content__provider__v1_files__file_id__content_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"provider","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/files/{file_id}":{"get":{"tags":["files"],"summary":"Get File","description":"Returns information about a specific file. that can be used across - Assistants API, Batch API \nThis is the equivalent of GET https://api.openai.com/v1/files/{file_id}\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/retrieve\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files/file-abc123         -H \"Authorization: Bearer sk-1234\"\n\n```","operationId":"get_file_files__file_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["files"],"summary":"Delete File","description":"Deletes a specified file. that can be used across - Assistants API, Batch API \nThis is the equivalent of DELETE https://api.openai.com/v1/files/{file_id}\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/delete\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files/file-abc123     -X DELETE     -H \"Authorization: Bearer $OPENAI_API_KEY\"\n\n```","operationId":"delete_file_files__file_id__delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/files/{file_id}":{"get":{"tags":["files"],"summary":"Get File","description":"Returns information about a specific file. that can be used across - Assistants API, Batch API \nThis is the equivalent of GET https://api.openai.com/v1/files/{file_id}\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/retrieve\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files/file-abc123         -H \"Authorization: Bearer sk-1234\"\n\n```","operationId":"get_file_v1_files__file_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["files"],"summary":"Delete File","description":"Deletes a specified file. that can be used across - Assistants API, Batch API \nThis is the equivalent of DELETE https://api.openai.com/v1/files/{file_id}\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/delete\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files/file-abc123     -X DELETE     -H \"Authorization: Bearer $OPENAI_API_KEY\"\n\n```","operationId":"delete_file_v1_files__file_id__delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/{provider}/v1/files/{file_id}":{"get":{"tags":["files"],"summary":"Get File","description":"Returns information about a specific file. that can be used across - Assistants API, Batch API \nThis is the equivalent of GET https://api.openai.com/v1/files/{file_id}\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/retrieve\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files/file-abc123         -H \"Authorization: Bearer sk-1234\"\n\n```","operationId":"get_file__provider__v1_files__file_id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"provider","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["files"],"summary":"Delete File","description":"Deletes a specified file. that can be used across - Assistants API, Batch API \nThis is the equivalent of DELETE https://api.openai.com/v1/files/{file_id}\n\nSupports Identical Params as: https://platform.openai.com/docs/api-reference/files/delete\n\nExample Curl\n```\ncurl http://localhost:4000/v1/files/file-abc123     -X DELETE     -H \"Authorization: Bearer $OPENAI_API_KEY\"\n\n```","operationId":"delete_file__provider__v1_files__file_id__delete","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"provider","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/team/{team_id}/callback":{"post":{"tags":["team management"],"summary":"Add Team Callbacks","description":"Add a success/failure callback to a team\n\nUse this if if you want different teams to have different success/failure callbacks\n\nParameters:\n- callback_name (Literal[\"langfuse\", \"langsmith\", \"gcs\"], required): The name of the callback to add\n- callback_type (Literal[\"success\", \"failure\", \"success_and_failure\"], required): The type of callback to add. One of:\n    - \"success\": Callback for successful LLM calls\n    - \"failure\": Callback for failed LLM calls\n    - \"success_and_failure\": Callback for both successful and failed LLM calls\n- callback_vars (StandardCallbackDynamicParams, required): A dictionary of variables to pass to the callback\n    - langfuse_public_key: The public key for the Langfuse callback\n    - langfuse_secret_key: The secret key for the Langfuse callback\n    - langfuse_secret: The secret for the Langfuse callback\n    - langfuse_host: The host for the Langfuse callback\n    - gcs_bucket_name: The name of the GCS bucket\n    - gcs_path_service_account: The path to the GCS service account\n    - langsmith_api_key: The API key for the Langsmith callback\n    - langsmith_project: The project for the Langsmith callback\n    - langsmith_base_url: The base URL for the Langsmith callback\n\nExample curl:\n```\ncurl -X POST 'http:/localhost:4000/team/dbe2f686-a686-4896-864a-4c3924458709/callback'         -H 'Content-Type: application/json'         -H 'Authorization: Bearer sk-1234'         -d '{\n    \"callback_name\": \"langfuse\",\n    \"callback_type\": \"success\",\n    \"callback_vars\": {\"langfuse_public_key\": \"pk-lf-xxxx1\", \"langfuse_secret_key\": \"sk-xxxxx\"}\n    \n}'\n```\n\nThis means for the team where team_id = dbe2f686-a686-4896-864a-4c3924458709, all LLM calls will be logged to langfuse using the public key pk-lf-xxxx1 and the secret key sk-xxxxx","operationId":"add_team_callbacks_team__team_id__callback_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","title":"Team Id"}},{"name":"litellm-changed-by","in":"header","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"},"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"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTeamCallback"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["team management"],"summary":"Get Team Callbacks","description":"Get the success/failure callbacks and variables for a team\n\nParameters:\n- team_id (str, required): The unique identifier for the team\n\nExample curl:\n```\ncurl -X GET 'http://localhost:4000/team/dbe2f686-a686-4896-864a-4c3924458709/callback'         -H 'Authorization: Bearer sk-1234'\n```\n\nThis will return the callback settings for the team with id dbe2f686-a686-4896-864a-4c3924458709\n\nReturns {\n        \"status\": \"success\",\n        \"data\": {\n            \"team_id\": team_id,\n            \"success_callbacks\": team_callback_settings_obj.success_callback,\n            \"failure_callbacks\": team_callback_settings_obj.failure_callback,\n            \"callback_vars\": team_callback_settings_obj.callback_vars,\n        },\n    }","operationId":"get_team_callbacks_team__team_id__callback_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/team/{team_id}/disable_logging":{"post":{"tags":["team management"],"summary":"Disable Team Logging","description":"Disable all logging callbacks for a team\n\nParameters:\n- team_id (str, required): The unique identifier for the team\n\nExample curl:\n```\ncurl -X POST 'http://localhost:4000/team/dbe2f686-a686-4896-864a-4c3924458709/disable_logging'         -H 'Authorization: Bearer sk-1234'\n```","operationId":"disable_team_logging_team__team_id__disable_logging_post","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/budget/new":{"post":{"tags":["budget management"],"summary":"New Budget","description":"Create a new budget object. Can apply this to teams, orgs, end-users, keys.\n\nParameters:\n- budget_duration: Optional[str] - Budget reset period (\"30d\", \"1h\", etc.)\n- budget_id: Optional[str] - The id of the budget. If not provided, a new id will be generated.\n- max_budget: Optional[float] - The max budget for the budget.\n- soft_budget: Optional[float] - The soft budget for the budget.\n- max_parallel_requests: Optional[int] - The max number of parallel requests for the budget.\n- tpm_limit: Optional[int] - The tokens per minute limit for the budget.\n- rpm_limit: Optional[int] - The requests per minute limit for the budget.\n- model_max_budget: Optional[dict] - Specify max budget for a given model. Example: {\"openai/gpt-4o-mini\": {\"max_budget\": 100.0, \"budget_duration\": \"1d\", \"tpm_limit\": 100000, \"rpm_limit\": 100000}}\n- budget_reset_at: Optional[datetime] - Datetime when the initial budget is reset. Default is now.","operationId":"new_budget_budget_new_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetNewRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/budget/update":{"post":{"tags":["budget management"],"summary":"Update Budget","description":"Update an existing budget object.\n\nParameters:\n- budget_duration: Optional[str] - Budget reset period (\"30d\", \"1h\", etc.)\n- budget_id: Optional[str] - The id of the budget. If not provided, a new id will be generated.\n- max_budget: Optional[float] - The max budget for the budget.\n- soft_budget: Optional[float] - The soft budget for the budget.\n- max_parallel_requests: Optional[int] - The max number of parallel requests for the budget.\n- tpm_limit: Optional[int] - The tokens per minute limit for the budget.\n- rpm_limit: Optional[int] - The requests per minute limit for the budget.\n- model_max_budget: Optional[dict] - Specify max budget for a given model. Example: {\"openai/gpt-4o-mini\": {\"max_budget\": 100.0, \"budget_duration\": \"1d\", \"tpm_limit\": 100000, \"rpm_limit\": 100000}}\n- budget_reset_at: Optional[datetime] - Update the Datetime when the budget was last reset.","operationId":"update_budget_budget_update_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetNewRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/budget/info":{"post":{"tags":["budget management"],"summary":"Info Budget","description":"Get the budget id specific information\n\nParameters:\n- budgets: List[str] - The list of budget ids to get information for","operationId":"info_budget_budget_info_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/budget/settings":{"get":{"tags":["budget management"],"summary":"Budget Settings","description":"Get list of configurable params + current value for a budget item + description of each field\n\nUsed on Admin UI.\n\nQuery Parameters:\n- budget_id: str - The budget id to get information for","operationId":"budget_settings_budget_settings_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"budget_id","in":"query","required":true,"schema":{"type":"string","title":"Budget Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/budget/list":{"get":{"tags":["budget management"],"summary":"List Budget","description":"List all the created budgets in proxy db. Used on Admin UI.","operationId":"list_budget_budget_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/budget/delete":{"post":{"tags":["budget management"],"summary":"Delete Budget","description":"Delete budget\n\nParameters:\n- id: str - The budget id to delete","operationId":"delete_budget_budget_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/model/{model_id}/update":{"patch":{"tags":["model management"],"summary":"Patch Model","description":"PATCH Endpoint for partial model updates.\n\nOnly updates the fields specified in the request while preserving other existing values.\nFollows proper PATCH semantics by only modifying provided fields.\n\nArgs:\n    model_id: The ID of the model to update\n    patch_data: The fields to update and their new values\n    user_api_key_dict: User authentication information\n\nReturns:\n    Updated model information\n\nRaises:\n    ProxyException: For various error conditions including authentication and database errors","operationId":"patch_model_model__model_id__update_patch","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateDeployment"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/model/delete":{"post":{"tags":["model management"],"summary":"Delete Model","description":"Allows deleting models in the model list in the config.yaml","operationId":"delete_model_model_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelInfoDelete"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/model/new":{"post":{"tags":["model management"],"summary":"Add New Model","description":"Allows adding new models to the model list in the config.yaml","operationId":"add_new_model_model_new_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Deployment"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/model/update":{"post":{"tags":["model management"],"summary":"Update Model","description":"Edit existing model params","operationId":"update_model_model_update_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateDeployment"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/model_group/make_public":{"post":{"tags":["model management"],"summary":"Update Public Model Groups","description":"Update which model groups are public","operationId":"update_public_model_groups_model_group_make_public_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePublicModelGroupsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/model_hub/update_useful_links":{"post":{"tags":["model management"],"summary":"Update Useful Links","description":"Update useful links","operationId":"update_useful_links_model_hub_update_useful_links_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUsefulLinksRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/tag/new":{"post":{"tags":["tag management"],"summary":"New Tag","description":"Create a new tag.\n\nParameters:\n- name: str - The name of the tag\n- description: Optional[str] - Description of what this tag represents\n- models: List[str] - List of either 'model_id' or 'model_name' allowed for this tag","operationId":"new_tag_tag_new_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagNewRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/tag/update":{"post":{"tags":["tag management"],"summary":"Update Tag","description":"Update an existing tag.\n\nParameters:\n- name: str - The name of the tag to update\n- description: Optional[str] - Updated description\n- models: List[str] - Updated list of allowed LLM models","operationId":"update_tag_tag_update_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/tag/info":{"post":{"tags":["tag management"],"summary":"Info Tag","description":"Get information about specific tags.\n\nParameters:\n- names: List[str] - List of tag names to get information for","operationId":"info_tag_tag_info_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagInfoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/tag/list":{"get":{"tags":["tag management"],"summary":"List Tags","description":"List all available tags.","operationId":"list_tags_tag_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TagConfig"},"type":"array","title":"Response List Tags Tag List Get"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/tag/delete":{"post":{"tags":["tag management"],"summary":"Delete Tag","description":"Delete a tag.\n\nParameters:\n- name: str - The name of the tag to delete","operationId":"delete_tag_tag_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/tag/daily/activity":{"get":{"tags":["tag management"],"summary":"Get Tag Daily Activity","description":"Get daily activity for specific tags or all tags.\n\nArgs:\n    tags (Optional[str]): Comma-separated list of tags to filter by. If not provided, returns data for all tags.\n    start_date (Optional[str]): Start date for the activity period (YYYY-MM-DD).\n    end_date (Optional[str]): End date for the activity period (YYYY-MM-DD).\n    model (Optional[str]): Filter by model name.\n    api_key (Optional[str]): Filter by API key.\n    page (int): Page number for pagination.\n    page_size (int): Number of items per page.\n\nReturns:\n    SpendAnalyticsPaginatedResponse: Paginated response containing daily activity data.","operationId":"get_tag_daily_activity_tag_daily_activity_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tags"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"}},{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}},{"name":"api_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpendAnalyticsPaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tag/distinct":{"get":{"tags":["tag management","user agent analytics"],"summary":"Get Distinct User Agent Tags","description":"Get all distinct user agent tags up to a maximum of {MAX_TAGS} tags.\n\nThis endpoint returns all unique user agent tags found in the database,\nsorted by frequency of usage.\n\nReturns:\n    DistinctTagsResponse: List of distinct user agent tags","operationId":"get_distinct_user_agent_tags_tag_distinct_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DistinctTagsResponse"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/tag/dau":{"get":{"tags":["tag management","user agent analytics"],"summary":"Get Daily Active Users","description":"Get Daily Active Users (DAU) by tags for the last {MAX_DAYS} days ending on UTC today + 1 day.\n\nThis endpoint efficiently calculates unique users per tag for each of the last {MAX_DAYS} days\nusing a single optimized SQL query, perfect for dashboard time series visualization.\n\nArgs:\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n    \nReturns:\n    ActiveUsersAnalyticsResponse: DAU data by tag for each of the last {MAX_DAYS} days","operationId":"get_daily_active_users_tag_dau_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"tag_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by specific tag (optional)","title":"Tag Filter"},"description":"Filter by specific tag (optional)"},{"name":"tag_filters","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by multiple specific tags (optional, takes precedence over tag_filter)","title":"Tag Filters"},"description":"Filter by multiple specific tags (optional, takes precedence over tag_filter)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActiveUsersAnalyticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tag/wau":{"get":{"tags":["tag management","user agent analytics"],"summary":"Get Weekly Active Users","description":"Get Weekly Active Users (WAU) by tags for the last {MAX_WEEKS} weeks ending on UTC today + 1 day.\n\nShows week-by-week breakdown:\n- Week 1 (Jan 1): Earliest week (7 weeks ago)\n- Week 2 (Jan 8): Next week (6 weeks ago)\n- Week 3 (Jan 15): Next week (5 weeks ago)\n- ... and so on for {MAX_WEEKS} weeks total\n- Week 7: Most recent week ending on UTC today + 1 day\n\nArgs:\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n    \nReturns:\n    ActiveUsersAnalyticsResponse: WAU data by tag for each of the last {MAX_WEEKS} weeks with descriptive week labels (e.g., \"Week 1 (Jan 1)\")","operationId":"get_weekly_active_users_tag_wau_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"tag_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by specific tag (optional)","title":"Tag Filter"},"description":"Filter by specific tag (optional)"},{"name":"tag_filters","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by multiple specific tags (optional, takes precedence over tag_filter)","title":"Tag Filters"},"description":"Filter by multiple specific tags (optional, takes precedence over tag_filter)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActiveUsersAnalyticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tag/mau":{"get":{"tags":["tag management","user agent analytics"],"summary":"Get Monthly Active Users","description":"Get Monthly Active Users (MAU) by tags for the last {MAX_MONTHS} months ending on UTC today + 1 day.\n\nShows month-by-month breakdown:\n- Month 1 (Nov): Earliest month (7 months ago, 30-day period)\n- Month 2 (Dec): Next month (6 months ago)\n- Month 3 (Jan): Next month (5 months ago)\n- ... and so on for {MAX_MONTHS} months total\n- Month 7: Most recent month ending on UTC today + 1 day\n\nArgs:\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n    \nReturns:\n    ActiveUsersAnalyticsResponse: MAU data by tag for each of the last {MAX_MONTHS} months with descriptive month labels (e.g., \"Month 1 (Nov)\")","operationId":"get_monthly_active_users_tag_mau_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"tag_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by specific tag (optional)","title":"Tag Filter"},"description":"Filter by specific tag (optional)"},{"name":"tag_filters","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by multiple specific tags (optional, takes precedence over tag_filter)","title":"Tag Filters"},"description":"Filter by multiple specific tags (optional, takes precedence over tag_filter)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActiveUsersAnalyticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tag/summary":{"get":{"tags":["tag management","user agent analytics"],"summary":"Get Tag Summary","description":"Get summary analytics for tags including unique users, requests, tokens, and spend.\n\nArgs:\n    start_date: Start date for the analytics period (YYYY-MM-DD)\n    end_date: End date for the analytics period (YYYY-MM-DD)\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n    \nReturns:\n    TagSummaryResponse: Summary analytics data by tag","operationId":"get_tag_summary_tag_summary_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date in YYYY-MM-DD format","title":"Start Date"},"description":"Start date in YYYY-MM-DD format"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date in YYYY-MM-DD format","title":"End Date"},"description":"End date in YYYY-MM-DD format"},{"name":"tag_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by specific tag (optional)","title":"Tag Filter"},"description":"Filter by specific tag (optional)"},{"name":"tag_filters","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by multiple specific tags (optional, takes precedence over tag_filter)","title":"Tag Filters"},"description":"Filter by multiple specific tags (optional, takes precedence over tag_filter)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagSummaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tag/user-agent/per-user-analytics":{"get":{"tags":["tag management","user agent analytics"],"summary":"Get Per User Analytics","description":"Get per-user analytics including successful requests, tokens, and spend by individual users.\n\nThis endpoint provides usage metrics broken down by individual users based on their\ntag activity during the last 30 days ending on UTC today + 1 day.\n\nArgs:\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n    page: Page number for pagination\n    page_size: Number of items per page\n    \nReturns:\n    PerUserAnalyticsResponse: Analytics data broken down by individual users for the last 30 days","operationId":"get_per_user_analytics_tag_user_agent_per_user_analytics_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"tag_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by specific tag (optional)","title":"Tag Filter"},"description":"Filter by specific tag (optional)"},{"name":"tag_filters","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by multiple specific tags (optional, takes precedence over tag_filter)","title":"Tag Filters"},"description":"Filter by multiple specific tags (optional, takes precedence over tag_filter)"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number for pagination","default":1,"title":"Page"},"description":"Page number for pagination"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Items per page","default":50,"title":"Page Size"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerUserAnalyticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/vector_store/new":{"post":{"tags":["vector store management"],"summary":"New Vector Store","description":"Create a new vector store.\n\nParameters:\n- vector_store_id: str - Unique identifier for the vector store\n- custom_llm_provider: str - Provider of the vector store\n- vector_store_name: Optional[str] - Name of the vector store\n- vector_store_description: Optional[str] - Description of the vector store\n- vector_store_metadata: Optional[Dict] - Additional metadata for the vector store","operationId":"new_vector_store_vector_store_new_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLM_ManagedVectorStore"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/vector_store/list":{"get":{"tags":["vector store management"],"summary":"List Vector Stores","description":"List all available vector stores with optional filtering and pagination.\nCombines both in-memory vector stores and those stored in the database.\n\nParameters:\n- page: int - Page number for pagination (default: 1)\n- page_size: int - Number of items per page (default: 100)","operationId":"list_vector_stores_vector_store_list_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiteLLM_ManagedVectorStoreListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/vector_store/delete":{"post":{"tags":["vector store management"],"summary":"Delete Vector Store","description":"Delete a vector store.\n\nParameters:\n- vector_store_id: str - ID of the vector store to delete","operationId":"delete_vector_store_vector_store_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VectorStoreDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/vector_store/info":{"post":{"tags":["vector store management"],"summary":"Get Vector Store Info","description":"Return a single vector store's details","operationId":"get_vector_store_info_vector_store_info_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VectorStoreInfoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/vector_store/update":{"post":{"tags":["vector store management"],"summary":"Update Vector Store","description":"Update vector store details","operationId":"update_vector_store_vector_store_update_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VectorStoreUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/guardrails/apply_guardrail":{"post":{"tags":["guardrails"],"summary":"Apply Guardrail","description":"Mask PII from a given text, requires a guardrail to be added to litellm.","operationId":"apply_guardrail_guardrails_apply_guardrail_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyGuardrailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyGuardrailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/email/event_settings":{"get":{"tags":["email management"],"summary":"Get Email Event Settings","description":"Get all email event settings","operationId":"get_email_event_settings_email_event_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailEventSettingsResponse"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]},"patch":{"tags":["email management"],"summary":"Update Event Settings","description":"Update the settings for email events","operationId":"update_event_settings_email_event_settings_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailEventSettingsUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/email/event_settings/reset":{"post":{"tags":["email management"],"summary":"Reset Event Settings","description":"Reset all email event settings to default (new user invitations on, virtual key creation off)","operationId":"reset_event_settings_email_event_settings_reset_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/audit":{"get":{"tags":["Audit Logging"],"summary":"Get Audit Logs","description":"Get all audit logs with filtering and pagination.\n\nReturns a paginated response of audit logs matching the specified filters.","operationId":"get_audit_logs_audit_get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Page Size"}},{"name":"changed_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by user or system that performed the action","title":"Changed By"},"description":"Filter by user or system that performed the action"},{"name":"changed_by_api_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by API key hash that performed the action","title":"Changed By Api Key"},"description":"Filter by API key hash that performed the action"},{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by action type (create, update, delete)","title":"Action"},"description":"Filter by action type (create, update, delete)"},{"name":"table_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by table name that was modified","title":"Table Name"},"description":"Filter by table name that was modified"},{"name":"object_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by ID of the object that was modified","title":"Object Id"},"description":"Filter by ID of the object that was modified"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter logs after this date","title":"Start Date"},"description":"Filter logs after this date"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter logs before this date","title":"End Date"},"description":"Filter logs before this date"},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Column to sort by (e.g. 'updated_at', 'action', 'table_name')","title":"Sort By"},"description":"Column to sort by (e.g. 'updated_at', 'action', 'table_name')"},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","description":"Sort order ('asc' or 'desc')","default":"desc","title":"Sort Order"},"description":"Sort order ('asc' or 'desc')"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedAuditLogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/audit/{id}":{"get":{"tags":["Audit Logging"],"summary":"Get Audit Log By Id","description":"Get detailed information about a specific audit log entry by its ID.\n\nArgs:\n    id (str): The unique identifier of the audit log entry\n\nReturns:\n    AuditLogResponse: Detailed information about the audit log entry\n\nRaises:\n    HTTPException: If the audit log is not found or if there's a database connection error","operationId":"get_audit_log_by_id_audit__id__get","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditLogResponse"}}}},"404":{"description":"Audit log not found"},"500":{"description":"Database connection error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user/available_users":{"get":{"tags":["Internal User management"],"summary":"Available Enterprise Users","description":"For keys with `max_users` set, return the list of users that are allowed to use the key.","operationId":"available_enterprise_users_user_available_users_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/robots.txt":{"get":{"summary":"Get Robots","description":"Block all web crawlers from indexing the proxy server endpoints\nThis is useful for ensuring that the API endpoints aren't indexed by search engines","operationId":"get_robots_robots_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/litellm/.well-known/litellm-ui-config":{"get":{"summary":"Get Ui Config","operationId":"get_ui_config_litellm__well_known_litellm_ui_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UiDiscoveryEndpoints"}}}}}}},"/.well-known/litellm-ui-config":{"get":{"summary":"Get Ui Config","operationId":"get_ui_config__well_known_litellm_ui_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UiDiscoveryEndpoints"}}}}}}},"/mcp-rest/tools/list":{"get":{"tags":["mcp"],"summary":"List Tool Rest Api","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","security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"server_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The server id to list tools for","title":"Server Id"},"description":"The server id to list tools for"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Tool Rest Api Mcp Rest Tools List Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp-rest/tools/call":{"post":{"tags":["mcp"],"summary":"Call Tool Rest Api","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":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/mcp-rest/test/connection":{"post":{"tags":["mcp"],"summary":"Test Connection","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":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp-rest/test/tools/list":{"post":{"tags":["mcp"],"summary":"Test Tools List","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":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]},{"APIKeyHeader":[]}]}},"/realtime":{"get":{"summary":"WebSocket: websocket_endpoint","description":"WebSocket connection endpoint","operationId":"websocket_websocket_endpoint","parameters":[{"name":"model","in":"query","required":true,"schema":{"type":"string"}},{"name":"intent","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"101":{"description":"WebSocket Protocol Switched"}},"tags":["WebSocket"]}},"/v1/realtime":{"get":{"summary":"WebSocket: websocket_endpoint","description":"WebSocket connection endpoint","operationId":"websocket_websocket_endpoint","parameters":[{"name":"model","in":"query","required":true,"schema":{"type":"string"}},{"name":"intent","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"101":{"description":"WebSocket Protocol Switched"}},"tags":["WebSocket"]}}},"components":{"schemas":{"AccessControl_UI_AccessMode":{"properties":{"type":{"type":"string","const":"restricted_sso_group","title":"Type"},"restricted_sso_group":{"type":"string","title":"Restricted Sso Group"},"sso_group_jwt_field":{"type":"string","title":"Sso Group Jwt Field"}},"type":"object","required":["type","restricted_sso_group","sso_group_jwt_field"],"title":"AccessControl_UI_AccessMode","description":"Model for Controlling UI Access Mode via SSO Groups"},"ActiveUsersAnalyticsResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/TagActiveUsersResponse"},"type":"array","title":"Results"}},"type":"object","required":["results"],"title":"ActiveUsersAnalyticsResponse","description":"Response for active users analytics"},"AddTeamCallback":{"properties":{"callback_name":{"type":"string","title":"Callback Name"},"callback_type":{"anyOf":[{"type":"string","enum":["success","failure","success_and_failure"]},{"type":"null"}],"title":"Callback Type","default":"success_and_failure"},"callback_vars":{"additionalProperties":{"type":"string"},"type":"object","title":"Callback Vars"}},"type":"object","required":["callback_name","callback_vars"],"title":"AddTeamCallback"},"ApplyGuardrailRequest":{"properties":{"guardrail_name":{"type":"string","title":"Guardrail Name"},"text":{"type":"string","title":"Text"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"entities":{"anyOf":[{"items":{"$ref":"#/components/schemas/PiiEntityType"},"type":"array"},{"type":"null"}],"title":"Entities"}},"type":"object","required":["guardrail_name","text"],"title":"ApplyGuardrailRequest"},"ApplyGuardrailResponse":{"properties":{"response_text":{"type":"string","title":"Response Text"}},"type":"object","required":["response_text"],"title":"ApplyGuardrailResponse"},"AuditLogResponse":{"properties":{"id":{"type":"string","title":"Id"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"changed_by":{"type":"string","title":"Changed By"},"changed_by_api_key":{"type":"string","title":"Changed By Api Key"},"action":{"type":"string","title":"Action"},"table_name":{"type":"string","title":"Table Name"},"object_id":{"type":"string","title":"Object Id"},"before_value":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Before Value"},"updated_values":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Updated Values"}},"type":"object","required":["id","updated_at","changed_by","changed_by_api_key","action","table_name","object_id"],"title":"AuditLogResponse","description":"Response model for a single audit log entry"},"BaseLitellmParams":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key","description":"API key for the guardrail service"},"api_base":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Base","description":"Base URL for the guardrail service API"},"category_thresholds":{"anyOf":[{"$ref":"#/components/schemas/LakeraCategoryThresholds"},{"type":"null"}],"description":"Threshold configuration for Lakera guardrail categories"},"detect_secrets_config":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Detect Secrets Config","description":"Configuration for detect-secrets guardrail"},"guard_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guard Name","description":"Name of the guardrail in guardrails.ai"},"default_on":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Default On","description":"Whether the guardrail is enabled by default"},"mask_request_content":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Mask Request Content","description":"Will mask request content if guardrail makes any changes"},"mask_response_content":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Mask Response Content","description":"Will mask response content if guardrail makes any changes"},"pangea_input_recipe":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pangea Input Recipe","description":"Recipe for input (LLM request)"},"pangea_output_recipe":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pangea Output Recipe","description":"Recipe for output (LLM response)"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"Optional field if guardrail requires a 'model' parameter"},"template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id","description":"The ID of your Model Armor template"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location","description":"Google Cloud location/region (e.g., us-central1)"},"credentials":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Credentials","description":"Path to Google Cloud credentials JSON file or JSON string"},"api_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Endpoint","description":"Optional custom API endpoint for Model Armor"},"fail_on_error":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Fail On Error","description":"Whether to fail the request if Model Armor encounters an error","default":true}},"additionalProperties":true,"type":"object","title":"BaseLitellmParams"},"BlockKeyRequest":{"properties":{"key":{"type":"string","title":"Key"}},"type":"object","required":["key"],"title":"BlockKeyRequest"},"BlockTeamRequest":{"properties":{"team_id":{"type":"string","title":"Team Id"}},"type":"object","required":["team_id"],"title":"BlockTeamRequest"},"BlockUsers":{"properties":{"user_ids":{"items":{"type":"string"},"type":"array","title":"User Ids"}},"type":"object","required":["user_ids"],"title":"BlockUsers"},"Body_audio_transcriptions_audio_transcriptions_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_audio_transcriptions_audio_transcriptions_post"},"Body_audio_transcriptions_v1_audio_transcriptions_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_audio_transcriptions_v1_audio_transcriptions_post"},"Body_convert_prompt_file_to_json_utils_dotprompt_json_converter_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_convert_prompt_file_to_json_utils_dotprompt_json_converter_post"},"Body_create_file__provider__v1_files_post":{"properties":{"purpose":{"type":"string","title":"Purpose"},"target_model_names":{"type":"string","title":"Target Model Names","default":""},"custom_llm_provider":{"type":"string","title":"Custom Llm Provider","default":"openai"},"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["purpose","file"],"title":"Body_create_file__provider__v1_files_post"},"Body_create_file_files_post":{"properties":{"purpose":{"type":"string","title":"Purpose"},"target_model_names":{"type":"string","title":"Target Model Names","default":""},"custom_llm_provider":{"type":"string","title":"Custom Llm Provider","default":"openai"},"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["purpose","file"],"title":"Body_create_file_files_post"},"Body_create_file_v1_files_post":{"properties":{"purpose":{"type":"string","title":"Purpose"},"target_model_names":{"type":"string","title":"Target Model Names","default":""},"custom_llm_provider":{"type":"string","title":"Custom Llm Provider","default":"openai"},"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["purpose","file"],"title":"Body_create_file_v1_files_post"},"Body_image_edit_api_images_edits_post":{"properties":{"image":{"items":{"type":"string","format":"binary"},"type":"array","title":"Image"},"mask":{"anyOf":[{"items":{"type":"string","format":"binary"},"type":"array"},{"type":"null"}],"title":"Mask"}},"type":"object","required":["image"],"title":"Body_image_edit_api_images_edits_post"},"Body_image_edit_api_openai_deployments__model__images_edits_post":{"properties":{"image":{"items":{"type":"string","format":"binary"},"type":"array","title":"Image"},"mask":{"anyOf":[{"items":{"type":"string","format":"binary"},"type":"array"},{"type":"null"}],"title":"Mask"}},"type":"object","required":["image"],"title":"Body_image_edit_api_openai_deployments__model__images_edits_post"},"Body_image_edit_api_v1_images_edits_post":{"properties":{"image":{"items":{"type":"string","format":"binary"},"type":"array","title":"Image"},"mask":{"anyOf":[{"items":{"type":"string","format":"binary"},"type":"array"},{"type":"null"}],"title":"Mask"}},"type":"object","required":["image"],"title":"Body_image_edit_api_v1_images_edits_post"},"Body_test_model_connection_health_test_connection_post":{"properties":{"mode":{"anyOf":[{"type":"string","enum":["chat","completion","embedding","audio_speech","audio_transcription","image_generation","batch","rerank","realtime"]},{"type":"null"}],"title":"Mode","description":"The mode to test the model with","default":"chat"},"litellm_params":{"type":"object","title":"Litellm Params","description":"Parameters for litellm.completion, litellm.embedding for the health check"}},"type":"object","title":"Body_test_model_connection_health_test_connection_post"},"Body_upload_logo_upload_logo_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_logo_upload_logo_post"},"BreakdownMetrics":{"properties":{"mcp_servers":{"additionalProperties":{"$ref":"#/components/schemas/MetricWithMetadata"},"type":"object","title":"Mcp Servers"},"models":{"additionalProperties":{"$ref":"#/components/schemas/MetricWithMetadata"},"type":"object","title":"Models"},"model_groups":{"additionalProperties":{"$ref":"#/components/schemas/MetricWithMetadata"},"type":"object","title":"Model Groups"},"providers":{"additionalProperties":{"$ref":"#/components/schemas/MetricWithMetadata"},"type":"object","title":"Providers"},"api_keys":{"additionalProperties":{"$ref":"#/components/schemas/KeyMetricWithMetadata"},"type":"object","title":"Api Keys"},"entities":{"additionalProperties":{"$ref":"#/components/schemas/MetricWithMetadata"},"type":"object","title":"Entities"}},"type":"object","title":"BreakdownMetrics","description":"Breakdown of spend by different dimensions"},"BudgetConfig":{"properties":{"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"}},"type":"object","title":"BudgetConfig"},"BudgetDeleteRequest":{"properties":{"id":{"type":"string","title":"Id"}},"type":"object","required":["id"],"title":"BudgetDeleteRequest"},"BudgetNewRequest":{"properties":{"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id","description":"The unique budget id."},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget","description":"Requests will fail if this budget (in USD) is exceeded."},"soft_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Soft Budget","description":"Requests will NOT fail if this is exceeded. Will fire alerting though."},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests","description":"Max concurrent requests allowed for this budget id."},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit","description":"Max tokens per minute, allowed for this budget id."},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit","description":"Max requests per minute, allowed for this budget id."},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration","description":"Max duration budget should be set for (e.g. '1hr', '1d', '28d')"},"model_max_budget":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/BudgetConfig"},"type":"object"},{"type":"null"}],"title":"Model Max Budget","description":"Max budget for each model (e.g. {'gpt-4o': {'max_budget': '0.0000001', 'budget_duration': '1d', 'tpm_limit': 1000, 'rpm_limit': 1000}})"},"budget_reset_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Budget Reset At","description":"Datetime when the budget is reset"}},"type":"object","title":"BudgetNewRequest"},"BudgetRequest":{"properties":{"budgets":{"items":{"type":"string"},"type":"array","title":"Budgets"}},"type":"object","required":["budgets"],"title":"BudgetRequest"},"BulkTeamMemberAddRequest":{"properties":{"team_id":{"type":"string","title":"Team Id"},"members":{"anyOf":[{"items":{"$ref":"#/components/schemas/Member"},"type":"array"},{"type":"null"}],"title":"Members"},"all_users":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"All Users","default":false},"max_budget_in_team":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget In Team"}},"type":"object","required":["team_id"],"title":"BulkTeamMemberAddRequest","description":"Request for bulk team member addition"},"BulkTeamMemberAddResponse":{"properties":{"team_id":{"type":"string","title":"Team Id"},"results":{"items":{"$ref":"#/components/schemas/TeamMemberAddResult"},"type":"array","title":"Results"},"total_requested":{"type":"integer","title":"Total Requested"},"successful_additions":{"type":"integer","title":"Successful Additions"},"failed_additions":{"type":"integer","title":"Failed Additions"},"updated_team":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Updated Team"}},"type":"object","required":["team_id","results","total_requested","successful_additions","failed_additions"],"title":"BulkTeamMemberAddResponse","description":"Response for bulk team member add operations"},"BulkUpdateUserRequest":{"properties":{"users":{"anyOf":[{"items":{"$ref":"#/components/schemas/UpdateUserRequest"},"type":"array"},{"type":"null"}],"title":"Users"},"all_users":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"All Users","default":false},"user_updates":{"anyOf":[{"$ref":"#/components/schemas/UpdateUserRequestNoUserIDorEmail"},{"type":"null"}]}},"type":"object","title":"BulkUpdateUserRequest","description":"Request for bulk user updates"},"BulkUpdateUserResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/UserUpdateResult"},"type":"array","title":"Results"},"total_requested":{"type":"integer","title":"Total Requested"},"successful_updates":{"type":"integer","title":"Successful Updates"},"failed_updates":{"type":"integer","title":"Failed Updates"}},"type":"object","required":["results","total_requested","successful_updates","failed_updates"],"title":"BulkUpdateUserResponse","description":"Response for bulk user update operations"},"CachePingResponse":{"properties":{"status":{"type":"string","title":"Status"},"cache_type":{"type":"string","title":"Cache Type"},"ping_response":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ping Response"},"set_cache_response":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Set Cache Response"},"litellm_cache_params":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Litellm Cache Params"},"health_check_cache_params":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Health Check Cache Params"}},"type":"object","required":["status","cache_type"],"title":"CachePingResponse"},"CallTypes":{"type":"string","enum":["embedding","aembedding","completion","acompletion","atext_completion","text_completion","image_generation","aimage_generation","image_edit","aimage_edit","moderation","amoderation","atranscription","transcription","aspeech","speech","rerank","arerank","_arealtime","create_batch","acreate_batch","aretrieve_batch","retrieve_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","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","call_mcp_tool"],"title":"CallTypes"},"CallbacksByType":{"properties":{"success":{"items":{"type":"string"},"type":"array","title":"Success"},"failure":{"items":{"type":"string"},"type":"array","title":"Failure"},"success_and_failure":{"items":{"type":"string"},"type":"array","title":"Success And Failure"}},"type":"object","required":["success","failure","success_and_failure"],"title":"CallbacksByType"},"ChatCompletionAnnotation":{"properties":{"type":{"type":"string","const":"url_citation","title":"Type"},"url_citation":{"$ref":"#/components/schemas/ChatCompletionAnnotationURLCitation"}},"type":"object","title":"ChatCompletionAnnotation"},"ChatCompletionAnnotationURLCitation":{"properties":{"end_index":{"type":"integer","title":"End Index"},"start_index":{"type":"integer","title":"Start Index"},"title":{"type":"string","title":"Title"},"url":{"type":"string","title":"Url"}},"type":"object","title":"ChatCompletionAnnotationURLCitation"},"ChatCompletionAudioResponse":{"properties":{"id":{"type":"string","title":"Id"},"data":{"type":"string","title":"Data"},"expires_at":{"type":"integer","title":"Expires At"},"transcript":{"type":"string","title":"Transcript"}},"additionalProperties":true,"type":"object","required":["id","data","expires_at","transcript"],"title":"ChatCompletionAudioResponse"},"ChatCompletionCachedContent":{"properties":{"type":{"type":"string","const":"ephemeral","title":"Type"}},"type":"object","required":["type"],"title":"ChatCompletionCachedContent"},"ChatCompletionMessageToolCall":{"properties":{},"additionalProperties":true,"type":"object","title":"ChatCompletionMessageToolCall"},"ChatCompletionRedactedThinkingBlock":{"properties":{"type":{"type":"string","const":"redacted_thinking","title":"Type"},"data":{"type":"string","title":"Data"},"cache_control":{"anyOf":[{"type":"object"},{"$ref":"#/components/schemas/ChatCompletionCachedContent"},{"type":"null"}],"title":"Cache Control"}},"type":"object","required":["type"],"title":"ChatCompletionRedactedThinkingBlock"},"ChatCompletionThinkingBlock":{"properties":{"type":{"type":"string","const":"thinking","title":"Type"},"thinking":{"type":"string","title":"Thinking"},"signature":{"type":"string","title":"Signature"},"cache_control":{"anyOf":[{"type":"object"},{"$ref":"#/components/schemas/ChatCompletionCachedContent"},{"type":"null"}],"title":"Cache Control"}},"type":"object","required":["type"],"title":"ChatCompletionThinkingBlock"},"ChatCompletionTokenLogprob":{"properties":{"token":{"type":"string","title":"Token"},"bytes":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Bytes"},"logprob":{"type":"number","title":"Logprob"},"top_logprobs":{"items":{"$ref":"#/components/schemas/TopLogprob"},"type":"array","title":"Top Logprobs"}},"additionalProperties":true,"type":"object","required":["token","logprob","top_logprobs"],"title":"ChatCompletionTokenLogprob"},"ChoiceLogprobs":{"properties":{"content":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionTokenLogprob"},"type":"array"},{"type":"null"}],"title":"Content"}},"additionalProperties":true,"type":"object","title":"ChoiceLogprobs"},"Choices":{"properties":{"finish_reason":{"type":"string","title":"Finish Reason"},"index":{"type":"integer","title":"Index"},"message":{"$ref":"#/components/schemas/Message"},"logprobs":{"anyOf":[{"$ref":"#/components/schemas/ChoiceLogprobs"},{},{"type":"null"}],"title":"Logprobs"},"provider_specific_fields":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Provider Specific Fields"}},"additionalProperties":true,"type":"object","required":["finish_reason","index","message"],"title":"Choices"},"CloudZeroExportRequest":{"properties":{"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","description":"Optional limit on number of records to export"},"operation":{"type":"string","title":"Operation","description":"CloudZero operation type (replace_hourly or sum)","default":"replace_hourly"}},"type":"object","title":"CloudZeroExportRequest","description":"Request model for CloudZero export operations"},"CloudZeroExportResponse":{"properties":{"message":{"type":"string","title":"Message"},"status":{"type":"string","title":"Status"},"records_exported":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Records Exported"}},"type":"object","required":["message","status"],"title":"CloudZeroExportResponse","description":"Response model for CloudZero export operations"},"CloudZeroInitRequest":{"properties":{"api_key":{"type":"string","title":"Api Key","description":"CloudZero API key for authentication"},"connection_id":{"type":"string","title":"Connection Id","description":"CloudZero connection ID for data submission"},"timezone":{"type":"string","title":"Timezone","description":"Timezone for date handling (default: UTC)","default":"UTC"}},"type":"object","required":["api_key","connection_id"],"title":"CloudZeroInitRequest","description":"Request model for initializing CloudZero settings"},"CloudZeroInitResponse":{"properties":{"message":{"type":"string","title":"Message"},"status":{"type":"string","title":"Status"}},"type":"object","required":["message","status"],"title":"CloudZeroInitResponse","description":"Response model for CloudZero initialization"},"CloudZeroSettingsUpdate":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key","description":"New CloudZero API key for authentication"},"connection_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Connection Id","description":"New CloudZero connection ID for data submission"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone","description":"New timezone for date handling"}},"type":"object","title":"CloudZeroSettingsUpdate","description":"Request model for updating CloudZero settings"},"CloudZeroSettingsView":{"properties":{"api_key_masked":{"type":"string","title":"Api Key Masked","description":"Masked API key showing only first 4 and last 4 characters"},"connection_id":{"type":"string","title":"Connection Id","description":"CloudZero connection ID for data submission"},"timezone":{"type":"string","title":"Timezone","description":"Timezone for date handling"},"status":{"type":"string","title":"Status","description":"Configuration status"}},"type":"object","required":["api_key_masked","connection_id","timezone","status"],"title":"CloudZeroSettingsView","description":"Response model for viewing CloudZero settings with masked API key"},"ConfigurableClientsideParamsCustomAuth":{"properties":{"api_base":{"type":"string","title":"Api Base"}},"type":"object","required":["api_base"],"title":"ConfigurableClientsideParamsCustomAuth"},"CreateCredentialItem":{"properties":{"credential_name":{"type":"string","title":"Credential Name"},"credential_info":{"type":"object","title":"Credential Info"},"credential_values":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Credential Values"},"model_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id"}},"type":"object","required":["credential_name","credential_info"],"title":"CreateCredentialItem"},"CreateGuardrailRequest":{"properties":{"guardrail":{"$ref":"#/components/schemas/Guardrail"}},"type":"object","required":["guardrail"],"title":"CreateGuardrailRequest"},"CredentialItem":{"properties":{"credential_name":{"type":"string","title":"Credential Name"},"credential_info":{"type":"object","title":"Credential Info"},"credential_values":{"type":"object","title":"Credential Values"}},"type":"object","required":["credential_name","credential_info","credential_values"],"title":"CredentialItem"},"DailySpendData":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"metrics":{"$ref":"#/components/schemas/SpendMetrics"},"breakdown":{"$ref":"#/components/schemas/BreakdownMetrics"}},"type":"object","required":["date","metrics"],"title":"DailySpendData"},"DailySpendMetadata":{"properties":{"total_spend":{"type":"number","title":"Total Spend","default":0.0},"total_prompt_tokens":{"type":"integer","title":"Total Prompt Tokens","default":0},"total_completion_tokens":{"type":"integer","title":"Total Completion Tokens","default":0},"total_tokens":{"type":"integer","title":"Total Tokens","default":0},"total_api_requests":{"type":"integer","title":"Total Api Requests","default":0},"total_successful_requests":{"type":"integer","title":"Total Successful Requests","default":0},"total_failed_requests":{"type":"integer","title":"Total Failed Requests","default":0},"total_cache_read_input_tokens":{"type":"integer","title":"Total Cache Read Input Tokens","default":0},"total_cache_creation_input_tokens":{"type":"integer","title":"Total Cache Creation Input Tokens","default":0},"page":{"type":"integer","title":"Page","default":1},"total_pages":{"type":"integer","title":"Total Pages","default":1},"has_more":{"type":"boolean","title":"Has More","default":false}},"type":"object","title":"DailySpendMetadata"},"DefaultInternalUserParams":{"properties":{"user_role":{"anyOf":[{"type":"string","enum":["proxy_admin","proxy_admin_viewer","internal_user","internal_user_viewer"]},{"type":"null"}],"title":"User Role","description":"Default role assigned to new users created","default":"internal_user"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget","description":"Default maximum budget (in USD) for new users created"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration","description":"Default budget duration for new users (e.g. 'daily', 'weekly', 'monthly')"},"models":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Models","description":"Default list of models that new users can access"},"teams":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"items":{"$ref":"#/components/schemas/NewUserRequestTeam"},"type":"array"},{"type":"null"}],"title":"Teams","description":"Default teams for new users created"}},"type":"object","title":"DefaultInternalUserParams","description":"Default parameters to apply when a new user signs in via SSO or is created on the /user/new API endpoint"},"DefaultTeamSSOParams":{"properties":{"models":{"items":{"type":"string"},"type":"array","title":"Models","description":"Default list of models that new automatically created teams can access","default":[]},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget","description":"Default maximum budget (in USD) for new automatically created teams"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration","description":"Default budget duration for new automatically created teams (e.g. 'daily', 'weekly', 'monthly')"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit","description":"Default tpm limit for new automatically created teams"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit","description":"Default rpm limit for new automatically created teams"}},"type":"object","title":"DefaultTeamSSOParams","description":"Default parameters to apply when a new team is automatically created by LiteLLM via SSO Groups"},"DefaultTeamSettingsResponse":{"properties":{"values":{"type":"object","title":"Values"},"field_schema":{"type":"object","title":"Field Schema"}},"type":"object","required":["values","field_schema"],"title":"DefaultTeamSettingsResponse","description":"Response model for default team settings"},"DeleteCustomerRequest":{"properties":{"user_ids":{"items":{"type":"string"},"type":"array","title":"User Ids"}},"type":"object","required":["user_ids"],"title":"DeleteCustomerRequest","description":"Delete multiple Customers"},"DeleteOrganizationRequest":{"properties":{"organization_ids":{"items":{"type":"string"},"type":"array","title":"Organization Ids"}},"type":"object","required":["organization_ids"],"title":"DeleteOrganizationRequest"},"DeleteTeamRequest":{"properties":{"team_ids":{"items":{"type":"string"},"type":"array","title":"Team Ids"}},"type":"object","required":["team_ids"],"title":"DeleteTeamRequest"},"DeleteUserRequest":{"properties":{"user_ids":{"items":{"type":"string"},"type":"array","title":"User Ids"}},"type":"object","required":["user_ids"],"title":"DeleteUserRequest"},"Deployment":{"properties":{"model_name":{"type":"string","title":"Model Name"},"litellm_params":{"$ref":"#/components/schemas/LiteLLM_Params"},"model_info":{"$ref":"#/components/schemas/ModelInfo"}},"additionalProperties":true,"type":"object","required":["model_name","litellm_params","model_info"],"title":"Deployment"},"DistinctTagResponse":{"properties":{"tag":{"type":"string","title":"Tag"}},"type":"object","required":["tag"],"title":"DistinctTagResponse","description":"Response for distinct user agent tags"},"DistinctTagsResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/DistinctTagResponse"},"type":"array","title":"Results"}},"type":"object","required":["results"],"title":"DistinctTagsResponse","description":"Response for all distinct user agent tags"},"EmailEvent":{"type":"string","enum":["Virtual Key Created","New User Invitation"],"title":"EmailEvent"},"EmailEventSettings":{"properties":{"event":{"$ref":"#/components/schemas/EmailEvent"},"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["event","enabled"],"title":"EmailEventSettings"},"EmailEventSettingsResponse":{"properties":{"settings":{"items":{"$ref":"#/components/schemas/EmailEventSettings"},"type":"array","title":"Settings"}},"type":"object","required":["settings"],"title":"EmailEventSettingsResponse"},"EmailEventSettingsUpdateRequest":{"properties":{"settings":{"items":{"$ref":"#/components/schemas/EmailEventSettings"},"type":"array","title":"Settings"}},"type":"object","required":["settings"],"title":"EmailEventSettingsUpdateRequest"},"ErrorResponse":{"properties":{"detail":{"type":"object","title":"Detail","example":{"error":{"code":"error_code","message":"Error message","param":"error_param","type":"error_type"}}}},"type":"object","required":["detail"],"title":"ErrorResponse"},"FunctionCall":{"properties":{"arguments":{"type":"string","title":"Arguments"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"additionalProperties":true,"type":"object","required":["arguments"],"title":"FunctionCall"},"GenerateKeyRequest":{"properties":{"key_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Alias"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"models":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Models","default":[]},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend","default":0},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata","default":{}},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"allowed_cache_controls":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Cache Controls","default":[]},"config":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Config","default":{}},"permissions":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Permissions","default":{}},"model_max_budget":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Max Budget","default":{}},"model_rpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Rpm Limit"},"model_tpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Tpm Limit"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Guardrails"},"prompts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Prompts"},"blocked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocked"},"aliases":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Aliases","default":{}},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionBase"},{"type":"null"}]},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"enforced_params":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Enforced Params"},"allowed_routes":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Routes","default":[]},"soft_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Soft Budget"},"send_invite_email":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Send Invite Email"},"key_type":{"anyOf":[{"$ref":"#/components/schemas/LiteLLMKeyType"},{"type":"null"}],"description":"Type of key that determines default allowed routes.","default":"default"}},"type":"object","title":"GenerateKeyRequest"},"GenerateKeyResponse":{"properties":{"key_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Alias"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"models":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Models","default":[]},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend","default":0},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata","default":{}},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"allowed_cache_controls":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Cache Controls","default":[]},"config":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Config","default":{}},"permissions":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Permissions","default":{}},"model_max_budget":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Max Budget","default":{}},"model_rpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Rpm Limit"},"model_tpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Tpm Limit"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Guardrails"},"prompts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Prompts"},"blocked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocked"},"aliases":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Aliases","default":{}},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionBase"},{"type":"null"}]},"key":{"type":"string","title":"Key"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"enforced_params":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Enforced Params"},"allowed_routes":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Routes","default":[]},"key_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Name"},"expires":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires"},"token_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Id"},"litellm_budget_table":{"anyOf":[{},{"type":"null"}],"title":"Litellm Budget Table"},"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"},"updated_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["key"],"title":"GenerateKeyResponse"},"GetTeamMemberPermissionsResponse":{"properties":{"team_id":{"type":"string","title":"Team Id"},"team_member_permissions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Team Member Permissions","default":[]},"all_available_permissions":{"items":{"type":"string"},"type":"array","title":"All Available Permissions"}},"type":"object","required":["team_id","all_available_permissions"],"title":"GetTeamMemberPermissionsResponse","description":"Response to get the team member permissions for a team"},"Guardrail":{"properties":{"guardrail_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guardrail Id"},"guardrail_name":{"type":"string","title":"Guardrail Name"},"litellm_params":{"$ref":"#/components/schemas/LitellmParams"},"guardrail_info":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Guardrail Info"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["guardrail_name","litellm_params"],"title":"Guardrail"},"GuardrailInfoResponse":{"properties":{"guardrail_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guardrail Id"},"guardrail_name":{"type":"string","title":"Guardrail Name"},"litellm_params":{"anyOf":[{"$ref":"#/components/schemas/BaseLitellmParams"},{"type":"null"}]},"guardrail_info":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Guardrail Info"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"guardrail_definition_location":{"type":"string","enum":["config","db"],"title":"Guardrail Definition Location","default":"config"}},"type":"object","required":["guardrail_name"],"title":"GuardrailInfoResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Hyperparameters":{"properties":{"batch_size":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"null"}],"title":"Batch Size"},"learning_rate_multiplier":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}],"title":"Learning Rate Multiplier"},"n_epochs":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"null"}],"title":"N Epochs"}},"type":"object","title":"Hyperparameters"},"IPAddress":{"properties":{"ip":{"type":"string","title":"Ip"}},"type":"object","required":["ip"],"title":"IPAddress"},"InternalUserSettingsResponse":{"properties":{"values":{"type":"object","title":"Values"},"field_schema":{"type":"object","title":"Field Schema"}},"type":"object","required":["values","field_schema"],"title":"InternalUserSettingsResponse","description":"Response model for internal user settings"},"KeyHealthResponse":{"properties":{"key":{"type":"string","enum":["healthy","unhealthy"],"title":"Key"},"logging_callbacks":{"anyOf":[{"$ref":"#/components/schemas/LoggingCallbackStatus"},{"type":"null"}]}},"type":"object","title":"KeyHealthResponse"},"KeyListResponseObject":{"properties":{"keys":{"items":{"anyOf":[{"type":"string"},{"$ref":"#/components/schemas/UserAPIKeyAuth"}]},"type":"array","title":"Keys"},"total_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Count"},"current_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Current Page"},"total_pages":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Pages"}},"type":"object","title":"KeyListResponseObject"},"KeyMetadata":{"properties":{"key_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Alias"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"}},"type":"object","title":"KeyMetadata","description":"Metadata for a key"},"KeyMetricWithMetadata":{"properties":{"metrics":{"$ref":"#/components/schemas/SpendMetrics"},"metadata":{"$ref":"#/components/schemas/KeyMetadata"}},"type":"object","required":["metrics"],"title":"KeyMetricWithMetadata","description":"Base class for metrics with additional metadata"},"KeyRequest":{"properties":{"keys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Keys"},"key_aliases":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Key Aliases"}},"type":"object","title":"KeyRequest"},"LakeraCategoryThresholds":{"properties":{"prompt_injection":{"type":"number","title":"Prompt Injection"},"jailbreak":{"type":"number","title":"Jailbreak"}},"type":"object","title":"LakeraCategoryThresholds"},"ListGuardrailsResponse":{"properties":{"guardrails":{"items":{"$ref":"#/components/schemas/GuardrailInfoResponse"},"type":"array","title":"Guardrails"}},"type":"object","required":["guardrails"],"title":"ListGuardrailsResponse"},"ListPromptsResponse":{"properties":{"prompts":{"items":{"$ref":"#/components/schemas/PromptSpec"},"type":"array","title":"Prompts"}},"type":"object","required":["prompts"],"title":"ListPromptsResponse"},"LiteLLMFineTuningJobCreate":{"properties":{"model":{"type":"string","title":"Model"},"training_file":{"type":"string","title":"Training File"},"hyperparameters":{"anyOf":[{"$ref":"#/components/schemas/Hyperparameters"},{"type":"null"}]},"suffix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Suffix"},"validation_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validation File"},"integrations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Integrations"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed"},"custom_llm_provider":{"anyOf":[{"type":"string","enum":["openai","azure","vertex_ai"]},{"type":"null"}],"title":"Custom Llm Provider"}},"additionalProperties":true,"type":"object","required":["model","training_file"],"title":"LiteLLMFineTuningJobCreate"},"LiteLLMKeyType":{"type":"string","enum":["llm_api","management","read_only","default"],"title":"LiteLLMKeyType","description":"Enum for key types that determine what routes a key can access"},"LiteLLM_BudgetTable":{"properties":{"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"soft_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Soft Budget"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"model_max_budget":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Max Budget"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"}},"type":"object","title":"LiteLLM_BudgetTable","description":"Represents user-controllable params for a LiteLLM_BudgetTable record"},"LiteLLM_EndUserTable":{"properties":{"user_id":{"type":"string","title":"User Id"},"blocked":{"type":"boolean","title":"Blocked"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"spend":{"type":"number","title":"Spend","default":0.0},"allowed_model_region":{"anyOf":[{"type":"string","enum":["eu","us"]},{"type":"null"}],"title":"Allowed Model Region"},"default_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Model"},"litellm_budget_table":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_BudgetTable"},{"type":"null"}]}},"type":"object","required":["user_id","blocked"],"title":"LiteLLM_EndUserTable"},"LiteLLM_MCPServerTable":{"properties":{"server_id":{"type":"string","title":"Server Id"},"server_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server Name"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"transport":{"type":"string","enum":["sse","http","stdio"],"title":"Transport"},"spec_version":{"type":"string","enum":["2024-11-05","2025-03-26","2025-06-18"],"title":"Spec Version"},"auth_type":{"anyOf":[{"type":"string","enum":["none","api_key","bearer_token","basic"]},{"type":"null"}],"title":"Auth Type"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"updated_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By"},"teams":{"items":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"},"type":"array","title":"Teams"},"mcp_access_groups":{"items":{"type":"string"},"type":"array","title":"Mcp Access Groups"},"mcp_info":{"anyOf":[{"$ref":"#/components/schemas/MCPInfo"},{"type":"null"}]},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","description":"Health status: 'healthy', 'unhealthy', 'unknown'","default":"unknown"},"last_health_check":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Health Check"},"health_check_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Health Check Error"},"command":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Command"},"args":{"items":{"type":"string"},"type":"array","title":"Args"},"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env"}},"type":"object","required":["server_id","transport","spec_version"],"title":"LiteLLM_MCPServerTable","description":"Represents a LiteLLM_MCPServerTable record"},"LiteLLM_ManagedVectorStore":{"properties":{"vector_store_id":{"type":"string","title":"Vector Store Id"},"custom_llm_provider":{"type":"string","title":"Custom Llm Provider"},"vector_store_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vector Store Name"},"vector_store_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vector Store Description"},"vector_store_metadata":{"anyOf":[{"type":"object"},{"type":"string"},{"type":"null"}],"title":"Vector Store Metadata"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"litellm_credential_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Litellm Credential Name"},"litellm_params":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Litellm Params"}},"type":"object","title":"LiteLLM_ManagedVectorStore","description":"LiteLLM managed vector store object - this is is the object stored in the database"},"LiteLLM_ManagedVectorStoreListResponse":{"properties":{"object":{"type":"string","const":"list","title":"Object"},"data":{"items":{"$ref":"#/components/schemas/LiteLLM_ManagedVectorStore"},"type":"array","title":"Data"},"total_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Count"},"current_page":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Current Page"},"total_pages":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Pages"}},"type":"object","title":"LiteLLM_ManagedVectorStoreListResponse","description":"Response format for listing vector stores"},"LiteLLM_ModelTable":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"model_aliases":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"title":"Model Aliases"},"created_by":{"type":"string","title":"Created By"},"updated_by":{"type":"string","title":"Updated By"},"team":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_TeamTable"},{"type":"null"}]}},"type":"object","required":["created_by","updated_by"],"title":"LiteLLM_ModelTable"},"LiteLLM_ObjectPermissionBase":{"properties":{"mcp_servers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mcp Servers"},"mcp_access_groups":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mcp Access Groups"},"vector_stores":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Vector Stores"}},"type":"object","title":"LiteLLM_ObjectPermissionBase"},"LiteLLM_ObjectPermissionTable":{"properties":{"object_permission_id":{"type":"string","title":"Object Permission Id"},"mcp_servers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mcp Servers","default":[]},"mcp_access_groups":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mcp Access Groups","default":[]},"vector_stores":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Vector Stores","default":[]}},"type":"object","required":["object_permission_id"],"title":"LiteLLM_ObjectPermissionTable","description":"Represents a LiteLLM_ObjectPermissionTable record"},"LiteLLM_OrganizationMembershipTable":{"properties":{"user_id":{"type":"string","title":"User Id"},"organization_id":{"type":"string","title":"Organization Id"},"user_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Role"},"spend":{"type":"number","title":"Spend","default":0.0},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"user":{"anyOf":[{},{"type":"null"}],"title":"User"},"litellm_budget_table":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_BudgetTable"},{"type":"null"}]}},"type":"object","required":["user_id","organization_id","created_at","updated_at"],"title":"LiteLLM_OrganizationMembershipTable","description":"This is the table that track what organizations a user belongs to and users spend within the organization"},"LiteLLM_OrganizationTableUpdate":{"properties":{"organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"},"organization_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Alias"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"models":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Models"},"updated_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By"},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionBase"},{"type":"null"}]}},"type":"object","title":"LiteLLM_OrganizationTableUpdate","description":"Represents user-controllable params for a LiteLLM_OrganizationTable record"},"LiteLLM_OrganizationTableWithMembers":{"properties":{"organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"},"organization_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Alias"},"budget_id":{"type":"string","title":"Budget Id"},"spend":{"type":"number","title":"Spend","default":0.0},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"models":{"items":{"type":"string"},"type":"array","title":"Models"},"created_by":{"type":"string","title":"Created By"},"updated_by":{"type":"string","title":"Updated By"},"users":{"anyOf":[{"items":{"$ref":"#/components/schemas/LiteLLM_UserTable"},"type":"array"},{"type":"null"}],"title":"Users"},"litellm_budget_table":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_BudgetTable"},{"type":"null"}]},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionTable"},{"type":"null"}]},"object_permission_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object Permission Id"},"members":{"items":{"$ref":"#/components/schemas/LiteLLM_OrganizationMembershipTable"},"type":"array","title":"Members","default":[]},"teams":{"items":{"$ref":"#/components/schemas/LiteLLM_TeamTable"},"type":"array","title":"Teams","default":[]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["budget_id","models","created_by","updated_by","created_at","updated_at"],"title":"LiteLLM_OrganizationTableWithMembers","description":"Returned by the /organization/info endpoint and /organization/list endpoint"},"LiteLLM_Params":{"properties":{"input_cost_per_token":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Input Cost Per Token"},"output_cost_per_token":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Output Cost Per Token"},"input_cost_per_second":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Input Cost Per Second"},"output_cost_per_second":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Output Cost Per Second"},"input_cost_per_pixel":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Input Cost Per Pixel"},"output_cost_per_pixel":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Output Cost Per Pixel"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"api_base":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Base"},"api_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Version"},"vertex_project":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vertex Project"},"vertex_location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vertex Location"},"vertex_credentials":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"title":"Vertex Credentials"},"region_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region Name"},"aws_access_key_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Access Key Id"},"aws_secret_access_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Secret Access Key"},"aws_region_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Region Name"},"watsonx_region_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Watsonx Region Name"},"custom_llm_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Llm Provider"},"tpm":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm"},"rpm":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm"},"timeout":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Timeout"},"stream_timeout":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Stream Timeout"},"max_retries":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Retries"},"organization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization"},"configurable_clientside_auth_params":{"anyOf":[{"items":{"anyOf":[{"type":"string"},{"$ref":"#/components/schemas/ConfigurableClientsideParamsCustomAuth"}]},"type":"array"},{"type":"null"}],"title":"Configurable Clientside Auth Params"},"litellm_credential_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Litellm Credential Name"},"litellm_trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Litellm Trace Id"},"max_file_size_mb":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max File Size Mb"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"use_in_pass_through":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use In Pass Through","default":false},"use_litellm_proxy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use Litellm Proxy","default":false},"merge_reasoning_content_in_choices":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Merge Reasoning Content In Choices","default":false},"model_info":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Info"},"mock_response":{"anyOf":[{"type":"string"},{"$ref":"#/components/schemas/ModelResponse"},{},{"type":"null"}],"title":"Mock Response"},"auto_router_config_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auto Router Config Path"},"auto_router_config":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auto Router Config"},"auto_router_default_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auto Router Default Model"},"auto_router_embedding_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auto Router Embedding Model"},"model":{"type":"string","title":"Model"}},"additionalProperties":true,"type":"object","required":["model"],"title":"LiteLLM_Params","description":"LiteLLM Params with 'model' requirement - used for completions"},"LiteLLM_SpendLogs":{"properties":{"request_id":{"type":"string","title":"Request Id"},"api_key":{"type":"string","title":"Api Key"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","default":""},"api_base":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Base","default":""},"call_type":{"type":"string","title":"Call Type"},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend","default":0.0},"total_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Tokens","default":0},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Prompt Tokens","default":0},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Completion Tokens","default":0},"startTime":{"anyOf":[{"type":"string"},{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starttime"},"endTime":{"anyOf":[{"type":"string"},{"type":"string","format":"date-time"},{"type":"null"}],"title":"Endtime"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User","default":""},"metadata":{"anyOf":[{},{"type":"null"}],"title":"Metadata","default":{}},"cache_hit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cache Hit","default":"False"},"cache_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cache Key"},"request_tags":{"anyOf":[{},{"type":"null"}],"title":"Request Tags"},"requester_ip_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requester Ip Address"},"messages":{"anyOf":[{"type":"string"},{"items":{},"type":"array"},{"type":"object"},{"type":"null"}],"title":"Messages"},"response":{"anyOf":[{"type":"string"},{"items":{},"type":"array"},{"type":"object"},{"type":"null"}],"title":"Response"}},"type":"object","required":["request_id","api_key","call_type","startTime","endTime","messages","response"],"title":"LiteLLM_SpendLogs"},"LiteLLM_TeamMembership":{"properties":{"user_id":{"type":"string","title":"User Id"},"team_id":{"type":"string","title":"Team Id"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend","default":0.0},"litellm_budget_table":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_BudgetTable"},{"type":"null"}]}},"type":"object","required":["user_id","team_id","litellm_budget_table"],"title":"LiteLLM_TeamMembership"},"LiteLLM_TeamTable":{"properties":{"team_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Alias"},"team_id":{"type":"string","title":"Team Id"},"organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"},"admins":{"items":{},"type":"array","title":"Admins","default":[]},"members":{"items":{},"type":"array","title":"Members","default":[]},"members_with_roles":{"items":{"$ref":"#/components/schemas/Member"},"type":"array","title":"Members With Roles","default":[]},"team_member_permissions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Team Member Permissions"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"models":{"items":{},"type":"array","title":"Models","default":[]},"blocked":{"type":"boolean","title":"Blocked","default":false},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"budget_reset_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Budget Reset At"},"model_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Model Id"},"litellm_model_table":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ModelTable"},{"type":"null"}]},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionTable"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"object_permission_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object Permission Id"}},"type":"object","required":["team_id"],"title":"LiteLLM_TeamTable"},"LiteLLM_UserTable":{"properties":{"user_id":{"type":"string","title":"User Id"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"spend":{"type":"number","title":"Spend","default":0.0},"model_max_budget":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Max Budget","default":{}},"model_spend":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Spend","default":{}},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"user_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Alias"},"models":{"items":{},"type":"array","title":"Models","default":[]},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"user_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Role"},"organization_memberships":{"anyOf":[{"items":{"$ref":"#/components/schemas/LiteLLM_OrganizationMembershipTable"},"type":"array"},{"type":"null"}],"title":"Organization Memberships"},"teams":{"items":{"type":"string"},"type":"array","title":"Teams","default":[]},"sso_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sso User Id"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"budget_reset_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Budget Reset At"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionTable"},{"type":"null"}]}},"type":"object","required":["user_id"],"title":"LiteLLM_UserTable"},"LiteLLM_UserTableWithKeyCount":{"properties":{"user_id":{"type":"string","title":"User Id"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"spend":{"type":"number","title":"Spend","default":0.0},"model_max_budget":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Max Budget","default":{}},"model_spend":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Spend","default":{}},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"user_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Alias"},"models":{"items":{},"type":"array","title":"Models","default":[]},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"user_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Role"},"organization_memberships":{"anyOf":[{"items":{"$ref":"#/components/schemas/LiteLLM_OrganizationMembershipTable"},"type":"array"},{"type":"null"}],"title":"Organization Memberships"},"teams":{"items":{"type":"string"},"type":"array","title":"Teams","default":[]},"sso_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sso User Id"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"budget_reset_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Budget Reset At"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionTable"},{"type":"null"}]},"key_count":{"type":"integer","title":"Key Count","default":0}},"type":"object","required":["user_id"],"title":"LiteLLM_UserTableWithKeyCount"},"LiteLLM_VerificationToken":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"key_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Name"},"key_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Alias"},"spend":{"type":"number","title":"Spend","default":0.0},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"expires":{"anyOf":[{"type":"string"},{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires"},"models":{"items":{},"type":"array","title":"Models","default":[]},"aliases":{"type":"object","title":"Aliases","default":{}},"config":{"type":"object","title":"Config","default":{}},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"metadata":{"type":"object","title":"Metadata","default":{}},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"budget_reset_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Budget Reset At"},"allowed_cache_controls":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Cache Controls","default":[]},"allowed_routes":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Routes","default":[]},"permissions":{"type":"object","title":"Permissions","default":{}},"model_spend":{"type":"object","title":"Model Spend","default":{}},"model_max_budget":{"type":"object","title":"Model Max Budget","default":{}},"soft_budget_cooldown":{"type":"boolean","title":"Soft Budget Cooldown","default":false},"blocked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocked"},"litellm_budget_table":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Litellm Budget Table"},"org_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Id"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"updated_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By"},"object_permission_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object Permission Id"},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionTable"},{"type":"null"}]}},"type":"object","title":"LiteLLM_VerificationToken"},"LitellmParams":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key","description":"API key for the Lakera AI service"},"api_base":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Base","description":"Base URL for the Lakera AI API"},"category_thresholds":{"anyOf":[{"$ref":"#/components/schemas/LakeraCategoryThresholds"},{"type":"null"}],"description":"Threshold configuration for Lakera guardrail categories"},"detect_secrets_config":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Detect Secrets Config","description":"Configuration for detect-secrets guardrail"},"guard_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guard Name","description":"Name of the guardrail in guardrails.ai"},"default_on":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Default On","description":"Whether the guardrail is enabled by default"},"mask_request_content":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Mask Request Content","description":"Will mask request content if guardrail makes any changes"},"mask_response_content":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Mask Response Content","description":"Will mask response content if guardrail makes any changes"},"pangea_input_recipe":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pangea Input Recipe","description":"Recipe for input (LLM request)"},"pangea_output_recipe":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pangea Output Recipe","description":"Recipe for output (LLM response)"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"Optional field if guardrail requires a 'model' parameter"},"template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id","description":"The ID of your Model Armor template"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location","description":"Google Cloud location/region (e.g., us-central1)"},"credentials":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Credentials","description":"Path to Google Cloud credentials JSON file or JSON string"},"api_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Endpoint","description":"Optional custom API endpoint for Model Armor"},"fail_on_error":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Fail On Error","description":"Whether to fail the request if Model Armor encounters an error","default":true},"on_flagged_action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"On Flagged Action","description":"Action to take when content is flagged: 'block' (raise exception) or 'monitor' (log only)","default":"monitor"},"lasso_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lasso User Id","description":"User ID for the Lasso guardrail"},"lasso_conversation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lasso Conversation Id","description":"Conversation ID for the Lasso guardrail"},"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id","description":"Project ID for the Lakera AI project"},"payload":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Payload","description":"Whether to include payload in the response","default":true},"breakdown":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Breakdown","description":"Whether to include breakdown in the response","default":true},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata","description":"Additional metadata to include in the request"},"dev_info":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Dev Info","description":"Whether to include developer information in the response","default":true},"guardrailIdentifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guardrailidentifier","description":"The ID of your guardrail on Bedrock"},"guardrailVersion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guardrailversion","description":"The version of your Bedrock guardrail (e.g., DRAFT or version number)"},"disable_exception_on_block":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Disable Exception On Block","description":"If True, will not raise an exception when the guardrail is blocked. Useful for OpenWebUI where exceptions can end the chat flow.","default":false},"aws_region_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Region Name","description":"AWS region where your guardrail is deployed"},"aws_access_key_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Access Key Id","description":"AWS access key ID for authentication"},"aws_secret_access_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Secret Access Key","description":"AWS secret access key for authentication"},"aws_session_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Session Token","description":"AWS session token for temporary credentials"},"aws_session_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Session Name","description":"Name of the AWS session"},"aws_profile_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Profile Name","description":"AWS profile name for credential retrieval"},"aws_role_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Role Name","description":"AWS role name for assuming roles"},"aws_web_identity_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Web Identity Token","description":"Web identity token for AWS role assumption"},"aws_sts_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Sts Endpoint","description":"AWS STS endpoint URL"},"aws_bedrock_runtime_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Bedrock Runtime Endpoint","description":"AWS Bedrock runtime endpoint URL"},"presidio_analyzer_api_base":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Presidio Analyzer Api Base","description":"Base URL for the Presidio analyzer API"},"presidio_anonymizer_api_base":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Presidio Anonymizer Api Base","description":"Base URL for the Presidio anonymizer API"},"output_parse_pii":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Output Parse Pii","description":"When True, LiteLLM will replace the masked text with the original text in the response","ui_type":"bool"},"presidio_language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Presidio Language","description":"Language code for Presidio PII analysis (e.g., 'en', 'de', 'es', 'fr')","default":"en"},"pii_entities_config":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/PiiAction"},"propertyNames":{"enum":["CREDIT_CARD","CRYPTO","DATE_TIME","EMAIL_ADDRESS","IBAN_CODE","IP_ADDRESS","NRP","LOCATION","PERSON","PHONE_NUMBER","MEDICAL_LICENSE","URL","US_BANK_NUMBER","US_DRIVER_LICENSE","US_ITIN","US_PASSPORT","US_SSN","UK_NHS","UK_NINO","ES_NIF","ES_NIE","IT_FISCAL_CODE","IT_DRIVER_LICENSE","IT_VAT_CODE","IT_PASSPORT","IT_IDENTITY_CARD","PL_PESEL","SG_NRIC_FIN","SG_UEN","AU_ABN","AU_ACN","AU_TFN","AU_MEDICARE","IN_PAN","IN_AADHAAR","IN_VEHICLE_REGISTRATION","IN_VOTER","IN_PASSPORT","FI_PERSONAL_IDENTITY_CODE"]},"type":"object"},{"type":"null"}],"title":"Pii Entities Config","description":"Configuration for PII entity types and actions"},"presidio_ad_hoc_recognizers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Presidio Ad Hoc Recognizers","description":"Path to a JSON file containing ad-hoc recognizers for Presidio"},"mock_redacted_text":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Mock Redacted Text","description":"Mock redacted text for testing"},"guardrail":{"type":"string","title":"Guardrail","description":"The type of guardrail integration to use"},"mode":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"$ref":"#/components/schemas/Mode"}],"title":"Mode","description":"When to apply the guardrail (pre_call, post_call, during_call, logging_only)"}},"additionalProperties":true,"type":"object","required":["guardrail","mode"],"title":"LitellmParams"},"LitellmUserRoles":{"type":"string","enum":["proxy_admin","proxy_admin_viewer","org_admin","internal_user","internal_user_viewer","team","customer"],"title":"LitellmUserRoles","description":"Admin Roles:\nPROXY_ADMIN: admin over the platform\nPROXY_ADMIN_VIEW_ONLY: can login, view all own keys, view all spend\nORG_ADMIN: admin over a specific organization, can create teams, users only within their organization\n\nInternal User Roles:\nINTERNAL_USER: can login, view/create/delete their own keys, view their spend\nINTERNAL_USER_VIEW_ONLY: can login, view their own keys, view their own spend\n\n\nTeam Roles:\nTEAM: used for JWT auth\n\n\nCustomer Roles:\nCUSTOMER: External users -> these are customers"},"LoggingCallbackStatus":{"properties":{"callbacks":{"items":{"type":"string"},"type":"array","title":"Callbacks"},"status":{"type":"string","enum":["healthy","unhealthy"],"title":"Status"},"details":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Details"}},"type":"object","title":"LoggingCallbackStatus"},"MCPInfo":{"properties":{"server_name":{"type":"string","title":"Server Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"mcp_server_cost_info":{"anyOf":[{"$ref":"#/components/schemas/MCPServerCostInfo"},{"type":"null"}]}},"type":"object","title":"MCPInfo"},"MCPServerCostInfo":{"properties":{"default_cost_per_query":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Default Cost Per Query"},"tool_name_to_cost_per_query":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"title":"Tool Name To Cost Per Query"}},"type":"object","title":"MCPServerCostInfo"},"Member":{"properties":{"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id","description":"The unique ID of the user to add. Either user_id or user_email must be provided"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email","description":"The email address of the user to add. Either user_id or user_email must be provided"},"role":{"type":"string","enum":["admin","user"],"title":"Role","description":"The role of the user within the team. 'admin' users can manage team settings and members, 'user' is a regular team member"}},"type":"object","required":["role"],"title":"Member"},"Message":{"properties":{"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"role":{"type":"string","enum":["assistant","user","system","tool","function"],"title":"Role"},"tool_calls":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionMessageToolCall"},"type":"array"},{"type":"null"}],"title":"Tool Calls"},"function_call":{"anyOf":[{"$ref":"#/components/schemas/FunctionCall"},{"type":"null"}]},"audio":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionAudioResponse"},{"type":"null"}]},"reasoning_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning Content"},"thinking_blocks":{"anyOf":[{"items":{"anyOf":[{"$ref":"#/components/schemas/ChatCompletionThinkingBlock"},{"$ref":"#/components/schemas/ChatCompletionRedactedThinkingBlock"}]},"type":"array"},{"type":"null"}],"title":"Thinking Blocks"},"provider_specific_fields":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Provider Specific Fields"},"annotations":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatCompletionAnnotation"},"type":"array"},{"type":"null"}],"title":"Annotations"}},"additionalProperties":true,"type":"object","required":["content","role","tool_calls","function_call"],"title":"Message"},"MetricWithMetadata":{"properties":{"metrics":{"$ref":"#/components/schemas/SpendMetrics"},"metadata":{"type":"object","title":"Metadata"},"api_key_breakdown":{"additionalProperties":{"$ref":"#/components/schemas/KeyMetricWithMetadata"},"type":"object","title":"Api Key Breakdown"}},"type":"object","required":["metrics"],"title":"MetricWithMetadata"},"Mode":{"properties":{"tags":{"additionalProperties":{"type":"string"},"type":"object","title":"Tags","description":"Tags for the guardrail mode"},"default":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default","description":"Default mode when no tags match"}},"type":"object","required":["tags"],"title":"Mode"},"ModelGroupInfoProxy":{"properties":{"model_group":{"type":"string","title":"Model Group"},"providers":{"items":{"type":"string"},"type":"array","title":"Providers"},"max_input_tokens":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Input Tokens"},"max_output_tokens":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Output Tokens"},"input_cost_per_token":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Input Cost Per Token"},"output_cost_per_token":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Output Cost Per Token"},"input_cost_per_pixel":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Input Cost Per Pixel"},"mode":{"anyOf":[{"type":"string"},{"type":"string","enum":["chat","embedding","completion","image_generation","audio_transcription","rerank","moderations"]},{"type":"null"}],"title":"Mode","default":"chat"},"tpm":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm"},"rpm":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm"},"supports_parallel_function_calling":{"type":"boolean","title":"Supports Parallel Function Calling","default":false},"supports_vision":{"type":"boolean","title":"Supports Vision","default":false},"supports_web_search":{"type":"boolean","title":"Supports Web Search","default":false},"supports_url_context":{"type":"boolean","title":"Supports Url Context","default":false},"supports_reasoning":{"type":"boolean","title":"Supports Reasoning","default":false},"supports_function_calling":{"type":"boolean","title":"Supports Function Calling","default":false},"supported_openai_params":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Supported Openai Params","default":[]},"configurable_clientside_auth_params":{"anyOf":[{"items":{"anyOf":[{"type":"string"},{"$ref":"#/components/schemas/ConfigurableClientsideParamsCustomAuth"}]},"type":"array"},{"type":"null"}],"title":"Configurable Clientside Auth Params"},"is_public_model_group":{"type":"boolean","title":"Is Public Model Group","default":false}},"type":"object","required":["model_group","providers"],"title":"ModelGroupInfoProxy"},"ModelInfo":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"db_model":{"type":"boolean","title":"Db Model","default":false},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"updated_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"},"base_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Model"},"tier":{"anyOf":[{"type":"string","enum":["free","paid"]},{"type":"null"}],"title":"Tier"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"team_public_model_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Public Model Name"}},"additionalProperties":true,"type":"object","required":["id"],"title":"ModelInfo"},"ModelInfoDelete":{"properties":{"id":{"type":"string","title":"Id"}},"type":"object","required":["id"],"title":"ModelInfoDelete"},"ModelResponse":{"properties":{"id":{"type":"string","title":"Id"},"created":{"type":"integer","title":"Created"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"object":{"type":"string","title":"Object"},"system_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Fingerprint"},"choices":{"items":{"anyOf":[{"$ref":"#/components/schemas/Choices"},{"$ref":"#/components/schemas/StreamingChoices"}]},"type":"array","title":"Choices"}},"additionalProperties":true,"type":"object","required":["id","created","object","choices"],"title":"ModelResponse"},"NewCustomerRequest":{"properties":{"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget","description":"Requests will fail if this budget (in USD) is exceeded."},"soft_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Soft Budget","description":"Requests will NOT fail if this is exceeded. Will fire alerting though."},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests","description":"Max concurrent requests allowed for this budget id."},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit","description":"Max tokens per minute, allowed for this budget id."},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit","description":"Max requests per minute, allowed for this budget id."},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration","description":"Max duration budget should be set for (e.g. '1hr', '1d', '28d')"},"model_max_budget":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/BudgetConfig"},"type":"object"},{"type":"null"}],"title":"Model Max Budget","description":"Max budget for each model (e.g. {'gpt-4o': {'max_budget': '0.0000001', 'budget_duration': '1d', 'tpm_limit': 1000, 'rpm_limit': 1000}})"},"budget_reset_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Budget Reset At","description":"Datetime when the budget is reset"},"user_id":{"type":"string","title":"User Id"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"blocked":{"type":"boolean","title":"Blocked","default":false},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend"},"allowed_model_region":{"anyOf":[{"type":"string","enum":["eu","us"]},{"type":"null"}],"title":"Allowed Model Region"},"default_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Model"}},"type":"object","required":["user_id"],"title":"NewCustomerRequest","description":"Create a new customer, allocate a budget to them"},"NewMCPServerRequest":{"properties":{"server_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server Id"},"server_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server Name"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"transport":{"type":"string","enum":["sse","http","stdio"],"title":"Transport","default":"sse"},"spec_version":{"type":"string","enum":["2024-11-05","2025-03-26","2025-06-18"],"title":"Spec Version","default":"2025-06-18"},"auth_type":{"anyOf":[{"type":"string","enum":["none","api_key","bearer_token","basic"]},{"type":"null"}],"title":"Auth Type"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"mcp_info":{"anyOf":[{"$ref":"#/components/schemas/MCPInfo"},{"type":"null"}]},"mcp_access_groups":{"items":{"type":"string"},"type":"array","title":"Mcp Access Groups"},"command":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Command"},"args":{"items":{"type":"string"},"type":"array","title":"Args"},"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env"}},"type":"object","title":"NewMCPServerRequest"},"NewOrganizationRequest":{"properties":{"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"soft_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Soft Budget"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"model_max_budget":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Max Budget"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"},"organization_alias":{"type":"string","title":"Organization Alias"},"models":{"items":{},"type":"array","title":"Models","default":[]},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionBase"},{"type":"null"}]}},"type":"object","required":["organization_alias"],"title":"NewOrganizationRequest"},"NewOrganizationResponse":{"properties":{"organization_id":{"type":"string","title":"Organization Id"},"organization_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Alias"},"budget_id":{"type":"string","title":"Budget Id"},"spend":{"type":"number","title":"Spend","default":0.0},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"models":{"items":{"type":"string"},"type":"array","title":"Models"},"created_by":{"type":"string","title":"Created By"},"updated_by":{"type":"string","title":"Updated By"},"users":{"anyOf":[{"items":{"$ref":"#/components/schemas/LiteLLM_UserTable"},"type":"array"},{"type":"null"}],"title":"Users"},"litellm_budget_table":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_BudgetTable"},{"type":"null"}]},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionTable"},{"type":"null"}]},"object_permission_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object Permission Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["organization_id","budget_id","models","created_by","updated_by","created_at","updated_at"],"title":"NewOrganizationResponse"},"NewTeamRequest":{"properties":{"team_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Alias"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"},"admins":{"items":{},"type":"array","title":"Admins","default":[]},"members":{"items":{},"type":"array","title":"Members","default":[]},"members_with_roles":{"items":{"$ref":"#/components/schemas/Member"},"type":"array","title":"Members With Roles","default":[]},"team_member_permissions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Team Member Permissions"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"models":{"items":{},"type":"array","title":"Models","default":[]},"blocked":{"type":"boolean","title":"Blocked","default":false},"model_aliases":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Aliases"},"tags":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Tags"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Guardrails"},"prompts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Prompts"},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionBase"},{"type":"null"}]},"team_member_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Team Member Budget"},"team_member_rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Team Member Rpm Limit"},"team_member_tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Team Member Tpm Limit"},"team_member_key_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Member Key Duration"}},"type":"object","title":"NewTeamRequest"},"NewUserRequest":{"properties":{"key_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Alias"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"models":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Models","default":[]},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend","default":0},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata","default":{}},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"allowed_cache_controls":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Cache Controls","default":[]},"config":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Config","default":{}},"permissions":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Permissions","default":{}},"model_max_budget":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Max Budget","default":{}},"model_rpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Rpm Limit"},"model_tpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Tpm Limit"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Guardrails"},"prompts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Prompts"},"blocked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocked"},"aliases":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Aliases","default":{}},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionBase"},{"type":"null"}]},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"user_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Alias"},"user_role":{"anyOf":[{"type":"string","enum":["proxy_admin","proxy_admin_viewer","internal_user","internal_user_viewer"]},{"type":"null"}],"title":"User Role"},"teams":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"items":{"$ref":"#/components/schemas/NewUserRequestTeam"},"type":"array"},{"type":"null"}],"title":"Teams"},"auto_create_key":{"type":"boolean","title":"Auto Create Key","default":true},"send_invite_email":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Send Invite Email"},"sso_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sso User Id"},"organizations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Organizations"}},"type":"object","title":"NewUserRequest"},"NewUserRequestTeam":{"properties":{"team_id":{"type":"string","title":"Team Id"},"max_budget_in_team":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget In Team"},"user_role":{"type":"string","enum":["user","admin"],"title":"User Role","default":"user"}},"type":"object","required":["team_id"],"title":"NewUserRequestTeam"},"NewUserResponse":{"properties":{"key_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Alias"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"models":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Models","default":[]},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend","default":0},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata","default":{}},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"allowed_cache_controls":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Cache Controls","default":[]},"config":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Config","default":{}},"permissions":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Permissions","default":{}},"model_max_budget":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Max Budget"},"model_rpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Rpm Limit"},"model_tpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Tpm Limit"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Guardrails"},"prompts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Prompts"},"blocked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocked"},"aliases":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Aliases","default":{}},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionBase"},{"type":"null"}]},"key":{"type":"string","title":"Key"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"enforced_params":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Enforced Params"},"allowed_routes":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Routes","default":[]},"key_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Name"},"expires":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires"},"token_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Id"},"litellm_budget_table":{"anyOf":[{},{"type":"null"}],"title":"Litellm Budget Table"},"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"},"updated_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"user_role":{"anyOf":[{"type":"string","enum":["proxy_admin","proxy_admin_viewer","internal_user","internal_user_viewer"]},{"type":"null"}],"title":"User Role"},"teams":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Teams"},"user_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Alias"}},"type":"object","required":["key"],"title":"NewUserResponse"},"OrgMember":{"properties":{"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id","description":"The unique ID of the user to add. Either user_id or user_email must be provided"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email","description":"The email address of the user to add. Either user_id or user_email must be provided"},"role":{"type":"string","enum":["org_admin","internal_user","internal_user_viewer"],"title":"Role"}},"type":"object","required":["role"],"title":"OrgMember"},"OrganizationAddMemberResponse":{"properties":{"organization_id":{"type":"string","title":"Organization Id"},"updated_users":{"items":{"$ref":"#/components/schemas/LiteLLM_UserTable"},"type":"array","title":"Updated Users"},"updated_organization_memberships":{"items":{"$ref":"#/components/schemas/LiteLLM_OrganizationMembershipTable"},"type":"array","title":"Updated Organization Memberships"}},"type":"object","required":["organization_id","updated_users","updated_organization_memberships"],"title":"OrganizationAddMemberResponse"},"OrganizationMemberAddRequest":{"properties":{"member":{"anyOf":[{"items":{"$ref":"#/components/schemas/OrgMember"},"type":"array"},{"$ref":"#/components/schemas/OrgMember"}],"title":"Member"},"organization_id":{"type":"string","title":"Organization Id"},"max_budget_in_organization":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget In Organization"}},"type":"object","required":["member","organization_id"],"title":"OrganizationMemberAddRequest"},"OrganizationMemberDeleteRequest":{"properties":{"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"organization_id":{"type":"string","title":"Organization Id"}},"type":"object","required":["organization_id"],"title":"OrganizationMemberDeleteRequest"},"OrganizationMemberUpdateRequest":{"properties":{"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"organization_id":{"type":"string","title":"Organization Id"},"max_budget_in_organization":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget In Organization"},"role":{"anyOf":[{"$ref":"#/components/schemas/LitellmUserRoles"},{"type":"null"}]}},"type":"object","required":["organization_id"],"title":"OrganizationMemberUpdateRequest"},"OrganizationRequest":{"properties":{"organizations":{"items":{"type":"string"},"type":"array","title":"Organizations"}},"type":"object","required":["organizations"],"title":"OrganizationRequest"},"PaginatedAuditLogResponse":{"properties":{"audit_logs":{"items":{"$ref":"#/components/schemas/AuditLogResponse"},"type":"array","title":"Audit Logs"},"total":{"type":"integer","title":"Total","description":"Total number of audit logs matching the filters"},"page":{"type":"integer","title":"Page","description":"Current page number"},"page_size":{"type":"integer","title":"Page Size","description":"Number of items per page"},"total_pages":{"type":"integer","title":"Total Pages","description":"Total number of pages"}},"type":"object","required":["audit_logs","total","page","page_size","total_pages"],"title":"PaginatedAuditLogResponse","description":"Response model for paginated audit logs"},"PassThroughEndpointResponse":{"properties":{"endpoints":{"items":{"$ref":"#/components/schemas/PassThroughGenericEndpoint"},"type":"array","title":"Endpoints"}},"type":"object","required":["endpoints"],"title":"PassThroughEndpointResponse"},"PassThroughGenericEndpoint":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"Optional unique identifier for the pass-through endpoint. If not provided, endpoints will be identified by path for backwards compatibility."},"path":{"type":"string","title":"Path","description":"The route to be added to the LiteLLM Proxy Server."},"target":{"type":"string","title":"Target","description":"The URL to which requests for this path should be forwarded."},"headers":{"type":"object","title":"Headers","description":"Key-value pairs of headers to be forwarded with the request. You can set any key value pair here and it will be forwarded to your target endpoint","default":{}},"include_subpath":{"type":"boolean","title":"Include Subpath","description":"If True, requests to subpaths of the path will be forwarded to the target endpoint. For example, if the path is /bria and include_subpath is True, requests to /bria/v1/text-to-image/base/2.3 will be forwarded to the target endpoint.","default":false},"cost_per_request":{"type":"number","title":"Cost Per Request","description":"The USD cost per request to the target endpoint. This is used to calculate the cost of the request to the target endpoint.","default":0.0}},"type":"object","required":["path","target"],"title":"PassThroughGenericEndpoint"},"PatchGuardrailRequest":{"properties":{"guardrail_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guardrail Name"},"litellm_params":{"anyOf":[{"$ref":"#/components/schemas/BaseLitellmParams"},{"type":"null"}]},"guardrail_info":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Guardrail Info"}},"type":"object","title":"PatchGuardrailRequest"},"PatchPromptRequest":{"properties":{"litellm_params":{"anyOf":[{"$ref":"#/components/schemas/PromptLiteLLMParams"},{"type":"null"}]},"prompt_info":{"anyOf":[{"$ref":"#/components/schemas/PromptInfo"},{"type":"null"}]}},"type":"object","title":"PatchPromptRequest"},"PerUserAnalyticsResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/PerUserMetrics"},"type":"array","title":"Results"},"total_count":{"type":"integer","title":"Total Count"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"total_pages":{"type":"integer","title":"Total Pages"}},"type":"object","required":["results","total_count","page","page_size","total_pages"],"title":"PerUserAnalyticsResponse","description":"Response for per-user analytics"},"PerUserMetrics":{"properties":{"user_id":{"type":"string","title":"User Id"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"user_agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Agent"},"successful_requests":{"type":"integer","title":"Successful Requests","default":0},"failed_requests":{"type":"integer","title":"Failed Requests","default":0},"total_requests":{"type":"integer","title":"Total Requests","default":0},"total_tokens":{"type":"integer","title":"Total Tokens","default":0},"spend":{"type":"number","title":"Spend","default":0.0}},"type":"object","required":["user_id"],"title":"PerUserMetrics","description":"Metrics for individual user"},"PiiAction":{"type":"string","enum":["BLOCK","MASK"],"title":"PiiAction"},"PiiEntityType":{"enum":["CREDIT_CARD","CRYPTO","DATE_TIME","EMAIL_ADDRESS","IBAN_CODE","IP_ADDRESS","NRP","LOCATION","PERSON","PHONE_NUMBER","MEDICAL_LICENSE","URL","US_BANK_NUMBER","US_DRIVER_LICENSE","US_ITIN","US_PASSPORT","US_SSN","UK_NHS","UK_NINO","ES_NIF","ES_NIE","IT_FISCAL_CODE","IT_DRIVER_LICENSE","IT_VAT_CODE","IT_PASSPORT","IT_IDENTITY_CARD","PL_PESEL","SG_NRIC_FIN","SG_UEN","AU_ABN","AU_ACN","AU_TFN","AU_MEDICARE","IN_PAN","IN_AADHAAR","IN_VEHICLE_REGISTRATION","IN_VOTER","IN_PASSPORT","FI_PERSONAL_IDENTITY_CODE"]},"Prompt":{"properties":{"prompt_id":{"type":"string","title":"Prompt Id"},"litellm_params":{"$ref":"#/components/schemas/PromptLiteLLMParams"},"prompt_info":{"anyOf":[{"$ref":"#/components/schemas/PromptInfo"},{"type":"null"}]}},"type":"object","required":["prompt_id","litellm_params"],"title":"Prompt"},"PromptInfo":{"properties":{"prompt_type":{"type":"string","enum":["config","db"],"title":"Prompt Type"}},"additionalProperties":true,"type":"object","required":["prompt_type"],"title":"PromptInfo"},"PromptInfoResponse":{"properties":{"prompt_spec":{"$ref":"#/components/schemas/PromptSpec"},"raw_prompt_template":{"anyOf":[{"$ref":"#/components/schemas/PromptTemplateBase"},{"type":"null"}]}},"type":"object","required":["prompt_spec"],"title":"PromptInfoResponse"},"PromptLiteLLMParams":{"properties":{"prompt_id":{"type":"string","title":"Prompt Id"},"prompt_integration":{"type":"string","title":"Prompt Integration"}},"additionalProperties":true,"type":"object","required":["prompt_id","prompt_integration"],"title":"PromptLiteLLMParams"},"PromptSpec":{"properties":{"prompt_id":{"type":"string","title":"Prompt Id"},"litellm_params":{"$ref":"#/components/schemas/PromptLiteLLMParams"},"prompt_info":{"$ref":"#/components/schemas/PromptInfo"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["prompt_id","litellm_params","prompt_info"],"title":"PromptSpec"},"PromptTemplateBase":{"properties":{"litellm_prompt_id":{"type":"string","title":"Litellm Prompt Id"},"content":{"type":"string","title":"Content"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["litellm_prompt_id","content"],"title":"PromptTemplateBase"},"PromptTokensDetails":{"properties":{"modality":{"type":"string","enum":["TEXT","AUDIO","IMAGE","VIDEO"],"title":"Modality"},"tokenCount":{"type":"integer","title":"Tokencount"}},"type":"object","required":["modality","tokenCount"],"title":"PromptTokensDetails"},"ProviderBudgetResponse":{"properties":{"providers":{"additionalProperties":{"$ref":"#/components/schemas/ProviderBudgetResponseObject"},"type":"object","title":"Providers","default":{}}},"type":"object","title":"ProviderBudgetResponse","description":"Complete provider budget configuration and status.\nMaps provider names to their budget configs."},"ProviderBudgetResponseObject":{"properties":{"budget_limit":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Budget Limit"},"time_period":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time Period"},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend","default":0.0},"budget_reset_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Reset At"}},"type":"object","required":["budget_limit","time_period"],"title":"ProviderBudgetResponseObject","description":"Configuration for a single provider's budget settings"},"PublicModelHubInfo":{"properties":{"docs_title":{"type":"string","title":"Docs Title"},"custom_docs_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Docs Description"},"litellm_version":{"type":"string","title":"Litellm Version"},"useful_links":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Useful Links"}},"type":"object","required":["docs_title","custom_docs_description","litellm_version","useful_links"],"title":"PublicModelHubInfo"},"RawRequestTypedDict":{"properties":{"raw_request_api_base":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Raw Request Api Base"},"raw_request_body":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Raw Request Body"},"raw_request_headers":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Raw Request Headers"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","title":"RawRequestTypedDict"},"RegenerateKeyRequest":{"properties":{"key_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Alias"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"models":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Models","default":[]},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"allowed_cache_controls":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Cache Controls","default":[]},"config":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Config","default":{}},"permissions":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Permissions","default":{}},"model_max_budget":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Max Budget","default":{}},"model_rpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Rpm Limit"},"model_tpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Tpm Limit"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Guardrails"},"prompts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Prompts"},"blocked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocked"},"aliases":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Aliases","default":{}},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionBase"},{"type":"null"}]},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"enforced_params":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Enforced Params"},"allowed_routes":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Routes","default":[]},"soft_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Soft Budget"},"send_invite_email":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Send Invite Email"},"key_type":{"anyOf":[{"$ref":"#/components/schemas/LiteLLMKeyType"},{"type":"null"}],"description":"Type of key that determines default allowed routes.","default":"default"},"new_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Key"},"new_master_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Master Key"}},"type":"object","title":"RegenerateKeyRequest"},"SCIMFeature":{"properties":{"supported":{"type":"boolean","title":"Supported"},"maxOperations":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Maxoperations"},"maxPayloadSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Maxpayloadsize"},"maxResults":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Maxresults"}},"type":"object","required":["supported"],"title":"SCIMFeature"},"SCIMGroup":{"properties":{"schemas":{"items":{"type":"string"},"type":"array","title":"Schemas"},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Externalid"},"meta":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Meta"},"displayName":{"type":"string","title":"Displayname"},"members":{"anyOf":[{"items":{"$ref":"#/components/schemas/SCIMMember"},"type":"array"},{"type":"null"}],"title":"Members"}},"type":"object","required":["schemas","displayName"],"title":"SCIMGroup"},"SCIMListResponse":{"properties":{"schemas":{"items":{"type":"string"},"type":"array","title":"Schemas","default":["urn:ietf:params:scim:api:messages:2.0:ListResponse"]},"totalResults":{"type":"integer","title":"Totalresults"},"startIndex":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Startindex","default":1},"itemsPerPage":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Itemsperpage","default":10},"Resources":{"anyOf":[{"items":{"$ref":"#/components/schemas/SCIMUser"},"type":"array"},{"items":{"$ref":"#/components/schemas/SCIMGroup"},"type":"array"}],"title":"Resources"}},"type":"object","required":["totalResults","Resources"],"title":"SCIMListResponse"},"SCIMMember":{"properties":{"value":{"type":"string","title":"Value"},"display":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display"}},"type":"object","required":["value"],"title":"SCIMMember"},"SCIMPatchOp":{"properties":{"schemas":{"items":{"type":"string"},"type":"array","title":"Schemas","default":["urn:ietf:params:scim:api:messages:2.0:PatchOp"]},"Operations":{"items":{"$ref":"#/components/schemas/SCIMPatchOperation"},"type":"array","title":"Operations"}},"type":"object","required":["Operations"],"title":"SCIMPatchOp"},"SCIMPatchOperation":{"properties":{"op":{"type":"string","title":"Op"},"path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path"},"value":{"anyOf":[{},{"type":"null"}],"title":"Value"}},"type":"object","required":["op"],"title":"SCIMPatchOperation"},"SCIMServiceProviderConfig":{"properties":{"schemas":{"items":{"type":"string"},"type":"array","title":"Schemas","default":["urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"]},"patch":{"$ref":"#/components/schemas/SCIMFeature","default":{"supported":true}},"bulk":{"$ref":"#/components/schemas/SCIMFeature","default":{"supported":false}},"filter":{"$ref":"#/components/schemas/SCIMFeature","default":{"supported":false}},"changePassword":{"$ref":"#/components/schemas/SCIMFeature","default":{"supported":false}},"sort":{"$ref":"#/components/schemas/SCIMFeature","default":{"supported":false}},"etag":{"$ref":"#/components/schemas/SCIMFeature","default":{"supported":false}},"authenticationSchemes":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"title":"Authenticationschemes"},"meta":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Meta"}},"type":"object","title":"SCIMServiceProviderConfig"},"SCIMUser":{"properties":{"schemas":{"items":{"type":"string"},"type":"array","title":"Schemas"},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Externalid"},"meta":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Meta"},"userName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"name":{"anyOf":[{"$ref":"#/components/schemas/SCIMUserName"},{"type":"null"}]},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Displayname"},"active":{"type":"boolean","title":"Active","default":true},"emails":{"anyOf":[{"items":{"$ref":"#/components/schemas/SCIMUserEmail"},"type":"array"},{"type":"null"}],"title":"Emails"},"groups":{"anyOf":[{"items":{"$ref":"#/components/schemas/SCIMUserGroup"},"type":"array"},{"type":"null"}],"title":"Groups"}},"type":"object","required":["schemas"],"title":"SCIMUser"},"SCIMUserEmail":{"properties":{"value":{"type":"string","format":"email","title":"Value"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"primary":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Primary"}},"type":"object","required":["value"],"title":"SCIMUserEmail"},"SCIMUserGroup":{"properties":{"value":{"type":"string","title":"Value"},"display":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type","default":"direct"}},"type":"object","required":["value"],"title":"SCIMUserGroup"},"SCIMUserName":{"properties":{"familyName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Familyname"},"givenName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Givenname"},"formatted":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Formatted"},"middleName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Middlename"},"honorificPrefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Honorificprefix"},"honorificSuffix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Honorificsuffix"}},"type":"object","title":"SCIMUserName"},"SSOConfig":{"properties":{"google_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Google Client Id","description":"Google OAuth Client ID for SSO authentication"},"google_client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Google Client Secret","description":"Google OAuth Client Secret for SSO authentication"},"microsoft_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microsoft Client Id","description":"Microsoft OAuth Client ID for SSO authentication"},"microsoft_client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microsoft Client Secret","description":"Microsoft OAuth Client Secret for SSO authentication"},"microsoft_tenant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Microsoft Tenant","description":"Microsoft Azure Tenant ID for SSO authentication"},"generic_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generic Client Id","description":"Generic OAuth Client ID for SSO authentication (used for Okta and other providers)"},"generic_client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generic Client Secret","description":"Generic OAuth Client Secret for SSO authentication"},"generic_authorization_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generic Authorization Endpoint","description":"Authorization endpoint URL for generic OAuth provider"},"generic_token_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generic Token Endpoint","description":"Token endpoint URL for generic OAuth provider"},"generic_userinfo_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generic Userinfo Endpoint","description":"User info endpoint URL for generic OAuth provider"},"proxy_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Base Url","description":"Base URL of the proxy server for SSO redirects"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email","description":"Email of the proxy admin user"},"ui_access_mode":{"anyOf":[{"$ref":"#/components/schemas/AccessControl_UI_AccessMode"},{"type":"string"},{"type":"null"}],"title":"Ui Access Mode","description":"Access mode for the UI"}},"type":"object","title":"SSOConfig","description":"Configuration for SSO environment variables and settings"},"SSOSettingsResponse":{"properties":{"values":{"type":"object","title":"Values"},"field_schema":{"type":"object","title":"Field Schema"}},"type":"object","required":["values","field_schema"],"title":"SSOSettingsResponse","description":"Response model for SSO settings"},"SpendAnalyticsPaginatedResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/DailySpendData"},"type":"array","title":"Results"},"metadata":{"$ref":"#/components/schemas/DailySpendMetadata"}},"type":"object","required":["results"],"title":"SpendAnalyticsPaginatedResponse"},"SpendCalculateRequest":{"properties":{"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"messages":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Messages"},"completion_response":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Completion Response"}},"type":"object","title":"SpendCalculateRequest"},"SpendMetrics":{"properties":{"spend":{"type":"number","title":"Spend","default":0.0},"prompt_tokens":{"type":"integer","title":"Prompt Tokens","default":0},"completion_tokens":{"type":"integer","title":"Completion Tokens","default":0},"cache_read_input_tokens":{"type":"integer","title":"Cache Read Input Tokens","default":0},"cache_creation_input_tokens":{"type":"integer","title":"Cache Creation Input Tokens","default":0},"total_tokens":{"type":"integer","title":"Total Tokens","default":0},"successful_requests":{"type":"integer","title":"Successful Requests","default":0},"failed_requests":{"type":"integer","title":"Failed Requests","default":0},"api_requests":{"type":"integer","title":"Api Requests","default":0}},"type":"object","title":"SpendMetrics"},"StreamingChoices":{"properties":{},"additionalProperties":true,"type":"object","title":"StreamingChoices"},"TagActiveUsersResponse":{"properties":{"tag":{"type":"string","title":"Tag"},"active_users":{"type":"integer","title":"Active Users"},"date":{"type":"string","title":"Date"},"period_start":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period Start"},"period_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period End"}},"type":"object","required":["tag","active_users","date"],"title":"TagActiveUsersResponse","description":"Response for tag active users metrics"},"TagConfig":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"models":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Models"},"model_info":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Model Info"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"}},"type":"object","required":["name","created_at","updated_at"],"title":"TagConfig"},"TagDeleteRequest":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"TagDeleteRequest"},"TagInfoRequest":{"properties":{"names":{"items":{"type":"string"},"type":"array","title":"Names"}},"type":"object","required":["names"],"title":"TagInfoRequest"},"TagNewRequest":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"models":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Models"},"model_info":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Model Info"}},"type":"object","required":["name"],"title":"TagNewRequest"},"TagSummaryMetrics":{"properties":{"tag":{"type":"string","title":"Tag"},"unique_users":{"type":"integer","title":"Unique Users"},"total_requests":{"type":"integer","title":"Total Requests"},"successful_requests":{"type":"integer","title":"Successful Requests"},"failed_requests":{"type":"integer","title":"Failed Requests"},"total_tokens":{"type":"integer","title":"Total Tokens"},"total_spend":{"type":"number","title":"Total Spend"}},"type":"object","required":["tag","unique_users","total_requests","successful_requests","failed_requests","total_tokens","total_spend"],"title":"TagSummaryMetrics","description":"Summary metrics for a tag"},"TagSummaryResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/TagSummaryMetrics"},"type":"array","title":"Results"}},"type":"object","required":["results"],"title":"TagSummaryResponse","description":"Response for tag summary analytics"},"TagUpdateRequest":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"models":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Models"},"model_info":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Model Info"}},"type":"object","required":["name"],"title":"TagUpdateRequest"},"TeamAddMemberResponse":{"properties":{"team_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Alias"},"team_id":{"type":"string","title":"Team Id"},"organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"},"admins":{"items":{},"type":"array","title":"Admins","default":[]},"members":{"items":{},"type":"array","title":"Members","default":[]},"members_with_roles":{"items":{"$ref":"#/components/schemas/Member"},"type":"array","title":"Members With Roles","default":[]},"team_member_permissions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Team Member Permissions"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"models":{"items":{},"type":"array","title":"Models","default":[]},"blocked":{"type":"boolean","title":"Blocked","default":false},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"budget_reset_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Budget Reset At"},"model_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Model Id"},"litellm_model_table":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ModelTable"},{"type":"null"}]},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionTable"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"object_permission_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object Permission Id"},"updated_users":{"items":{"$ref":"#/components/schemas/LiteLLM_UserTable"},"type":"array","title":"Updated Users"},"updated_team_memberships":{"items":{"$ref":"#/components/schemas/LiteLLM_TeamMembership"},"type":"array","title":"Updated Team Memberships"}},"type":"object","required":["team_id","updated_users","updated_team_memberships"],"title":"TeamAddMemberResponse"},"TeamListResponse":{"properties":{"teams":{"items":{"$ref":"#/components/schemas/LiteLLM_TeamTable"},"type":"array","title":"Teams"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"total_pages":{"type":"integer","title":"Total Pages"}},"type":"object","required":["teams","total","page","page_size","total_pages"],"title":"TeamListResponse","description":"Response to get the list of teams"},"TeamMemberAddRequest":{"properties":{"member":{"anyOf":[{"items":{"$ref":"#/components/schemas/Member"},"type":"array"},{"$ref":"#/components/schemas/Member"}],"title":"Member","description":"Member object or list of member objects to add. Each member must include either user_id or user_email, and a role"},"team_id":{"type":"string","title":"Team Id","description":"The ID of the team to add the member to"},"max_budget_in_team":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget In Team","description":"Maximum budget allocated to this user within the team. If not set, user has unlimited budget within team limits"}},"type":"object","required":["member","team_id"],"title":"TeamMemberAddRequest","description":"Request body for adding members to a team.\n\nExample:\n```json\n{\n    \"team_id\": \"45e3e396-ee08-4a61-a88e-16b3ce7e0849\",\n    \"member\": {\n        \"role\": \"user\",\n        \"user_id\": \"user123\"\n    },\n    \"max_budget_in_team\": 100.0\n}\n```"},"TeamMemberAddResult":{"properties":{"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"success":{"type":"boolean","title":"Success"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"updated_user":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Updated User"},"updated_team_membership":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Updated Team Membership"}},"type":"object","required":["success"],"title":"TeamMemberAddResult","description":"Result of a single team member add operation"},"TeamMemberDeleteRequest":{"properties":{"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"team_id":{"type":"string","title":"Team Id"}},"type":"object","required":["team_id"],"title":"TeamMemberDeleteRequest"},"TeamMemberUpdateRequest":{"properties":{"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"team_id":{"type":"string","title":"Team Id"},"max_budget_in_team":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget In Team"},"role":{"anyOf":[{"type":"string","enum":["admin","user"]},{"type":"null"}],"title":"Role"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit","description":"Tokens per minute limit for this team member"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit","description":"Requests per minute limit for this team member"}},"type":"object","required":["team_id"],"title":"TeamMemberUpdateRequest"},"TeamMemberUpdateResponse":{"properties":{"user_id":{"type":"string","title":"User Id"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"team_id":{"type":"string","title":"Team Id"},"max_budget_in_team":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget In Team"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"}},"type":"object","required":["user_id","team_id"],"title":"TeamMemberUpdateResponse"},"TeamModelAddRequest":{"properties":{"team_id":{"type":"string","title":"Team Id"},"models":{"items":{"type":"string"},"type":"array","title":"Models"}},"type":"object","required":["team_id","models"],"title":"TeamModelAddRequest","description":"Request to add models to a team"},"TeamModelDeleteRequest":{"properties":{"team_id":{"type":"string","title":"Team Id"},"models":{"items":{"type":"string"},"type":"array","title":"Models"}},"type":"object","required":["team_id","models"],"title":"TeamModelDeleteRequest","description":"Request to delete models from a team"},"TokenCountDetailsResponse":{"properties":{"totalTokens":{"type":"integer","title":"Totaltokens"},"promptTokensDetails":{"items":{"$ref":"#/components/schemas/PromptTokensDetails"},"type":"array","title":"Prompttokensdetails"}},"type":"object","required":["totalTokens","promptTokensDetails"],"title":"TokenCountDetailsResponse","description":"Response structure for token count details with modality breakdown.\n\nExample:\n    {'totalTokens': 12, 'promptTokensDetails': [{'modality': 'TEXT', 'tokenCount': 12}]}"},"TokenCountRequest":{"properties":{"model":{"type":"string","title":"Model"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"messages":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"title":"Messages"},"contents":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"title":"Contents"}},"type":"object","required":["model"],"title":"TokenCountRequest"},"TokenCountResponse":{"properties":{"total_tokens":{"type":"integer","title":"Total Tokens"},"request_model":{"type":"string","title":"Request Model"},"model_used":{"type":"string","title":"Model Used"},"tokenizer_type":{"type":"string","title":"Tokenizer Type"},"original_response":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Original Response"}},"type":"object","required":["total_tokens","request_model","model_used","tokenizer_type"],"title":"TokenCountResponse"},"TopLogprob":{"properties":{"token":{"type":"string","title":"Token"},"bytes":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Bytes"},"logprob":{"type":"number","title":"Logprob"}},"additionalProperties":true,"type":"object","required":["token","logprob"],"title":"TopLogprob"},"TransformRequestBody":{"properties":{"call_type":{"$ref":"#/components/schemas/CallTypes"},"request_body":{"type":"object","title":"Request Body"}},"type":"object","required":["call_type","request_body"],"title":"TransformRequestBody"},"UIThemeConfig":{"properties":{"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url","description":"URL or path to custom logo image. Can be a local file path or HTTP/HTTPS URL"}},"type":"object","title":"UIThemeConfig","description":"Configuration for UI theme customization"},"UIThemeSettingsResponse":{"properties":{"values":{"type":"object","title":"Values"},"field_schema":{"type":"object","title":"Field Schema"}},"type":"object","required":["values","field_schema"],"title":"UIThemeSettingsResponse","description":"Response model for UI theme settings"},"UiDiscoveryEndpoints":{"properties":{"server_root_path":{"type":"string","title":"Server Root Path"},"proxy_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Base Url"}},"type":"object","required":["server_root_path","proxy_base_url"],"title":"UiDiscoveryEndpoints"},"UpdateCustomerRequest":{"properties":{"user_id":{"type":"string","title":"User Id"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"blocked":{"type":"boolean","title":"Blocked","default":false},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"allowed_model_region":{"anyOf":[{"type":"string","enum":["eu","us"]},{"type":"null"}],"title":"Allowed Model Region"},"default_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Model"}},"type":"object","required":["user_id"],"title":"UpdateCustomerRequest","description":"Update a Customer, use this to update customer budgets etc"},"UpdateGuardrailRequest":{"properties":{"guardrail":{"$ref":"#/components/schemas/Guardrail"}},"type":"object","required":["guardrail"],"title":"UpdateGuardrailRequest"},"UpdateKeyRequest":{"properties":{"key_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Alias"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"models":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Models","default":[]},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"allowed_cache_controls":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Cache Controls","default":[]},"config":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Config","default":{}},"permissions":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Permissions","default":{}},"model_max_budget":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Max Budget","default":{}},"model_rpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Rpm Limit"},"model_tpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Tpm Limit"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Guardrails"},"prompts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Prompts"},"blocked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocked"},"aliases":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Aliases","default":{}},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionBase"},{"type":"null"}]},"key":{"type":"string","title":"Key"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"enforced_params":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Enforced Params"},"allowed_routes":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Routes","default":[]},"temp_budget_increase":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temp Budget Increase"},"temp_budget_expiry":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Temp Budget Expiry"}},"type":"object","required":["key"],"title":"UpdateKeyRequest"},"UpdateMCPServerRequest":{"properties":{"server_id":{"type":"string","title":"Server Id"},"server_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server Name"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"transport":{"type":"string","enum":["sse","http","stdio"],"title":"Transport","default":"sse"},"spec_version":{"type":"string","enum":["2024-11-05","2025-03-26","2025-06-18"],"title":"Spec Version","default":"2025-06-18"},"auth_type":{"anyOf":[{"type":"string","enum":["none","api_key","bearer_token","basic"]},{"type":"null"}],"title":"Auth Type"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"mcp_info":{"anyOf":[{"$ref":"#/components/schemas/MCPInfo"},{"type":"null"}]},"mcp_access_groups":{"items":{"type":"string"},"type":"array","title":"Mcp Access Groups"},"command":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Command"},"args":{"items":{"type":"string"},"type":"array","title":"Args"},"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env"}},"type":"object","required":["server_id"],"title":"UpdateMCPServerRequest"},"UpdatePublicModelGroupsRequest":{"properties":{"model_groups":{"items":{"type":"string"},"type":"array","title":"Model Groups","description":"List of model group names to make public"}},"additionalProperties":false,"type":"object","required":["model_groups"],"title":"UpdatePublicModelGroupsRequest","description":"Request model for updating public model groups"},"UpdateTeamMemberPermissionsRequest":{"properties":{"team_id":{"type":"string","title":"Team Id"},"team_member_permissions":{"items":{"type":"string"},"type":"array","title":"Team Member Permissions"}},"type":"object","required":["team_id","team_member_permissions"],"title":"UpdateTeamMemberPermissionsRequest","description":"Request to update the team member permissions for a team"},"UpdateTeamRequest":{"properties":{"team_id":{"type":"string","title":"Team Id"},"team_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Alias"},"organization_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Id"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"models":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Models"},"blocked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocked"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"tags":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Tags"},"model_aliases":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Aliases"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Guardrails"},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionBase"},{"type":"null"}]},"team_member_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Team Member Budget"},"team_member_rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Team Member Rpm Limit"},"team_member_tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Team Member Tpm Limit"},"team_member_key_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Member Key Duration"}},"type":"object","required":["team_id"],"title":"UpdateTeamRequest","description":"UpdateTeamRequest, used by /team/update when you need to update a team\n\nteam_id: str\nteam_alias: Optional[str] = None\norganization_id: Optional[str] = None\nmetadata: Optional[dict] = None\ntpm_limit: Optional[int] = None\nrpm_limit: Optional[int] = None\nmax_budget: Optional[float] = None\nmodels: Optional[list] = None\nblocked: Optional[bool] = None\nbudget_duration: Optional[str] = None\nguardrails: Optional[List[str]] = None"},"UpdateUsefulLinksRequest":{"properties":{"useful_links":{"additionalProperties":{"type":"string"},"type":"object","title":"Useful Links"}},"type":"object","required":["useful_links"],"title":"UpdateUsefulLinksRequest"},"UpdateUserRequest":{"properties":{"key_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Alias"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"models":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Models","default":[]},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"allowed_cache_controls":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Cache Controls","default":[]},"config":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Config","default":{}},"permissions":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Permissions","default":{}},"model_max_budget":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Max Budget","default":{}},"model_rpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Rpm Limit"},"model_tpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Tpm Limit"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Guardrails"},"prompts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Prompts"},"blocked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocked"},"aliases":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Aliases","default":{}},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionBase"},{"type":"null"}]},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"user_role":{"anyOf":[{"type":"string","enum":["proxy_admin","proxy_admin_viewer","internal_user","internal_user_viewer"]},{"type":"null"}],"title":"User Role"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"}},"type":"object","title":"UpdateUserRequest"},"UpdateUserRequestNoUserIDorEmail":{"properties":{"key_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Alias"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"models":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Models","default":[]},"spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spend"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"allowed_cache_controls":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Cache Controls","default":[]},"config":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Config","default":{}},"permissions":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Permissions","default":{}},"model_max_budget":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Max Budget","default":{}},"model_rpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Rpm Limit"},"model_tpm_limit":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Tpm Limit"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Guardrails"},"prompts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Prompts"},"blocked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocked"},"aliases":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Aliases","default":{}},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionBase"},{"type":"null"}]},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"user_role":{"anyOf":[{"type":"string","enum":["proxy_admin","proxy_admin_viewer","internal_user","internal_user_viewer"]},{"type":"null"}],"title":"User Role"}},"type":"object","title":"UpdateUserRequestNoUserIDorEmail"},"UserAPIKeyAuth":{"properties":{"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"key_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Name"},"key_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Alias"},"spend":{"type":"number","title":"Spend","default":0.0},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"expires":{"anyOf":[{"type":"string"},{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires"},"models":{"items":{},"type":"array","title":"Models","default":[]},"aliases":{"type":"object","title":"Aliases","default":{}},"config":{"type":"object","title":"Config","default":{}},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"max_parallel_requests":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Parallel Requests"},"metadata":{"type":"object","title":"Metadata","default":{}},"tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm Limit"},"rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm Limit"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"budget_reset_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Budget Reset At"},"allowed_cache_controls":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Cache Controls","default":[]},"allowed_routes":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Allowed Routes","default":[]},"permissions":{"type":"object","title":"Permissions","default":{}},"model_spend":{"type":"object","title":"Model Spend","default":{}},"model_max_budget":{"type":"object","title":"Model Max Budget","default":{}},"soft_budget_cooldown":{"type":"boolean","title":"Soft Budget Cooldown","default":false},"blocked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocked"},"litellm_budget_table":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Litellm Budget Table"},"org_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Id"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"updated_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated By"},"object_permission_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object Permission Id"},"object_permission":{"anyOf":[{"$ref":"#/components/schemas/LiteLLM_ObjectPermissionTable"},{"type":"null"}]},"team_spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Team Spend"},"team_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Alias"},"team_tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Team Tpm Limit"},"team_rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Team Rpm Limit"},"team_max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Team Max Budget"},"team_models":{"items":{},"type":"array","title":"Team Models","default":[]},"team_blocked":{"type":"boolean","title":"Team Blocked","default":false},"soft_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Soft Budget"},"team_model_aliases":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Team Model Aliases"},"team_member":{"anyOf":[{"$ref":"#/components/schemas/Member"},{"type":"null"}]},"team_metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Team Metadata"},"team_member_spend":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Team Member Spend"},"team_member_tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Team Member Tpm Limit"},"team_member_rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Team Member Rpm Limit"},"end_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End User Id"},"end_user_tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"End User Tpm Limit"},"end_user_rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"End User Rpm Limit"},"end_user_max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"End User Max Budget"},"last_refreshed_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Last Refreshed At"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"user_role":{"anyOf":[{"$ref":"#/components/schemas/LitellmUserRoles"},{"type":"null"}]},"allowed_model_region":{"anyOf":[{"type":"string","enum":["eu","us"]},{"type":"null"}],"title":"Allowed Model Region"},"parent_otel_span":{"anyOf":[{},{"type":"null"}],"title":"Parent Otel Span"},"rpm_limit_per_model":{"anyOf":[{"additionalProperties":{"type":"integer"},"type":"object"},{"type":"null"}],"title":"Rpm Limit Per Model"},"tpm_limit_per_model":{"anyOf":[{"additionalProperties":{"type":"integer"},"type":"object"},{"type":"null"}],"title":"Tpm Limit Per Model"},"user_tpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Tpm Limit"},"user_rpm_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Rpm Limit"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"request_route":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Route"}},"type":"object","title":"UserAPIKeyAuth","description":"Return the row in the db"},"UserListResponse":{"properties":{"users":{"items":{"$ref":"#/components/schemas/LiteLLM_UserTableWithKeyCount"},"type":"array","title":"Users"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"total_pages":{"type":"integer","title":"Total Pages"}},"type":"object","required":["users","total","page","page_size","total_pages"],"title":"UserListResponse","description":"Response model for the user list endpoint"},"UserUpdateResult":{"properties":{"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"success":{"type":"boolean","title":"Success"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"updated_user":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Updated User"}},"type":"object","required":["success"],"title":"UserUpdateResult","description":"Result of a single user update operation"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VectorStoreDeleteRequest":{"properties":{"vector_store_id":{"type":"string","title":"Vector Store Id"}},"type":"object","required":["vector_store_id"],"title":"VectorStoreDeleteRequest"},"VectorStoreInfoRequest":{"properties":{"vector_store_id":{"type":"string","title":"Vector Store Id"}},"type":"object","required":["vector_store_id"],"title":"VectorStoreInfoRequest"},"VectorStoreUpdateRequest":{"properties":{"vector_store_id":{"type":"string","title":"Vector Store Id"},"custom_llm_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Llm Provider"},"vector_store_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vector Store Name"},"vector_store_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vector Store Description"},"vector_store_metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Vector Store Metadata"}},"type":"object","required":["vector_store_id"],"title":"VectorStoreUpdateRequest"},"updateDeployment":{"properties":{"model_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Name"},"litellm_params":{"anyOf":[{"$ref":"#/components/schemas/updateLiteLLMParams"},{"type":"null"}]},"model_info":{"anyOf":[{"$ref":"#/components/schemas/ModelInfo"},{"type":"null"}]}},"type":"object","title":"updateDeployment"},"updateLiteLLMParams":{"properties":{"input_cost_per_token":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Input Cost Per Token"},"output_cost_per_token":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Output Cost Per Token"},"input_cost_per_second":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Input Cost Per Second"},"output_cost_per_second":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Output Cost Per Second"},"input_cost_per_pixel":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Input Cost Per Pixel"},"output_cost_per_pixel":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Output Cost Per Pixel"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"api_base":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Base"},"api_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Version"},"vertex_project":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vertex Project"},"vertex_location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vertex Location"},"vertex_credentials":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"title":"Vertex Credentials"},"region_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region Name"},"aws_access_key_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Access Key Id"},"aws_secret_access_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Secret Access Key"},"aws_region_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Region Name"},"watsonx_region_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Watsonx Region Name"},"custom_llm_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Llm Provider"},"tpm":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tpm"},"rpm":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rpm"},"timeout":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Timeout"},"stream_timeout":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Stream Timeout"},"max_retries":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Retries"},"organization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization"},"configurable_clientside_auth_params":{"anyOf":[{"items":{"anyOf":[{"type":"string"},{"$ref":"#/components/schemas/ConfigurableClientsideParamsCustomAuth"}]},"type":"array"},{"type":"null"}],"title":"Configurable Clientside Auth Params"},"litellm_credential_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Litellm Credential Name"},"litellm_trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Litellm Trace Id"},"max_file_size_mb":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max File Size Mb"},"max_budget":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Budget"},"budget_duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Duration"},"use_in_pass_through":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use In Pass Through","default":false},"use_litellm_proxy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use Litellm Proxy","default":false},"merge_reasoning_content_in_choices":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Merge Reasoning Content In Choices","default":false},"model_info":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Model Info"},"mock_response":{"anyOf":[{"type":"string"},{"$ref":"#/components/schemas/ModelResponse"},{},{"type":"null"}],"title":"Mock Response"},"auto_router_config_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auto Router Config Path"},"auto_router_config":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auto Router Config"},"auto_router_default_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auto Router Default Model"},"auto_router_embedding_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auto Router Embedding Model"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}},"additionalProperties":true,"type":"object","title":"updateLiteLLMParams"},"ProxyChatCompletionRequest":{"$defs":{"ChatCompletionAssistantMessage":{"properties":{"role":{"const":"assistant","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionTextObject"},{"$ref":"#/$defs/ChatCompletionThinkingBlock"}]},"type":"array"},{"type":"null"}],"title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"tool_calls":{"anyOf":[{"items":{"$ref":"#/$defs/ChatCompletionAssistantToolCall"},"type":"array"},{"type":"null"}],"title":"Tool Calls"},"function_call":{"anyOf":[{"$ref":"#/$defs/ChatCompletionToolCallFunctionChunk"},{"type":"null"}]},"reasoning_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning Content"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"},"thinking_blocks":{"anyOf":[{"items":{"$ref":"#/$defs/ChatCompletionThinkingBlock"},"type":"array"},{"type":"null"}],"title":"Thinking Blocks"}},"required":["role"],"title":"ChatCompletionAssistantMessage","type":"object"},"ChatCompletionAssistantToolCall":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"type":{"const":"function","title":"Type","type":"string"},"function":{"$ref":"#/$defs/ChatCompletionToolCallFunctionChunk"}},"required":["id","type","function"],"title":"ChatCompletionAssistantToolCall","type":"object"},"ChatCompletionAudioObject":{"properties":{"input_audio":{"$ref":"#/$defs/InputAudio"},"type":{"const":"input_audio","title":"Type","type":"string"}},"required":["input_audio","type"],"title":"ChatCompletionAudioObject","type":"object"},"ChatCompletionCachedContent":{"properties":{"type":{"const":"ephemeral","title":"Type","type":"string"}},"required":["type"],"title":"ChatCompletionCachedContent","type":"object"},"ChatCompletionDeveloperMessage":{"properties":{"role":{"const":"developer","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{},"type":"array"}],"title":"Content"},"name":{"title":"Name","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionDeveloperMessage","type":"object"},"ChatCompletionDocumentObject":{"properties":{"type":{"const":"document","title":"Type","type":"string"},"source":{"$ref":"#/$defs/DocumentObject"},"title":{"title":"Title","type":"string"},"context":{"title":"Context","type":"string"},"citations":{"anyOf":[{"$ref":"#/$defs/CitationsObject"},{"type":"null"}]}},"required":["type","source","title","context","citations"],"title":"ChatCompletionDocumentObject","type":"object"},"ChatCompletionFileObject":{"properties":{"type":{"const":"file","title":"Type","type":"string"},"file":{"$ref":"#/$defs/ChatCompletionFileObjectFile"}},"required":["type","file"],"title":"ChatCompletionFileObject","type":"object"},"ChatCompletionFileObjectFile":{"properties":{"file_data":{"title":"File Data","type":"string"},"file_id":{"title":"File Id","type":"string"},"filename":{"title":"Filename","type":"string"},"format":{"title":"Format","type":"string"}},"title":"ChatCompletionFileObjectFile","type":"object"},"ChatCompletionFunctionMessage":{"properties":{"role":{"const":"function","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/$defs/ChatCompletionTextObject"},"type":"array"},{"type":"null"}],"title":"Content"},"name":{"title":"Name","type":"string"},"tool_call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tool Call Id"}},"required":["role","content","name","tool_call_id"],"title":"ChatCompletionFunctionMessage","type":"object"},"ChatCompletionImageObject":{"properties":{"type":{"const":"image_url","title":"Type","type":"string"},"image_url":{"anyOf":[{"type":"string"},{"$ref":"#/$defs/ChatCompletionImageUrlObject"}],"title":"Image Url"}},"required":["type","image_url"],"title":"ChatCompletionImageObject","type":"object"},"ChatCompletionImageUrlObject":{"properties":{"url":{"title":"Url","type":"string"},"detail":{"title":"Detail","type":"string"},"format":{"title":"Format","type":"string"}},"required":["url"],"title":"ChatCompletionImageUrlObject","type":"object"},"ChatCompletionSystemMessage":{"properties":{"role":{"const":"system","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{},"type":"array"}],"title":"Content"},"name":{"title":"Name","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionSystemMessage","type":"object"},"ChatCompletionTextObject":{"properties":{"type":{"const":"text","title":"Type","type":"string"},"text":{"title":"Text","type":"string"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["type","text"],"title":"ChatCompletionTextObject","type":"object"},"ChatCompletionThinkingBlock":{"properties":{"type":{"const":"thinking","title":"Type","type":"string"},"thinking":{"title":"Thinking","type":"string"},"signature":{"title":"Signature","type":"string"},"cache_control":{"anyOf":[{"type":"object"},{"$ref":"#/$defs/ChatCompletionCachedContent"},{"type":"null"}],"title":"Cache Control"}},"required":["type"],"title":"ChatCompletionThinkingBlock","type":"object"},"ChatCompletionToolCallFunctionChunk":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"arguments":{"title":"Arguments","type":"string"}},"title":"ChatCompletionToolCallFunctionChunk","type":"object"},"ChatCompletionToolMessage":{"properties":{"role":{"const":"tool","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"$ref":"#/$defs/ChatCompletionTextObject"},"type":"array"}],"title":"Content"},"tool_call_id":{"title":"Tool Call Id","type":"string"}},"required":["role","content","tool_call_id"],"title":"ChatCompletionToolMessage","type":"object"},"ChatCompletionUserMessage":{"properties":{"role":{"const":"user","title":"Role","type":"string"},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionTextObject"},{"$ref":"#/$defs/ChatCompletionImageObject"},{"$ref":"#/$defs/ChatCompletionAudioObject"},{"$ref":"#/$defs/ChatCompletionDocumentObject"},{"$ref":"#/$defs/ChatCompletionVideoObject"},{"$ref":"#/$defs/ChatCompletionFileObject"}]},"type":"array"}],"title":"Content"},"cache_control":{"$ref":"#/$defs/ChatCompletionCachedContent"}},"required":["role","content"],"title":"ChatCompletionUserMessage","type":"object"},"ChatCompletionVideoObject":{"properties":{"type":{"const":"video_url","title":"Type","type":"string"},"video_url":{"anyOf":[{"type":"string"},{"$ref":"#/$defs/ChatCompletionVideoUrlObject"}],"title":"Video Url"}},"required":["type","video_url"],"title":"ChatCompletionVideoObject","type":"object"},"ChatCompletionVideoUrlObject":{"properties":{"url":{"title":"Url","type":"string"},"detail":{"title":"Detail","type":"string"}},"required":["url"],"title":"ChatCompletionVideoUrlObject","type":"object"},"CitationsObject":{"properties":{"enabled":{"title":"Enabled","type":"boolean"}},"required":["enabled"],"title":"CitationsObject","type":"object"},"DocumentObject":{"properties":{"type":{"const":"text","title":"Type","type":"string"},"media_type":{"title":"Media Type","type":"string"},"data":{"title":"Data","type":"string"}},"required":["type","media_type","data"],"title":"DocumentObject","type":"object"},"InputAudio":{"properties":{"data":{"title":"Data","type":"string"},"format":{"enum":["wav","mp3"],"title":"Format","type":"string"}},"required":["data","format"],"title":"InputAudio","type":"object"}},"description":"Pydantic model for chat completion requests that includes both OpenAI standard fields \nand LiteLLM-specific parameters. This replaces the previous TypedDict version.","properties":{"model":{"title":"Model","type":"string"},"messages":{"items":{"anyOf":[{"$ref":"#/$defs/ChatCompletionUserMessage"},{"$ref":"#/$defs/ChatCompletionAssistantMessage"},{"$ref":"#/$defs/ChatCompletionToolMessage"},{"$ref":"#/$defs/ChatCompletionSystemMessage"},{"$ref":"#/$defs/ChatCompletionFunctionMessage"},{"$ref":"#/$defs/ChatCompletionDeveloperMessage"}]},"title":"Messages","type":"array"},"frequency_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Frequency Penalty"},"logit_bias":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"default":null,"title":"Logit Bias"},"logprobs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Logprobs"},"top_logprobs":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Top Logprobs"},"max_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Max Tokens"},"n":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"N"},"presence_penalty":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Presence Penalty"},"response_format":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Response Format"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Seed"},"service_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Service Tier"},"stop":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Stop"},"stream_options":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Stream Options"},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Temperature"},"top_p":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Top P"},"tools":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"default":null,"title":"Tools"},"tool_choice":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Tool Choice"},"parallel_tool_calls":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Parallel Tool Calls"},"function_call":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Function Call"},"functions":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"default":null,"title":"Functions"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"User"},"stream":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Stream"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Metadata"},"guardrails":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Guardrails"},"caching":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Caching"},"num_retries":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Num Retries"},"context_window_fallback_dict":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"default":null,"title":"Context Window Fallback Dict"},"fallbacks":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Fallbacks"}},"required":["model","messages"],"title":"ProxyChatCompletionRequest","type":"object"},"EmbeddingRequest":{"additionalProperties":true,"properties":{"model":{"title":"Model","type":"string"},"input":{"default":[],"items":{"type":"string"},"title":"Input","type":"array"},"timeout":{"default":600,"title":"Timeout","type":"integer"},"api_base":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Base"},"api_version":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Version"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Key"},"api_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Api Type"},"caching":{"default":false,"title":"Caching","type":"boolean"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"User"},"custom_llm_provider":{"anyOf":[{"type":"string"},{"type":"object"},{"type":"null"}],"default":null,"title":"Custom Llm Provider"},"litellm_call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Litellm Call Id"},"litellm_logging_obj":{"anyOf":[{"type":"object"},{"type":"null"}],"default":null,"title":"Litellm Logging Obj"},"logger_fn":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Logger Fn"}},"required":["model"],"title":"EmbeddingRequest","type":"object"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","description":"Bearer token","in":"header","name":"x-litellm-api-key"}}}}