Skip to main content

Make Platform Memory Operations Smarter

Prerequisites
  • Platform workspace with API key
  • Python 3.10+ and Node.js 18+
  • Async memories enabled in your dashboard (Settings → Memory Options)
Need a refresher on the core concepts first? Review the Add Memory overview, then come back for the advanced flow.

Install and authenticate

  • Python
  • TypeScript
1

Install the SDK with async extras

pip install "mem0ai[async]"
2

Export your API key

export MEM0_API_KEY="sk-platform-..."
3

Create an async client

import os
from mem0 import AsyncMemoryClient

memory = AsyncMemoryClient(api_key=os.environ["MEM0_API_KEY"])

Add memories with metadata and graph context

  • Python
  • TypeScript
1

Record conversations with metadata

conversation = [
    {"role": "user", "content": "I'm Morgan, planning a 3-week trip to Japan in May."},
    {"role": "assistant", "content": "Great! I'll track dietary notes and cities you mention."},
    {"role": "user", "content": "Please remember I avoid shellfish and prefer boutique hotels in Tokyo."},
]

result = await memory.add(
    conversation,
    user_id="traveler-42",
    metadata={"trip": "japan-2025", "preferences": ["boutique", "no-shellfish"]},
    enable_graph=True,
    run_id="planning-call-1",
)
Successful calls return memories tagged with the metadata you passed. In the dashboard, confirm a graph edge between “Morgan” and “Tokyo” and verify the trip=japan-2025 tag exists.

Retrieve and refine

  • Python
  • TypeScript
1

Filter by metadata + reranker

matches = await memory.search(
    "Any food alerts?",
    user_id="traveler-42",
    filters={"metadata.trip": "japan-2025"},
    rerank=True,
    include_vectors=False,
)
2

Update a memory inline

await memory.update(
    memory_id=matches["results"][0]["id"],
    content="Morgan avoids shellfish and prefers boutique hotels in central Tokyo.",
)
Need to pause graph writes on a per-request basis? Pass enableGraph: false (TypeScript) or enable_graph=False (Python) when latency matters more than relationship building.

Clean up

  • Python
  • TypeScript
1

Delete scoped memories

await memory.delete_all(user_id="traveler-42", run_id="planning-call-1")

Quick recovery

  • Missing required key enableGraph: update the SDK to mem0ai>=0.4.0.
  • Graph backend unavailable: retry with enableGraph=False and inspect your graph provider status.
  • Empty results with filters: log filters values and confirm metadata keys match (case-sensitive).
Metadata keys become part of your filtering schema. Stick to lowercase snake_case (trip_id, preferences) to avoid collisions down the road.