Update a memory in place
memory_updateUpdate specific fields of an existing memory to fix typos, retag, or adjust importance. Changes to content trigger re-embedding asynchronously.
Instructions
Edit a memory in place — only the fields you pass are changed. Editable: title, content, tags, importance, memory_type, pinned. Use for typo fixes, retagging, importance tuning. For meaningful changes you'd want history for (e.g. a reversed decision), prefer memory_store(supersedes_id=...) instead. Side effect: when content changes, the embedding is re-queued and dedup may run. Returns not found for missing ids.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| memory_id | Yes | Id of the memory to update (e.g. `mem_01HXYZ...`). | |
| title | No | New title (single line). Omit to leave unchanged. | |
| content | No | New body in markdown. Omit to leave unchanged. When changed, the embedding is re-computed asynchronously. | |
| tags | No | Replacement tag list. Omit to leave unchanged. Pass `[]` to clear all tags. | |
| importance | No | New importance score in [0, 1]. Omit to leave unchanged. | |
| memory_type | No | New memory_type (e.g. `fact`, `decision`). Omit to leave unchanged. | |
| pinned | No | New pinned state. Omit to leave unchanged. Equivalent to calling `memory_pin` separately. | |
| dedup | No | Per-call override for duplicate handling when `content` changes. Mirrors `memory_store.dedup`. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | `Memory <id> updated.` on success, `Memory <id> not found.` when missing, or a dedup-rejection sentence when `dedup="strict"` blocks the change. |