Migration details
v5 moves document scope into the URL and keeps repeated caller IDs attached to one evolving document.Rename common fields
Add or append one document
id and status. Its status is the document’s processing state after the request: queued when new work was queued, otherwise the document’s current state (for example done for an unchanged duplicate, or failed for a metadata-only update to a failed document). Possible values: unknown, queued, extracting, chunking, embedding, indexing, done, failed. Repeating the v5 request with id: "conv_1" adds or diffs the new content into that document; it does not silently replace the canonical source.
Batch ingestion
POST /ns/user_1/document/batch. The array accepts 1–600 document objects. taskType and dreaming sit at the top level of the body, next to documents, and apply to every item; document content, ID, context, metadata, grouping, and date stay per item.
results lists accepted documents first, in request order, then failed ones; match each result by id, or by url for a failed item with no ID. Inspect count (accepted), failed, and every item in results; each item’s status is the document’s processing state (unknown, queued, extracting, chunking, embedding, indexing, done, or failed), or error when that item failed, and a batch can contain successful and failed items together.
File ingestion
ReplacePOST /v3/documents/file with POST /ns/{namespace}/document/file. Continue using multipart/form-data:
The API acknowledges the file after durable acceptance, with
status set as for a JSON add. Extraction, indexing, and memory formation continue asynchronously; poll the document rather than assuming the first response means processing is complete.
Processing choices
taskType: "memory"extracts long-term memories;taskType: "superrag"indexes source context without memory generation.dreaming: "dynamic"(default) groups related documents into coherent memory units.dreaming: "instant"processes each document independently and bills one extra operation per document.- Memories appear quickly only with
dreaming: "instant". Underdynamic, a fresh namespace can show zero memories and an empty profile for several minutes. Useinstantfor quickstarts and parity tests.
400.
With the SDK
taskType and dreaming sit next to content in the same object. uploadFile is multipart, so metadata is a JSON string there, not an object.
Verification
- Ingest text, a public URL, and a file, then wait for each document to finish processing.
- Repeat a caller-defined ID and confirm append/diff behavior instead of replacement.
- Submit a mixed-success batch and verify each result matches its document by ID, with per-item errors.
- Confirm metadata and grouping remain filterable after processing.