BerriAI/litellm · error · HTTPException
Group already exists with ID: {team_id}
Error message
Group already exists with ID: {team_id} What it means
SCIM POST /Groups: the generated or supplied team_id (group.id or externalId) already maps to an existing LiteLLM team, so creating a duplicate group is refused with a conflict HTTPException. At-fault input is a group id colliding with an existing team.
Source
Thrown at litellm/proxy/management_endpoints/scim/scim_v2.py:2123
):
"""
Create a group according to SCIM v2 protocol
"""
verbose_proxy_logger.debug(
"SCIM CREATE GROUP request: %s",
group.model_dump(),
)
try:
prisma_client: Final = await _get_prisma_client_or_raise_exception()
# Generate ID if not provided
team_id: Final = group.id or group.externalId or str(uuid.uuid4())
# Check if team already exists
existing_team: Final = await _table(TeamRepository(prisma_client)).find_unique(where={"team_id": team_id})
if existing_team:
raise HTTPException(
status_code=409,
detail={"error": f"Group already exists with ID: {team_id}"},
)
# Extract and validate group members (all users must exist)
member_result: Final = await _extract_group_member_ids(group)
members_with_roles = [Member(user_id=member_id, role="user") for member_id in member_result.all_member_ids]
# Create team in database
created_team: Final = await new_team(
data=NewTeamRequest(
team_id=team_id,
team_alias=group.displayName,
members_with_roles=members_with_roles,
metadata={SCIM_MANAGED_TEAM_METADATA_KEY: True},
),
http_request=Request(scope={"type": "http", "path": "/scim/v2/Groups"}),
user_api_key_dict=UserAPIKeyAuth(user_role=LitellmUserRoles.PROXY_ADMIN),View on GitHub (pinned to 77b7c6c40c)
Solutions
- Use a different group ID, or update the existing group via PATCH /Groups/{id}.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/management_endpoints/scim/scim_v2.py:2123 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/06c21723c5649140.
Report an issue: GitHub.