feat(proxy): accept spend on /team/member_update request/response models

This commit is contained in:
Andrii Butko 2026-06-24 14:41:08 +02:00
parent 29c254d3d3
commit f6a05da3b1
2 changed files with 19 additions and 0 deletions

View file

@ -3684,6 +3684,10 @@ class TeamMemberUpdateRequest(TeamMemberDeleteRequest):
default=None,
description="List of models this team member can access. Pass an empty list to remove per-member model restrictions.",
)
spend: Optional[float] = Field(
default=None,
description="Reset this team member's accrued spend to the given value (admin only). Typically 0 to clear usage.",
)
class TeamMemberUpdateResponse(MemberUpdateResponse):
@ -3693,6 +3697,7 @@ class TeamMemberUpdateResponse(MemberUpdateResponse):
rpm_limit: Optional[int] = None
budget_duration: Optional[str] = None
allowed_models: Optional[List[str]] = None
spend: Optional[float] = None
class TeamModelAddRequest(BaseModel):

View file

@ -17,6 +17,20 @@ from litellm.proxy._types import (
from litellm.proxy.management_endpoints.team_endpoints import team_member_update
def test_team_member_update_models_accept_spend():
"""The request/response models must carry an optional `spend` so an admin
can reset a team member's accrued spend via /team/member_update."""
from litellm.proxy._types import TeamMemberUpdateResponse
req = TeamMemberUpdateRequest(team_id="t", user_id="u", spend=0.0)
assert req.spend == 0.0
resp = TeamMemberUpdateResponse(
team_id="t", user_id="u", user_email=None, spend=0.0
)
assert resp.spend == 0.0
@pytest.mark.asyncio
async def test_ateam_member_update_admin_requires_premium(monkeypatch):
# Arrange: patch prisma_client and premium_user