{"record":{"id":"d2d42275e51461a3","repo":"BerriAI/litellm","slug":"invalid-value-for-base-expected-a-list-of-objec","errorCode":null,"errorMessage":"Invalid value for {base}: expected a list of objects with a 'value' sub-attribute","messagePattern":"Invalid value for (.+?): expected a list of objects with a 'value' sub-attribute","errorType":"http","errorClass":"HTTPException","httpStatus":400,"severity":"error","filePath":"litellm/proxy/management_endpoints/scim/scim_v2.py","lineNumber":1763,"sourceCode":"            status_code=400,\n            detail={\"error\": f\"Filtered or sub-attribute paths are not supported for {base}; PATCH the full attribute\"},\n        )\n\n    if op_type == \"remove\":\n        metadata.pop(metadata_key, None)\n        return\n\n    if value is None:\n        raise HTTPException(\n            status_code=400,\n            detail={\"error\": f\"The {op_type} operation on {base} requires a 'value' member (RFC 7644 Section 3.5.2)\"},\n        )\n\n    normalized: Final = value if isinstance(value, list) else [value]\n    try:\n        attrs: Final = SCIM_MULTI_VALUED_LIST_ADAPTER.validate_python(normalized)\n    except ValidationError:\n        raise HTTPException(\n            status_code=400,\n            detail={\"error\": f\"Invalid value for {base}: expected a list of objects with a 'value' sub-attribute\"},\n        )\n\n    dumped: Final = [attr.model_dump(exclude_none=True) for attr in attrs]\n    existing: Final = metadata.get(metadata_key)\n    if op_type == \"add\" and isinstance(existing, list):\n        metadata[metadata_key] = existing + dumped\n        return\n    metadata[metadata_key] = dumped\n\n\ndef _handle_generic_metadata(path: str, op_type: str, value: object, metadata: dict[str, object]) -> None:\n    \"\"\"Handle generic metadata operations for unknown paths.\"\"\"\n    if op_type == \"remove\":\n        metadata.pop(path, None)\n    else:\n        metadata[path] = value","sourceCodeStart":1745,"sourceCodeEnd":1781,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/management_endpoints/scim/scim_v2.py#L1745-L1781","documentation":"The 'value' member is present but does not normalize into the expected list of objects with a 'value' sub-attribute (adapter validation fails). The PATCH op is rejected with 400; at-fault input is a malformed multi-valued attribute value.","triggerScenarios":"Thrown at litellm/proxy/management_endpoints/scim/scim_v2.py:1763 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Send a list of objects each containing a 'value' sub-attribute for this attribute."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}