mem0ai/mem0 · error · ValueError

Top-level entity parameters {invalid_keys} are not supported

Error message

Top-level entity parameters {invalid_keys} are not supported in get_all(). Use filters={'user_id': '...'} instead.

What it means

Error "Top-level entity parameters {invalid_keys} are not supported in get_all(). Use filters={'user_id': '...'} instead." thrown in mem0ai/mem0.

Source

Thrown at mem0/client/main.py:270

        Args:
            options: Typed options for the get_all operation (GetAllMemoryOptions).
            **kwargs: Optional parameters for filtering (filters, page, page_size).

        Returns:
            A paginated dict: {"count": int, "next": str | None, "previous": str | None, "results": [...]}

        Raises:
            ValidationError: If the input data is invalid.
            AuthenticationError: If authentication fails.
            RateLimitError: If rate limits are exceeded.
            MemoryQuotaExceededError: If memory quota is exceeded.
            NetworkError: If network connectivity issues occur.
            MemoryNotFoundError: If the memory doesn't exist (for updates/deletes).
        """
        # Reject top-level entity params - must use filters instead
        invalid_keys = ENTITY_PARAMS & set(kwargs.keys())
        if invalid_keys:
            raise ValueError(
                f"Top-level entity parameters {invalid_keys} are not supported in get_all(). "
                f"Use filters={{'user_id': '...'}} instead."
            )

        kwargs = {**(options.model_dump(exclude_unset=True) if options else {}), **kwargs}
        params = self._prepare_params(kwargs)

        query_params = {key: params.pop(key) for key in ("page", "page_size") if key in params}
        if query_params:
            response = self.client.post("/v3/memories/", json=params, params=query_params)
        else:
            response = self.client.post("/v3/memories/", json=params)
        response.raise_for_status()
        if "metadata" in kwargs:
            del kwargs["metadata"]
        capture_client_event(
            "client.get_all",
            self,

View on GitHub (pinned to 001c235229)

Solutions

  1. Move entity parameters into filters, e.g. get_all(filters={'user_id': '...'}).

When it happens

Trigger: Thrown at mem0/client/main.py:270 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of mem0ai/mem0@001c235229 (2026-08-15). Data as JSON: /api/errors/784b38ebff96475e. Report an issue: GitHub.