Skip to main content
Send any raw content to Supermemory — conversations, documents, files, URLs. We extract the memories automatically. Pass id to identify content and avoid duplicates, and taskType: "superrag" if you just need it searchable, not remembered — that’s 5x cheaper per token. Every write goes to one namespace (what v3/v4 called a container tag). The namespace sits in the URL path, never in the body.

Quick start

Response:
If an irrecoverable processing error occurs, the document is automatically deleted after 2 minutes.

Updating content

Use id to update existing documents or conversations. When you send content with the same id, Supermemory intelligently processes only what’s new.

Two ways to update:

Option 1: Send only the new content
Option 2: Send the full updated content
Both work — choose what fits your architecture.

Replace entire document

To completely replace a document’s content (not append), use documents.update():
This triggers full reprocessing of the document. If you only update metadata (no content change), the document is updated in place with no reindexing.

Formatting conversations

Format your conversations however you want. Supermemory handles any string format:

Upload files

Upload PDFs, images, and documents directly. This is a multipart request, so metadata is a JSON string here, not an object.

Supported file types

Limits: 50MB max file size
Scale and Enterprise include advanced document extraction for PDFs, with page-by-page OCR and descriptions of figures and diagrams. It is selected automatically from your organization’s plan; no extra upload parameter is needed. Free, Pro, and Max keep standard PDF extraction, including OCR for scans.

Parameters

namespace, taskType, and dreaming are top-level keys on the SDK call (taskType and dreaming are query parameters on the HTTP route). Everything else goes in body.
Content Types:
Namespaces:
IDs (Recommended):
Metadata:
  • No nested objects or arrays
  • Values: string, number, or boolean only
Supporting Context:
  • Max 1500 characters
  • Persists on the namespace
  • Combines with org-level organizational context

Processing modes

Dreaming: dynamic vs instant

The dreaming parameter controls how Supermemory turns a document into memories.
  • "dynamic" (default) — groups related documents together so memories form from coherent, logical units rather than one isolated entry at a time. A fresh namespace can show zero memories and an empty profile for several minutes.
  • "instant" — processes each document on its own right away, and bills one extra operation per document. Use it for quickstarts, tests, and any flow that reads memories or a profile right after add.

Memory vs SuperRAG ingestion

The taskType parameter controls whether that content also feeds the memory pipeline.
  • "memory" (default) — chunks/embeds for search and extracts facts, updates the user’s profile, and links into the graph.
  • "superrag" — chunks/embeds for search only. No fact extraction, no profile updates. Priced at 5x cheaper per token than "memory".
Use "superrag" for reference material you want searchable but that shouldn’t shape what Supermemory knows about a user. Full explanation: SuperRAG → Ingesting as pure SuperRAG.

Filtered writes

By default, when you add content, Supermemory uses all existing memories in the namespace as context for generating new memories. With filtered writes, you can scope this context to only memories from documents matching specific metadata. This is useful when you have many documents in a namespace but want new memories to build on top of a specific subset — for example, only memories from a particular source, category, or user.
The metadata itself is still written to the document, but the memories will only be built on top of what’s already there matching the filter.

How it works

When group is provided:
  • Profile memories (static context) are filtered to only those from documents matching the metadata
  • Similar memories used as context during ingestion are filtered the same way
  • The new document’s own metadata is written normally — the filter only affects which existing memories are used as context

group parameter

  • Scalar values (string, number, boolean) match exactly
  • Array values match if any value in the array matches (OR logic)
  • Multiple keys are combined with AND logic

Processing pipeline

When you add content, Supermemory:
  1. Validates your request
  2. Stores the document and queues for processing
  3. Extracts content (OCR, transcription, web scraping)
  4. Chunks into searchable memories
  5. Embeds for vector search
  6. Indexes for retrieval
Track progress with GET /ns/{namespace}/document/{id}:
Process multiple documents with rate limiting:
Tips:
  • Batch size: 3-5 documents at once
  • Delay: 1-2 seconds between requests
  • Use id to track and deduplicate
  • For large backfills use documents.batchAdd instead. See Backfill historical data
Delete by IDs (one or many, Supermemory or your own ids):
Delete everything in a namespace:
Deletes are permanent — no recovery.

Next steps