BerriAI/litellm · error · HTTPException

API key not authorized to access this team={team_table.team_

Error message

API key not authorized to access this team={team_table.team_id}. No user_id or team_id associated with this key.

What it means

Error "API key not authorized to access this team={team_table.team_id}. No user_id or team_id associated with this key." thrown in BerriAI/litellm.

Source

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

        user_api_key_dict.user_role == LitellmUserRoles.PROXY_ADMIN.value
        or user_api_key_dict.user_role == LitellmUserRoles.PROXY_ADMIN_VIEW_ONLY.value
    ):
        return

    if user_api_key_dict.team_id == team_table.team_id:  # allow team keys to check their info
        return

    # Handle case where user_id is None (e.g., team key accessing different team)
    if user_api_key_dict.user_id is None:
        if user_api_key_dict.team_id is not None:
            raise HTTPException(
                status_code=403,
                detail={
                    "error": f"Team key for team={user_api_key_dict.team_id} not authorized to access this team={team_table.team_id}"
                },
            )
        else:
            raise HTTPException(
                status_code=403,
                detail={
                    "error": f"API key not authorized to access this team={team_table.team_id}. No user_id or team_id associated with this key."
                },
            )

    # Check direct team membership
    if user_api_key_dict.user_id in [m.user_id for m in team_table.members_with_roles]:
        return

    # Check if user is an org admin for the team's organization
    if await _is_user_org_admin_for_team(user_api_key_dict=user_api_key_dict, team_obj=team_table):
        return

    raise HTTPException(
        status_code=403,
        detail={"error": f"User={user_api_key_dict.user_id} not authorized to access this team={team_table.team_id}"},
    )

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Use a key that has an associated user_id or team_id, or a proxy admin key.

When it happens

Trigger: Thrown at litellm/proxy/management_endpoints/team_endpoints.py:4034 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/486fdd9b7e13c41c. Report an issue: GitHub.