docs: use the console's Read and write label and wait for dreamingStatus before reading memories

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
MaheshtheDev 2026-10-28 05:09:51 +00:00
parent 4d06002697
commit 888122dc64
5 changed files with 12 additions and 9 deletions

View file

@ -48,7 +48,7 @@ Same `containerTag` scopes ingest, search, and profiles — one engine, multiple
## Suggested order
1. **Ingest** — `POST /v3/documents` (SDK: `client.add`)
2. **Documents** — `GET /v3/documents/{id}` until `status: "done"`
2. **Documents** — `GET /v3/documents/{id}` until `status: "done"` for searchable content, and `dreamingStatus: "done"` before you read memories or profiles
3. **Search** — `POST /v4/search`
4. **Profiles** — `POST /v4/profile`

View file

@ -272,8 +272,8 @@ await fetch(`https://api.supermemory.ai/ns/${userId}/document/file`, {
body: formData,
})
// Processing is async - check status before assuming searchable
// client.documents.get(userId, documentId) → wait for system.status === "done"
// Processing is async: client.documents.get(userId, documentId)
// wait for system.status === "done" for chunks (searchable content), and system.dreamingStatus === "done" for memories
```
## STEP 8: SEARCH MODES

View file

@ -179,7 +179,7 @@ curl -X POST "https://api.supermemory.ai/ns/user_4f8a/document" \
## 3. Wait until both are `done`
Poll document status. With **`dreaming: "instant"`**, once `system.status` is `done` the document is indexed **and** memories for that document should be available for search and profiles (`queued → extracting → … → done`).
Poll each document. `system.status` reaches `done` once the content is indexed and searchable (`queued → extracting → … → done`). Memories are ready when `system.dreamingStatus` is also `done`; it reads `dreaming` while they are generated. **`dreaming: "instant"`** starts memory generation right away instead of waiting for the next batch.
> Note that the preferred way is to have `dreaming: dynamic`. supermemory charges one extra operation for instant dreaming. Instant is good for one off tests, setup, debugging and benchmarking.
@ -188,7 +188,8 @@ Poll document status. With **`dreaming: "instant"`**, once `system.status` is `d
async function waitUntilDone(id: string) {
for (;;) {
const d = await supermemory.documents.get(user, id);
if (d.system.status === "done" || d.system.status === "failed") return d;
if (d.system.status === "failed") return d;
if (d.system.status === "done" && d.system.dreamingStatus === "done") return d;
await new Promise((r) => setTimeout(r, 1500));
}
}
@ -204,7 +205,9 @@ import time
def wait_until_done(doc_id: str):
while True:
d = client.documents.get(user, doc_id)
if d.system.status in ("done", "failed"):
if d.system.status == "failed":
return d
if d.system.status == "done" and d.system.dreaming_status == "done":
return d
time.sleep(1.5)
@ -217,7 +220,7 @@ print("ready to search")
# replace DOC_ID with each document id from the add responses
curl "https://api.supermemory.ai/ns/user_4f8a/document/DOC_ID" \
-H "Authorization: Bearer $SUPERMEMORY_API_KEY"
# repeat until "system": { "status": "done" }
# repeat until "system": { "status": "done", "dreamingStatus": "done" }
```
</CodeGroup>

View file

@ -170,7 +170,7 @@ ChatGPT opens the **Add Supermemory MCP to ChatGPT** dialog. Select **Sign in wi
On the Supermemory authorization page:
- Select **Read + Write** to let ChatGPT search and save Supermemory context. Select **Read only** if you only want search access.
- Select **Read and write** to let ChatGPT search and save Supermemory context. Select **Read only** if you only want search access.
- Select **Full access** to use every available space, or **Scoped** to choose specific spaces.
- Choose how long the connection should remain active.
- Select **Approve**.

View file

@ -34,7 +34,7 @@ Supermemory appears under your connectors. Click **Connect**.
## Step 4: Authorize
You’ll be redirected to Supermemory to sign in and choose access scopes (for example **Read + Write** or **Full access**). Select the scopes you want, then click **Authorize**.
You’ll be redirected to Supermemory to sign in and choose the permission (**Read and write** or **Read only**) and the scope (**All memories** or **Only some tags**). Select the access you want, then click **Authorize**.
![Authorize MCP screen with scope options and Authorize button](/images/supermemory-mcp/claude-desktop/step-4.png)