{ "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-Output" } ] }, "type": "array" }, { "type": "null" } ], "title": "Configurable Clientside Auth Params" }, "is_public_model_group": { "type": "boolean", "title": "Is Public Model Group", "default": false }, "health_status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Health Status" }, "health_response_time": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Health Response Time" }, "health_checked_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Health Checked At" } }, "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": { "$ref": "#/components/schemas/Choices" }, "type": "array", "title": "Choices" } }, "additionalProperties": true, "type": "object", "required": [ "id", "created", "object", "choices" ], "title": "ModelResponse" }, "MutualTLSSecurityScheme": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "type": { "type": "string", "const": "mutualTLS", "title": "Type" } }, "type": "object", "required": [ "type" ], "title": "MutualTLSSecurityScheme", "description": "Defines a security scheme using mTLS authentication." }, "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" }, "object_permission": { "anyOf": [ { "$ref": "#/components/schemas/LiteLLM_ObjectPermissionBase" }, { "type": "null" } ] } }, "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" }, "auth_type": { "anyOf": [ { "type": "string", "enum": [ "none", "api_key", "bearer_token", "basic", "authorization", "oauth2", "aws_sigv4", "token" ] }, { "type": "null" } ], "title": "Auth Type" }, "credentials": { "anyOf": [ { "$ref": "#/components/schemas/MCPCredentials" }, { "type": "null" } ] }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Url" }, "spec_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Spec Path" }, "mcp_info": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Mcp Info" }, "mcp_access_groups": { "items": { "type": "string" }, "type": "array", "title": "Mcp Access Groups" }, "allowed_tools": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Allowed Tools" }, "tool_name_to_display_name": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "title": "Tool Name To Display Name" }, "tool_name_to_description": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "title": "Tool Name To Description" }, "extra_headers": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Extra Headers" }, "static_headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "title": "Static Headers" }, "command": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Command" }, "args": { "items": { "type": "string" }, "type": "array", "title": "Args" }, "env": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Env" }, "authorization_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorization Url" }, "token_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Token Url" }, "registration_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Registration Url" }, "oauth2_flow": { "anyOf": [ { "type": "string", "enum": [ "client_credentials", "authorization_code" ] }, { "type": "null" } ], "title": "Oauth2 Flow" }, "allow_all_keys": { "type": "boolean", "title": "Allow All Keys", "default": false }, "available_on_public_internet": { "type": "boolean", "title": "Available On Public Internet", "default": true }, "is_byok": { "type": "boolean", "title": "Is Byok", "default": false }, "byok_description": { "items": { "type": "string" }, "type": "array", "title": "Byok Description" }, "byok_api_key_help_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Byok Api Key Help Url" }, "source_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Source Url" }, "approval_status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Approval Status", "description": "Server-managed: set by the endpoint; caller values are overridden." }, "submitted_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Submitted By", "description": "Server-managed: set by the endpoint; caller values are overridden." }, "submitted_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Submitted At", "description": "Server-managed: set by the endpoint; caller values are overridden." } }, "type": "object", "title": "NewMCPServerRequest" }, "NewMCPToolsetRequest": { "properties": { "toolset_name": { "type": "string", "title": "Toolset Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tools": { "items": { "$ref": "#/components/schemas/MCPToolsetTool" }, "type": "array", "title": "Tools", "default": [] } }, "type": "object", "required": [ "toolset_name" ], "title": "NewMCPToolsetRequest" }, "NewModelGroupRequest": { "properties": { "access_group": { "type": "string", "title": "Access Group" }, "model_names": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Model Names" }, "model_ids": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Model Ids" } }, "type": "object", "required": [ "access_group" ], "title": "NewModelGroupRequest" }, "NewModelGroupResponse": { "properties": { "access_group": { "type": "string", "title": "Access Group" }, "model_names": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Model Names" }, "model_ids": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Model Ids" }, "models_updated": { "type": "integer", "title": "Models Updated" } }, "type": "object", "required": [ "access_group", "models_updated" ], "title": "NewModelGroupResponse" }, "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": [ { "additionalProperties": true, "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": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Metadata" }, "model_rpm_limit": { "anyOf": [ { "additionalProperties": { "type": "integer" }, "type": "object" }, { "type": "null" } ], "title": "Model Rpm Limit" }, "model_tpm_limit": { "anyOf": [ { "additionalProperties": { "type": "integer" }, "type": "object" }, { "type": "null" } ], "title": "Model Tpm Limit" }, "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": [ { "additionalProperties": true, "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" }, "NewProjectRequest": { "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": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Model Max Budget" }, "budget_duration": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Budget Duration" }, "project_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Project Id" }, "project_alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Project Alias" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "team_id": { "type": "string", "title": "Team Id" }, "metadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Metadata" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "guardrails": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Guardrails" }, "policies": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Policies" }, "models": { "items": { "type": "string" }, "type": "array", "title": "Models", "default": [] }, "model_rpm_limit": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Model Rpm Limit" }, "model_tpm_limit": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Model Tpm Limit" }, "blocked": { "type": "boolean", "title": "Blocked", "default": false }, "object_permission": { "anyOf": [ { "$ref": "#/components/schemas/LiteLLM_ObjectPermissionBase" }, { "type": "null" } ] } }, "type": "object", "required": [ "team_id" ], "title": "NewProjectRequest", "description": "Request model for POST /project/new" }, "NewProjectResponse": { "properties": { "project_id": { "type": "string", "title": "Project Id" }, "project_alias": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Project Alias" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "team_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Team Id" }, "budget_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Budget Id" }, "metadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Metadata" }, "models": { "items": { "type": "string" }, "type": "array", "title": "Models", "default": [] }, "spend": { "type": "number", "title": "Spend", "default": 0.0 }, "model_spend": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Model Spend" }, "model_rpm_limit": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Model Rpm Limit" }, "model_tpm_limit": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Model Tpm Limit" }, "blocked": { "type": "boolean", "title": "Blocked", "default": false }, "object_permission_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Object Permission Id" }, "created_by": { "type": "string", "title": "Created By" }, "updated_by": { "type": "string", "title": "Updated By" }, "created_at": { "type": "string", "format": "date-time", "title": "Created At" }, "updated_at": { "type": "string", "format": "date-time", "title": "Updated At" }, "litellm_budget_table": { "anyOf": [ { "$ref": "#/components/schemas/LiteLLM_BudgetTable" }, { "type": "null" } ] }, "object_permission": { "anyOf": [ { "$ref": "#/components/schemas/LiteLLM_ObjectPermissionTable" }, { "type": "null" } ] } }, "type": "object", "required": [ "project_id", "created_by", "updated_by", "created_at", "updated_at" ], "title": "NewProjectResponse", "description": "Response model for POST /project/new" }, "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": [ { "additionalProperties": true, "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" }, "soft_budget": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Soft 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 }, "router_settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Router Settings" }, "access_group_ids": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Access Group Ids" }, "model_aliases": { "anyOf": [ { "additionalProperties": true, "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" }, "policies": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Policies" }, "prompts": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Prompts" }, "object_permission": { "anyOf": [ { "$ref": "#/components/schemas/LiteLLM_ObjectPermissionBase" }, { "type": "null" } ] }, "allowed_passthrough_routes": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "title": "Allowed Passthrough Routes" }, "secret_manager_settings": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Secret Manager Settings" }, "model_rpm_limit": { "anyOf": [ { "additionalProperties": { "type": "integer" }, "type": "object" }, { "type": "null" } ], "title": "Model Rpm Limit" }, "rpm_limit_type": { "anyOf": [ { "type": "string", "enum": [ "guaranteed_throughput", "best_effort_throughput" ] }, { "type": "null" } ], "title": "Rpm Limit Type" }, "tpm_limit_type": { "anyOf": [ { "type": "string", "enum": [ "guaranteed_throughput", "best_effort_throughput" ] }, { "type": "null" } ], "title": "Tpm Limit Type" }, "model_tpm_limit": { "anyOf": [ { "additionalProperties": { "type": "integer" }, "type": "object" }, { "type": "null" } ], "title": "Model Tpm Limit" }, "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" }, "team_member_budget_duration": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Team Member Budget Duration" }, "allowed_vector_store_indexes": { "anyOf": [ { "items": { "$ref": "#/components/schemas/AllowedVectorStoreIndexItem" }, "type": "array" }, { "type": "null" } ], "title": "Allowed Vector Store Indexes" }, "enforced_batch_output_expires_after": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Enforced Batch Output Expires After" }, "enforced_file_expires_after": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Enforced File Expires After" } }, "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" }, "agent_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Agent Id" }, "max_parallel_requests": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Max Parallel Requests" }, "metadata": { "anyOf": [ { "additionalProperties": true, "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": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Config", "default": {} }, "permissions": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Permissions", "default": {} }, "model_max_budget": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Model Max Budget", "default": {} }, "model_rpm_limit": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Model Rpm Limit" }, "model_tpm_limit": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Model Tpm Limit" }, "guardrails": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Guardrails" }, "policies": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Policies" }, "prompts": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Prompts" }, "blocked": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Blocked" }, "aliases": { "anyOf": [ { "additionalProperties": true, "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" }, "agent_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Agent Id" }, "max_parallel_requests": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Max Parallel Requests" }, "metadata": { "anyOf": [ { "additionalProperties": true, "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": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Config", "default": {} }, "permissions": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Permissions", "default": {} }, "model_max_budget": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Model Max Budget" }, "model_rpm_limit": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Model Rpm Limit" }, "model_tpm_limit": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Model Tpm Limit" }, "guardrails": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Guardrails" }, "policies": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Policies" }, "prompts": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Prompts" }, "blocked": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Blocked" }, "aliases": { "anyOf": [ { "additionalProperties": true, "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": [] }, "allowed_passthrough_routes": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "title": "Allowed Passthrough Routes" }, "allowed_vector_store_indexes": { "anyOf": [ { "items": { "$ref": "#/components/schemas/AllowedVectorStoreIndexItem" }, "type": "array" }, { "type": "null" } ], "title": "Allowed Vector Store Indexes" }, "rpm_limit_type": { "anyOf": [ { "type": "string", "enum": [ "guaranteed_throughput", "best_effort_throughput", "dynamic" ] }, { "type": "null" } ], "title": "Rpm Limit Type" }, "tpm_limit_type": { "anyOf": [ { "type": "string", "enum": [ "guaranteed_throughput", "best_effort_throughput", "dynamic" ] }, { "type": "null" } ], "title": "Tpm Limit Type" }, "router_settings": { "anyOf": [ { "$ref": "#/components/schemas/UpdateRouterConfig" }, { "type": "null" } ] }, "access_group_ids": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Access Group Ids" }, "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" }, "organization_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Organization Id" }, "project_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Project 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" }, "OAuth2SecurityScheme": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "type": { "type": "string", "const": "oauth2", "title": "Type" }, "flows": { "$ref": "#/components/schemas/OAuthFlows" }, "oauth2MetadataUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauth2Metadataurl" } }, "type": "object", "required": [ "type", "flows", "oauth2MetadataUrl" ], "title": "OAuth2SecurityScheme", "description": "Defines a security scheme using OAuth 2.0." }, "OAuthFlows": { "properties": { "authorizationCode": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Authorizationcode" }, "clientCredentials": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Clientcredentials" }, "implicit": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Implicit" }, "password": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Password" } }, "type": "object", "title": "OAuthFlows", "description": "Defines the configuration for the supported OAuth 2.0 flows." }, "OpenIdConnectSecurityScheme": { "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "type": { "type": "string", "const": "openIdConnect", "title": "Type" }, "openIdConnectUrl": { "type": "string", "title": "Openidconnecturl" } }, "type": "object", "required": [ "type", "openIdConnectUrl" ], "title": "OpenIdConnectSecurityScheme", "description": "Defines a security scheme using OpenID Connect." }, "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": { "additionalProperties": true, "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": {} }, "default_query_params": { "additionalProperties": true, "type": "object", "title": "Default Query Params", "description": "Key-value pairs of default query parameters to be sent with every request to this endpoint. These can be overridden by client-provided query parameters. For example: {'key': 'default_value', 'api_version': '2023-01'}", "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 }, "auth": { "type": "boolean", "title": "Auth", "description": "Whether authentication is required for the pass-through endpoint. If True, requests to the endpoint will require a valid LiteLLM API key.", "default": false }, "guardrails": { "anyOf": [ { "additionalProperties": { "anyOf": [ { "$ref": "#/components/schemas/PassThroughGuardrailSettings" }, { "type": "null" } ] }, "type": "object" }, { "type": "null" } ], "title": "Guardrails", "description": "Guardrails configuration for this passthrough endpoint. Dict keys are guardrail names, values are optional settings for field targeting. When set, all org/team/key level guardrails will also execute. Defaults to None (no guardrails execute)." }, "is_from_config": { "type": "boolean", "title": "Is From Config", "description": "True if this endpoint is defined in the config file, False if from DB. Config-defined endpoints cannot be edited via the UI.", "default": false }, "methods": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Methods", "description": "List of HTTP methods this endpoint handles (e.g., ['GET', 'POST']). If None or empty, all methods (GET, POST, PUT, DELETE, PATCH) are supported for backward compatibility. This allows the same path to have different targets for different HTTP methods." } }, "type": "object", "required": [ "path", "target" ], "title": "PassThroughGenericEndpoint" }, "PassThroughGuardrailSettings": { "properties": { "request_fields": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Request Fields", "description": "JSONPath expressions for input field targeting (pre_call). Examples: 'query', 'documents[*].text', 'messages[*].content'. If not specified, guardrail runs on entire request payload." }, "response_fields": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Response Fields", "description": "JSONPath expressions for output field targeting (post_call). Examples: 'results[*].text', 'output'. If not specified, guardrail runs on entire response payload." } }, "type": "object", "title": "PassThroughGuardrailSettings", "description": "Settings for a specific guardrail on a passthrough endpoint.\n\nAllows field-level targeting for guardrail execution." }, "PatchAgentRequest": { "properties": { "agent_name": { "type": "string", "title": "Agent Name" }, "agent_card_params": { "$ref": "#/components/schemas/AgentCard-Input" }, "litellm_params": { "additionalProperties": true, "type": "object", "title": "Litellm Params" }, "object_permission": { "$ref": "#/components/schemas/AgentObjectPermission" }, "tpm_limit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Tpm Limit" }, "rpm_limit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Rpm Limit" }, "session_tpm_limit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Session Tpm Limit" }, "session_rpm_limit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Session Rpm Limit" }, "static_headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "title": "Static Headers" }, "extra_headers": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Extra Headers" } }, "type": "object", "title": "PatchAgentRequest" }, "PatchGuardrailRequest": { "properties": { "guardrail_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Guardrail Name" }, "litellm_params": { "anyOf": [ { "$ref": "#/components/schemas/BaseLitellmParams-Input" }, { "type": "null" } ] }, "guardrail_info": { "anyOf": [ { "additionalProperties": true, "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" }, "PerTestingCriteriaResult": { "properties": { "testing_criteria_index": { "type": "integer", "title": "Testing Criteria Index" }, "result_counts": { "$ref": "#/components/schemas/ResultCounts" }, "average_score": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Average Score" } }, "type": "object", "required": [ "testing_criteria_index", "result_counts" ], "title": "PerTestingCriteriaResult", "description": "Results for a specific testing criteria" }, "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": { "type": "string", "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" ], "title": "PiiEntityType" }, "PipelineTestRequest": { "properties": { "pipeline": { "additionalProperties": true, "type": "object", "title": "Pipeline", "description": "Pipeline definition with 'mode' and 'steps'." }, "test_messages": { "items": { "additionalProperties": { "type": "string" }, "type": "object" }, "type": "array", "title": "Test Messages", "description": "Test messages to run through the pipeline, e.g. [{'role': 'user', 'content': '...'}]." } }, "type": "object", "required": [ "pipeline", "test_messages" ], "title": "PipelineTestRequest", "description": "Request body for testing a guardrail pipeline with sample messages." }, "PluginAuthor": { "properties": { "name": { "type": "string", "title": "Name", "description": "Author name" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Email", "description": "Author email" } }, "type": "object", "required": [ "name" ], "title": "PluginAuthor", "description": "Plugin author information." }, "PluginListItem": { "properties": { "id": { "type": "string", "title": "Id" }, "name": { "type": "string", "title": "Name" }, "version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Version" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "source": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Source" }, "author": { "anyOf": [ { "$ref": "#/components/schemas/PluginAuthor" }, { "type": "null" } ] }, "homepage": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Homepage" }, "keywords": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Keywords" }, "category": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Category" }, "enabled": { "type": "boolean", "title": "Enabled" }, "created_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Created At" }, "updated_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Updated At" } }, "type": "object", "required": [ "id", "name", "version", "description", "source", "enabled", "created_at", "updated_at" ], "title": "PluginListItem", "description": "Plugin item in list responses." }, "PolicyAttachmentCreateRequest": { "properties": { "policy_name": { "type": "string", "title": "Policy Name", "description": "Name of the policy to attach." }, "scope": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Scope", "description": "Use '*' for global scope (applies to all requests)." }, "teams": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Teams", "description": "Team aliases or patterns this attachment applies to." }, "keys": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Keys", "description": "Key aliases or patterns this attachment applies to." }, "models": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Models", "description": "Model names or patterns this attachment applies to." }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags", "description": "Tag patterns this attachment applies to. Supports wildcards (e.g., health-*)." } }, "type": "object", "required": [ "policy_name" ], "title": "PolicyAttachmentCreateRequest", "description": "Request body for creating a policy attachment." }, "PolicyAttachmentDBResponse": { "properties": { "attachment_id": { "type": "string", "title": "Attachment Id", "description": "Unique ID of the attachment." }, "policy_name": { "type": "string", "title": "Policy Name", "description": "Name of the attached policy." }, "scope": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Scope", "description": "Scope of the attachment." }, "teams": { "items": { "type": "string" }, "type": "array", "title": "Teams", "description": "Team patterns." }, "keys": { "items": { "type": "string" }, "type": "array", "title": "Keys", "description": "Key patterns." }, "models": { "items": { "type": "string" }, "type": "array", "title": "Models", "description": "Model patterns." }, "tags": { "items": { "type": "string" }, "type": "array", "title": "Tags", "description": "Tag patterns." }, "created_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Created At", "description": "When the attachment was created." }, "updated_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Updated At", "description": "When the attachment was last updated." }, "created_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Created By", "description": "Who created the attachment." }, "updated_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Updated By", "description": "Who last updated the attachment." } }, "type": "object", "required": [ "attachment_id", "policy_name" ], "title": "PolicyAttachmentDBResponse", "description": "Response for a policy attachment from the database." }, "PolicyAttachmentListResponse": { "properties": { "attachments": { "items": { "$ref": "#/components/schemas/PolicyAttachmentDBResponse" }, "type": "array", "title": "Attachments", "description": "List of policy attachments." }, "total_count": { "type": "integer", "title": "Total Count", "description": "Total number of attachments.", "default": 0 } }, "type": "object", "title": "PolicyAttachmentListResponse", "description": "Response for listing policy attachments." }, "PolicyConditionRequest": { "properties": { "model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Model", "description": "Model name pattern (exact match or regex) for when policy applies." } }, "type": "object", "title": "PolicyConditionRequest", "description": "Condition for when a policy applies." }, "PolicyCreateRequest": { "properties": { "policy_name": { "type": "string", "title": "Policy Name", "description": "Unique name for the policy." }, "inherit": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Inherit", "description": "Name of parent policy to inherit from." }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description", "description": "Human-readable description of the policy." }, "guardrails_add": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Guardrails Add", "description": "List of guardrail names to add." }, "guardrails_remove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Guardrails Remove", "description": "List of guardrail names to remove (from inherited)." }, "condition": { "anyOf": [ { "$ref": "#/components/schemas/PolicyConditionRequest" }, { "type": "null" } ], "description": "Condition for when this policy applies." }, "pipeline": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Pipeline", "description": "Optional guardrail pipeline for ordered execution. Contains 'mode' and 'steps'." } }, "type": "object", "required": [ "policy_name" ], "title": "PolicyCreateRequest", "description": "Request body for creating a new policy." }, "PolicyDBResponse": { "properties": { "policy_id": { "type": "string", "title": "Policy Id", "description": "Unique ID of the policy." }, "policy_name": { "type": "string", "title": "Policy Name", "description": "Name of the policy." }, "version_number": { "type": "integer", "title": "Version Number", "description": "Version number of this policy.", "default": 1 }, "version_status": { "type": "string", "title": "Version Status", "description": "One of: draft, published, production.", "default": "production" }, "parent_version_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Parent Version Id", "description": "Policy ID this version was cloned from." }, "is_latest": { "type": "boolean", "title": "Is Latest", "description": "True if this is the latest version by version_number.", "default": true }, "published_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Published At", "description": "When this version was published." }, "production_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Production At", "description": "When this version was promoted to production." }, "inherit": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Inherit", "description": "Parent policy name." }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description", "description": "Policy description." }, "guardrails_add": { "items": { "type": "string" }, "type": "array", "title": "Guardrails Add", "description": "Guardrails to add." }, "guardrails_remove": { "items": { "type": "string" }, "type": "array", "title": "Guardrails Remove", "description": "Guardrails to remove." }, "condition": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Condition", "description": "Policy condition." }, "pipeline": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Pipeline", "description": "Optional guardrail pipeline." }, "created_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Created At", "description": "When the policy was created." }, "updated_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Updated At", "description": "When the policy was last updated." }, "created_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Created By", "description": "Who created the policy." }, "updated_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Updated By", "description": "Who last updated the policy." } }, "type": "object", "required": [ "policy_id", "policy_name" ], "title": "PolicyDBResponse", "description": "Response for a policy from the database." }, "PolicyGuardrailsResponse": { "properties": { "add": { "items": { "type": "string" }, "type": "array", "title": "Add" }, "remove": { "items": { "type": "string" }, "type": "array", "title": "Remove" } }, "type": "object", "title": "PolicyGuardrailsResponse", "description": "Guardrails configuration for a policy." }, "PolicyInfoResponse": { "properties": { "policy_name": { "type": "string", "title": "Policy Name" }, "inherit": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Inherit" }, "scope": { "$ref": "#/components/schemas/PolicyScopeResponse" }, "guardrails": { "$ref": "#/components/schemas/PolicyGuardrailsResponse" }, "resolved_guardrails": { "items": { "type": "string" }, "type": "array", "title": "Resolved Guardrails" }, "inheritance_chain": { "items": { "type": "string" }, "type": "array", "title": "Inheritance Chain" } }, "type": "object", "required": [ "policy_name", "scope", "guardrails", "resolved_guardrails", "inheritance_chain" ], "title": "PolicyInfoResponse", "description": "Response for /policy/info/{policy_name} endpoint." } }