supermemory/apps/docs/snippets/api-v5-memory-forgetting.mdx
MaheshtheDev 672defc08b docs: move SDK snippets to the shipped v5 call shape and finish the namespace rename (#1772)
Rewrites 339 TypeScript calls across 50 pages from the rc.5 `method({ namespace, body })` form to the shipped `method(namespace, { ... })` form, and aligns field names with the live v5 spec: `attach` to `include`, `authUrl` to `authorization`, `lastSync` to `latestRun`, `deletedCount` to `count`, and the paginated `namespaces.list()`.

Renames container tags to namespaces across concepts, connectors, integrations and snippets. The namespace pages keep container tag in the description, search keywords and a rename note so old searches still land, and the v3 reference page points at v5.

The migration guide's SDK table now covers both 5.0.0 SDKs, and the SDK integration page uses the real client options (`baseUrl`, `timeoutInSeconds`, `maxRetries`) and error classes.
2026-10-06 17:06:38 +00:00

89 lines
2.7 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

v5 scopes forgetting to one namespace and returns the same result envelope for exact and semantic requests.
### Choose exact or semantic forgetting
| Intent | v5 operation |
| --- | --- |
| Forget reviewed memory IDs | `DELETE /ns/{namespace}/memories` |
| Find memories by meaning | `DELETE /ns/{namespace}/memories/semantic` |
### Forget exact IDs
```bash
DELETE /ns/user_1/memories
Content-Type: application/json
{"ids":["mem_1","mem_2"]}
```
Send 1–500 IDs. The response reports successful IDs in `matches` and missing or ineligible IDs in `errors`, so HTTP success does not imply every requested ID changed.
### Preview a semantic request
```bash
DELETE /ns/user_1/memories/semantic
Content-Type: application/json
{"query":"outdated home address","dryRun":true}
```
`dryRun: true` performs selection without changing memory state. `dryRun: false` forgets the memories selected when that request executes.
### Avoid selection drift
```text
semantic request with dryRun: true
|
v
review matches[].id
|
v
exact DELETE with reviewed IDs
```
Use this workflow when a human or policy must approve the exact set. Re-running the semantic request with `dryRun: false` can select a different set if memories changed after preview.
### Read the normalized response
```json
{
"count": 1,
"matches": [{ "id": "mem_1", "memory": "Old address" }],
"errors": [{ "id": "mem_2", "error": "Memory not found" }]
}
```
`count` always equals `matches.length`. Both dry-run and applied semantic requests use this shape; the payload alone does not replace your record of which mode was sent.
### With the SDK
<CodeGroup>
```ts Legacy
await client.memories.forget({ id: "mem_1" })
await client.memories.forgetMatching({ query: "outdated home address" })
```
```ts v5
const preview = await supermemory.memories.forgetMatching("user_1", {
query: "outdated home address",
dryRun: true,
})
await supermemory.memories.forget("user_1", {
ids: preview.matches.map((m) => m.id),
})
```
</CodeGroup>
`dryRun` is required on `forgetMatching`. Both calls return `{ count, matches, errors }`.
### Removed memory-write routes
Direct v4 memory creation and version updates (`client.memories.add`, `client.memories.updateMemory`) have no v5 replacement. Ingest source material through document routes and update the canonical document when facts change.
### Verification
- Exercise all-success, partial-success, duplicate, unknown, and cross-namespace ID sets.
- Confirm dry runs leave matched memories recallable.
- Apply reviewed IDs exactly and confirm normal recall excludes them.
- Persist the request mode alongside audit logs for semantic operations.