# Memory actions

> Memory: 3 Xholic actions (1 read, 2 change), each with its MCP tool, REST endpoint and CLI command.

Source: https://docs.xholic.ai/actions/memory/

3 actions. Every field marked *Required* must be sent; `account`, `dryRun`, `idempotencyKey`, `confirmCredits` and `quoteId` are the [control fields](/api/responses/#control-fields) every surface adds.

## Remember

`memory.remember` · write

Save a fact, writing preference or answer about the user to the memory every Xholic writer reads. Only things the user told you or confirmed.

- **MCP tool:** `remember`. Loaded by default in MCP clients.
- **REST:** `POST /v1/memory/remember`
- **CLI:** `xholic memory remember`
- **Scope:** `write`
- **Plan:** Every plan, including the trial
- **Cost:** Free.
- **Rate limit bucket:** `write`

**Input**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `fact` | string ≤ 300 chars | Yes |  |
| `kind` | "WRITING" \\| "FACT" \\| "ANSWER" | Yes | WRITING: how they want their posts, replies or DMs written (tone, words, emoji, length, format). FACT: something true about them, their business, product, prices or audience. ANSWER: how they want Ask itself to answer them (format, language, detail). |
| `account` | string ≤ 64 chars | No | X account to act on, as @handle. Leave it out to use the connection's default account. |
| `dryRun` | boolean | No | Return exactly what would happen without doing it. |
| `idempotencyKey` | string ≤ 200 chars | No | A unique key for this write. Repeating a call with the same key returns the first result instead of acting twice. |

## Forget

`memory.forget` · write

Remove a memory the user says is wrong or outdated.

- **MCP tool:** `forget`. Loaded by default in MCP clients.
- **REST:** `POST /v1/memory/forget`
- **CLI:** `xholic memory forget`
- **Scope:** `write`
- **Plan:** Every plan, including the trial
- **Cost:** Free.
- **Rate limit bucket:** `write`

**Input**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `memoryId` | string (uuid) | Yes |  |
| `fact` | string ≤ 300 chars | No | The memory's text, shown on the approval card. |
| `account` | string ≤ 64 chars | No | X account to act on, as @handle. Leave it out to use the connection's default account. |
| `dryRun` | boolean | No | Return exactly what would happen without doing it. |
| `idempotencyKey` | string ≤ 200 chars | No | A unique key for this write. Repeating a call with the same key returns the first result instead of acting twice. |

## Saved memories

`memory.list` · read

Everything the user told Xholic to remember. Add with remember, remove with forget.

- **MCP tool:** `memory_list`. Catalog: reach it with `find_actions` and `run_read_action`, or turn on the full toolset.
- **REST:** `GET /v1/memory/list`
- **CLI:** `xholic memory list`
- **Scope:** `read`
- **Plan:** Every plan, including the trial
- **Cost:** Free.
- **Rate limit bucket:** `read`

**Input**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `account` | string ≤ 64 chars | No | X account to act on, as @handle. Leave it out to use the connection's default account. |
