From 1853f961b0ba95c3335ae0174b082577d81a694d Mon Sep 17 00:00:00 2001 From: PRABHU KIRAN VANDRANKI <72809214+VANDRANKI@users.noreply.github.com> Date: Mon, 18 May 2026 21:15:13 -0400 Subject: [PATCH] fix(proxy): add model_max_budget to NewTeamRequest and UpdateTeamRequest model_max_budget (per-model budget dict) was missing from both NewTeamRequest and UpdateTeamRequest. Sending the field via POST /team/new or POST /team/update silently discarded it because Pydantic strips undeclared fields before serialization. The column exists in LiteLLM_TeamTable and is JSON-serialized by jsonify_object, so adding the field to both request types is sufficient. Fixes #28188 --- litellm/proxy/_types.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/litellm/proxy/_types.py b/litellm/proxy/_types.py index d4fa497698a..fabce7fc1fd 100644 --- a/litellm/proxy/_types.py +++ b/litellm/proxy/_types.py @@ -1819,6 +1819,7 @@ class TeamBase(LiteLLMPydanticObjectBase): class NewTeamRequest(TeamBase): model_aliases: Optional[dict] = None + model_max_budget: Optional[dict] = None tags: Optional[list] = None guardrails: Optional[List[str]] = None policies: Optional[List[str]] = None @@ -1906,6 +1907,7 @@ class UpdateTeamRequest(LiteLLMPydanticObjectBase): allowed_vector_store_indexes: Optional[List[AllowedVectorStoreIndexItem]] = None enforced_batch_output_expires_after: Optional[dict] = None enforced_file_expires_after: Optional[dict] = None + model_max_budget: Optional[dict] = None router_settings: Optional[dict] = None access_group_ids: Optional[List[str]] = None budget_limits: Optional[List[BudgetLimitEntry]] = (