Haijun Platform Docs
ID

Create a memory store

POST /v1/memory_stores

Create a memory store

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Body parameters

  • name: string

Human-readable name for the store. Required; 1–255 characters; no control characters. The mount-path slug under /mnt/memory/ is derived from this name (lowercased, non-alphanumeric runs collapsed to a hyphen). Names need not be unique within a workspace.

minLength: 1, maxLength: 255

  • description: optional string

Free-text description of what the store contains, up to 1024 characters. Included in the agent's system prompt when the store is attached, so word it to be useful to the agent.

maxLength: 1024

  • metadata: optional map[string]

Arbitrary key-value tags for your own bookkeeping (such as the end user a store belongs to). Up to 16 pairs; keys 1–64 characters; values up to 512 characters. Not visible to the agent.

Returns

  • BetaManagedAgentsMemoryStore object

A memory_store: a named container for agent memories, scoped to a workspace. Attach a store to a session via resources[] to mount it as a directory the agent can read and write.

  • type: "memory_store"
  • id: string

Unique identifier for the memory store (a memstore_... tagged ID). Use this when attaching the store to a session, or in the {memory_store_id} path parameter of subsequent calls.

  • created_at: string

Timestamp when the store was created.

format: date-time

  • name: string

Human-readable name for the store. 1–255 characters. The store's mount-path slug under /mnt/memory/ is derived from this name.

  • updated_at: string

Timestamp when the store's name, description, or metadata was last modified. Memory writes inside the store do not advance this.

format: date-time

  • archived_at: optional string or null

Timestamp when the store was archived, or null if active. Set once and never cleared; archiving is one-way. Archived stores are read-only and cannot be attached to new sessions.

format: date-time

  • description: optional string

Free-text description of what the store contains, up to 1024 characters. Included in the agent's system prompt when the store is attached, so word it to be useful to the agent. Empty string when unset.

  • metadata: optional map[string]

Arbitrary key-value tags for your own bookkeeping (such as the end user a store belongs to). Up to 16 pairs; keys 1–64 characters; values up to 512 characters. Returned on retrieve/list but not filterable.

Example

bash
curl https://haijun.my.id/v1/memory_stores \
    -H 'Content-Type: application/json' \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY" \
    -d '{
          "name": "x"
        }'

Response (200)

json
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "name": "name",
  "type": "memory_store",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "archived_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "metadata": {
    "foo": "string"
  }
}

List memory stores

GET /v1/memory_stores

List memory stores

Query parameters

  • "created_at[gte]": optional string

Return only stores whose created_at is at or after this time (inclusive). Sent on the wire as created_at[gte].

format: date-time

  • "created_at[lte]": optional string

Return only stores whose created_at is at or before this time (inclusive). Sent on the wire as created_at[lte].

format: date-time

  • include_archived: optional boolean

When true, archived stores are included in the results. Defaults to false (archived stores are excluded).

  • limit: optional number

Maximum number of stores to return per page. Must be between 1 and 100. Defaults to 20 when omitted.

format: int32

  • page: optional string

Opaque pagination cursor (a page_... value). Pass the next_page value from a previous response to fetch the next page; omit for the first page.

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Returns

  • data: optional array of BetaManagedAgentsMemoryStore

Memory stores on this page, newest first. Empty when there are no stores matching the filters.

  • type: "memory_store"
  • id: string

Unique identifier for the memory store (a memstore_... tagged ID). Use this when attaching the store to a session, or in the {memory_store_id} path parameter of subsequent calls.

  • created_at: string

Timestamp when the store was created.

format: date-time

  • name: string

Human-readable name for the store. 1–255 characters. The store's mount-path slug under /mnt/memory/ is derived from this name.

  • updated_at: string

Timestamp when the store's name, description, or metadata was last modified. Memory writes inside the store do not advance this.

format: date-time

  • archived_at: optional string or null

Timestamp when the store was archived, or null if active. Set once and never cleared; archiving is one-way. Archived stores are read-only and cannot be attached to new sessions.

format: date-time

  • description: optional string

Free-text description of what the store contains, up to 1024 characters. Included in the agent's system prompt when the store is attached, so word it to be useful to the agent. Empty string when unset.

  • metadata: optional map[string]

Arbitrary key-value tags for your own bookkeeping (such as the end user a store belongs to). Up to 16 pairs; keys 1–64 characters; values up to 512 characters. Returned on retrieve/list but not filterable.

  • next_page: optional string or null

Opaque cursor for the next page (a page_... value). Pass as page on the next request. null when there are no more results.

Example

bash
curl https://haijun.my.id/v1/memory_stores \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY"

Response (200)

json
{
  "data": [
    {
      "id": "id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "name": "name",
      "type": "memory_store",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "archived_at": "2019-12-27T18:11:19.117Z",
      "description": "description",
      "metadata": {
        "foo": "string"
      }
    }
  ],
  "next_page": "next_page"
}

Retrieve a memory store

GET /v1/memory_stores/{memory_store_id}

Retrieve a memory store

Path parameters

  • memory_store_id: string

ID of the memory store to retrieve (a memstore_... identifier). Required. Enumerate IDs via GET /v1/memory_stores.

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Returns

  • BetaManagedAgentsMemoryStore object

A memory_store: a named container for agent memories, scoped to a workspace. Attach a store to a session via resources[] to mount it as a directory the agent can read and write.

  • type: "memory_store"
  • id: string

Unique identifier for the memory store (a memstore_... tagged ID). Use this when attaching the store to a session, or in the {memory_store_id} path parameter of subsequent calls.

  • created_at: string

Timestamp when the store was created.

format: date-time

  • name: string

Human-readable name for the store. 1–255 characters. The store's mount-path slug under /mnt/memory/ is derived from this name.

  • updated_at: string

Timestamp when the store's name, description, or metadata was last modified. Memory writes inside the store do not advance this.

format: date-time

  • archived_at: optional string or null

Timestamp when the store was archived, or null if active. Set once and never cleared; archiving is one-way. Archived stores are read-only and cannot be attached to new sessions.

format: date-time

  • description: optional string

