Skip to main content
PATCH
Update Memory
Price: $0.005 USDC Update one or more fields on an existing memory. If content is changed, the embedding and full-text search vector are regenerated automatically. All other fields (metadata, importance, etc.) are updated without re-embedding.

Path Parameters

id
string
required
UUID of the memory to update.

Request Body

At least one field must be provided. Only provided fields are updated — omitted fields are left unchanged.
content
string
New memory text. Max 8,192 characters. Triggers re-embedding.
metadata
object
Replace metadata entirely. Max 4 KB, 20 keys, 3 levels deep.
importance
number
Float between 0 and 1.
memory_type
string
One of: correction, preference, decision, project, observation, general.
namespace
string
Move memory to a different namespace. Max 255 characters.
pinned
boolean
Pin or unpin a memory. Pinned memories are exempt from type-based decay.
expires_at
string | null
ISO 8601 date string to set a TTL, or null to clear expiration. Must be in the future.
immutable
boolean
Set to true to lock the memory permanently. Once immutable, the memory cannot be updated or deleted. This is a one-way operation.
Immutable memories cannot be updated or deleted. Attempting either returns 409 Conflict. If you need to update a memory, do so before setting immutable: true.

Response (200)

Returns the full updated memory object.
id
string
UUID of the memory.
content
string
Memory content.
metadata
object
Memory metadata.
importance
number
Importance score.
memory_type
string
Memory type.
namespace
string
Memory namespace.
expires_at
string | null
Expiration date or null.
updated_at
string
Timestamp of this update.
Update does not run deduplication — you explicitly chose this memory ID, so the content is stored as-is. Relations, access history, and decay state are preserved.

Errors

Example

Response