> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lyzr.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Delete Memories

> Delete individual memory records or all memories for a given scope from Cognis.

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

```python theme={null}
cog.delete(
    memory_id: str,
    owner_id: str | None = None,
) -> Dict[str, Any]
```

### Parameters

| Parameter   | Type  | Required | Description                              |
| ----------- | ----- | -------- | ---------------------------------------- |
| `memory_id` | `str` | Yes      | The ID of the memory record to delete.   |
| `owner_id`  | `str` | No       | Owner identifier for additional scoping. |

### Response

```json theme={null}
{
  "success": true,
  "message": "Memory deleted successfully",
  "memory_id": "mem_abc123"
}
```

### Basic usage

<Tabs>
  <Tab title="Hosted (lyzr-adk)">
    ```python theme={null}
    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", ...}
    ```
  </Tab>

  <Tab title="Open Source (lyzr-cognis)">
    ```python theme={null}
    from cognis import Cognis

    m = Cognis(owner_id="user_alice")

    result = m.delete(memory_id="mem_abc123")
    print(result)

    m.close()
    ```
  </Tab>
</Tabs>

## Delete all memories for a scope

### Method signature

```python theme={null}
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

| Parameter    | Type  | Required    | Description                           |
| ------------ | ----- | ----------- | ------------------------------------- |
| `owner_id`   | `str` | Conditional | Delete all memories for this owner.   |
| `agent_id`   | `str` | Conditional | Delete all memories for this agent.   |
| `session_id` | `str` | Conditional | Delete all memories for this session. |

### Usage

```python theme={null}
# 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

```python theme={null}
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](./get-memories) to review the records in a scope before calling it in production.