Free-text description of what the store contains, up to 1024 characters. Included in the agent's system prompt when the store is attached, so word it to be useful to the agent. Empty string when unset.

  • metadata: optional map[string]

Arbitrary key-value tags for your own bookkeeping (such as the end user a store belongs to). Up to 16 pairs; keys 1–64 characters; values up to 512 characters. Returned on retrieve/list but not filterable.

Example

bash
curl https://haijun.my.id/v1/memory_stores/$MEMORY_STORE_ID \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY"

Response (200)

json
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "name": "name",
  "type": "memory_store",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "archived_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "metadata": {
    "foo": "string"
  }
}

Update a memory store

POST /v1/memory_stores/{memory_store_id}

Update a memory store

Path parameters

  • memory_store_id: string

ID of the memory store to update (a memstore_... identifier). Required. Enumerate IDs via GET /v1/memory_stores. Updating an archived store returns 400.

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Body parameters

  • description: optional string or null

New description for the store, up to 1024 characters. Pass an empty string to clear it.

maxLength: 1024

  • metadata: optional map[string] or null

Metadata patch. Set a key to a string to upsert it, or to null to delete it. Omit the field to preserve. The stored bag is limited to 16 keys (up to 64 chars each) with values up to 512 chars.

  • name: optional string or null

New human-readable name for the store. 1–255 characters; no control characters. Renaming changes the slug used for the store's mount_path in sessions created after the update.

minLength: 1, maxLength: 255

Returns

  • BetaManagedAgentsMemoryStore object

A memory_store: a named container for agent memories, scoped to a workspace. Attach a store to a session via resources[] to mount it as a directory the agent can read and write.

  • type: "memory_store"
  • id: string

Unique identifier for the memory store (a memstore_... tagged ID). Use this when attaching the store to a session, or in the {memory_store_id} path parameter of subsequent calls.

  • created_at: string

Timestamp when the store was created.

format: date-time

  • name: string

Human-readable name for the store. 1–255 characters. The store's mount-path slug under /mnt/memory/ is derived from this name.

  • updated_at: string

Timestamp when the store's name, description, or metadata was last modified. Memory writes inside the store do not advance this.

format: date-time

  • archived_at: optional string or null

Timestamp when the store was archived, or null if active. Set once and never cleared; archiving is one-way. Archived stores are read-only and cannot be attached to new sessions.

format: date-time

  • description: optional string

Free-text description of what the store contains, up to 1024 characters. Included in the agent's system prompt when the store is attached, so word it to be useful to the agent. Empty string when unset.

  • metadata: optional map[string]

Arbitrary key-value tags for your own bookkeeping (such as the end user a store belongs to). Up to 16 pairs; keys 1–64 characters; values up to 512 characters. Returned on retrieve/list but not filterable.

Example

bash
curl https://haijun.my.id/v1/memory_stores/$MEMORY_STORE_ID \
    -H 'Content-Type: application/json' \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY" \
    -d '{}'

Response (200)

json
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "name": "name",
  "type": "memory_store",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "archived_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "metadata": {
    "foo": "string"
  }
}

Delete a memory store

DELETE /v1/memory_stores/{memory_store_id}

Delete a memory store

Path parameters

  • memory_store_id: string

ID of the memory store to permanently delete (a memstore_... identifier). Required. Deletion cascades to all memories and memory versions in the store and cannot be undone.

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Returns

  • BetaManagedAgentsDeletedMemoryStore object

Confirmation that a memory_store was deleted.

  • type: "memory_store_deleted"
  • id: string

ID of the deleted memory store (a memstore_... identifier). The store and all its memories and versions are no longer retrievable.

Example

bash
curl https://haijun.my.id/v1/memory_stores/$MEMORY_STORE_ID \
    -X DELETE \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY"

Response (200)

json
{
  "id": "id",
  "type": "memory_store_deleted"
}

Archive a memory store

POST /v1/memory_stores/{memory_store_id}/archive

Archive a memory store

Path parameters

  • memory_store_id: string

ID of the memory store to archive (a memstore_... identifier). Required. Archiving is one-way and idempotent; archived stores cannot be unarchived. Enumerate IDs via GET /v1/memory_stores.

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Returns

  • BetaManagedAgentsMemoryStore object

A memory_store: a named container for agent memories, scoped to a workspace. Attach a store to a session via resources[] to mount it as a directory the agent can read and write.

  • type: "memory_store"
  • id: string

Unique identifier for the memory store (a memstore_... tagged ID). Use this when attaching the store to a session, or in the {memory_store_id} path parameter of subsequent calls.

  • created_at: string

Timestamp when the store was created.

format: date-time

  • name: string

Human-readable name for the store. 1–255 characters. The store's mount-path slug under /mnt/memory/ is derived from this name.

  • updated_at: string

Timestamp when the store's name, description, or metadata was last modified. Memory writes inside the store do not advance this.

format: date-time

  • archived_at: optional string or null

Timestamp when the store was archived, or null if active. Set once and never cleared; archiving is one-way. Archived stores are read-only and cannot be attached to new sessions.

format: date-time

  • description: optional string

Free-text description of what the store contains, up to 1024 characters. Included in the agent's system prompt when the store is attached, so word it to be useful to the agent. Empty string when unset.

  • metadata: optional map[string]

Arbitrary key-value tags for your own bookkeeping (such as the end user a store belongs to). Up to 16 pairs; keys 1–64 characters; values up to 512 characters. Returned on retrieve/list but not filterable.

Example

bash
curl https://haijun.my.id/v1/memory_stores/$MEMORY_STORE_ID/archive \
    -X POST \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY"

Response (200)

json
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "name": "name",
  "type": "memory_store",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "archived_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "metadata": {
    "foo": "string"
  }
}

Domain types

Beta Managed Agents Deleted Memory Store

  • BetaManagedAgentsDeletedMemoryStore object

Confirmation that a memory_store was deleted.

  • type: "memory_store_deleted"
  • id: string

ID of the deleted memory store (a memstore_... identifier). The store and all its memories and versions are no longer retrievable.

Beta Managed Agents Memory Store

  • BetaManagedAgentsMemoryStore object

A memory_store: a named container for agent memories, scoped to a workspace. Attach a store to a session via resources[] to mount it as a directory the agent can read and write.

  • type: "memory_store"
  • id: string

