Skip to main content

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

The response remains an acceptance result with 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

Send the v5 body to POST /ns/user_1/document/batch. The array accepts 1–600 document objects. Namespace, taskType, and processing mode apply to the request; 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 a processing state as above, or error when that item failed, and a batch can contain successful and failed items together.

File ingestion

Replace POST /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.

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.