Skip to main content
These v4 endpoints operate on extracted memories (not raw documents). SDK support coming soon — use fetch or cURL for now.For document management (list, get, update, delete), see Document Operations. For ingesting raw content (text, files, URLs) through the processing pipeline, see Add Context.

Create Memories

Create memories directly without going through the document ingestion workflow. Memories are embedded and immediately searchable. This is useful for storing user preferences, traits, or any structured facts where you already know the exact memory content.

Parameters

Response

When to use this vs Add Context?Use Create Memories when you already know the exact facts to store (user preferences, traits, structured data). Use Add Context when you have raw content (conversations, documents, URLs) that Supermemory should process and extract memories from.

Forget Memory

Soft-delete a single memory — excluded from search results but preserved in the database. Identify it by id or by exact content, scoped to its containerTag.

Parameters

* Either id or content must be provided. The memory will no longer appear in search results but remains in the database (isForgotten=true).

Forget Matching

Forget in bulk in one call, two ways. Give a query (a prompt or topic) and the service semantically searches the container, an LLM decides which memories are genuinely about your target, and those are soft-deleted — use this for “forget everything about X”. Or give an explicit ids list to forget exactly those memories with no search. Provide one or the other.
This is a bulk, destructive operation. Always dryRun first to review what would be forgotten, then re-run with dryRun: false. The match is semantic, so a too-broad query can select more than you intend — threshold and maxForget bound the blast radius.

Parameters

* Provide either query or ids.

Response

Identity is server-owned: the LLM only ever references opaque handles for the memories a search returned, so it can never forget a memory outside the results it reviewed, and every operation is scoped to the containerTag you pass.
Exact, bound deletes. Applying with a query re-runs the semantic match, so the result can drift from the preview if the container changed in between. To forget precisely what you reviewed, take the ids from a dryRun preview and send them back as ids on the apply — the delete is then bound to exactly that set. (ids with dryRun: true returns the validated set as candidates without deleting, so you can confirm first.)

Update Memory (Versioned)

Update a memory by creating a new version. The original is preserved with isLatest=false.

Parameters

* Either id or content must be provided.

Next Steps