{"record":{"id":"cd52401a79566f5e","repo":"mem0ai/mem0","slug":"top-level-entity-parameters-invalid-keys-are-not-cd5240","errorCode":null,"errorMessage":"Top-level entity parameters {invalid_keys} are not supported in {method_name}(). Use filters={'user_id': '...'} instead.","messagePattern":"Top-level entity parameters (.+?) are not supported in (.+?)\\(\\)\\. Use filters=(.+?) instead\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"mem0/memory/main.py","lineNumber":169,"sourceCode":"    On the update path `existing_payload` carries the memory's current scope, so\n    re-sending an identical value is silently accepted; only a changed value warns.\n    On the creation path there is no prior payload, so pass an empty dict and every\n    identity key present in `metadata` is dropped with a warning.\n    \"\"\"\n    clean = {}\n    for key, value in metadata.items():\n        if key not in _IDENTITY_KEYS:\n            clean[key] = value\n        elif value != existing_payload.get(key):\n            logger.warning(f\"{context}: ignoring metadata['{key}'] - identity fields cannot be set through metadata\")\n    return clean\n\n\ndef _reject_top_level_entity_params(kwargs: Dict[str, Any], method_name: str) -> None:\n    \"\"\"Reject top-level entity parameters - must use filters instead.\"\"\"\n    invalid_keys = ENTITY_PARAMS & set(kwargs.keys())\n    if invalid_keys:\n        raise ValueError(\n            f\"Top-level entity parameters {invalid_keys} are not supported in {method_name}(). \"\n            f\"Use filters={{'user_id': '...'}} instead.\"\n        )\n\n\ndef _validate_and_trim_entity_id(value: Optional[Any], name: str) -> Optional[str]:\n    \"\"\"\n    Validates and normalizes an entity ID.\n    - Coerces non-string values (e.g. integer ids) to str\n    - Trims leading/trailing whitespace\n    - Rejects empty or whitespace-only strings\n    - Rejects strings containing internal whitespace\n\n    Args:\n        value: The entity ID value to validate\n        name: The parameter name (for error messages)\n\n    Returns:","sourceCodeStart":151,"sourceCodeEnd":187,"githubUrl":"https://github.com/mem0ai/mem0/blob/001c235229be8795e3834520467bd0d661ed8f34/mem0/memory/main.py#L151-L187","documentation":"Error \"Top-level entity parameters {invalid_keys} are not supported in {method_name}(). Use filters={'user_id': '...'} instead.\" thrown in mem0ai/mem0.","triggerScenarios":"Thrown at mem0/memory/main.py:169 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Move entity parameters into filters, e.g. method(filters={'user_id': '...'})."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"001c235229be8795e3834520467bd0d661ed8f34","analyzedAt":"2026-08-15T01:55:42.685Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}