Skip to main content
Cognis provides two deletion methods: delete() removes a specific memory record by ID, and delete_all() removes all memories matching a scope.

Delete a single memory

Method signature

cog.delete(
    memory_id: str,
    owner_id: str | None = None,
) -> Dict[str, Any]

Parameters

ParameterTypeRequiredDescription
memory_idstrYesThe ID of the memory record to delete.
owner_idstrNoOwner identifier for additional scoping.

Response

{
  "success": true,
  "message": "Memory deleted successfully",
  "memory_id": "mem_abc123"
}

Basic usage

from lyzr import Cognis

cog = Cognis(api_key="sk-your-api-key")

result = cog.delete(
    memory_id="mem_abc123",
    owner_id="user_alice",
)
print(result)
# {"success": True, "message": "Memory deleted successfully", ...}

Delete all memories for a scope

Method signature

cog.delete_all(
    owner_id: str | None = None,
    agent_id: str | None = None,
    session_id: str | None = None,
) -> Dict[str, Any]
At least one of owner_id, agent_id, or session_id must be provided.

Parameters

ParameterTypeRequiredDescription
owner_idstrConditionalDelete all memories for this owner.
agent_idstrConditionalDelete all memories for this agent.
session_idstrConditionalDelete all memories for this session.

Usage

# Delete all memories for a user
result = cog.delete_all(owner_id="user_alice")

# Delete all memories for a specific session
result = cog.delete_all(owner_id="user_alice", session_id="sess_001")

# Delete all memories for a specific agent across all users
result = cog.delete_all(agent_id="support_bot")

Async usage

import asyncio
from lyzr import Cognis

async def main():
    async with Cognis(api_key="sk-your-api-key") as cog:
        # Delete a single memory
        await cog.adelete(memory_id="mem_abc123")

        # Delete all memories for a user
        await cog.adelete_all(owner_id="user_alice")

asyncio.run(main())
delete_all() is irreversible. Use Get Memories to review the records in a scope before calling it in production.