--- title: Update Memory description: Modify an existing memory by updating its content or metadata. icon: "pen-to-square" iconType: "solid" --- # Keep Memories Accurate with Update Mem0’s update operation lets you fix or enrich an existing memory without deleting it. When a user changes their preference or clarifies a fact, use update to keep the knowledge base fresh. **Why it matters** - Corrects outdated or incorrect memories immediately. - Adds new metadata so filters and rerankers stay sharp. - Works for both one-off edits and large batches (up to 1000 memories). ## Key terms - **memory_id** – Unique identifier returned by `add` or `search` results. - **text** / **data** – New content that replaces the stored memory value. - **metadata** – Optional key-value pairs you update alongside the text. - **timestamp** – Unix epoch (int/float) or ISO 8601 string to override the memory's timestamp. - **batch_update** – Platform API that edits multiple memories in a single request. - **immutable** – Flagged memories that must be deleted and re-added instead of updated. ## How the update flow works Use `search` or dashboard inspection to capture the `memory_id` you want to change. Call `update` (or `batch_update`) with new text and optional metadata. Mem0 overwrites the stored value and adjusts indexes. Check the response or re-run `search` to ensure the revised memory appears with the new content. ## Single memory update (Platform) ```python Python from mem0 import MemoryClient client = MemoryClient(api_key="your-api-key") memory_id = "your_memory_id" client.update( memory_id=memory_id, text="Updated memory content about the user", metadata={"category": "profile-update"}, timestamp="2025-01-15T12:00:00Z" ) ``` ```javascript JavaScript import MemoryClient from 'mem0ai'; const client = new MemoryClient({ apiKey: "your-api-key" }); const memory_id = "your_memory_id"; await client.update(memory_id, { text: "Updated memory content about the user", metadata: { category: "profile-update" }, timestamp: "2025-01-15T12:00:00Z" }); ``` Expect a confirmation message and the updated memory to appear in the dashboard almost instantly. ## Batch update (Platform) Update up to 1000 memories in one call. ```python Python from mem0 import MemoryClient client = MemoryClient(api_key="your-api-key") update_memories = [ {"memory_id": "id1", "text": "Watches football"}, {"memory_id": "id2", "text": "Likes to travel"} ] response = client.batch_update(update_memories) print(response) ``` ```javascript JavaScript import MemoryClient from 'mem0ai'; const client = new MemoryClient({ apiKey: "your-api-key" }); const updateMemories = [ { memoryId: "id1", text: "Watches football" }, { memoryId: "id2", text: "Likes to travel" } ]; client.batchUpdate(updateMemories) .then(response => console.log('Batch update response:', response)) .catch(error => console.error(error)); ``` ## Update with Mem0 OSS ```python Python from mem0 import Memory memory = Memory() memory.update( memory_id="mem_123", data="Alex now prefers decaf coffee", ) ``` ``` ``` OSS JavaScript SDK does not expose `update` yet—use the REST API or Python SDK when self-hosting. ## Tips - Update both `text` **and** `metadata` together to keep filters accurate. - Batch updates are ideal after large imports or when syncing CRM corrections. - Immutable memories must be deleted and re-added instead of updated. - Pair updates with feedback signals (thumbs up/down) to self-heal memories automatically. **MCP Alternative**: With Mem0 MCP, AI agents can update their own memories when users correct information. ## Managed vs OSS differences | Capability | Mem0 Platform | Mem0 OSS | | --- | --- | --- | | Update call | `client.update(memory_id, {...})` | `memory.update(memory_id, data=...)` | | Batch updates | `client.batch_update` (up to 1000 memories) | Script your own loop or bulk job | | Dashboard visibility | Inspect updates in the UI | Inspect via logs or custom tooling | | Immutable handling | Returns descriptive error | Raises exception—delete and re-add | ## Put it into practice - Review the Update Memory API reference for request/response details. - Combine updates with Feedback Mechanism to automate corrections. ## See it live - Support Inbox with Mem0 uses updates to refine customer profiles. - AI Tutor with Mem0 demonstrates user preference corrections mid-course. {/* DEBUG: verify CTA targets */}