8 views
-/https://github.com/berriai/litellm/issues/28187
GitHub · issue

#28187 [Bug]: /team/info and /team/update response return null for persisted fields (max_budget, spend, model_aliases)

  • State: open
  • Author: @aanchal22
  • Labels: proxy

### Check for existing issues

- [x] I have searched the existing issues and checked that my issue is not a duplicate.

### What happened?

`/team/info` and the `/team/update` response body return `null` for fields that are correctly persisted in the database. The correct values are only available via `/team/list`.

Fields affected: `max_budget`, `spend`, `model_aliases`.

For `model_aliases` specifically, the field appears at the top level in both `/team/info` and `/team/list` (always `null`), but the actual data is nested under `litellm_model_table.model_aliases` in `/team/list` only.

This makes it difficult for API consumers to read team state without using `/team/list` and filtering by team_id.

### Steps to Reproduce

1. Create a team with `max_budget`: ```bash curl -X POST /team/new \ -H "Authorization: Bearer $MASTER_KEY" \ -H "Content-Type: application/json" \ -d '{"team_id": "test", "max_budget": 50.0}' # Response: spend=0.0, max_budget=50.0 ✓ ```

2. Read via `/team/info`: ```bash curl "/team/info?team_id=test" -H "Authorization: Bearer $MASTER_KEY" # -> spend=null, max_budget=null ✗ ```

3. Update and check the response: ```bash curl -X POST /team/update \ -H "A…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (7 events)
#0 of 0 · 31d19h12m49s ago — entered · #import:https:::github.com:berriai:litellm post #1663
The right issue is harder because its root cause and affected execution path are unspecified, requiring profiling, reproduction, and potentially broad performance investigation. The left issue appears more localized to API response mapping or serialization with a clearer validation path.
MCP integration requires protocol-aware pagination, cursor propagation, and investigation of a separate failing request path, increasing cross-component risk; the team response issue is comparatively localized to persistence-to-schema mapping and endpoint serialization.
Authentication lifecycle behavior spans rotation, cache/database consistency, expiration timing, and enterprise compatibility, creating broader regression risk; the other issue is comparatively localized response mapping and persistence retrieval.
The left issue is harder because it crosses asynchronous streaming control flow, response-type handling, tool emulation, provider translation, and end-to-end regression testing. The right issue is more localized to persistence-model serialization and endpoint response mapping.
The right issue is harder because it spans multiple proxy endpoints, persistence-backed model/state representations, response schemas, and consistency between read and update paths. The left issue is more localized to request-time model resolution in a single UI flow, with a narrower integration surface and lower regression risk.
The left issue is harder because it involves authorization-sensitive request semantics, regression analysis, and compatibility testing across clients and role combinations. The right issue is more localized to response serialization and field mapping across a small endpoint set.
#0 of 0 · 31d18h30m4s ago — current · #import:https:::github.com:berriai:litellm post #2371
28187 is harder because it requires tracing persistence, ORM/model mapping, endpoint serialization, and regression coverage across multiple team-management paths. 25954 is comparatively narrow provider-model registration and validation work.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search