Unique identifier for the memory store (a memstore_... tagged ID). Use this when attaching the store to a session, or in the {memory_store_id} path parameter of subsequent calls.

  • created_at: string

Timestamp when the store was created.

format: date-time

  • name: string

Human-readable name for the store. 1–255 characters. The store's mount-path slug under /mnt/memory/ is derived from this name.

  • updated_at: string

Timestamp when the store's name, description, or metadata was last modified. Memory writes inside the store do not advance this.

format: date-time

  • archived_at: optional string or null

Timestamp when the store was archived, or null if active. Set once and never cleared; archiving is one-way. Archived stores are read-only and cannot be attached to new sessions.

format: date-time

  • description: optional string

Free-text description of what the store contains, up to 1024 characters. Included in the agent's system prompt when the store is attached, so word it to be useful to the agent. Empty string when unset.

  • metadata: optional map[string]

Arbitrary key-value tags for your own bookkeeping (such as the end user a store belongs to). Up to 16 pairs; keys 1–64 characters; values up to 512 characters. Returned on retrieve/list but not filterable.

Memory Stores › Memories

Create a memory

POST /v1/memory_stores/{memory_store_id}/memories

Create a memory

Path parameters

  • memory_store_id: string

The ID of the memory store to create the memory in (memstore_...).

Query parameters

  • view: optional BetaManagedAgentsMemoryView

Selects which projection of a memory or memory_version the server returns. basic returns the object with content set to null; full populates content. When omitted, the default is endpoint-specific: retrieve operations default to full; list, create, and update operations default to basic. Listing with view=full caps limit at 20.

  • "basic"

Return the object with content set to null. The content_size_bytes and content_sha256 fields remain populated, so sync clients can diff without fetching content.

  • "full"

Return the object with content populated. On list endpoints, view=full caps limit at 20.

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Body parameters

  • content: string or null

UTF-8 text content for the new memory. Maximum 100 kB (102,400 bytes). Required; pass "" explicitly to create an empty memory.

  • path: string

Hierarchical path for the new memory, e.g. /projects/foo/notes.md. Must start with /, contain at least one non-empty segment, and be at most 1,024 bytes. Must not contain empty segments, . or .. segments, control or format characters, or the Unicode line and paragraph separators (U+2028, U+2029), and must be NFC-normalized. Paths are case-sensitive.

minLength: 2, maxLength: 1024

Returns

  • BetaManagedAgentsMemory object

A memory object: a single text document at a hierarchical path inside a memory store. The content field is populated when view=full and null when view=basic; the content_size_bytes and content_sha256 fields are always populated so sync clients can diff without fetching content. Memories are addressed by their mem_... ID; the path is the create key and can be changed via update.

  • type: "memory"
  • id: string

Unique identifier for this memory (a mem_... value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.

  • content_sha256: string

Lowercase hex SHA-256 digest of the UTF-8 content bytes (64 characters). The server applies no normalization, so clients can compute the same hash locally for staleness checks and as the value for a content_sha256 precondition on update. Always populated, regardless of view.

  • content_size_bytes: number

Size of content in bytes (the UTF-8 plaintext length). Always populated, regardless of view.

format: int32

  • created_at: string

When this memory was created, in RFC 3339 format.

format: date-time

  • memory_store_id: string

ID of the memory store this memory belongs to (a memstore_... value).

  • memory_version_id: string

ID of the memory_version representing this memory's current content (a memver_... value). This is the authoritative head pointer; memory_version objects do not carry an is_latest flag, so compare against this field instead. Enumerate the history via List memory versions.

  • path: string

Hierarchical path of the memory within the store, e.g. /projects/foo/notes.md. Always starts with /. Paths are case-sensitive and unique within a store. Maximum 1,024 bytes.

  • updated_at: string

When this memory was last modified, in RFC 3339 format. Use this as a cheap freshness signal; for who made the change, look up the head version's created_by via List memory versions.

format: date-time

  • content: optional string or null

The memory's UTF-8 text content. Populated when view=full; null when view=basic. Maximum 100 kB (102,400 bytes).

Example

bash
curl https://haijun.my.id/v1/memory_stores/$MEMORY_STORE_ID/memories \
    -H 'Content-Type: application/json' \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY" \
    -d '{
          "content": "content",
          "path": "xx"
        }'
Response (200)
json
{
  "id": "id",
  "content_sha256": "content_sha256",
  "content_size_bytes": 0,
  "created_at": "2019-12-27T18:11:19.117Z",
  "memory_store_id": "memory_store_id",
  "memory_version_id": "memory_version_id",
  "path": "path",
  "type": "memory",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "content": "content"
}

List memories

GET /v1/memory_stores/{memory_store_id}/memories

List memories

Path parameters

  • memory_store_id: string

The ID of the memory store to list memories from (memstore_...).

Query parameters

  • depth: optional number

0 (or omitted) returns all descendants below path_prefix (recursive). 1 returns immediate children only; deeper entries roll up as memory_prefix items. depth=1 behaves like ls; omitting depth behaves like find.

format: int32

  • limit: optional number

Maximum number of items to return per page. Must be between 1 and 100. Defaults to 20 when omitted. Capped at 20 when view=full. Both memory and memory_prefix items count toward the limit.

format: int32

  • page: optional string

Opaque pagination cursor (a page_... value). Pass the next_page value from a previous response to fetch the next page; omit for the first page.

  • path_prefix: optional string

Optional path prefix filter. Must end with / (segment-aligned), e.g., /notes/. This value appears in request URLs. Do not include secrets or personally identifiable information.

  • view: optional BetaManagedAgentsMemoryView

Which projection of each memory to return. Defaults to basic (content omitted). full populates content on each item and caps limit at 20; use this as the bulk-read path for export and sync.

  • "basic"

Return the object with content set to null. The content_size_bytes and content_sha256 fields remain populated, so sync clients can diff without fetching content.

  • "full"

Return the object with content populated. On list endpoints, view=full caps limit at 20.

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Returns

  • data: optional array of BetaManagedAgentsMemoryListItem

