diff --git a/letta/server/rest_api/routers/v1/identities.py b/letta/server/rest_api/routers/v1/identities.py index fa155e13..ecb6c7cc 100644 --- a/letta/server/rest_api/routers/v1/identities.py +++ b/letta/server/rest_api/routers/v1/identities.py @@ -20,13 +20,16 @@ def list_identities( after: Optional[str] = Query(None), limit: Optional[int] = Query(50), server: "SyncServer" = Depends(get_letta_server), + user_id: Optional[str] = Header(None, alias="user_id"), # Extract user_id from header, default to None if not present ): """ Get a list of all identities in the database """ try: + actor = server.user_manager.get_user_or_default(user_id=user_id) + identities = server.identity_manager.list_identities( - name=name, project_id=project_id, identity_type=identity_type, before=before, after=after, limit=limit + name=name, project_id=project_id, identity_type=identity_type, before=before, after=after, limit=limit, actor=actor ) except HTTPException: raise diff --git a/letta/services/identity_manager.py b/letta/services/identity_manager.py index 7372a34c..43228e47 100644 --- a/letta/services/identity_manager.py +++ b/letta/services/identity_manager.py @@ -27,6 +27,7 @@ class IdentityManager: before: Optional[str] = None, after: Optional[str] = None, limit: Optional[int] = 50, + actor: PydanticUser = None, ) -> list[PydanticIdentity]: with self.session_maker() as session: filters = {"organization_id": actor.organization_id}