Skip to main content

Migration details

v5 retrieves, lists, and removes content within one explicit namespace.

Retrieve a document and its derived context

Pass include as a comma-separated list to return chunks, memories, or both. Keys you omit are absent; requested keys with no results are empty arrays. Lifecycle fields move under system:
system.status is one of unknown, queued, extracting, chunking, embedding, indexing, done, or failed.

Retrieve a memory and its history

v5
Returns one memory with id, memory, metadata, isStatic, isInference, isLatest, isForgotten, version, and system.createdAt/updatedAt. A memory from another namespace returns 404; a forgotten memory, or one past its forget_after, is still returned with isForgotten: true.
  • include=related adds included.related.parents (earlier versions), children (newer versions), and siblings (memories connected by extends or derives). Each list walks outward from the memory until it holds relatedLimit items (default 10, maximum 100). Forgotten memories and memories in other namespaces are left out.
  • include=documents adds included.document, the most recently updated source document. With both values, every related memory also carries its own document.

List documents, chunks, or memories

Set type to documents, chunks, or memories. Pagination and sorting move to the query string as plain integers and values; the body takes an optional filter and, for memories, include. Defaults are page=1, limit=10 (maximum 100), sort=createdAt, and order=desc. Memory lists hide forgotten memories and memories past their forget_after. Send "include": {"forgotten": true} to list them too; they come back with isForgotten: true. Document memories (include=memories on GET /ns/{namespace}/document/{id}) report the same flag. Every response contains documents, chunks, memories, and pagination. Only the selected resource array is populated. Replace legacy memories assumptions in document-list callers with documents.

Delete documents

The v5 array accepts 1–100 Supermemory or caller-defined IDs. Inspect both count and per-ID errors; HTTP success can include partial failures.

With the SDK

There is no separate processing list. Read system.status on each item returned by supermemory.list(namespace, "documents"). Chunks come from supermemory.list(namespace, "chunks") or documents.get with include: ["chunks"].

Forget memories

Both return { count, matches, errors }. For drift-free semantic deletion, preview with dryRun: true, review the IDs, then submit them to the exact-ID endpoint. See memory forgetting for the complete dry-run, approval, response, and audit workflow.

Verification

  • Assert requested empty includes are [], while omitted includes are absent.
  • Paginate each resource type until currentPage >= totalPages; unselected arrays stay empty.
  • Verify chunk rows contain their parent documentId.
  • Exercise partial document-delete failures and semantic dry runs.
  • Verify IDs cannot read, list, or delete content outside their namespace.