One page of results. Each item is either a memory object or, when depth was set, a memory_prefix rollup marker. Items are returned in a stable, server-defined order.

  • BetaManagedAgentsMemory object

A memory object: a single text document at a hierarchical path inside a memory store. The content field is populated when view=full and null when view=basic; the content_size_bytes and content_sha256 fields are always populated so sync clients can diff without fetching content. Memories are addressed by their mem_... ID; the path is the create key and can be changed via update.

  • type: "memory"
  • id: string

Unique identifier for this memory (a mem_... value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.

  • content_sha256: string

Lowercase hex SHA-256 digest of the UTF-8 content bytes (64 characters). The server applies no normalization, so clients can compute the same hash locally for staleness checks and as the value for a content_sha256 precondition on update. Always populated, regardless of view.

  • content_size_bytes: number

Size of content in bytes (the UTF-8 plaintext length). Always populated, regardless of view.

format: int32

  • created_at: string

When this memory was created, in RFC 3339 format.

format: date-time

  • memory_store_id: string

ID of the memory store this memory belongs to (a memstore_... value).

  • memory_version_id: string

ID of the memory_version representing this memory's current content (a memver_... value). This is the authoritative head pointer; memory_version objects do not carry an is_latest flag, so compare against this field instead. Enumerate the history via List memory versions.

  • path: string

Hierarchical path of the memory within the store, e.g. /projects/foo/notes.md. Always starts with /. Paths are case-sensitive and unique within a store. Maximum 1,024 bytes.

  • updated_at: string

When this memory was last modified, in RFC 3339 format. Use this as a cheap freshness signal; for who made the change, look up the head version's created_by via List memory versions.

format: date-time

  • content: optional string or null

The memory's UTF-8 text content. Populated when view=full; null when view=basic. Maximum 100 kB (102,400 bytes).

  • BetaManagedAgentsMemoryPrefix object

A rolled-up directory marker returned by List memories when depth is set. Indicates that one or more memories exist deeper than the requested depth under this prefix. This is a list-time rollup, not a stored resource; it has no ID and no lifecycle. Each prefix counts toward the page limit and interleaves with memory items in path order.

  • type: "memory_prefix"
  • path: string

The rolled-up path prefix, including a trailing / (e.g. /projects/foo/). Pass this value as path_prefix on a subsequent list call to drill into the directory.

  • next_page: optional string or null

Opaque cursor for the next page (a page_... value), or null if there are no more results. Pass as page on the next request.

Example

bash
curl https://haijun.my.id/v1/memory_stores/$MEMORY_STORE_ID/memories \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY"
Response (200)
json
{
  "data": [
    {
      "id": "id",
      "content_sha256": "content_sha256",
      "content_size_bytes": 0,
      "created_at": "2019-12-27T18:11:19.117Z",
      "memory_store_id": "memory_store_id",
      "memory_version_id": "memory_version_id",
      "path": "path",
      "type": "memory",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "content": "content"
    }
  ],
  "next_page": "next_page"
}

Retrieve a memory

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

Retrieve a memory

Path parameters

  • memory_store_id: string

The ID of the memory store that holds the memory (memstore_...).

  • memory_id: string

The ID of the memory to retrieve (mem_...).

Query parameters

  • view: optional BetaManagedAgentsMemoryView

Selects which projection of a memory or memory_version the server returns. basic returns the object with content set to null; full populates content. When omitted, the default is endpoint-specific: retrieve operations default to full; list, create, and update operations default to basic. Listing with view=full caps limit at 20.

  • "basic"

Return the object with content set to null. The content_size_bytes and content_sha256 fields remain populated, so sync clients can diff without fetching content.

  • "full"

Return the object with content populated. On list endpoints, view=full caps limit at 20.

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Returns

  • BetaManagedAgentsMemory object

A memory object: a single text document at a hierarchical path inside a memory store. The content field is populated when view=full and null when view=basic; the content_size_bytes and content_sha256 fields are always populated so sync clients can diff without fetching content. Memories are addressed by their mem_... ID; the path is the create key and can be changed via update.

  • type: "memory"
  • id: string

Unique identifier for this memory (a mem_... value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.

  • content_sha256: string

Lowercase hex SHA-256 digest of the UTF-8 content bytes (64 characters). The server applies no normalization, so clients can compute the same hash locally for staleness checks and as the value for a content_sha256 precondition on update. Always populated, regardless of view.

  • content_size_bytes: number

Size of content in bytes (the UTF-8 plaintext length). Always populated, regardless of view.

format: int32

  • created_at: string

When this memory was created, in RFC 3339 format.

format: date-time

  • memory_store_id: string

ID of the memory store this memory belongs to (a memstore_... value).

  • memory_version_id: string

ID of the memory_version representing this memory's current content (a memver_... value). This is the authoritative head pointer; memory_version objects do not carry an is_latest flag, so compare against this field instead. Enumerate the history via List memory versions.

  • path: string

Hierarchical path of the memory within the store, e.g. /projects/foo/notes.md. Always starts with /. Paths are case-sensitive and unique within a store. Maximum 1,024 bytes.

  • updated_at: string

When this memory was last modified, in RFC 3339 format. Use this as a cheap freshness signal; for who made the change, look up the head version's created_by via List memory versions.

format: date-time

  • content: optional string or null

The memory's UTF-8 text content. Populated when view=full; null when view=basic. Maximum 100 kB (102,400 bytes).

Example

bash
curl https://haijun.my.id/v1/memory_stores/$MEMORY_STORE_ID/memories/$MEMORY_ID \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY"
Response (200)
json
{
  "id": "id",
  "content_sha256": "content_sha256",
  "content_size_bytes": 0,
  "created_at": "2019-12-27T18:11:19.117Z",
  "memory_store_id": "memory_store_id",
  "memory_version_id": "memory_version_id",
  "path": "path",
  "type": "memory",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "content": "content"
}

Update a memory

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

Update a memory

Path parameters

  • memory_store_id: string

The ID of the memory store that holds the memory (memstore_...).

  • memory_id: string

The ID of the memory to update (mem_...).

Query parameters

  • view: optional BetaManagedAgentsMemoryView

Selects which projection of a memory or memory_version the server returns. basic returns the object with content set to null; full populates content. When omitted, the default is endpoint-specific: retrieve operations default to full; list, create, and update operations default to basic. Listing with view=full caps limit at 20.

  • "basic"

Return the object with content set to null. The content_size_bytes and content_sha256 fields remain populated, so sync clients can diff without fetching content.

  • "full"

Return the object with content populated. On list endpoints, view=full caps limit at 20.

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Body parameters

  • content: optional string or null

New UTF-8 text content for the memory. Maximum 100 kB (102,400 bytes). Omit to leave the content unchanged (e.g., for a rename-only update).

  • path: optional string or null

New path for the memory (a rename). Must start with /, contain at least one non-empty segment, and be at most 1,024 bytes. Must not contain empty segments, . or .. segments, control or format characters, or the Unicode line and paragraph separators (U+2028, U+2029), and must be NFC-normalized. Paths are case-sensitive. The memory's id is preserved across renames. Omit to leave the path unchanged.

minLength: 2, maxLength: 1024

  • precondition: optional BetaManagedAgentsPrecondition

Optional optimistic-concurrency precondition. When supplied, the update applies only if the memory's current state matches; on mismatch the request returns memory_precondition_failed_error (HTTP 409). When omitted, the update is unconditional.

  • type: "content_sha256"
  • content_sha256: optional string

Expected content_sha256 of the stored memory (64 lowercase hexadecimal characters). Typically the content_sha256 returned by a prior read or list call. Because the server applies no content normalization, clients can also compute this locally as the SHA-256 of the UTF-8 content bytes.

Returns

  • BetaManagedAgentsMemory object

A memory object: a single text document at a hierarchical path inside a memory store. The content field is populated when view=full and null when view=basic; the content_size_bytes and content_sha256 fields are always populated so sync clients can diff without fetching content. Memories are addressed by their mem_... ID; the path is the create key and can be changed via update.

  • type: "memory"
  • id: string

Unique identifier for this memory (a mem_... value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.

  • content_sha256: string

Lowercase hex SHA-256 digest of the UTF-8 content bytes (64 characters). The server applies no normalization, so clients can compute the same hash locally for staleness checks and as the value for a content_sha256 precondition on update. Always populated, regardless of view.

  • content_size_bytes: number

Size of content in bytes (the UTF-8 plaintext length). Always populated, regardless of view.

format: int32

  • created_at: string

When this memory was created, in RFC 3339 format.

format: date-time

  • memory_store_id: string

ID of the memory store this memory belongs to (a memstore_... value).

  • memory_version_id: string

ID of the memory_version representing this memory's current content (a memver_... value). This is the authoritative head pointer; memory_version objects do not carry an is_latest flag, so compare against this field instead. Enumerate the history via List memory versions.

  • path: string

Hierarchical path of the memory within the store, e.g. /projects/foo/notes.md. Always starts with /. Paths are case-sensitive and unique within a store. Maximum 1,024 bytes.

  • updated_at: string

When this memory was last modified, in RFC 3339 format. Use this as a cheap freshness signal; for who made the change, look up the head version's created_by via List memory versions.

format: date-time

  • content: optional string or null

The memory's UTF-8 text content. Populated when view=full; null when view=basic. Maximum 100 kB (102,400 bytes).

Example

bash
curl https://haijun.my.id/v1/memory_stores/$MEMORY_STORE_ID/memories/$MEMORY_ID \
    -H 'Content-Type: application/json' \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY" \
    -d '{}'
Response (200)
json
{
  "id": "id",
  "content_sha256": "content_sha256",
  "content_size_bytes": 0,
  "created_at": "2019-12-27T18:11:19.117Z",
  "memory_store_id": "memory_store_id",
  "memory_version_id": "memory_version_id",
  "path": "path",
  "type": "memory",
  "updated_at": "2019-12-27T18:11:19.117Z",
  "content": "content"
}

Delete a memory

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

Delete a memory

Path parameters

  • memory_store_id: string

The ID of the memory store that holds the memory (memstore_...).

  • memory_id: string

The ID of the memory to delete (mem_...).

Query parameters

  • expected_content_sha256: optional string

Delete the memory only if its current content_sha256 equals this value, given as 64 lowercase hexadecimal characters. Omit it to delete unconditionally.

If the hashes differ, the request fails with HTTP status 409 and nothing is deleted.

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Returns

  • BetaManagedAgentsDeletedMemory object

Tombstone returned by Delete a memory. Deleting a memory does not erase its version history: its versions remain listable via List memory versions while they are retained (each version is kept for at least the version retention period after it was written, unless the store itself is deleted).

  • type: "memory_deleted"
  • id: string

ID of the deleted memory (a mem_... value).

Example

bash
curl https://haijun.my.id/v1/memory_stores/$MEMORY_STORE_ID/memories/$MEMORY_ID \
    -X DELETE \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY"
Response (200)
json
{
  "id": "id",
  "type": "memory_deleted"
}

Memory Stores › Memory Versions

List memory versions

GET /v1/memory_stores/{memory_store_id}/memory_versions

List memory versions

Path parameters

  • memory_store_id: string

The ID of the memory store whose version history to list (memstore_...).

Query parameters

  • api_key_id: optional string

Return only versions written with the API key that has this ID.

  • "created_at[gte]": optional string

Return versions created at or after this time (inclusive).

format: date-time

  • "created_at[lte]": optional string

Return versions created at or before this time (inclusive).

format: date-time

  • limit: optional number

The maximum number of versions to return per page. Defaults to 20.

format: int32

  • memory_id: optional string

Return only versions of the memory with this ID (mem_...).

The filter still works after the memory is deleted. The results then include the version whose operation is deleted.

  • operation: optional BetaManagedAgentsMemoryVersionOperation

Return only versions that record this kind of change.

  • "created"

The memory was created. The first version in any memory's lineage.

  • "modified"

The memory's content, path, or both were changed via update. Writes the agent makes through the filesystem mount also appear as modified.

  • "deleted"

The memory was deleted. The content, content_size_bytes, and content_sha256 fields are null on this version. The preceding version, while it is retained, records the deleted content's size and hash.

  • page: optional string

The next_page value from a previous response, to get the next page. Omit it to get the first page.

  • service_account_id: optional string

Return only versions written by the service account with this ID (svac_...).

  • session_id: optional string

Return only versions written by the session with this ID.

  • view: optional BetaManagedAgentsMemoryView

Selects which projection of a memory or memory_version the server returns. basic returns the object with content set to null; full populates content. When omitted, the default is endpoint-specific: retrieve operations default to full; list, create, and update operations default to basic. Listing with view=full caps limit at 20.

  • "basic"

Return the object with content set to null. The content_size_bytes and content_sha256 fields remain populated, so sync clients can diff without fetching content.

  • "full"

Return the object with content populated. On list endpoints, view=full caps limit at 20.

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Returns

  • data: optional array of BetaManagedAgentsMemoryVersion

One page of memory_version objects, ordered by created_at descending (newest first), with id as tiebreak.

  • type: "memory_version"
  • id: string

Unique identifier for this version (a memver_... value).

  • created_at: string

When this version was written, in RFC 3339 format.

format: date-time

  • memory_id: string

ID of the memory this version snapshots (a mem_... value). Remains valid after the memory is deleted; pass it as memory_id to List memory versions to retrieve the memory's retained versions, including the deleted row while the lineage is retained.

  • memory_store_id: string

ID of the memory store this version belongs to (a memstore_... value).

  • operation: BetaManagedAgentsMemoryVersionOperation

The kind of mutation this version records: created, modified, or deleted.

  • "created"

The memory was created. The first version in any memory's lineage.

  • "modified"

The memory's content, path, or both were changed via update. Writes the agent makes through the filesystem mount also appear as modified.

  • "deleted"

The memory was deleted. The content, content_size_bytes, and content_sha256 fields are null on this version. The preceding version, while it is retained, records the deleted content's size and hash.

  • content: optional string or null

The memory's UTF-8 text content as of this version. null when view=basic, when operation is deleted, or when redacted_at is set.

  • content_sha256: optional string or null

Lowercase hex SHA-256 digest of content as of this version (64 characters). null when redacted_at is set or operation is deleted. Populated regardless of view otherwise.

  • content_size_bytes: optional number or null

Size of content in bytes as of this version. null when redacted_at is set or operation is deleted. Populated regardless of view otherwise.

format: int32

  • created_by: optional BetaManagedAgentsActor

Who performed this write: one of session_actor, api_actor, user_actor, or service_account_actor; null when no writer is recorded. Captured at write time and preserved through redaction. A session_actor is an agent writing through the store's mounted filesystem at /mnt/memory/. The API key that created that session is not recorded on agent writes, so attribution names who made the write, not who is ultimately responsible; look up session provenance via the Sessions API.

  • BetaManagedAgentsSessionActor object

An agent acting during a session, for example through the session's mounted filesystem. It names the session itself, not the user or API key that started the session.

  • type: "session_actor"
  • session_id: string

ID of the session (a sesn_... value). Look up the session via Retrieve a session for further provenance.

minLength: 1

  • BetaManagedAgentsAPIActor object

A direct caller of the public API, identified by the API key that authenticated the request.

  • type: "api_actor"
  • api_key_id: string

ID of the API key (an apikey_... value). This identifies the key, not the secret.

minLength: 1

  • BetaManagedAgentsUserActor object

A human user, for example acting through the Juglow Console.

  • type: "user_actor"
  • user_id: string

ID of the user (a user_... value).

minLength: 1

  • BetaManagedAgentsServiceAccountActor object

A workload authenticated as a service account, for example via Workload Identity Federation.

  • type: "service_account_actor"
  • service_account_id: string

ID of the service account (a svac_... value).

minLength: 1

  • path: optional string or null

The memory's path at the time of this write. null if and only if redacted_at is set.

  • redacted_at: optional string or null

When this version was redacted, in RFC 3339 format, or null if it has not been redacted. When set, content, path, content_size_bytes, and content_sha256 are all null. See Redact a memory version.

format: date-time

  • redacted_by: optional BetaManagedAgentsActor

Who redacted this version, or null if it has not been redacted. In practice always an api_actor, user_actor, or service_account_actor (agents do not have a redact capability).

  • next_page: optional string or null

Opaque cursor for the next page (a page_... value), or null if there are no more results. Pass as page on the next request.

Example

bash
curl https://haijun.my.id/v1/memory_stores/$MEMORY_STORE_ID/memory_versions \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY"
Response (200)
json
{
  "data": [
    {
      "id": "id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "memory_id": "memory_id",
      "memory_store_id": "memory_store_id",
      "operation": "created",
      "type": "memory_version",
      "content": "content",
      "content_sha256": "content_sha256",
      "content_size_bytes": 0,
      "created_by": {
        "session_id": "x",
        "type": "session_actor"
      },
      "path": "path",
      "redacted_at": "2019-12-27T18:11:19.117Z",
      "redacted_by": {
        "session_id": "x",
        "type": "session_actor"
      }
    }
  ],
  "next_page": "next_page"
}

Retrieve a memory version

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

Retrieve a memory version

Path parameters

  • memory_store_id: string

The ID of the memory store that holds the version (memstore_...).

  • memory_version_id: string

The ID of the memory version to retrieve (memver_...).

Query parameters

  • view: optional BetaManagedAgentsMemoryView

Selects which projection of a memory or memory_version the server returns. basic returns the object with content set to null; full populates content. When omitted, the default is endpoint-specific: retrieve operations default to full; list, create, and update operations default to basic. Listing with view=full caps limit at 20.

  • "basic"

Return the object with content set to null. The content_size_bytes and content_sha256 fields remain populated, so sync clients can diff without fetching content.

  • "full"

Return the object with content populated. On list endpoints, view=full caps limit at 20.

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Returns

  • BetaManagedAgentsMemoryVersion object

A memory_version object: one immutable, attributed row in a memory's append-only history. Every non-no-op mutation to a memory produces a new version. Versions belong to the store (not the individual memory) and are not deleted with the memory; each version is retained for at least the version retention period after it was written, unless the store itself is deleted. Retrieving a redacted version returns 200 with content, path, content_size_bytes, and content_sha256 set to null; branch on redacted_at, not HTTP status.

  • type: "memory_version"
  • id: string

Unique identifier for this version (a memver_... value).

  • created_at: string

When this version was written, in RFC 3339 format.

format: date-time

  • memory_id: string

ID of the memory this version snapshots (a mem_... value). Remains valid after the memory is deleted; pass it as memory_id to List memory versions to retrieve the memory's retained versions, including the deleted row while the lineage is retained.

  • memory_store_id: string

ID of the memory store this version belongs to (a memstore_... value).

  • operation: BetaManagedAgentsMemoryVersionOperation

The kind of mutation this version records: created, modified, or deleted.

  • "created"

The memory was created. The first version in any memory's lineage.

  • "modified"

The memory's content, path, or both were changed via update. Writes the agent makes through the filesystem mount also appear as modified.

  • "deleted"

The memory was deleted. The content, content_size_bytes, and content_sha256 fields are null on this version. The preceding version, while it is retained, records the deleted content's size and hash.

  • content: optional string or null

The memory's UTF-8 text content as of this version. null when view=basic, when operation is deleted, or when redacted_at is set.

  • content_sha256: optional string or null

Lowercase hex SHA-256 digest of content as of this version (64 characters). null when redacted_at is set or operation is deleted. Populated regardless of view otherwise.

  • content_size_bytes: optional number or null

Size of content in bytes as of this version. null when redacted_at is set or operation is deleted. Populated regardless of view otherwise.

format: int32

  • created_by: optional BetaManagedAgentsActor

Who performed this write: one of session_actor, api_actor, user_actor, or service_account_actor; null when no writer is recorded. Captured at write time and preserved through redaction. A session_actor is an agent writing through the store's mounted filesystem at /mnt/memory/. The API key that created that session is not recorded on agent writes, so attribution names who made the write, not who is ultimately responsible; look up session provenance via the Sessions API.

  • BetaManagedAgentsSessionActor object

An agent acting during a session, for example through the session's mounted filesystem. It names the session itself, not the user or API key that started the session.

  • type: "session_actor"
  • session_id: string

ID of the session (a sesn_... value). Look up the session via Retrieve a session for further provenance.

minLength: 1

  • BetaManagedAgentsAPIActor object

A direct caller of the public API, identified by the API key that authenticated the request.

  • type: "api_actor"
  • api_key_id: string

ID of the API key (an apikey_... value). This identifies the key, not the secret.

minLength: 1

  • BetaManagedAgentsUserActor object

A human user, for example acting through the Juglow Console.

  • type: "user_actor"
  • user_id: string

ID of the user (a user_... value).

minLength: 1

  • BetaManagedAgentsServiceAccountActor object

A workload authenticated as a service account, for example via Workload Identity Federation.

  • type: "service_account_actor"
  • service_account_id: string

ID of the service account (a svac_... value).

minLength: 1

  • path: optional string or null

The memory's path at the time of this write. null if and only if redacted_at is set.

  • redacted_at: optional string or null

When this version was redacted, in RFC 3339 format, or null if it has not been redacted. When set, content, path, content_size_bytes, and content_sha256 are all null. See Redact a memory version.

format: date-time

  • redacted_by: optional BetaManagedAgentsActor

Who redacted this version, or null if it has not been redacted. In practice always an api_actor, user_actor, or service_account_actor (agents do not have a redact capability).

Example

bash
curl https://haijun.my.id/v1/memory_stores/$MEMORY_STORE_ID/memory_versions/$MEMORY_VERSION_ID \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY"
Response (200)
json
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "memory_id": "memory_id",
  "memory_store_id": "memory_store_id",
  "operation": "created",
  "type": "memory_version",
  "content": "content",
  "content_sha256": "content_sha256",
  "content_size_bytes": 0,
  "created_by": {
    "session_id": "x",
    "type": "session_actor"
  },
  "path": "path",
  "redacted_at": "2019-12-27T18:11:19.117Z",
  "redacted_by": {
    "session_id": "x",
    "type": "session_actor"
  }
}

Redact a memory version

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

Redact a memory version

Path parameters

  • memory_store_id: string

The ID of the memory store that holds the version (memstore_...).

  • memory_version_id: string

The ID of the memory version to redact (memver_...).

Headers

  • "juglow-beta": optional array of JuglowBeta

Optional header to specify the beta version(s) you want to use.

  • string
  • "message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
  • "message-batches-2024-09-24"
  • "prompt-caching-2024-07-31"
  • "computer-use-2024-10-22"
  • "computer-use-2025-01-24"
  • "pdfs-2024-09-25"
  • "token-counting-2024-11-01"
  • "token-efficient-tools-2025-02-19"
  • "output-128k-2025-02-19"
  • "files-api-2025-04-14"
  • "mcp-client-2025-04-04"
  • "mcp-client-2025-11-20"
  • "dev-full-thinking-2025-05-14"
  • "interleaved-thinking-2025-05-14"
  • "code-execution-2025-05-22"
  • "extended-cache-ttl-2025-04-11"
  • "context-1m-2025-08-07"
  • "context-management-2025-06-27"
  • "model-context-window-exceeded-2025-08-26"
  • "tracks-2025-10-02"
  • "fast-mode-2026-02-01"
  • "output-300k-2026-03-24"
  • "user-profiles-2026-03-24"
  • "user-profiles-2026-08-18"
  • "user-profiles-2026-09-04"
  • "advisor-tool-2026-03-01"
  • "managed-agents-2026-04-01"
  • "cache-diagnosis-2026-04-07"
  • "dreaming-2026-04-21"
  • "thinking-token-count-2026-05-13"
  • "server-side-fallback-2026-06-01"
  • "server-side-fallback-2026-07-01"
  • "fallback-credit-2026-06-01"
  • "fallback-credit-2026-07-01"
  • "agent-memory-2026-07-22"
  • "mid-conversation-tool-changes-2026-07-01"
  • "compact-2026-01-12"
  • "computer-use-2025-11-24"
  • "mcp-tunnels-2026-06-22"
  • "structured-outputs-2025-11-13"
  • "task-budgets-2026-03-13"
  • "thinking-display-updates-2026-08-18"
  • "ce-user-management-2026-07-13"
  • "mid-conversation-output-config-2026-07-01"
  • "thinking-binding-controls-2026-08-01"
  • "mid-conversation-system-clear-at-2026-08-21"
  • "compact-2026-09-04"
  • "inline-tools-2026-09-15"
  • "mcp-client-2026-09-15"
  • "juglow-workspace-id": optional string

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

Returns

  • BetaManagedAgentsMemoryVersion object

A memory_version object: one immutable, attributed row in a memory's append-only history. Every non-no-op mutation to a memory produces a new version. Versions belong to the store (not the individual memory) and are not deleted with the memory; each version is retained for at least the version retention period after it was written, unless the store itself is deleted. Retrieving a redacted version returns 200 with content, path, content_size_bytes, and content_sha256 set to null; branch on redacted_at, not HTTP status.

  • type: "memory_version"
  • id: string

Unique identifier for this version (a memver_... value).

  • created_at: string

When this version was written, in RFC 3339 format.

format: date-time

  • memory_id: string

ID of the memory this version snapshots (a mem_... value). Remains valid after the memory is deleted; pass it as memory_id to List memory versions to retrieve the memory's retained versions, including the deleted row while the lineage is retained.

  • memory_store_id: string

ID of the memory store this version belongs to (a memstore_... value).

  • operation: BetaManagedAgentsMemoryVersionOperation

The kind of mutation this version records: created, modified, or deleted.

  • "created"

The memory was created. The first version in any memory's lineage.

  • "modified"

The memory's content, path, or both were changed via update. Writes the agent makes through the filesystem mount also appear as modified.

  • "deleted"

The memory was deleted. The content, content_size_bytes, and content_sha256 fields are null on this version. The preceding version, while it is retained, records the deleted content's size and hash.

  • content: optional string or null

The memory's UTF-8 text content as of this version. null when view=basic, when operation is deleted, or when redacted_at is set.

  • content_sha256: optional string or null

Lowercase hex SHA-256 digest of content as of this version (64 characters). null when redacted_at is set or operation is deleted. Populated regardless of view otherwise.

  • content_size_bytes: optional number or null

Size of content in bytes as of this version. null when redacted_at is set or operation is deleted. Populated regardless of view otherwise.

format: int32

  • created_by: optional BetaManagedAgentsActor

Who performed this write: one of session_actor, api_actor, user_actor, or service_account_actor; null when no writer is recorded. Captured at write time and preserved through redaction. A session_actor is an agent writing through the store's mounted filesystem at /mnt/memory/. The API key that created that session is not recorded on agent writes, so attribution names who made the write, not who is ultimately responsible; look up session provenance via the Sessions API.

  • BetaManagedAgentsSessionActor object

An agent acting during a session, for example through the session's mounted filesystem. It names the session itself, not the user or API key that started the session.

  • type: "session_actor"
  • session_id: string

ID of the session (a sesn_... value). Look up the session via Retrieve a session for further provenance.

minLength: 1

  • BetaManagedAgentsAPIActor object

A direct caller of the public API, identified by the API key that authenticated the request.

  • type: "api_actor"
  • api_key_id: string

ID of the API key (an apikey_... value). This identifies the key, not the secret.

minLength: 1

  • BetaManagedAgentsUserActor object

A human user, for example acting through the Juglow Console.

  • type: "user_actor"
  • user_id: string

ID of the user (a user_... value).

minLength: 1

  • BetaManagedAgentsServiceAccountActor object

A workload authenticated as a service account, for example via Workload Identity Federation.

  • type: "service_account_actor"
  • service_account_id: string

ID of the service account (a svac_... value).

minLength: 1

  • path: optional string or null

The memory's path at the time of this write. null if and only if redacted_at is set.

  • redacted_at: optional string or null

When this version was redacted, in RFC 3339 format, or null if it has not been redacted. When set, content, path, content_size_bytes, and content_sha256 are all null. See Redact a memory version.

format: date-time

  • redacted_by: optional BetaManagedAgentsActor

Who redacted this version, or null if it has not been redacted. In practice always an api_actor, user_actor, or service_account_actor (agents do not have a redact capability).

Example

bash
curl https://haijun.my.id/v1/memory_stores/$MEMORY_STORE_ID/memory_versions/$MEMORY_VERSION_ID/redact \
    -X POST \
    -H 'juglow-version: 2023-06-01' \
    -H 'juglow-beta: agent-memory-2026-07-22' \
    -H "X-Api-Key: $JUGLOW_API_KEY"
Response (200)
json
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "memory_id": "memory_id",
  "memory_store_id": "memory_store_id",
  "operation": "created",
  "type": "memory_version",
  "content": "content",
  "content_sha256": "content_sha256",
  "content_size_bytes": 0,
  "created_by": {
    "session_id": "x",
    "type": "session_actor"
  },
  "path": "path",
  "redacted_at": "2019-12-27T18:11:19.117Z",
  "redacted_by": {
    "session_id": "x",
    "type": "session_actor"
  }
}
On this page
Create a memory storeHeadersBody parametersReturnsExampleResponse (200)List memory storesQuery parametersHeadersReturnsExampleResponse (200)Retrieve a memory storePath parametersHeadersReturnsExampleResponse (200)Update a memory storePath parametersHeadersBody parametersReturnsExampleResponse (200)Delete a memory storePath parametersHeadersReturnsExampleResponse (200)Archive a memory storePath parametersHeadersReturnsExampleResponse (200)Domain typesBeta Managed Agents Deleted Memory StoreBeta Managed Agents Memory StoreMemory Stores › MemoriesCreate a memoryPath parametersQuery parametersHeadersBody parametersReturnsExampleList memoriesPath parametersQuery parametersHeadersReturnsExampleRetrieve a memoryPath parametersQuery parametersHeadersReturnsExampleUpdate a memoryPath parametersQuery parametersHeadersBody parametersReturnsExampleDelete a memoryPath parametersQuery parametersHeadersReturnsExampleMemory Stores › Memory VersionsList memory versionsPath parametersQuery parametersHeadersReturnsExampleRetrieve a memory versionPath parametersQuery parametersHeadersReturnsExampleRedact a memory versionPath parametersHeadersReturnsExample