BerriAI/litellm · error · HTTPException
The {op_type} operation on {base} requires a 'value' member
Error message
The {op_type} operation on {base} requires a 'value' member (RFC 7644 Section 3.5.2) What it means
For add/replace on a multi-valued attribute, RFC 7644 requires a 'value' member in the operation; when the op payload's value is None the update cannot proceed and a 400 naming the op_type and attribute is raised.
Source
Thrown at litellm/proxy/management_endpoints/scim/scim_v2.py:1754
return path.split("[", 1)[0].split(".", 1)[0]
def _handle_multi_valued_attribute_update(path: str, op_type: str, value: object, metadata: dict[str, object]) -> None:
"""Handle add/replace/remove for the entitlements and roles multi-valued attributes."""
base: Final = _multi_valued_attribute_base(path)
metadata_key: Final = SCIM_MULTI_VALUED_ATTRIBUTE_METADATA_KEYS[base]
if path != base:
raise HTTPException(
status_code=400,
detail={"error": f"Filtered or sub-attribute paths are not supported for {base}; PATCH the full attribute"},
)
if op_type == "remove":
metadata.pop(metadata_key, None)
return
if value is None:
raise HTTPException(
status_code=400,
detail={"error": f"The {op_type} operation on {base} requires a 'value' member (RFC 7644 Section 3.5.2)"},
)
normalized: Final = value if isinstance(value, list) else [value]
try:
attrs: Final = SCIM_MULTI_VALUED_LIST_ADAPTER.validate_python(normalized)
except ValidationError:
raise HTTPException(
status_code=400,
detail={"error": f"Invalid value for {base}: expected a list of objects with a 'value' sub-attribute"},
)
dumped: Final = [attr.model_dump(exclude_none=True) for attr in attrs]
existing: Final = metadata.get(metadata_key)
if op_type == "add" and isinstance(existing, list):
metadata[metadata_key] = existing + dumped
returnView on GitHub (pinned to 77b7c6c40c)
Solutions
- Include a 'value' member in the PATCH operation per RFC 7644 Section 3.5.2.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at litellm/proxy/management_endpoints/scim/scim_v2.py:1754 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/102296da81ed1523.
Report an issue: GitHub.