Update a memory
api/beta/memory_stores/memories/update
Nearest release: v2.1.245, published an hour after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
api/beta/memory_stores/memories/update Changed · +19 / -20 lines
# Update a memory ## Path parameters ## Query parameters ## Headers ## Body parameters ## Returns ## Example ### Response (200) ## Update a memory ### Path Parameters ### Query Parameters ### Header Parameters ### Body Parameters ### Returns ### Example #### Response
---- -title: Update a memory -url: https://platform.claude.com/docs/en/api/beta/memory_stores/memories/update ---- +# Update a memory -## Update a memory +**POST** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}` -**post** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}` - Update a memory -### Path Parameters +## Path parameters - `memory_store_id: string` - `memory_id: string` -### Query Parameters +## Query parameters - `view: optional BetaManagedAgentsMemoryView`
- `"full"` -### Header Parameters +## Headers - `"anthropic-beta": optional array of AnthropicBeta`
- `"mid-conversation-tool-changes-2026-07-01"` -### Body Parameters +## Body parameters - `content: 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, 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` 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"` - - `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 +## Returns -- `BetaManagedAgentsMemory object { id, content_sha256, content_size_bytes, 7 more }` +- `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.
Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`. + format: int32 + - `created_at: string` A timestamp in RFC 3339 format + format: date-time + - `memory_store_id: string` ID of the memory store this memory belongs to (a `memstore_...` value).
- `type: "memory"` - - `"memory"` - - `updated_at: string` A timestamp in RFC 3339 format + 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 +## Example -```http +```bash curl https://api.anthropic.com/v1/memory_stores/$MEMORY_STORE_ID/memories/$MEMORY_ID \ -H 'Content-Type: application/json' \ -H 'anthropic-version: 2023-06-01' \
-d '{}' ``` -#### Response +### Response (200) ```json {