BerriAI/litellm · error · HTTPException

team_id '{UI_TEAM_ID}' is reserved for LiteLLM UI dashboard

Error message

team_id '{UI_TEAM_ID}' is reserved for LiteLLM UI dashboard sessions and cannot be used for a real team. Please use a different team id.

What it means

Reserved-id guard: team_id UI_TEAM_ID is used internally for LiteLLM UI dashboard sessions; creating a real team with that id would collide with UI session machinery, so a 400 with guidance to pick another id is raised.

Source

Thrown at litellm/proxy/management_endpoints/team_endpoints.py:1316

            data=data,
            existing_metadata=None,
            user_api_key_dict=user_api_key_dict,
            entity="team",
        )

        # Check if license is over limit
        total_teams: Final = await _team_db(prisma_client).count()
        if total_teams and _license_check.is_team_count_over_limit(team_count=total_teams):
            raise HTTPException(
                status_code=403,
                detail="License is over limit. Please contact support@berri.ai to upgrade your license.",
            )

        if data.team_id is None:
            data.team_id = str(uuid.uuid4())
        else:
            if data.team_id == UI_TEAM_ID:
                raise HTTPException(
                    status_code=400,
                    detail={
                        "error": f"team_id '{UI_TEAM_ID}' is reserved for LiteLLM UI dashboard sessions and cannot be used for a real team. Please use a different team id."
                    },
                )
            # Check if team_id exists already
            _existing_team_id: Final = await prisma_client.get_data(
                team_id=data.team_id, table_name="team", query_type="find_unique"
            )
            if _existing_team_id is not None:
                raise HTTPException(
                    status_code=400,
                    detail={"error": f"Team id = {data.team_id} already exists. Please use a different team id."},
                )

        if data.organization_id is None:
            default_organization_id: Final = _get_default_team_param("organization_id")
            if isinstance(default_organization_id, str):

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Use a different team id; the UI-reserved id cannot be used for real teams.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/management_endpoints/team_endpoints.py:1316 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/fcf9c70372f81772. Report an issue: GitHub.