> ## Documentation Index
> Fetch the complete documentation index at: https://supermemory.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Migrate content management to v5

> Upgrade document retrieval, resource lists, and document or memory deletion

## Migration details

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

### Retrieve a document and its derived context

<CodeGroup>
  ```bash Legacy theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  GET /v3/documents/{id}
  GET /v3/documents/{id}/chunks
  ```

  ```bash v5 theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  GET /ns/{namespace}/document/{id}?include=chunks,memories
  ```
</CodeGroup>

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`:

```json theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{"system":{"status":"done","createdAt":"...","updatedAt":"..."}}
```

`system.status` is one of `unknown`, `queued`, `extracting`, `chunking`, `embedding`, `indexing`, `done`, or `failed`.

### Retrieve a memory and its history

```bash v5 theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
GET /ns/{namespace}/memories/{id}?include=related,documents&relatedLimit=10
```

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

<CodeGroup>
  ```bash Legacy theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  POST /v3/documents/list
  POST /v4/memories/list
  ```

  ```bash v5 theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  POST /ns/{namespace}/list/{type}?page=1&limit=100&sort=createdAt&order=desc
  {}
  ```
</CodeGroup>

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

<CodeGroup>
  ```bash Legacy theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  DELETE /v3/documents/{id}
  DELETE /v3/documents/bulk
  ```

  ```bash v5 theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  DELETE /ns/{namespace}/document
  {"ids":["doc_1","external_id_2"]}
  ```
</CodeGroup>

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

<CodeGroup>
  ```ts Legacy theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  const doc = await client.documents.get("doc_1")
  const page = await client.documents.list({ containerTags: ["user_1"] })
  const processing = await client.documents.listProcessing()
  await client.documents.delete("doc_1")
  ```

  ```ts v5 theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  const doc = await supermemory.documents.get("user_1", "doc_1", {
    include: ["chunks", "memories"],
  })

  const { documents, pagination } = await supermemory.list("user_1", "documents", {
    page: 1,
    limit: 100,
    sort: "createdAt",
    order: "desc",
  })

  const { memories } = await supermemory.list("user_1", "memories")

  const { count, errors } = await supermemory.documents.delete("user_1", {
    ids: ["doc_1", "external_id_2"],
  })
  ```
</CodeGroup>

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

| Legacy intent | v5 operation |
| - | - |
| Forget exact IDs | `DELETE /ns/{namespace}/memories` with `{ "ids": [...] }` |
| Find memories by meaning | `DELETE /ns/{namespace}/memories/semantic` with `{ "query": "...", "dryRun": true }` |

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](/docs/migration/api-v5-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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.