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
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)
{
"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
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)
{
"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
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)
{
"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
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)
{
"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
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)
{
"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
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)
{
"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
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)
{
"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
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)
{
"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
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)
{
"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
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)
{
"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
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)
{
"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
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)
{
"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
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)
{
"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
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)
{
"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"
}
}