Create a Memory changedapi/beta/memory_stores/memories/create
Nearest release: v2.1.306, published 2 hours 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.
Recorded here
Lines+32added
Lines−12removed
From line
1
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits19to this page, all time
# Create a Memory # Create a memory
The whole hunk
from line 1, old and new numbered
/
from line 1
11---
2title: Create a memory
2title: Create a Memory
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/memories/create
44---
55
6# Create a memory
6# Create a Memory
77
88**POST** `/v1/memory_stores/{memory_store_id}/memories`
99
10Create a memory
10Create a Memory
1111
1212## Path parameters
1313
from line 19
1919
2020- `view: optional BetaManagedAgentsMemoryView`
2121
22 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.
22 Whether a `memory` or `memory_version` in the response includes its `content`. Defaults to `full` on retrieve operations and to `basic` on list, create, and update operations.
2323
24 With `full`, list operations return at most 20 items per page.
25
2426 - `"basic"`
2527
2628 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.
from line 157
155157
156158- `content: string or null`
157159
158 UTF-8 text content for the new memory. Maximum 100 kB (102,400 bytes). Required; pass `""` explicitly to create an empty memory.
160 The UTF-8 text content of the new memory. Pass `""` to create an empty memory.
159161
162 The maximum size is 100 kB (102,400 bytes).
163
160164- `path: string`
161165
162 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.
166 The path of the new memory, such as `/projects/foo/notes.md`. Paths are case-sensitive.
163167
168 A path starts with `/` and has 1 to 20 segments. A segment can't be empty and can't be `.` or `..`. A path can't contain control characters, format characters, or the line and paragraph separators U+2028 and U+2029. It must be in Unicode Normalization Form C and at most 1,024 bytes long.
169
164170 minLength: 2, maxLength: 1024
165171
166172## Returns
from line 173
167173
168174- `BetaManagedAgentsMemory object`
169175
170 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.
176 A text document at a path inside a memory store.
171177
178 `content` is `null` when the response uses `view=basic`. `content_size_bytes` and `content_sha256` are always set, so you can detect changes without fetching the content. To retrieve, update, or delete a memory, pass its ID, which stays the same when its path changes.
179
180 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#view-and-edit-memories) to learn more about working with memories.
181
172182 - `type: "memory"`
173183
174184 - `id: string`
175185
176 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
186 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
177187
188 To retrieve, update, or delete the memory, pass this ID.
189
178190 - `content_sha256: string`
179191
180192 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`.
from line 193
181193
182194 - `content_size_bytes: number`
183195
184 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
196 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
185197
186198 format: int32
187199
from line 209
197209
198210 - `memory_version_id: string`
199211
200 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http).
212 The ID of the memory version that holds the memory's current content (`memver_...`).
201213
214 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
215
216 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#audit-memory-changes) to learn more about memory versions.
217
202218 - `path: string`
203219
204220 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.
from line 221
205221
206222 - `updated_at: string`
207223
208 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http).
224 When the memory was last changed, in RFC 3339.
209225
226 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
227
210228 format: date-time
211229
212230 - `content: optional string or null`
213231
214 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
232 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
233
234 The maximum size is 100 kB (102,400 bytes).
215235
216236## Example
217237
No line in this hunk matches that.