Skip to main content

Memory Store

A memory store is a persistent mounted resource with a path-based file tree. Mount it at session creation; the agent reads and writes it with file tools, and its content persists across sessions.

Memory model

Memory stores use a three-layer model:
  • Memory Store: a logical container with a name and description. A workspace can contain multiple memory stores.
  • Memory: a single file inside a memory store, consisting of a path and a UTF-8 text body, such as a Markdown note. Every create, modify, and delete automatically produces a historical version.
  • Version: a historical snapshot of a memory. Versions can be listed and viewed, and the body of a specific version can be redacted.
Memory stores are used through session mounts: specify them in resources when creating a session, with read-only (retrieve only) or read-write (write back to the store) access. The mount path is generated by the server from the store name, in the form /mnt/memory/<name>. A memory store can only be mounted at session creation; after creation, mounts cannot be added, removed, or changed. To make adjustments, create a new session.

Store operations

Operation

Endpoint

Description

Create Memory Store

POST /memory_stores

Creates a memory store; returns an ID with the memstore_ prefix

List Memory Stores

GET /memory_stores

Lists stores paginated in reverse creation order; archived stores excluded by default

Get Memory Store

GET /memory_stores/{memory_store_id}

Retrieves store metadata

Update Memory Store

POST /memory_stores/{memory_store_id}

Updates the name, description, and metadata

Archive Memory Store

POST /memory_stores/{memory_store_id}/archive

Irreversible; the store can no longer be written or bound to new sessions, and existing mounts become read-only

Memory operations

Write operations require the memory store to be unarchived.

Operation

Endpoint

Description

Create Memory

POST /memory_stores/{memory_store_id}/memories

Creates a memory file; returns an ID with the mem_ prefix

List Memories

GET /memory_stores/{memory_store_id}/memories

Sorted by path with prefix filtering; keyword search over bodies is not supported

Get Memory

GET /memory_stores/{memory_store_id}/memories/{memory_id}

Reads the body; an archived but undeleted store can still be read

Update Memory

POST /memory_stores/{memory_store_id}/memories/{memory_id}

Modifies the body, renames, or updates atomically; supports the precondition optimistic lock

Delete Memory

DELETE /memory_stores/{memory_store_id}/memories/{memory_id}

Deletes the current file; historical versions are kept

Version operations

Version queries do not require the current memory to still exist.

Operation

Endpoint

Description

List Memory Versions

GET /memory_stores/{memory_store_id}/memory_versions

Reverse chronological order; filterable by memory, operation type, and time range

Get Memory Version

GET /memory_stores/{memory_store_id}/memory_versions/{memory_version_id}

Reads a specific historical version for reviewing old content; does not roll back the current memory

Redact Memory Version

POST /memory_stores/{memory_store_id}/memory_versions/{memory_version_id}/redact

Erases the body of the specified version; irreversible and does not affect the current memory

Flow Agent API
Sandbox API
RAG API
Long-term Memory
ParseX API
Security API
Framework Integration