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"
}Domain types
Beta Managed Agents Conflict Error
BetaManagedAgentsConflictError object
type: "conflict_error"
message: optional string
Beta Managed Agents Content Sha256 Precondition
BetaManagedAgentsContentSha256Precondition object
Optimistic-concurrency precondition: the update applies only if the memory's stored content_sha256 equals the supplied value. On mismatch, the request returns memory_precondition_failed_error (HTTP 409); re-read the memory and retry against the fresh state. If the precondition fails but the stored state already exactly matches the requested content and path, the server returns 200 instead of 409.
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.
Beta Managed Agents Deleted Memory
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).
Beta Managed Agents Error
BetaManagedAgentsError = BetaInvalidRequestError or BetaAuthenticationError or BetaBillingError or 9 more
BetaInvalidRequestError object
type: "invalid_request_error"
default: invalid_request_error
message: string
default: Invalid request
BetaAuthenticationError object
type: "authentication_error"
default: authentication_error
message: string
default: Authentication error
BetaBillingError object
type: "billing_error"
default: billing_error
message: string
default: Billing error
BetaPermissionError object
type: "permission_error"
default: permission_error
message: string
default: Permission denied
BetaNotFoundError object
type: "not_found_error"
default: not_found_error
message: string
default: Not found
BetaRateLimitError object
type: "rate_limit_error"
default: rate_limit_error
message: string
default: Rate limited
BetaGatewayTimeoutError object
type: "timeout_error"
default: timeout_error
message: string
default: Request timeout
BetaAPIError object
type: "api_error"
default: api_error
message: string
default: Internal server error
BetaOverloadedError object
type: "overloaded_error"
default: overloaded_error
message: string
default: Overloaded
BetaManagedAgentsMemoryPreconditionFailedError object
The error returned with HTTP status 409 when a request's precondition doesn't hold for the memory's current state, such as precondition on an update or expected_content_sha256 on a delete.
The error doesn't include the memory's current state. Retrieve the memory to see its current content and content_sha256 before you retry.
See the memory guide to learn more about safe content edits with content hash preconditions.
type: "memory_precondition_failed_error"
message: optional string
A human-readable explanation of why the precondition failed.
BetaManagedAgentsMemoryPathConflictError object
The error returned with HTTP status 409 when a create or rename targets a path that another memory uses, or a path that overlaps another memory's path.
Two paths overlap when one is an ancestor of the other, such as /notes and /notes/todo.md. To free the path, rename or delete the memory that conflicting_memory_id references, then retry. To change that memory instead of creating a new one, update it.
type: "memory_path_conflict_error"
conflicting_memory_id: optional string
The ID of the memory that blocked the write (mem_...), or an empty string if that memory can't be identified.
Retry the request when it is empty.
conflicting_path: optional string
The path that blocked the write: the requested path, or the path of a memory that is an ancestor or descendant of it.
message: optional string
A human-readable explanation of the conflict. To handle the error in code, use conflicting_path and conflicting_memory_id instead.
BetaManagedAgentsConflictError object
type: "conflict_error"
message: optional string
Beta Managed Agents Memory
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).
Beta Managed Agents Memory List Item
BetaManagedAgentsMemoryListItem = BetaManagedAgentsMemory or BetaManagedAgentsMemoryPrefix
One item in a List memories response: either a memory object or, when depth is set, a memory_prefix rollup marker.
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.
Beta Managed Agents Memory Path Conflict Error
BetaManagedAgentsMemoryPathConflictError object
The error returned with HTTP status 409 when a create or rename targets a path that another memory uses, or a path that overlaps another memory's path.
Two paths overlap when one is an ancestor of the other, such as /notes and /notes/todo.md. To free the path, rename or delete the memory that conflicting_memory_id references, then retry. To change that memory instead of creating a new one, update it.
type: "memory_path_conflict_error"
conflicting_memory_id: optional string
The ID of the memory that blocked the write (mem_...), or an empty string if that memory can't be identified.
Retry the request when it is empty.
conflicting_path: optional string
The path that blocked the write: the requested path, or the path of a memory that is an ancestor or descendant of it.
message: optional string
A human-readable explanation of the conflict. To handle the error in code, use conflicting_path and conflicting_memory_id instead.
Beta Managed Agents Memory Precondition Failed Error
BetaManagedAgentsMemoryPreconditionFailedError object
The error returned with HTTP status 409 when a request's precondition doesn't hold for the memory's current state, such as precondition on an update or expected_content_sha256 on a delete.
The error doesn't include the memory's current state. Retrieve the memory to see its current content and content_sha256 before you retry.
See the memory guide to learn more about safe content edits with content hash preconditions.
type: "memory_precondition_failed_error"
message: optional string
A human-readable explanation of why the precondition failed.
Beta Managed Agents Memory Prefix
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.
Beta Managed Agents Memory View
BetaManagedAgentsMemoryView = "basic" or "full"
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.
Beta Managed Agents Precondition
BetaManagedAgentsPrecondition object
Optional condition that must hold for an update to apply. When omitted, the update is unconditional. Asserts the current state of the memory being updated. When an update changes path, the precondition still refers to the memory's current content, not the destination path. Currently the only supported variant is content_sha256.
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.