BerriAI/litellm · error · HTTPException

Invalid member: user ID cannot be empty.

Error message

Invalid member: user ID cannot be empty.

What it means

_member_value validates that each SCIM group member carries a non-empty value (the user id); an empty or whitespace-only value is unresolvable, so the request is rejected with 400 before any classification happens. At-fault input is SCIMMember.value empty/blank.

Source

Thrown at litellm/proxy/management_endpoints/scim/scim_v2.py:493


class _UnknownMember(NamedTuple):
    value: str


_ClassifiedGroupMember = Union[_ResolvedUserMember, _SkippedGroupMember, _UnknownMember]


class _PartitionedMembers(NamedTuple):
    resolved_ids: tuple[str, ...]
    skipped: tuple[_SkippedGroupMember, ...]
    unknown_ids: tuple[str, ...]


def _member_value(member: SCIMMember) -> str:
    """A member id is opaque to us but has to be there; an empty one is a client error."""
    if not member.value or not member.value.strip():
        raise HTTPException(
            status_code=400,
            detail={"error": "Invalid member: user ID cannot be empty."},
        )
    return member.value


def _normalized_member_type(member: SCIMMember) -> str | None:
    """The canonical ``type`` a member declares, lowercased; blank or absent means none."""
    normalized: Final = (member.type or "").strip().lower()
    return normalized or None


_JSON_OBJECT_ADAPTER: Final = TypeAdapter(dict[str, object])


def _json_object_fields(raw: object) -> Mapping[str, object] | None:
    """A typed, read-only view of a JSON object, or None when it is not one."""
    try:

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Provide a non-empty user ID (value) for each member in the group payload.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/proxy/management_endpoints/scim/scim_v2.py:493 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/b04d118b2eb0660b. Report an issue: GitHub.