Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One capture · api

One read of Claude Developer Platformapi-20261021T000725Z

69 pages moved out of 796 read.

Pages moved 69 significant first
Pages read 796 in this capture
Captured 00:07 UTC
Corpus hash 9dff8f1e4a7e corpus-hash

What this read moved

1-25 of 69, page 1 of 3

This capture is too large to show at once. Changes 1-25 of 69 are below, significant first; the rest are on the following screens.

agents-and-tools/mcp-connector Changed · +4 / -4 lines

from line 1276
12761276 <Tabs>
12771277 <Tab title="Gradle">
12781278 ```kotlin
1279 implementation("com.anthropic:anthropic-java:2.74.0")
1280 implementation("com.anthropic:anthropic-java-mcp:2.74.0")
1279 implementation("com.anthropic:anthropic-java:2.75.0")
1280 implementation("com.anthropic:anthropic-java-mcp:2.75.0")
12811281 ```
12821282 </Tab>
12831283 
from line 1286
12861286 <dependency>
12871287 <groupId>com.anthropic</groupId>
12881288 <artifactId>anthropic-java</artifactId>
1289 <version>2.74.0</version>
1289 <version>2.75.0</version>
12901290 </dependency>
12911291 <dependency>
12921292 <groupId>com.anthropic</groupId>
12931293 <artifactId>anthropic-java-mcp</artifactId>
1294 <version>2.74.0</version>
1294 <version>2.75.0</version>
12951295 </dependency>
12961296 ```
12971297 </Tab>

api/beta Changed · +768 / -214 lines

### Create a Memory Store ### List Memory Stores ### Retrieve a Memory Store ### Update a Memory Store ### Delete a Memory Store ### Archive a Memory Store ### Create a Memory ### List Memories ### Retrieve a Memory ### Update a Memory ### Delete a Memory ### List Memory Versions ### Retrieve a Memory Version ### Redact a Memory Version ### Delete User Profile ## Beta › User Profiles › Action URLs ### Create Action URL ### Create a memory store ### List memory stores ### Retrieve a memory store ### Update a memory store ### Delete a memory store ### Archive a memory store ### Create a memory ### List memories ### Retrieve a memory ### Update a memory ### Delete a memory ### List memory versions ### Retrieve a memory version ### Redact a memory version

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

from line 1536
15361536 
15371537- `"anthropic-user-profile-id": optional string`
15381538 
1539 The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. Requires the `user-profiles` beta header.
1539 The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization.
15401540 
15411541- `"anthropic-workspace-id": optional string`
15421542 
from line 7701
77017701 
77027702 Defer loading for this member. Must resolve to the same value on every enabled member of the toolset.
77037703 
7704 - `enabled: optiona
7704 - `enabled: optional boolean or null`
7705 
7706

api/beta/memory_stores Changed · +329 / -133 lines

## Create a Memory Store ## List Memory Stores ## Retrieve a Memory Store ## Update a Memory Store ## Delete a Memory Store ## Archive a Memory Store ### Create a Memory ### List Memories ### Retrieve a Memory ### Update a Memory ### Delete a Memory ### List Memory Versions ### Retrieve a Memory Version ### Redact a Memory Version ## Create a memory store ## List memory stores ## Retrieve a memory store ## Update a memory store ## Delete a memory store ## Archive a memory store ### Create a memory ### List memories ### Retrieve a memory ### Update a memory ### Delete a memory ### List memory versions ### Retrieve a memory version ### Redact a memory version

The two sides of this change are more than 400 edits apart, too far apart to line up, so this is the differ's own diff of it and the words inside a line are not marked.

from line 5
55 
66# Memory Stores
77 
8## Create a memory store
8## Create a Memory Store
99 
1010**POST** `/v1/memory_stores`
1111 
12Create a memory store
12Create a Memory Store
1313 
1414### Headers
1515 
from line 137
137137 
138138- `name: string`
139139 
140 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.
140 The name of the memory store, 1 to 255 characters long, without control characters. Names don't have to be unique in a workspace.
141 
142 In a session, the store's directory under `/mnt/memory/` is based on this name. The name is lowercased and every run of characters other than ASCII letters and digits becomes one hyphen. The session's memory store resource gives the exact path in `mount_path`.
143 
144 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#how-the-agent-accesses-memory) to learn more about how agents access memory stores.
141145 
142146 minLength: 1, maxLength: 255
143147 
144148- `description: optional string`
145149 
146 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.
150 Free-text description of what the store contains, up to 1,024 characters. Included in the agent's system prompt when the store is attached, so word it to be useful to the agent.
147151 
148152 maxLength: 1024
149153 
150154- `metadata: optional map[string]`
151155 
152 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.
156 Key-value pairs for your own use, such as the end user that the store belongs to. The agent doesn't see them.
157 
158 A store has at most 16 pairs. Keys are 1 to 64 characters long and values at most 512 characters.
153159 
154160### Returns
155161 
from line 167
161167 
162168 - `id: string`
163169 
164 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.
170 The unique ID of the memory store (`memstore_...`). Use it to attach the store to a session.
165171 
166172 - `archived_at: string or null`
167173 
168 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.
174 When the memory store was archived, in RFC 3339, or `null` if it hasn't been.
175 
176 Archiving can't be undone. An archived store can't be attached to new sessions. You can't create or update its memories or update the store. You can still read and delete its memories, redact their versions, and delete the store.
177 
178 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#archive-a-store) to learn more about archiving.
169179 
170180 format: date-time
171181 
172182 - `created_at: string`
173183 
174 Timestamp when the store was created.
184 When the memory store was created, in RFC 3339.
175185 
176186 format: date-time
177187 
178188 - `description: string`
179189 
180 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.
190 Free-text description of what the store contains, up to 1,024 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.
181191 
182192 - `metadata: map[string]`
183193 
184 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.
194 Key-value pairs for your own use, such as the end user that the store belongs to.
195 
196 A store has at most 16 pairs. Keys are 1 to 64 characters long and values at most 512 characters. You can't filter lists by metadata.
185197 
186198 - `name: string`
187199 
from line 201
189201 
190202 - `updated_at: string`
191203 
192 Timestamp when the store's `name`, `description`, or `metadata` was last modified. Memory writes inside the store do not advance this.
204 When the memory store was last changed, in RFC 3339.
205 
206 Changing its `name`, `description`, or `metadata` updates it. Archiving the store does too. Changes to the store's memories don't.
193207 
194208 format: date-time
195209 
from line 237
223237}
224238```
225239 
226## List memory stores
240## List Memory Stores
227241 
228242**GET** `/v1/memory_stores`
229243 
230List memory stores
244List Memory Stores
231245 
232246### Query parameters
233247 
234248- `"created_at[gte]": optional string`
235249 
236 Return only stores whose `created_at` is at or after this time (inclusive). Sent on the wire as `created_at[gte]`.
250 Return only memory stores created at or after this time (inclusive).
237251 
238252 format: date-time
239253 
240254- `"created_at[lte]": optional string`
241255 
242 Return only stores whose `created_at` is at or before this time (inclusive). Sent on the wire as `created_at[lte]`.
256 Return only memory stores created at or before this time (inclusive).
243257 
244258 format: date-time
245259 
from line 269
255269 
256270- `page: optional string`
257271 
258 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.
272 The `next_page` value from a previous response, to get the next page. Omit it to get the first page.
259273 
260274### Headers
261275 
from line 403
389403 
390404 - `id: string`
391405 
392 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.
406 The unique ID of the memory store (`memstore_...`). Use it to attach the store to a session.
393407 
394408 - `archived_at: string or null`
395409 
396 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.
410 When the memory store was archived, in RFC 3339, or `null` if it hasn't been.
411 
412 Archiving can't be undone. An archived store can't be attached to new sessions. You can't create or update its memories or update the store. You can still read and delete its memories, redact their versions, and delete the store.
413 
414 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#archive-a-store) to learn more about archiving.
397415 
398416 format: date-time
399417 
400418 - `created_at: string`
401419 
402 Timestamp when the store was created.
420 When the memory store was created, in RFC 3339.
403421 
404422 format: date-time
405423 
406424 - `description: string`
407425 
408 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.
426 Free-text description of what the store contains, up to 1,024 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.
409427 
410428 - `metadata: map[string]`
411429 
412 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.
430 Key-value pairs for your own use, such as the end user that the store belongs to.
431 
432 A store has at most 16 pairs. Keys are 1 to 64 characters long and values at most 512 characters. You can't filter lists by metadata.
413433 
414434 - `name: string`
415435 
from line 437
417437 
418438 - `updated_at: string`
419439 
420 Timestamp when the store's `name`, `description`, or `metadata` was last modified. Memory writes inside the store do not advance this.
440 When the memory store was last changed, in RFC 3339.
441 
442 Changing its `name`, `description`, or `metadata` updates it. Archiving the store does too. Changes to the store's memories don't.
421443 
422444 format: date-time
423445 
424446- `next_page: optional string or null`
425447 
426 Opaque cursor for the next page (a `page_...` value). Pass as `page` on the next request. `null` when there are no more results.
448 The value to pass as `page` to get the next page, or `null` if there are no more results.
427449 
428450### Example
429451 
from line 476
454476}
455477```
456478 
457## Retrieve a memory store
479## Retrieve a Memory Store
458480 
459481**GET** `/v1/memory_stores/{memory_store_id}`
460482 
461Retrieve a memory store
483Retrieve a Memory Store
462484 
463485### Path parameters
464486 
465487- `memory_store_id: string`
466488 
467 ID of the memory store to retrieve (a `memstore_...` identifier). Required. Enumerate IDs via `GET /v1/memory_stores`.
489 The ID of the memory store to retrieve (`memstore_...`).
468490 
469491### Headers
470492 
from line 620
598620 
599621 - `id: string`
600622 
601 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.
623 The unique ID of the memory store (`memstore_...`). Use it to attach the store to a session.
602624 
603625 - `archived_at: string or null`
604626 
605 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.
627 When the memory store was archived, in RFC 3339, or `null` if it hasn't been.
628 
629 Archiving can't be undone. An archived store can't be attached to new sessions. You can't create or update its memories or update the store. You can still read and delete its memories, redact their versions, and delete the store.
630 
631 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#archive-a-store) to learn more about archiving.
606632 
607633 format: date-time
608634 
609635 - `created_at: string`
610636 
611 Timestamp when the store was created.
637 When the memory store was created, in RFC 3339.
612638 
613639 format: date-time
614640 
615641 - `description: string`
616642 
617 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.
643 Free-text description of what the store contains, up to 1,024 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.
618644 
619645 - `metadata: map[string]`
620646 
621 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.
647 Key-value pairs for your own use, such as the end user that the store belongs to.
648 
649 A store has at most 16 pairs. Keys are 1 to 64 characters long and values at most 512 characters. You can't filter lists by metadata.
622650 
623651 - `name: string`
624652 
from line 654
626654 
627655 - `updated_at: string`
628656 
629 Timestamp when the store's `name`, `description`, or `metadata` was last modified. Memory writes inside the store do not advance this.
657 When the memory store was last changed, in RFC 3339.
658 
659 Changing its `name`, `description`, or `metadata` updates it. Archiving the store does too. Changes to the store's memories don't.
630660 
631661 format: date-time
632662 
from line 686
656686}
657687```
658688 
659## Update a memory store
689## Update a Memory Store
660690 
661691**POST** `/v1/memory_stores/{memory_store_id}`
662692 
663Update a memory store
693Update a Memory Store
664694 
665695### Path parameters
666696 
667697- `memory_store_id: string`
668698 
669 ID of the memory store to update (a `memstore_...` identifier). Required. Enumerate IDs via `GET /v1/memory_stores`. Updating an archived store returns 400.
699 The ID of the memory store to update (`memstore_...`).
700 
701 The request fails with HTTP status 400 if the store is archived.
670702 
671703### Headers
672704 
from line 826
794826 
795827- `description: optional string or null`
796828 
797 New description for the store, up to 1024 characters. Pass an empty string to clear it.
829 New description for the store, up to 1,024 characters. Pass an empty string to clear it.
798830 
799831 maxLength: 1024
800832 
801833- `metadata: optional map[string] or null`
802834 
803 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.
835 Changes to apply to the memory store's metadata. Keys you leave out keep their values.
836 
837 Set a key to a string to add or replace it, or to `null` to remove it. After the change, the metadata can hold at most 16 key-value pairs. Keys are 1 to 64 characters long and values at most 512 characters.
804838 
805839- `name: optional string or null`
806840 
807 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.
841 The new name of the memory store, 1 to 255 characters long, without control characters.
842 
843 Sessions created after the change use the new name for the store's directory under `/mnt/memory/`.
808844 
809845 minLength: 1, maxLength: 255
810846 
from line 854
818854 
819855 - `id: string`
820856 
821 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.
857 The unique ID of the memory store (`memstore_...`). Use it to attach the store to a session.
822858 
823859 - `archived_at: string or null`
824860 
825 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.
861 When the memory store was archived, in RFC 3339, or `null` if it hasn't been.
862 
863 Archiving can't be undone. An archived store can't be attached to new sessions. You can't create or update its memories or update the store. You can still read and delete its memories, redact their versions, and delete the store.
864 
865 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#archive-a-store) to learn more about archiving.
826866 
827867 format: date-time
828868 
829869 - `created_at: string`
830870 
831 Timestamp when the store was created.
871 When the memory store was created, in RFC 3339.
832872 
833873 format: date-time
834874 
835875 - `description: string`
836876 
837 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.
877 Free-text description of what the store contains, up to 1,024 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.
838878 
839879 - `metadata: map[string]`
840880 
841 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.
881 Key-value pairs for your own use, such as the end user that the store belongs to.
882 
883 A store has at most 16 pairs. Keys are 1 to 64 characters long and values at most 512 characters. You can't filter lists by metadata.
842884 
843885 - `name: string`
844886 
from line 888
846888 
847889 - `updated_at: string`
848890 
849 Timestamp when the store's `name`, `description`, or `metadata` was last modified. Memory writes inside the store do not advance this.
891 When the memory store was last changed, in RFC 3339.
892 
893 Changing its `name`, `description`, or `metadata` updates it. Archiving the store does too. Changes to the store's memories don't.
850894 
851895 format: date-time
852896 
from line 922
878922}
879923```
880924 
881## Delete a memory store
925## Delete a Memory Store
882926 
883927**DELETE** `/v1/memory_stores/{memory_store_id}`
884928 
885Delete a memory store
929Delete a Memory Store
886930 
887931### Path parameters
888932 
889933- `memory_store_id: string`
890934 
891 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.
935 The ID of the memory store to delete (`memstore_...`).
936 
937 Deleting a store also deletes all its memories and memory versions. It can't be undone.
892938 
893939### Headers
894940 
from line 1089
10431089}
10441090```
10451091 
1046## Archive a memory store
1092## Archive a Memory Store
10471093 
10481094**POST** `/v1/memory_stores/{memory_store_id}/archive`
10491095 
1050Archive a memory store
1096Archive a Memory Store
10511097 
10521098### Path parameters
10531099 
10541100- `memory_store_id: string`
10551101 
1056 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`.
1102 The ID of the memory store to archive (`memstore_...`).
1103 
1104 Archiving can't be undone. Archiving a store that is already archived returns it unchanged.
10571105 
10581106### Headers
10591107 
from line 1235
11871235 
11881236 - `id: string`
11891237 
1190 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.
1238 The unique ID of the memory store (`memstore_...`). Use it to attach the store to a session.
11911239 
11921240 - `archived_at: string or null`
11931241 
1194 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.
1242 When the memory store was archived, in RFC 3339, or `null` if it hasn't been.
1243 
1244 Archiving can't be undone. An archived store can't be attached to new sessions. You can't create or update its memories or update the store. You can still read and delete its memories, redact their versions, and delete the store.
1245 
1246 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#archive-a-store) to learn more about archiving.
11951247 
11961248 format: date-time
11971249 
11981250 - `created_at: string`
11991251 
1200 Timestamp when the store was created.
1252 When the memory store was created, in RFC 3339.
12011253 
12021254 format: date-time
12031255 
12041256 - `description: string`
12051257 
1206 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.
1258 Free-text description of what the store contains, up to 1,024 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.
12071259 
12081260 - `metadata: map[string]`
12091261 
1210 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.
1262 Key-value pairs for your own use, such as the end user that the store belongs to.
1263 
1264 A store has at most 16 pairs. Keys are 1 to 64 characters long and values at most 512 characters. You can't filter lists by metadata.
12111265 
12121266 - `name: string`
12131267 
from line 1269
12151269 
12161270 - `updated_at: string`
12171271 
1218 Timestamp when the store's `name`, `description`, or `metadata` was last modified. Memory writes inside the store do not advance this.
1272 When the memory store was last changed, in RFC 3339.
1273 
1274 Changing its `name`, `description`, or `metadata` updates it. Archiving the store does too. Changes to the store's memories don't.
12191275 
12201276 format: date-time
12211277 
from line 1326
12701326 
12711327 - `id: string`
12721328 
1273 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.
1329 The unique ID of the memory store (`memstore_...`). Use it to attach the store to a session.
12741330 
12751331 - `archived_at: string or null`
12761332 
1277 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.
1333 When the memory store was archived, in RFC 3339, or `null` if it hasn't been.
1334 
1335 Archiving can't be undone. An archived store can't be attached to new sessions. You can't create or update its memories or update the store. You can still read and delete its memories, redact their versions, and delete the store.
1336 
1337 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#archive-a-store) to learn more about archiving.
12781338 
12791339 format: date-time
12801340 
12811341 - `created_at: string`
12821342 
1283 Timestamp when the store was created.
1343 When the memory store was created, in RFC 3339.
12841344 
12851345 format: date-time
12861346 
12871347 - `description: string`
12881348 
1289 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.
1349 Free-text description of what the store contains, up to 1,024 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.
12901350 
12911351 - `metadata: map[string]`
12921352 
1293 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.
1353 Key-value pairs for your own use, such as the end user that the store belongs to.
1354 
1355 A store has at most 16 pairs. Keys are 1 to 64 characters long and values at most 512 characters. You can't filter lists by metadata.
12941356 
12951357 - `name: string`
12961358 
from line 1360
12981360 
12991361 - `updated_at: string`
13001362 
1301 Timestamp when the store's `name`, `description`, or `metadata` was last modified. Memory writes inside the store do not advance this.
1363 When the memory store was last changed, in RFC 3339.
1364 
1365 Changing its `name`, `description`, or `metadata` updates it. Archiving the store does too. Changes to the store's memories don't.
13021366 
13031367 format: date-time
13041368 
13051369## Memory Stores › Memories
13061370 
1307### Create a memory
1371### Create a Memory
13081372 
13091373**POST** `/v1/memory_stores/{memory_store_id}/memories`
13101374 
1311Create a memory
1375Create a Memory
13121376 
13131377#### Path parameters
13141378 
from line 1384
13201384 
13211385- `view: optional BetaManagedAgentsMemoryView`
13221386 
1323 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.
1387 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.
1388 
1389 With `full`, list operations return at most 20 items per page.
13241390 
13251391 - `"basic"`
13261392 
from line 1522
14561522 
14571523- `content: string or null`
14581524 
1459 UTF-8 text content for the new memory. Maximum 100 kB (102,400 bytes). Required; pass `""` explicitly to create an empty memory.
1525 The UTF-8 text content of the new memory. Pass `""` to create an empty memory.
1526 
1527 The maximum size is 100 kB (102,400 bytes).
14601528 
14611529- `path: string`
14621530 
1463 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.
1531 The path of the new memory, such as `/projects/foo/notes.md`. Paths are case-sensitive.
1532 
1533 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.
14641534 
14651535 minLength: 2, maxLength: 1024
14661536 
from line 1538
14681538 
14691539- `BetaManagedAgentsMemory object`
14701540 
1471 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.
1541 A text document at a path inside a memory store.
1542 
1543 `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.
1544 
1545 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.
14721546 
14731547 - `type: "memory"`
14741548 
14751549 - `id: string`
14761550 
1477 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
1551 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
1552 
1553 To retrieve, update, or delete the memory, pass this ID.
14781554 
14791555 - `content_sha256: string`
14801556 
from line 1558
14821558 
14831559 - `content_size_bytes: number`
14841560 
1485 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
1561 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
14861562 
14871563 format: int32
14881564 
from line 1574
14981574 
14991575 - `memory_version_id: string`
15001576 
1501 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).
1577 The ID of the memory version that holds the memory's current content (`memver_...`).
1578 
1579 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
1580 
1581 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.
15021582 
15031583 - `path: string`
15041584 
from line 1586
15061586 
15071587 - `updated_at: string`
15081588 
1509 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).
1589 When the memory was last changed, in RFC 3339.
1590 
1591 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
15101592 
15111593 format: date-time
15121594 
15131595 - `content: optional string or null`
15141596 
1515 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
1597 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
1598 
1599 The maximum size is 100 kB (102,400 bytes).
15161600 
15171601#### Example
15181602 
from line 1629
15451629}
15461630```
15471631 
1548### List memories
1632### List Memories
15491633 
15501634**GET** `/v1/memory_stores/{memory_store_id}/memories`
15511635 
1552List memories
1636List Memories
15531637 
15541638#### Path parameters
15551639 
from line 1645
15611645 
15621646- `depth: optional number`
15631647 
1564 `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`.
1648 How far below `path_prefix` to list. Defaults to `0`, which lists every memory below the prefix.
1649 
1650 Pass `1` to list only the direct children. Deeper memories are then grouped into `memory_prefix` items.
15651651 
15661652 format: int32
15671653 
15681654- `limit: optional number`
15691655 
1570 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.
1656 The maximum number of items to return per page, from 1 to 100. Defaults to 20.
1657 
1658 With `view=full`, a page holds at most 20 items. `memory` and `memory_prefix` items both count toward the limit.
15711659 
15721660 format: int32
15731661 
15741662- `page: optional string`
15751663 
1576 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.
1664 The `next_page` value from a previous response, to get the next page. Omit it to get the first page.
15771665 
15781666- `path_prefix: optional string`
15791667 
1580 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.
1668 Return only memories whose path starts with this prefix, such as `/notes/`. This value appears in request URLs. Do not include secrets or personally identifiable information.
1669 
1670 Omit it to list the whole store. The prefix must end with `/` and matches whole segments, so `/notes/` matches `/notes/todo.md` but not `/notes-archive/todo.md`.
15811671 
15821672- `view: optional BetaManagedAgentsMemoryView`
15831673 
1584 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.
1674 Whether each memory in the response includes `content`. Defaults to `basic`, which sets it to `null`.
1675 
1676 With `full`, a page holds at most 20 items.
15851677 
15861678 - `"basic"`
15871679 
from line 1813
17211813 
17221814 - `BetaManagedAgentsMemory object`
17231815 
1724 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.
1816 A text document at a path inside a memory store.
1817 
1818 `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.
1819 
1820 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.
17251821 
17261822 - `type: "memory"`
17271823 
17281824 - `id: string`
17291825 
1730 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
1826 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
1827 
1828 To retrieve, update, or delete the memory, pass this ID.
17311829 
17321830 - `content_sha256: string`
17331831 
from line 1833
17351833 
17361834 - `content_size_bytes: number`
17371835 
1738 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
1836 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
17391837 
17401838 format: int32
17411839 
from line 1849
17511849 
17521850 - `memory_version_id: string`
17531851 
1754 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).
1852 The ID of the memory version that holds the memory's current content (`memver_...`).
1853 
1854 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
1855 
1856 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.
17551857 
17561858 - `path: string`
17571859 
from line 1861
17591861 
17601862 - `updated_at: string`
17611863 
1762 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).
1864 When the memory was last changed, in RFC 3339.
1865 
1866 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
17631867 
17641868 format: date-time
17651869 
17661870 - `content: optional string or null`
17671871 
1768 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
1872 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
1873 
1874 The maximum size is 100 kB (102,400 bytes).
17691875 
17701876 - `BetaManagedAgentsMemoryPrefix object`
17711877 
1772 A rolled-up directory marker returned by [List memories](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list?sdk_languages=http) 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.
1878 A directory marker that [List Memories](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list?sdk_languages=http) returns instead of the memories below the requested `depth`.
1879 
1880 It stands for one or more memories whose paths start with `path`. It isn't a stored object and doesn't have an ID. Each marker counts toward the page `limit`.
17731881 
17741882 - `type: "memory_prefix"`
17751883 
from line 1887
17791887 
17801888- `next_page: optional string or null`
17811889 
1782 Opaque cursor for the next page (a `page_...` value), or `null` if there are no more results. Pass as `page` on the next request.
1890 The value to pass as `page` to get the next page, or `null` if there are no more results.
17831891 
17841892#### Example
17851893 
from line 1920
18121920}
18131921```
18141922 
1815### Retrieve a memory
1923### Retrieve a Memory
18161924 
18171925**GET** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}`
18181926 
1819Retrieve a memory
1927Retrieve a Memory
18201928 
18211929#### Path parameters
18221930 
from line 1940
18321940 
18331941- `view: optional BetaManagedAgentsMemoryView`
18341942 
1835 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.
1943 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.
1944 
1945 With `full`, list operations return at most 20 items per page.
18361946 
18371947 - `"basic"`
18381948 
from line 2078
19682078 
19692079- `BetaManagedAgentsMemory object`
19702080 
1971 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.
2081 A text document at a path inside a memory store.
2082 
2083 `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.
2084 
2085 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.
19722086 
19732087 - `type: "memory"`
19742088 
19752089 - `id: string`
19762090 
1977 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
2091 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
2092 
2093 To retrieve, update, or delete the memory, pass this ID.
19782094 
19792095 - `content_sha256: string`
19802096 
from line 2098
19822098 
19832099 - `content_size_bytes: number`
19842100 
1985 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
2101 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
19862102 
19872103 format: int32
19882104 
from line 2114
19982114 
19992115 - `memory_version_id: string`
20002116 
2001 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).
2117 The ID of the memory version that holds the memory's current content (`memver_...`).
2118 
2119 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
2120 
2121 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.
20022122 
20032123 - `path: string`
20042124 
from line 2126
20062126 
20072127 - `updated_at: string`
20082128 
2009 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).
2129 When the memory was last changed, in RFC 3339.
2130 
2131 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
20102132 
20112133 format: date-time
20122134 
20132135 - `content: optional string or null`
20142136 
2015 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
2137 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
2138 
2139 The maximum size is 100 kB (102,400 bytes).
20162140 
20172141#### Example
20182142 
from line 2164
20402164}
20412165```
20422166 
2043### Update a memory
2167### Update a Memory
20442168 
20452169**POST** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}`
20462170 
2047Update a memory
2171Update a Memory
20482172 
20492173#### Path parameters
20502174 
from line 2184
20602184 
20612185- `view: optional BetaManagedAgentsMemoryView`
20622186 
2063 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.
2187 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.
2188 
2189 With `full`, list operations return at most 20 items per page.
20642190 
20652191 - `"basic"`
20662192 
from line 2326
22002326 
22012327- `path: optional string or null`
22022328 
2203 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.
2329 The new path of the memory, which renames it. Omit it to keep the current path.
2330 
2331 The memory keeps its `id`. 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. Paths are case-sensitive.
22042332 
22052333 minLength: 2, maxLength: 1024
22062334 
22072335- `precondition: optional BetaManagedAgentsPrecondition`
22082336 
2209 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.
2337 The condition that the memory must meet for the update to apply. Omit it to update unconditionally.
2338 
2339 If the condition fails, the request fails with HTTP status 409.
22102340 
22112341 - `type: "content_sha256"`
22122342 
from line 2348
22182348 
22192349- `BetaManagedAgentsMemory object`
22202350 
2221 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.
2351 A text document at a path inside a memory store.
2352 
2353 `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.
2354 
2355 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.
22222356 
22232357 - `type: "memory"`
22242358 
22252359 - `id: string`
22262360 
2227 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
2361 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
2362 
2363 To retrieve, update, or delete the memory, pass this ID.
22282364 
22292365 - `content_sha256: string`
22302366 
from line 2368
22322368 
22332369 - `content_size_bytes: number`
22342370 
2235 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
2371 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
22362372 
22372373 format: int32
22382374 
from line 2384
22482384 
22492385 - `memory_version_id: string`
22502386 
2251 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).
2387 The ID of the memory version that holds the memory's current content (`memver_...`).
2388 
2389 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
2390 
2391 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.
22522392 
22532393 - `path: string`
22542394 
from line 2396
22562396 
22572397 - `updated_at: string`
22582398 
2259 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).
2399 When the memory was last changed, in RFC 3339.
2400 
2401 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
22602402 
22612403 format: date-time
22622404 
22632405 - `content: optional string or null`
22642406 
2265 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
2407 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
2408 
2409 The maximum size is 100 kB (102,400 bytes).
22662410 
22672411#### Example
22682412 
from line 2436
22922436}
22932437```
22942438 
2295### Delete a memory
2439### Delete a Memory
22962440 
22972441**DELETE** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}`
22982442 
2299Delete a memory
2443Delete a Memory
23002444 
23012445#### Path parameters
23022446 
from line 2586
24422586 
24432587- `BetaManagedAgentsDeletedMemory object`
24442588 
2445 Tombstone returned by [Delete a memory](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/delete?sdk_languages=http). Deleting a memory does not erase its version history: its versions remain listable via [List memory versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) 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).
2589 The confirmation that [Delete a Memory](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/delete?sdk_languages=http) returns.
2590 
2591 Deleting a memory doesn't delete its versions. [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) returns them 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.
2592 
2593 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#audit-memory-changes) to learn more about how long versions are kept.
24462594 
24472595 - `type: "memory_deleted"`
24482596 
from line 2619
24712619 
24722620## Memory Stores › Memory Versions
24732621 
2474### List memory versions
2622### List Memory Versions
24752623 
24762624**GET** `/v1/memory_stores/{memory_store_id}/memory_versions`
24772625 
2478List memory versions
2626List Memory Versions
24792627 
24802628#### Path parameters
24812629 
from line 2651
25032651 
25042652- `limit: optional number`
25052653 
2506 The maximum number of versions to return per page. Defaults to 20.
2654 The maximum number of versions to return per page, from 1 to 100. Defaults to 20.
2655 
2656 With `view=full`, a page holds at most 20 versions.
25072657 
25082658 format: int32
25092659 
from line 2661
25112661 
25122662 Return only versions of the memory with this ID (`mem_...`).
25132663 
2514 The filter still works after the memory is deleted. The results then include the version whose `operation` is `deleted`.
2664 The filter still works after the memory is deleted. While that memory's versions are retained, the results include the version whose `operation` is `deleted`.
25152665 
25162666- `operation: optional BetaManagedAgentsMemoryVersionOperation`
25172667 
from line 2693
25432693 
25442694- `view: optional BetaManagedAgentsMemoryView`
25452695 
2546 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.
2696 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.
2697 
2698 With `full`, list operations return at most 20 items per page.
25472699 
25482700 - `"basic"`
25492701 
from line 2847
26952847 
26962848 - `memory_id: string`
26972849 
2698 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to retrieve the memory's retained versions, including the `deleted` row while the lineage is retained.
2850 The ID of the memory that this version belongs to (`mem_...`).
2851 
2852 The ID stays valid after the memory is deleted. Pass it as `memory_id` to [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to get the memory's retained versions, including its `deleted` version while the lineage is retained.
26992853 
27002854 - `memory_store_id: string`
27012855 
from line 2887
27332887 
27342888 - `created_by: optional BetaManagedAgentsActor`
27352889 
2736 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](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http).
2890 Who made this change to the memory, or `null` if the author wasn't recorded.
2891 
2892 Redacting the version doesn't change this field. A `session_actor` here is an agent that wrote through the store's mounted filesystem at `/mnt/memory/`. The version doesn't record the API key that created that session. So the author in `created_by` is who made the change, not who is ultimately responsible for it.
2893 
2894 You can [retrieve the session](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http) to learn more about where the change came from.
27372895 
27382896 - `BetaManagedAgentsSessionActor object`
27392897 
from line 2947
27892947 
27902948 - `redacted_at: optional string or null`
27912949 
2792 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/redact?sdk_languages=http).
2950 When the version was redacted, in RFC 3339, or `null` if it hasn't been.
2951 
2952 When set, `content`, `path`, `content_size_bytes`, and `content_sha256` are `null`.
2953 
2954 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#redact-a-version) to learn more about redaction.
27932955 
27942956 format: date-time
27952957 
from line 2961
27992961 
28002962- `next_page: optional string or null`
28012963 
2802 Opaque cursor for the next page (a `page_...` value), or `null` if there are no more results. Pass as `page` on the next request.
2964 The value to pass as `page` to get the next page, or `null` if there are no more results.
28032965 
28042966#### Example
28052967 
from line 3003
28413003}
28423004```
28433005 
2844### Retrieve a memory version
3006### Retrieve a Memory Version
28453007 
28463008**GET** `/v1/memory_stores/{memory_store_id}/memory_versions/{memory_version_id}`
28473009 
2848Retrieve a memory version
3010Retrieve a Memory Version
28493011 
28503012#### Path parameters
28513013 
from line 3023
28613023 
28623024- `view: optional BetaManagedAgentsMemoryView`
28633025 
2864 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.
3026 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.
3027 
3028 With `full`, list operations return at most 20 items per page.
28653029 
28663030 - `"basic"`
28673031 
from line 3161
29973161 
29983162- `BetaManagedAgentsMemoryVersion object`
29993163 
3000 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.
3164 One entry in a memory's history, recording a single change and who made it.
3165 
3166 Every change to a memory adds one version. Only redaction can change a version after that. Versions belong to the memory store and stay after the memory is deleted. Each version is retained for at least the version retention period after it was written, unless the store itself is deleted.
3167 
3168 Retrieving a redacted version succeeds, with `content`, `path`, `content_size_bytes`, and `content_sha256` set to `null`. Check `redacted_at` to find out whether a version was redacted.
3169 
3170 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.
30013171 
30023172 - `type: "memory_version"`
30033173 
from line 3183
30133183 
30143184 - `memory_id: string`
30153185 
3016 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to retrieve the memory's retained versions, including the `deleted` row while the lineage is retained.
3186 The ID of the memory that this version belongs to (`mem_...`).
3187 
3188 The ID stays valid after the memory is deleted. Pass it as `memory_id` to [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to get the memory's retained versions, including its `deleted` version while the lineage is retained.
30173189 
30183190 - `memory_store_id: string`
30193191 
from line 3223
30513223 
30523224 - `created_by: optional BetaManagedAgentsActor`
30533225 
3054 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](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http).
3226 Who made this change to the memory, or `null` if the author wasn't recorded.
3227 
3228 Redacting the version doesn't change this field. A `session_actor` here is an agent that wrote through the store's mounted filesystem at `/mnt/memory/`. The version doesn't record the API key that created that session. So the author in `created_by` is who made the change, not who is ultimately responsible for it.
3229 
3230 You can [retrieve the session](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http) to learn more about where the change came from.
30553231 
30563232 - `BetaManagedAgentsSessionActor object`
30573233 
from line 3283
31073283 
31083284 - `redacted_at: optional string or null`
31093285 
3110 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/redact?sdk_languages=http).
3286 When the version was redacted, in RFC 3339, or `null` if it hasn't been.
3287 
3288 When set, `content`, `path`, `content_size_bytes`, and `content_sha256` are `null`.
3289 
3290 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#redact-a-version) to learn more about redaction.
31113291 
31123292 format: date-time
31133293 
from line 3330
31503330}
31513331```
31523332 
3153### Redact a memory version
3333### Redact a Memory Version
31543334 
31553335**POST** `/v1/memory_stores/{memory_store_id}/memory_versions/{memory_version_id}/redact`
31563336 
3157Redact a memory version
3337Redact a Memory Version
31583338 
31593339#### Path parameters
31603340 
from line 3472
32923472 
32933473- `BetaManagedAgentsMemoryVersion object`
32943474 
3295 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.
3475 One entry in a memory's history, recording a single change and who made it.
3476 
3477 Every change to a memory adds one version. Only redaction can change a version after that. Versions belong to the memory store and stay after the memory is deleted. Each version is retained for at least the version retention period after it was written, unless the store itself is deleted.
3478 
3479 Retrieving a redacted version succeeds, with `content`, `path`, `content_size_bytes`, and `content_sha256` set to `null`. Check `redacted_at` to find out whether a version was redacted.
3480 
3481 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.
32963482 
32973483 - `type: "memory_version"`
32983484 
from line 3494
33083494 
33093495 - `memory_id: string`
33103496 
3311 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to retrieve the memory's retained versions, including the `deleted` row while the lineage is retained.
3497 The ID of the memory that this version belongs to (`mem_...`).
3498 
3499 The ID stays valid after the memory is deleted. Pass it as `memory_id` to [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to get the memory's retained versions, including its `deleted` version while the lineage is retained.
33123500 
33133501 - `memory_store_id: string`
33143502 
from line 3534
33463534 
33473535 - `created_by: optional BetaManagedAgentsActor`
33483536 
3349 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](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http).
3537 Who made this change to the memory, or `null` if the author wasn't recorded.
3538 
3539 Redacting the version doesn't change this field. A `session_actor` here is an agent that wrote through the store's mounted filesystem at `/mnt/memory/`. The version doesn't record the API key that created that session. So the author in `created_by` is who made the change, not who is ultimately responsible for it.
3540 
3541 You can [retrieve the session](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http) to learn more about where the change came from.
33503542 
33513543 - `BetaManagedAgentsSessionActor object`
33523544 
from line 3594
34023594 
34033595 - `redacted_at: optional string or null`
34043596 
3405 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/redact?sdk_languages=http).
3597 When the version was redacted, in RFC 3339, or `null` if it hasn't been.
3598 
3599 When set, `content`, `path`, `content_size_bytes`, and `content_sha256` are `null`.
3600 
3601 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#redact-a-version) to learn more about redaction.
34063602 
34073603 format: date-time
34083604 
34093605 

api/beta/memory_stores/archive Changed · +20 / -10 lines

# Archive a Memory Store # Archive a memory store

from line 1
11---
2title: Archive a memory store
2title: Archive a Memory Store
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/archive
44---
55 
6# Archive a memory store
6# Archive a Memory Store
77 
88**POST** `/v1/memory_stores/{memory_store_id}/archive`
99 
10Archive a memory store
10Archive a Memory Store
1111 
1212## Path parameters
1313 
1414- `memory_store_id: string`
1515 
16 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`.
16 The ID of the memory store to archive (`memstore_...`).
1717 
18 Archiving can't be undone. Archiving a store that is already archived returns it unchanged.
19 
1820## Headers
1921 
2022- `"anthropic-version": optional string`
from line 149
147149 
148150 - `id: string`
149151 
150 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.
152 The unique ID of the memory store (`memstore_...`). Use it to attach the store to a session.
151153 
152154 - `archived_at: string or null`
153155 
154 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.
156 When the memory store was archived, in RFC 3339, or `null` if it hasn't been.
155157 
158 Archiving can't be undone. An archived store can't be attached to new sessions. You can't create or update its memories or update the store. You can still read and delete its memories, redact their versions, and delete the store.
159 
160 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#archive-a-store) to learn more about archiving.
161 
156162 format: date-time
157163 
158164 - `created_at: string`
159165 
160 Timestamp when the store was created.
166 When the memory store was created, in RFC 3339.
161167 
162168 format: date-time
163169 
164170 - `description: string`
165171 
166 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.
172 Free-text description of what the store contains, up to 1,024 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.
167173 
168174 - `metadata: map[string]`
169175 
170 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.
176 Key-value pairs for your own use, such as the end user that the store belongs to.
171177 
178 A store has at most 16 pairs. Keys are 1 to 64 characters long and values at most 512 characters. You can't filter lists by metadata.
179 
172180 - `name: string`
173181 
174182 Human-readable name for the store. 1–255 characters. The store's mount-path slug under `/mnt/memory/` is derived from this name.
from line 183
175183 
176184 - `updated_at: string`
177185 
178 Timestamp when the store's `name`, `description`, or `metadata` was last modified. Memory writes inside the store do not advance this.
186 When the memory store was last changed, in RFC 3339.
187 
188 Changing its `name`, `description`, or `metadata` updates it. Archiving the store does too. Changes to the store's memories don't.
179189 
180190 format: date-time
181191 

api/beta/memory_stores/create Changed · +26 / -12 lines

# Create a Memory Store # Create a memory store

from line 1
11---
2title: Create a memory store
2title: Create a Memory Store
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/create
44---
55 
6# Create a memory store
6# Create a Memory Store
77 
88**POST** `/v1/memory_stores`
99 
10Create a memory store
10Create a Memory Store
1111 
1212## Headers
1313 
from line 135
135135 
136136- `name: string`
137137 
138 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.
138 The name of the memory store, 1 to 255 characters long, without control characters. Names don't have to be unique in a workspace.
139139 
140 In a session, the store's directory under `/mnt/memory/` is based on this name. The name is lowercased and every run of characters other than ASCII letters and digits becomes one hyphen. The session's memory store resource gives the exact path in `mount_path`.
141 
142 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#how-the-agent-accesses-memory) to learn more about how agents access memory stores.
143 
140144 minLength: 1, maxLength: 255
141145 
142146- `description: optional string`
143147 
144 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.
148 Free-text description of what the store contains, up to 1,024 characters. Included in the agent's system prompt when the store is attached, so word it to be useful to the agent.
145149 
146150 maxLength: 1024
147151 
148152- `metadata: optional map[string]`
149153 
150 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.
154 Key-value pairs for your own use, such as the end user that the store belongs to. The agent doesn't see them.
151155 
156 A store has at most 16 pairs. Keys are 1 to 64 characters long and values at most 512 characters.
157 
152158## Returns
153159 
154160- `BetaManagedAgentsMemoryStore object`
from line 165
159165 
160166 - `id: string`
161167 
162 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.
168 The unique ID of the memory store (`memstore_...`). Use it to attach the store to a session.
163169 
164170 - `archived_at: string or null`
165171 
166 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.
172 When the memory store was archived, in RFC 3339, or `null` if it hasn't been.
167173 
174 Archiving can't be undone. An archived store can't be attached to new sessions. You can't create or update its memories or update the store. You can still read and delete its memories, redact their versions, and delete the store.
175 
176 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#archive-a-store) to learn more about archiving.
177 
168178 format: date-time
169179 
170180 - `created_at: string`
171181 
172 Timestamp when the store was created.
182 When the memory store was created, in RFC 3339.
173183 
174184 format: date-time
175185 
176186 - `description: string`
177187 
178 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.
188 Free-text description of what the store contains, up to 1,024 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.
179189 
180190 - `metadata: map[string]`
181191 
182 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.
192 Key-value pairs for your own use, such as the end user that the store belongs to.
183193 
194 A store has at most 16 pairs. Keys are 1 to 64 characters long and values at most 512 characters. You can't filter lists by metadata.
195 
184196 - `name: string`
185197 
186198 Human-readable name for the store. 1–255 characters. The store's mount-path slug under `/mnt/memory/` is derived from this name.
from line 199
187199 
188200 - `updated_at: string`
189201 
190 Timestamp when the store's `name`, `description`, or `metadata` was last modified. Memory writes inside the store do not advance this.
202 When the memory store was last changed, in RFC 3339.
203 
204 Changing its `name`, `description`, or `metadata` updates it. Archiving the store does too. Changes to the store's memories don't.
191205 
192206 format: date-time
193207 

api/beta/memory_stores/delete Changed · +6 / -4 lines

# Delete a Memory Store # Delete a memory store

from line 1
11---
2title: Delete a memory store
2title: Delete a Memory Store
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/delete
44---
55 
6# Delete a memory store
6# Delete a Memory Store
77 
88**DELETE** `/v1/memory_stores/{memory_store_id}`
99 
10Delete a memory store
10Delete a Memory Store
1111 
1212## Path parameters
1313 
1414- `memory_store_id: string`
1515 
16 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.
16 The ID of the memory store to delete (`memstore_...`).
17 
18 Deleting a store also deletes all its memories and memory versions. It can't be undone.
1719 
1820## Headers
1921 

api/beta/memory_stores/list Changed · +21 / -13 lines

# List Memory Stores # List memory stores

from line 1
11---
2title: List memory stores
2title: List Memory Stores
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/list
44---
55 
6# List memory stores
6# List Memory Stores
77 
88**GET** `/v1/memory_stores`
99 
10List memory stores
10List Memory Stores
1111 
1212## Query parameters
1313 
1414- `"created_at[gte]": optional string`
1515 
16 Return only stores whose `created_at` is at or after this time (inclusive). Sent on the wire as `created_at[gte]`.
16 Return only memory stores created at or after this time (inclusive).
1717 
1818 format: date-time
1919 
2020- `"created_at[lte]": optional string`
2121 
22 Return only stores whose `created_at` is at or before this time (inclusive). Sent on the wire as `created_at[lte]`.
22 Return only memory stores created at or before this time (inclusive).
2323 
2424 format: date-time
2525 
from line 35
3535 
3636- `page: optional string`
3737 
38 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.
38 The `next_page` value from a previous response, to get the next page. Omit it to get the first page.
3939 
4040## Headers
4141 
from line 169
169169 
170170 - `id: string`
171171 
172 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.
172 The unique ID of the memory store (`memstore_...`). Use it to attach the store to a session.
173173 
174174 - `archived_at: string or null`
175175 
176 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.
176 When the memory store was archived, in RFC 3339, or `null` if it hasn't been.
177177 
178 Archiving can't be undone. An archived store can't be attached to new sessions. You can't create or update its memories or update the store. You can still read and delete its memories, redact their versions, and delete the store.
179 
180 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#archive-a-store) to learn more about archiving.
181 
178182 format: date-time
179183 
180184 - `created_at: string`
181185 
182 Timestamp when the store was created.
186 When the memory store was created, in RFC 3339.
183187 
184188 format: date-time
185189 
186190 - `description: string`
187191 
188 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.
192 Free-text description of what the store contains, up to 1,024 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.
189193 
190194 - `metadata: map[string]`
191195 
192 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.
196 Key-value pairs for your own use, such as the end user that the store belongs to.
193197 
198 A store has at most 16 pairs. Keys are 1 to 64 characters long and values at most 512 characters. You can't filter lists by metadata.
199 
194200 - `name: string`
195201 
196202 Human-readable name for the store. 1–255 characters. The store's mount-path slug under `/mnt/memory/` is derived from this name.
from line 203
197203 
198204 - `updated_at: string`
199205 
200 Timestamp when the store's `name`, `description`, or `metadata` was last modified. Memory writes inside the store do not advance this.
206 When the memory store was last changed, in RFC 3339.
201207 
208 Changing its `name`, `description`, or `metadata` updates it. Archiving the store does too. Changes to the store's memories don't.
209 
202210 format: date-time
203211 
204212- `next_page: optional string or null`
205213 
206 Opaque cursor for the next page (a `page_...` value). Pass as `page` on the next request. `null` when there are no more results.
214 The value to pass as `page` to get the next page, or `null` if there are no more results.
207215 
208216## Example
209217 

api/beta/memory_stores/memories Changed · +193 / -69 lines

## Create a Memory ## List Memories ## Retrieve a Memory ## Update a Memory ## Delete a Memory ## Create a memory ## List memories ## Retrieve a memory ## Update a memory ## Delete a memory

from line 5
55 
66# Memories
77 
8## Create a memory
8## Create a Memory
99 
1010**POST** `/v1/memory_stores/{memory_store_id}/memories`
1111 
12Create a memory
12Create a Memory
1313 
1414### Path parameters
1515 
from line 21
2121 
2222- `view: optional BetaManagedAgentsMemoryView`
2323 
24 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.
24 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.
2525 
26 With `full`, list operations return at most 20 items per page.
27 
2628 - `"basic"`
2729 
2830 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 159
157159 
158160- `content: string or null`
159161 
160 UTF-8 text content for the new memory. Maximum 100 kB (102,400 bytes). Required; pass `""` explicitly to create an empty memory.
162 The UTF-8 text content of the new memory. Pass `""` to create an empty memory.
161163 
164 The maximum size is 100 kB (102,400 bytes).
165 
162166- `path: string`
163167 
164 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.
168 The path of the new memory, such as `/projects/foo/notes.md`. Paths are case-sensitive.
165169 
170 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.
171 
166172 minLength: 2, maxLength: 1024
167173 
168174### Returns
from line 175
169175 
170176- `BetaManagedAgentsMemory object`
171177 
172 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.
178 A text document at a path inside a memory store.
173179 
180 `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.
181 
182 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.
183 
174184 - `type: "memory"`
175185 
176186 - `id: string`
177187 
178 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
188 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
179189 
190 To retrieve, update, or delete the memory, pass this ID.
191 
180192 - `content_sha256: string`
181193 
182194 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 195
183195 
184196 - `content_size_bytes: number`
185197 
186 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
198 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
187199 
188200 format: int32
189201 
from line 211
199211 
200212 - `memory_version_id: string`
201213 
202 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).
214 The ID of the memory version that holds the memory's current content (`memver_...`).
203215 
216 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
217 
218 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.
219 
204220 - `path: string`
205221 
206222 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 223
207223 
208224 - `updated_at: string`
209225 
210 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).
226 When the memory was last changed, in RFC 3339.
211227 
228 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
229 
212230 format: date-time
213231 
214232 - `content: optional string or null`
215233 
216 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
234 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
217235 
236 The maximum size is 100 kB (102,400 bytes).
237 
218238### Example
219239 
220240```bash
from line 266
246266}
247267```
248268 
249## List memories
269## List Memories
250270 
251271**GET** `/v1/memory_stores/{memory_store_id}/memories`
252272 
253List memories
273List Memories
254274 
255275### Path parameters
256276 
from line 282
262282 
263283- `depth: optional number`
264284 
265 `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`.
285 How far below `path_prefix` to list. Defaults to `0`, which lists every memory below the prefix.
266286 
287 Pass `1` to list only the direct children. Deeper memories are then grouped into `memory_prefix` items.
288 
267289 format: int32
268290 
269291- `limit: optional number`
270292 
271 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.
293 The maximum number of items to return per page, from 1 to 100. Defaults to 20.
272294 
295 With `view=full`, a page holds at most 20 items. `memory` and `memory_prefix` items both count toward the limit.
296 
273297 format: int32
274298 
275299- `page: optional string`
276300 
277 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.
301 The `next_page` value from a previous response, to get the next page. Omit it to get the first page.
278302 
279303- `path_prefix: optional string`
280304 
281 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.
305 Return only memories whose path starts with this prefix, such as `/notes/`. This value appears in request URLs. Do not include secrets or personally identifiable information.
282306 
307 Omit it to list the whole store. The prefix must end with `/` and matches whole segments, so `/notes/` matches `/notes/todo.md` but not `/notes-archive/todo.md`.
308 
283309- `view: optional BetaManagedAgentsMemoryView`
284310 
285 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.
311 Whether each memory in the response includes `content`. Defaults to `basic`, which sets it to `null`.
286312 
313 With `full`, a page holds at most 20 items.
314 
287315 - `"basic"`
288316 
289317 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 450
422450 
423451 - `BetaManagedAgentsMemory object`
424452 
425 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.
453 A text document at a path inside a memory store.
426454 
455 `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.
456 
457 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.
458 
427459 - `type: "memory"`
428460 
429461 - `id: string`
430462 
431 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
463 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
432464 
465 To retrieve, update, or delete the memory, pass this ID.
466 
433467 - `content_sha256: string`
434468 
435469 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 470
436470 
437471 - `content_size_bytes: number`
438472 
439 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
473 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
440474 
441475 format: int32
442476 
from line 486
452486 
453487 - `memory_version_id: string`
454488 
455 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).
489 The ID of the memory version that holds the memory's current content (`memver_...`).
456490 
491 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
492 
493 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.
494 
457495 - `path: string`
458496 
459497 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 498
460498 
461499 - `updated_at: string`
462500 
463 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).
501 When the memory was last changed, in RFC 3339.
464502 
503 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
504 
465505 format: date-time
466506 
467507 - `content: optional string or null`
468508 
469 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
509 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
470510 
511 The maximum size is 100 kB (102,400 bytes).
512 
471513 - `BetaManagedAgentsMemoryPrefix object`
472514 
473 A rolled-up directory marker returned by [List memories](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list?sdk_languages=http) 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.
515 A directory marker that [List Memories](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list?sdk_languages=http) returns instead of the memories below the requested `depth`.
474516 
517 It stands for one or more memories whose paths start with `path`. It isn't a stored object and doesn't have an ID. Each marker counts toward the page `limit`.
518 
475519 - `type: "memory_prefix"`
476520 
477521 - `path: string`
from line 524
480524 
481525- `next_page: optional string or null`
482526 
483 Opaque cursor for the next page (a `page_...` value), or `null` if there are no more results. Pass as `page` on the next request.
527 The value to pass as `page` to get the next page, or `null` if there are no more results.
484528 
485529### Example
486530 
from line 557
513557}
514558```
515559 
516## Retrieve a memory
560## Retrieve a Memory
517561 
518562**GET** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}`
519563 
520Retrieve a memory
564Retrieve a Memory
521565 
522566### Path parameters
523567 
from line 577
533577 
534578- `view: optional BetaManagedAgentsMemoryView`
535579 
536 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.
580 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.
537581 
582 With `full`, list operations return at most 20 items per page.
583 
538584 - `"basic"`
539585 
540586 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 715
669715 
670716- `BetaManagedAgentsMemory object`
671717 
672 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.
718 A text document at a path inside a memory store.
673719 
720 `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.
721 
722 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.
723 
674724 - `type: "memory"`
675725 
676726 - `id: string`
677727 
678 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
728 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
679729 
730 To retrieve, update, or delete the memory, pass this ID.
731 
680732 - `content_sha256: string`
681733 
682734 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 735
683735 
684736 - `content_size_bytes: number`
685737 
686 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
738 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
687739 
688740 format: int32
689741 
from line 751
699751 
700752 - `memory_version_id: string`
701753 
702 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).
754 The ID of the memory version that holds the memory's current content (`memver_...`).
703755 
756 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
757 
758 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.
759 
704760 - `path: string`
705761 
706762 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 763
707763 
708764 - `updated_at: string`
709765 
710 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).
766 When the memory was last changed, in RFC 3339.
711767 
768 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
769 
712770 format: date-time
713771 
714772 - `content: optional string or null`
715773 
716 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
774 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
717775 
776 The maximum size is 100 kB (102,400 bytes).
777 
718778### Example
719779 
720780```bash
from line 801
741801}
742802```
743803 
744## Update a memory
804## Update a Memory
745805 
746806**POST** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}`
747807 
748Update a memory
808Update a Memory
749809 
750810### Path parameters
751811 
from line 821
761821 
762822- `view: optional BetaManagedAgentsMemoryView`
763823 
764 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.
824 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.
765825 
826 With `full`, list operations return at most 20 items per page.
827 
766828 - `"basic"`
767829 
768830 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 963
901963 
902964- `path: optional string or null`
903965 
904 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.
966 The new path of the memory, which renames it. Omit it to keep the current path.
905967 
968 The memory keeps its `id`. 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. Paths are case-sensitive.
969 
906970 minLength: 2, maxLength: 1024
907971 
908972- `precondition: optional BetaManagedAgentsPrecondition`
909973 
910 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.
974 The condition that the memory must meet for the update to apply. Omit it to update unconditionally.
911975 
976 If the condition fails, the request fails with HTTP status 409.
977 
912978 - `type: "content_sha256"`
913979 
914980 - `content_sha256: optional string`
from line 985
919985 
920986- `BetaManagedAgentsMemory object`
921987 
922 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.
988 A text document at a path inside a memory store.
923989 
990 `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.
991 
992 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.
993 
924994 - `type: "memory"`
925995 
926996 - `id: string`
927997 
928 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
998 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
929999 
1000 To retrieve, update, or delete the memory, pass this ID.
1001 
9301002 - `content_sha256: string`
9311003 
9321004 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 1005
9331005 
9341006 - `content_size_bytes: number`
9351007 
936 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
1008 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
9371009 
9381010 format: int32
9391011 
from line 1021
9491021 
9501022 - `memory_version_id: string`
9511023 
952 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).
1024 The ID of the memory version that holds the memory's current content (`memver_...`).
9531025 
1026 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
1027 
1028 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.
1029 
9541030 - `path: string`
9551031 
9561032 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 1033
9571033 
9581034 - `updated_at: string`
9591035 
960 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).
1036 When the memory was last changed, in RFC 3339.
9611037 
1038 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
1039 
9621040 format: date-time
9631041 
9641042 - `content: optional string or null`
9651043 
966 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
1044 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
9671045 
1046 The maximum size is 100 kB (102,400 bytes).
1047 
9681048### Example
9691049 
9701050```bash
from line 1073
9931073}
9941074```
9951075 
996## Delete a memory
1076## Delete a Memory
9971077 
9981078**DELETE** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}`
9991079 
1000Delete a memory
1080Delete a Memory
10011081 
10021082### Path parameters
10031083 
from line 1223
11431223 
11441224- `BetaManagedAgentsDeletedMemory object`
11451225 
1146 Tombstone returned by [Delete a memory](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/delete?sdk_languages=http). Deleting a memory does not erase its version history: its versions remain listable via [List memory versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) 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).
1226 The confirmation that [Delete a Memory](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/delete?sdk_languages=http) returns.
11471227 
1228 Deleting a memory doesn't delete its versions. [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) returns them 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.
1229 
1230 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#audit-memory-changes) to learn more about how long versions are kept.
1231 
11481232 - `type: "memory_deleted"`
11491233 
11501234 - `id: string`
from line 1268
11841268 
11851269- `BetaManagedAgentsContentSha256Precondition object`
11861270 
1187 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.
1271 A precondition that applies an update only if the memory's current content has the hash in `content_sha256`.
11881272 
1273 If the hashes differ, the request fails with HTTP status 409. Retrieve the memory and retry. If the memory already has exactly the requested `content` and `path`, the request succeeds even though the hashes differ.
1274 
11891275 - `type: "content_sha256"`
11901276 
11911277 - `content_sha256: optional string`
from line 1282
11961282 
11971283- `BetaManagedAgentsDeletedMemory object`
11981284 
1199 Tombstone returned by [Delete a memory](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/delete?sdk_languages=http). Deleting a memory does not erase its version history: its versions remain listable via [List memory versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) 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).
1285 The confirmation that [Delete a Memory](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/delete?sdk_languages=http) returns.
12001286 
1287 Deleting a memory doesn't delete its versions. [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) returns them 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.
1288 
1289 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#audit-memory-changes) to learn more about how long versions are kept.
1290 
12011291 - `type: "memory_deleted"`
12021292 
12031293 - `id: string`
from line 1404
13141404 
13151405 - `BetaManagedAgentsMemoryPathConflictError object`
13161406 
1317 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.
1407 The error returned with HTTP status 409 when you create or rename a memory and the path you give is already used by another memory or overlaps another memory's path.
13181408 
13191409 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.
13201410 
from line 1434
13441434 
13451435- `BetaManagedAgentsMemory object`
13461436 
1347 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.
1437 A text document at a path inside a memory store.
13481438 
1439 `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.
1440 
1441 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.
1442 
13491443 - `type: "memory"`
13501444 
13511445 - `id: string`
13521446 
1353 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
1447 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
13541448 
1449 To retrieve, update, or delete the memory, pass this ID.
1450 
13551451 - `content_sha256: string`
13561452 
13571453 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 1454
13581454 
13591455 - `content_size_bytes: number`
13601456 
1361 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
1457 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
13621458 
13631459 format: int32
13641460 
from line 1470
13741470 
13751471 - `memory_version_id: string`
13761472 
1377 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).
1473 The ID of the memory version that holds the memory's current content (`memver_...`).
13781474 
1475 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
1476 
1477 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.
1478 
13791479 - `path: string`
13801480 
13811481 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 1482
13821482 
13831483 - `updated_at: string`
13841484 
1385 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).
1485 When the memory was last changed, in RFC 3339.
13861486 
1487 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
1488 
13871489 format: date-time
13881490 
13891491 - `content: optional string or null`
13901492 
1391 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
1493 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
13921494 
1495 The maximum size is 100 kB (102,400 bytes).
1496 
13931497### Beta Managed Agents Memory List Item
13941498 
13951499- `BetaManagedAgentsMemoryListItem = BetaManagedAgentsMemory or BetaManagedAgentsMemoryPrefix`
13961500 
1397 One item in a [List memories](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list?sdk_languages=http) response: either a `memory` object or, when `depth` is set, a `memory_prefix` rollup marker.
1501 One item in a [List Memories](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list?sdk_languages=http) response: a `memory`, or a `memory_prefix` marker when `depth` is `1`.
13981502 
13991503 - `BetaManagedAgentsMemory object`
14001504 
1401 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.
1505 A text document at a path inside a memory store.
14021506 
1507 `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.
1508 
1509 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.
1510 
14031511 - `type: "memory"`
14041512 
14051513 - `id: string`
14061514 
1407 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
1515 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
14081516 
1517 To retrieve, update, or delete the memory, pass this ID.
1518 
14091519 - `content_sha256: string`
14101520 
14111521 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 1522
14121522 
14131523 - `content_size_bytes: number`
14141524 
1415 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
1525 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
14161526 
14171527 format: int32
14181528 
from line 1538
14281538 
14291539 - `memory_version_id: string`
14301540 
1431 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).
1541 The ID of the memory version that holds the memory's current content (`memver_...`).
14321542 
1543 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
1544 
1545 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.
1546 
14331547 - `path: string`
14341548 
14351549 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 1550
14361550 
14371551 - `updated_at: string`
14381552 
1439 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).
1553 When the memory was last changed, in RFC 3339.
14401554 
1555 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
1556 
14411557 format: date-time
14421558 
14431559 - `content: optional string or null`
14441560 
1445 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
1561 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
14461562 
1563 The maximum size is 100 kB (102,400 bytes).
1564 
14471565 - `BetaManagedAgentsMemoryPrefix object`
14481566 
1449 A rolled-up directory marker returned by [List memories](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list?sdk_languages=http) 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.
1567 A directory marker that [List Memories](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list?sdk_languages=http) returns instead of the memories below the requested `depth`.
14501568 
1569 It stands for one or more memories whose paths start with `path`. It isn't a stored object and doesn't have an ID. Each marker counts toward the page `limit`.
1570 
14511571 - `type: "memory_prefix"`
14521572 
14531573 - `path: string`
from line 1578
14581578 
14591579- `BetaManagedAgentsMemoryPathConflictError object`
14601580 
1461 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.
1581 The error returned with HTTP status 409 when you create or rename a memory and the path you give is already used by another memory or overlaps another memory's path.
14621582 
14631583 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.
14641584 
from line 1618
14981618 
14991619- `BetaManagedAgentsMemoryPrefix object`
15001620 
1501 A rolled-up directory marker returned by [List memories](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list?sdk_languages=http) 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.
1621 A directory marker that [List Memories](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list?sdk_languages=http) returns instead of the memories below the requested `depth`.
15021622 
1623 It stands for one or more memories whose paths start with `path`. It isn't a stored object and doesn't have an ID. Each marker counts toward the page `limit`.
1624 
15031625 - `type: "memory_prefix"`
15041626 
15051627 - `path: string`
from line 1632
15101632 
15111633- `BetaManagedAgentsMemoryView = "basic" or "full"`
15121634 
1513 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.
1635 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.
1636 
1637 With `full`, list operations return at most 20 items per page.
15141638 
15151639 - `"basic"`
15161640 

api/beta/memory_stores/memories/create Changed · +32 / -12 lines

# Create a Memory # Create a memory

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 

api/beta/memory_stores/memories/delete Changed · +8 / -4 lines

# Delete a Memory # Delete a memory

from line 1
11---
2title: Delete a memory
2title: Delete a Memory
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/memories/delete
44---
55 
6# Delete a memory
6# Delete a Memory
77 
88**DELETE** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}`
99 
10Delete a memory
10Delete a Memory
1111 
1212## Path parameters
1313 
from line 153
153153 
154154- `BetaManagedAgentsDeletedMemory object`
155155 
156 Tombstone returned by [Delete a memory](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/delete?sdk_languages=http). Deleting a memory does not erase its version history: its versions remain listable via [List memory versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) 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).
156 The confirmation that [Delete a Memory](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/delete?sdk_languages=http) returns.
157 
158 Deleting a memory doesn't delete its versions. [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) returns them 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.
159 
160 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#audit-memory-changes) to learn more about how long versions are kept.
157161 
158162 - `type: "memory_deleted"`
159163 

api/beta/memory_stores/memories/list Changed · +40 / -16 lines

# List Memories # List memories

from line 1
11---
2title: List memories
2title: List Memories
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list
44---
55 
6# List memories
6# List Memories
77 
88**GET** `/v1/memory_stores/{memory_store_id}/memories`
99 
10List memories
10List Memories
1111 
1212## Path parameters
1313 
from line 19
1919 
2020- `depth: optional number`
2121 
22 `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`.
22 How far below `path_prefix` to list. Defaults to `0`, which lists every memory below the prefix.
2323 
24 Pass `1` to list only the direct children. Deeper memories are then grouped into `memory_prefix` items.
25 
2426 format: int32
2527 
2628- `limit: optional number`
2729 
28 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.
30 The maximum number of items to return per page, from 1 to 100. Defaults to 20.
2931 
32 With `view=full`, a page holds at most 20 items. `memory` and `memory_prefix` items both count toward the limit.
33 
3034 format: int32
3135 
3236- `page: optional string`
3337 
34 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.
38 The `next_page` value from a previous response, to get the next page. Omit it to get the first page.
3539 
3640- `path_prefix: optional string`
3741 
38 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.
42 Return only memories whose path starts with this prefix, such as `/notes/`. This value appears in request URLs. Do not include secrets or personally identifiable information.
3943 
44 Omit it to list the whole store. The prefix must end with `/` and matches whole segments, so `/notes/` matches `/notes/todo.md` but not `/notes-archive/todo.md`.
45 
4046- `view: optional BetaManagedAgentsMemoryView`
4147 
42 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.
48 Whether each memory in the response includes `content`. Defaults to `basic`, which sets it to `null`.
4349 
50 With `full`, a page holds at most 20 items.
51 
4452 - `"basic"`
4553 
4654 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 187
179187 
180188 - `BetaManagedAgentsMemory object`
181189 
182 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.
190 A text document at a path inside a memory store.
183191 
192 `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.
193 
194 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.
195 
184196 - `type: "memory"`
185197 
186198 - `id: string`
187199 
188 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
200 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
189201 
202 To retrieve, update, or delete the memory, pass this ID.
203 
190204 - `content_sha256: string`
191205 
192206 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 207
193207 
194208 - `content_size_bytes: number`
195209 
196 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
210 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
197211 
198212 format: int32
199213 
from line 223
209223 
210224 - `memory_version_id: string`
211225 
212 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).
226 The ID of the memory version that holds the memory's current content (`memver_...`).
213227 
228 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
229 
230 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.
231 
214232 - `path: string`
215233 
216234 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 235
217235 
218236 - `updated_at: string`
219237 
220 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).
238 When the memory was last changed, in RFC 3339.
221239 
240 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
241 
222242 format: date-time
223243 
224244 - `content: optional string or null`
225245 
226 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
246 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
227247 
248 The maximum size is 100 kB (102,400 bytes).
249 
228250 - `BetaManagedAgentsMemoryPrefix object`
229251 
230 A rolled-up directory marker returned by [List memories](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list?sdk_languages=http) 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.
252 A directory marker that [List Memories](https://platform.claude.com/docs/en/api/beta/memory_stores/memories/list?sdk_languages=http) returns instead of the memories below the requested `depth`.
231253 
254 It stands for one or more memories whose paths start with `path`. It isn't a stored object and doesn't have an ID. Each marker counts toward the page `limit`.
255 
232256 - `type: "memory_prefix"`
233257 
234258 - `path: string`
from line 261
237261 
238262- `next_page: optional string or null`
239263 
240 Opaque cursor for the next page (a `page_...` value), or `null` if there are no more results. Pass as `page` on the next request.
264 The value to pass as `page` to get the next page, or `null` if there are no more results.
241265 
242266## Example
243267 

api/beta/memory_stores/memories/retrieve Changed · +26 / -10 lines

# Retrieve a Memory # Retrieve a memory

from line 1
11---
2title: Retrieve a memory
2title: Retrieve a Memory
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/memories/retrieve
44---
55 
6# Retrieve a memory
6# Retrieve a Memory
77 
88**GET** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}`
99 
10Retrieve a memory
10Retrieve a Memory
1111 
1212## Path parameters
1313 
from line 23
2323 
2424- `view: optional BetaManagedAgentsMemoryView`
2525 
26 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.
26 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.
2727 
28 With `full`, list operations return at most 20 items per page.
29 
2830 - `"basic"`
2931 
3032 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 161
159161 
160162- `BetaManagedAgentsMemory object`
161163 
162 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.
164 A text document at a path inside a memory store.
163165 
166 `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.
167 
168 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.
169 
164170 - `type: "memory"`
165171 
166172 - `id: string`
167173 
168 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
174 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
169175 
176 To retrieve, update, or delete the memory, pass this ID.
177 
170178 - `content_sha256: string`
171179 
172180 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 181
173181 
174182 - `content_size_bytes: number`
175183 
176 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
184 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
177185 
178186 format: int32
179187 
from line 197
189197 
190198 - `memory_version_id: string`
191199 
192 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).
200 The ID of the memory version that holds the memory's current content (`memver_...`).
193201 
202 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
203 
204 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.
205 
194206 - `path: string`
195207 
196208 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 209
197209 
198210 - `updated_at: string`
199211 
200 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).
212 When the memory was last changed, in RFC 3339.
201213 
214 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
215 
202216 format: date-time
203217 
204218 - `content: optional string or null`
205219 
206 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
220 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
221 
222 The maximum size is 100 kB (102,400 bytes).
207223 
208224## Example
209225 

api/beta/memory_stores/memories/update Changed · +32 / -12 lines

# Update a Memory # Update a memory

from line 1
11---
2title: Update a memory
2title: Update a Memory
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/memories/update
44---
55 
6# Update a memory
6# Update a Memory
77 
88**POST** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}`
99 
10Update a memory
10Update a Memory
1111 
1212## Path parameters
1313 
from line 23
2323 
2424- `view: optional BetaManagedAgentsMemoryView`
2525 
26 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.
26 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.
2727 
28 With `full`, list operations return at most 20 items per page.
29 
2830 - `"basic"`
2931 
3032 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 165
163165 
164166- `path: optional string or null`
165167 
166 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.
168 The new path of the memory, which renames it. Omit it to keep the current path.
167169 
170 The memory keeps its `id`. 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. Paths are case-sensitive.
171 
168172 minLength: 2, maxLength: 1024
169173 
170174- `precondition: optional BetaManagedAgentsPrecondition`
171175 
172 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.
176 The condition that the memory must meet for the update to apply. Omit it to update unconditionally.
173177 
178 If the condition fails, the request fails with HTTP status 409.
179 
174180 - `type: "content_sha256"`
175181 
176182 - `content_sha256: optional string`
from line 187
181187 
182188- `BetaManagedAgentsMemory object`
183189 
184 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.
190 A text document at a path inside a memory store.
185191 
192 `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.
193 
194 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.
195 
186196 - `type: "memory"`
187197 
188198 - `id: string`
189199 
190 Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
200 The unique ID of the memory (`mem_...`). It stays the same when the memory's path changes.
191201 
202 To retrieve, update, or delete the memory, pass this ID.
203 
192204 - `content_sha256: string`
193205 
194206 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 207
195207 
196208 - `content_size_bytes: number`
197209 
198 Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
210 The size of the memory's `content` in UTF-8 bytes. It is set regardless of `view`.
199211 
200212 format: int32
201213 
from line 223
211223 
212224 - `memory_version_id: string`
213225 
214 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).
226 The ID of the memory version that holds the memory's current content (`memver_...`).
215227 
228 Memory versions don't have a flag that marks the latest one. Compare their IDs with this field instead.
229 
230 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.
231 
216232 - `path: string`
217233 
218234 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 235
219235 
220236 - `updated_at: string`
221237 
222 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).
238 When the memory was last changed, in RFC 3339.
223239 
240 To find out who made the change, look at `created_by` on the memory version that `memory_version_id` references.
241 
224242 format: date-time
225243 
226244 - `content: optional string or null`
227245 
228 The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
246 The memory's UTF-8 text content, or `null` when the response uses `view=basic`.
247 
248 The maximum size is 100 kB (102,400 bytes).
229249 
230250## Example
231251 

api/beta/memory_stores/memory_versions Changed · +93 / -27 lines

## List Memory Versions ## Retrieve a Memory Version ## Redact a Memory Version ## List memory versions ## Retrieve a memory version ## Redact a memory version

from line 5
55 
66# Memory Versions
77 
8## List memory versions
8## List Memory Versions
99 
1010**GET** `/v1/memory_stores/{memory_store_id}/memory_versions`
1111 
12List memory versions
12List Memory Versions
1313 
1414### Path parameters
1515 
from line 37
3737 
3838- `limit: optional number`
3939 
40 The maximum number of versions to return per page. Defaults to 20.
40 The maximum number of versions to return per page, from 1 to 100. Defaults to 20.
4141 
42 With `view=full`, a page holds at most 20 versions.
43 
4244 format: int32
4345 
4446- `memory_id: optional string`
from line 47
4547 
4648 Return only versions of the memory with this ID (`mem_...`).
4749 
48 The filter still works after the memory is deleted. The results then include the version whose `operation` is `deleted`.
50 The filter still works after the memory is deleted. While that memory's versions are retained, the results include the version whose `operation` is `deleted`.
4951 
5052- `operation: optional BetaManagedAgentsMemoryVersionOperation`
5153 
from line 79
7779 
7880- `view: optional BetaManagedAgentsMemoryView`
7981 
80 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.
82 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.
8183 
84 With `full`, list operations return at most 20 items per page.
85 
8286 - `"basic"`
8387 
8488 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 233
229233 
230234 - `memory_id: string`
231235 
232 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to retrieve the memory's retained versions, including the `deleted` row while the lineage is retained.
236 The ID of the memory that this version belongs to (`mem_...`).
233237 
238 The ID stays valid after the memory is deleted. Pass it as `memory_id` to [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to get the memory's retained versions, including its `deleted` version while the lineage is retained.
239 
234240 - `memory_store_id: string`
235241 
236242 ID of the memory store this version belongs to (a `memstore_...` value).
from line 273
267273 
268274 - `created_by: optional BetaManagedAgentsActor`
269275 
270 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](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http).
276 Who made this change to the memory, or `null` if the author wasn't recorded.
271277 
278 Redacting the version doesn't change this field. A `session_actor` here is an agent that wrote through the store's mounted filesystem at `/mnt/memory/`. The version doesn't record the API key that created that session. So the author in `created_by` is who made the change, not who is ultimately responsible for it.
279 
280 You can [retrieve the session](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http) to learn more about where the change came from.
281 
272282 - `BetaManagedAgentsSessionActor object`
273283 
274284 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.
from line 333
323333 
324334 - `redacted_at: optional string or null`
325335 
326 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/redact?sdk_languages=http).
336 When the version was redacted, in RFC 3339, or `null` if it hasn't been.
327337 
338 When set, `content`, `path`, `content_size_bytes`, and `content_sha256` are `null`.
339 
340 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#redact-a-version) to learn more about redaction.
341 
328342 format: date-time
329343 
330344 - `redacted_by: optional BetaManagedAgentsActor`
from line 347
333347 
334348- `next_page: optional string or null`
335349 
336 Opaque cursor for the next page (a `page_...` value), or `null` if there are no more results. Pass as `page` on the next request.
350 The value to pass as `page` to get the next page, or `null` if there are no more results.
337351 
338352### Example
339353 
from line 389
375389}
376390```
377391 
378## Retrieve a memory version
392## Retrieve a Memory Version
379393 
380394**GET** `/v1/memory_stores/{memory_store_id}/memory_versions/{memory_version_id}`
381395 
382Retrieve a memory version
396Retrieve a Memory Version
383397 
384398### Path parameters
385399 
from line 409
395409 
396410- `view: optional BetaManagedAgentsMemoryView`
397411 
398 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.
412 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.
399413 
414 With `full`, list operations return at most 20 items per page.
415 
400416 - `"basic"`
401417 
402418 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 547
531547 
532548- `BetaManagedAgentsMemoryVersion object`
533549 
534 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.
550 One entry in a memory's history, recording a single change and who made it.
535551 
552 Every change to a memory adds one version. Only redaction can change a version after that. Versions belong to the memory store and stay after the memory is deleted. Each version is retained for at least the version retention period after it was written, unless the store itself is deleted.
553 
554 Retrieving a redacted version succeeds, with `content`, `path`, `content_size_bytes`, and `content_sha256` set to `null`. Check `redacted_at` to find out whether a version was redacted.
555 
556 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.
557 
536558 - `type: "memory_version"`
537559 
538560 - `id: string`
from line 569
547569 
548570 - `memory_id: string`
549571 
550 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to retrieve the memory's retained versions, including the `deleted` row while the lineage is retained.
572 The ID of the memory that this version belongs to (`mem_...`).
551573 
574 The ID stays valid after the memory is deleted. Pass it as `memory_id` to [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to get the memory's retained versions, including its `deleted` version while the lineage is retained.
575 
552576 - `memory_store_id: string`
553577 
554578 ID of the memory store this version belongs to (a `memstore_...` value).
from line 609
585609 
586610 - `created_by: optional BetaManagedAgentsActor`
587611 
588 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](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http).
612 Who made this change to the memory, or `null` if the author wasn't recorded.
589613 
614 Redacting the version doesn't change this field. A `session_actor` here is an agent that wrote through the store's mounted filesystem at `/mnt/memory/`. The version doesn't record the API key that created that session. So the author in `created_by` is who made the change, not who is ultimately responsible for it.
615 
616 You can [retrieve the session](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http) to learn more about where the change came from.
617 
590618 - `BetaManagedAgentsSessionActor object`
591619 
592620 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.
from line 669
641669 
642670 - `redacted_at: optional string or null`
643671 
644 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/redact?sdk_languages=http).
672 When the version was redacted, in RFC 3339, or `null` if it hasn't been.
645673 
674 When set, `content`, `path`, `content_size_bytes`, and `content_sha256` are `null`.
675 
676 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#redact-a-version) to learn more about redaction.
677 
646678 format: date-time
647679 
648680 - `redacted_by: optional BetaManagedAgentsActor`
from line 716
684716}
685717```
686718 
687## Redact a memory version
719## Redact a Memory Version
688720 
689721**POST** `/v1/memory_stores/{memory_store_id}/memory_versions/{memory_version_id}/redact`
690722 
691Redact a memory version
723Redact a Memory Version
692724 
693725### Path parameters
694726 
from line 858
826858 
827859- `BetaManagedAgentsMemoryVersion object`
828860 
829 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.
861 One entry in a memory's history, recording a single change and who made it.
830862 
863 Every change to a memory adds one version. Only redaction can change a version after that. Versions belong to the memory store and stay after the memory is deleted. Each version is retained for at least the version retention period after it was written, unless the store itself is deleted.
864 
865 Retrieving a redacted version succeeds, with `content`, `path`, `content_size_bytes`, and `content_sha256` set to `null`. Check `redacted_at` to find out whether a version was redacted.
866 
867 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.
868 
831869 - `type: "memory_version"`
832870 
833871 - `id: string`
from line 880
842880 
843881 - `memory_id: string`
844882 
845 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to retrieve the memory's retained versions, including the `deleted` row while the lineage is retained.
883 The ID of the memory that this version belongs to (`mem_...`).
846884 
885 The ID stays valid after the memory is deleted. Pass it as `memory_id` to [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to get the memory's retained versions, including its `deleted` version while the lineage is retained.
886 
847887 - `memory_store_id: string`
848888 
849889 ID of the memory store this version belongs to (a `memstore_...` value).
from line 920
880920 
881921 - `created_by: optional BetaManagedAgentsActor`
882922 
883 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](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http).
923 Who made this change to the memory, or `null` if the author wasn't recorded.
884924 
925 Redacting the version doesn't change this field. A `session_actor` here is an agent that wrote through the store's mounted filesystem at `/mnt/memory/`. The version doesn't record the API key that created that session. So the author in `created_by` is who made the change, not who is ultimately responsible for it.
926 
927 You can [retrieve the session](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http) to learn more about where the change came from.
928 
885929 - `BetaManagedAgentsSessionActor object`
886930 
887931 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.
from line 980
936980 
937981 - `redacted_at: optional string or null`
938982 
939 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/redact?sdk_languages=http).
983 When the version was redacted, in RFC 3339, or `null` if it hasn't been.
940984 
985 When set, `content`, `path`, `content_size_bytes`, and `content_sha256` are `null`.
986 
987 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#redact-a-version) to learn more about redaction.
988 
941989 format: date-time
942990 
943991 - `redacted_by: optional BetaManagedAgentsActor`
from line 1102
10541102 
10551103- `BetaManagedAgentsMemoryVersion object`
10561104 
1057 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.
1105 One entry in a memory's history, recording a single change and who made it.
10581106 
1107 Every change to a memory adds one version. Only redaction can change a version after that. Versions belong to the memory store and stay after the memory is deleted. Each version is retained for at least the version retention period after it was written, unless the store itself is deleted.
1108 
1109 Retrieving a redacted version succeeds, with `content`, `path`, `content_size_bytes`, and `content_sha256` set to `null`. Check `redacted_at` to find out whether a version was redacted.
1110 
1111 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.
1112 
10591113 - `type: "memory_version"`
10601114 
10611115 - `id: string`
from line 1124
10701124 
10711125 - `memory_id: string`
10721126 
1073 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to retrieve the memory's retained versions, including the `deleted` row while the lineage is retained.
1127 The ID of the memory that this version belongs to (`mem_...`).
10741128 
1129 The ID stays valid after the memory is deleted. Pass it as `memory_id` to [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to get the memory's retained versions, including its `deleted` version while the lineage is retained.
1130 
10751131 - `memory_store_id: string`
10761132 
10771133 ID of the memory store this version belongs to (a `memstore_...` value).
from line 1164
11081164 
11091165 - `created_by: optional BetaManagedAgentsActor`
11101166 
1111 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](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http).
1167 Who made this change to the memory, or `null` if the author wasn't recorded.
11121168 
1169 Redacting the version doesn't change this field. A `session_actor` here is an agent that wrote through the store's mounted filesystem at `/mnt/memory/`. The version doesn't record the API key that created that session. So the author in `created_by` is who made the change, not who is ultimately responsible for it.
1170 
1171 You can [retrieve the session](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http) to learn more about where the change came from.
1172 
11131173 - `BetaManagedAgentsSessionActor object`
11141174 
11151175 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.
from line 1224
11641224 
11651225 - `redacted_at: optional string or null`
11661226 
1167 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/redact?sdk_languages=http).
1227 When the version was redacted, in RFC 3339, or `null` if it hasn't been.
11681228 
1229 When set, `content`, `path`, `content_size_bytes`, and `content_sha256` are `null`.
1230 
1231 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#redact-a-version) to learn more about redaction.
1232 
11691233 format: date-time
11701234 
11711235 - `redacted_by: optional BetaManagedAgentsActor`
from line 1240
11761240 
11771241- `BetaManagedAgentsMemoryVersionOperation = "created" or "modified" or "deleted"`
11781242 
1179 The kind of mutation a `memory_version` records. Every non-no-op mutation to a memory appends exactly one version row with one of these values.
1243 The kind of change that a memory version records.
1244 
1245 Every change to a memory adds one version. If you update a memory and nothing changes, the memory doesn't get a new version.
11801246 
11811247 - `"created"`
11821248 

api/beta/memory_stores/memory_versions/list Changed · +24 / -10 lines

# List Memory Versions # List memory versions

from line 1
11---
2title: List memory versions
2title: List Memory Versions
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list
44---
55 
6# List memory versions
6# List Memory Versions
77 
88**GET** `/v1/memory_stores/{memory_store_id}/memory_versions`
99 
10List memory versions
10List Memory Versions
1111 
1212## Path parameters
1313 
from line 35
3535 
3636- `limit: optional number`
3737 
38 The maximum number of versions to return per page. Defaults to 20.
38 The maximum number of versions to return per page, from 1 to 100. Defaults to 20.
3939 
40 With `view=full`, a page holds at most 20 versions.
41 
4042 format: int32
4143 
4244- `memory_id: optional string`
from line 45
4345 
4446 Return only versions of the memory with this ID (`mem_...`).
4547 
46 The filter still works after the memory is deleted. The results then include the version whose `operation` is `deleted`.
48 The filter still works after the memory is deleted. While that memory's versions are retained, the results include the version whose `operation` is `deleted`.
4749 
4850- `operation: optional BetaManagedAgentsMemoryVersionOperation`
4951 
from line 77
7577 
7678- `view: optional BetaManagedAgentsMemoryView`
7779 
78 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.
80 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.
7981 
82 With `full`, list operations return at most 20 items per page.
83 
8084 - `"basic"`
8185 
8286 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 231
227231 
228232 - `memory_id: string`
229233 
230 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to retrieve the memory's retained versions, including the `deleted` row while the lineage is retained.
234 The ID of the memory that this version belongs to (`mem_...`).
231235 
236 The ID stays valid after the memory is deleted. Pass it as `memory_id` to [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to get the memory's retained versions, including its `deleted` version while the lineage is retained.
237 
232238 - `memory_store_id: string`
233239 
234240 ID of the memory store this version belongs to (a `memstore_...` value).
from line 271
265271 
266272 - `created_by: optional BetaManagedAgentsActor`
267273 
268 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](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http).
274 Who made this change to the memory, or `null` if the author wasn't recorded.
269275 
276 Redacting the version doesn't change this field. A `session_actor` here is an agent that wrote through the store's mounted filesystem at `/mnt/memory/`. The version doesn't record the API key that created that session. So the author in `created_by` is who made the change, not who is ultimately responsible for it.
277 
278 You can [retrieve the session](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http) to learn more about where the change came from.
279 
270280 - `BetaManagedAgentsSessionActor object`
271281 
272282 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.
from line 331
321331 
322332 - `redacted_at: optional string or null`
323333 
324 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/redact?sdk_languages=http).
334 When the version was redacted, in RFC 3339, or `null` if it hasn't been.
325335 
336 When set, `content`, `path`, `content_size_bytes`, and `content_sha256` are `null`.
337 
338 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#redact-a-version) to learn more about redaction.
339 
326340 format: date-time
327341 
328342 - `redacted_by: optional BetaManagedAgentsActor`
from line 345
331345 
332346- `next_page: optional string or null`
333347 
334 Opaque cursor for the next page (a `page_...` value), or `null` if there are no more results. Pass as `page` on the next request.
348 The value to pass as `page` to get the next page, or `null` if there are no more results.
335349 
336350## Example
337351 

api/beta/memory_stores/memory_versions/redact Changed · +23 / -7 lines

# Redact a Memory Version # Redact a memory version

from line 1
11---
2title: Redact a memory version
2title: Redact a Memory Version
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/redact
44---
55 
6# Redact a memory version
6# Redact a Memory Version
77 
88**POST** `/v1/memory_stores/{memory_store_id}/memory_versions/{memory_version_id}/redact`
99 
10Redact a memory version
10Redact a Memory Version
1111 
1212## Path parameters
1313 
from line 145
145145 
146146- `BetaManagedAgentsMemoryVersion object`
147147 
148 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.
148 One entry in a memory's history, recording a single change and who made it.
149149 
150 Every change to a memory adds one version. Only redaction can change a version after that. Versions belong to the memory store and stay after the memory is deleted. Each version is retained for at least the version retention period after it was written, unless the store itself is deleted.
151 
152 Retrieving a redacted version succeeds, with `content`, `path`, `content_size_bytes`, and `content_sha256` set to `null`. Check `redacted_at` to find out whether a version was redacted.
153 
154 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.
155 
150156 - `type: "memory_version"`
151157 
152158 - `id: string`
from line 167
161167 
162168 - `memory_id: string`
163169 
164 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to retrieve the memory's retained versions, including the `deleted` row while the lineage is retained.
170 The ID of the memory that this version belongs to (`mem_...`).
165171 
172 The ID stays valid after the memory is deleted. Pass it as `memory_id` to [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to get the memory's retained versions, including its `deleted` version while the lineage is retained.
173 
166174 - `memory_store_id: string`
167175 
168176 ID of the memory store this version belongs to (a `memstore_...` value).
from line 207
199207 
200208 - `created_by: optional BetaManagedAgentsActor`
201209 
202 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](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http).
210 Who made this change to the memory, or `null` if the author wasn't recorded.
203211 
212 Redacting the version doesn't change this field. A `session_actor` here is an agent that wrote through the store's mounted filesystem at `/mnt/memory/`. The version doesn't record the API key that created that session. So the author in `created_by` is who made the change, not who is ultimately responsible for it.
213 
214 You can [retrieve the session](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http) to learn more about where the change came from.
215 
204216 - `BetaManagedAgentsSessionActor object`
205217 
206218 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.
from line 267
255267 
256268 - `redacted_at: optional string or null`
257269 
258 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/redact?sdk_languages=http).
270 When the version was redacted, in RFC 3339, or `null` if it hasn't been.
271 
272 When set, `content`, `path`, `content_size_bytes`, and `content_sha256` are `null`.
273 
274 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#redact-a-version) to learn more about redaction.
259275 
260276 format: date-time
261277 

api/beta/memory_stores/memory_versions/retrieve Changed · +26 / -8 lines

# Retrieve a Memory Version # Retrieve a memory version

from line 1
11---
2title: Retrieve a memory version
2title: Retrieve a Memory Version
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/retrieve
44---
55 
6# Retrieve a memory version
6# Retrieve a Memory Version
77 
88**GET** `/v1/memory_stores/{memory_store_id}/memory_versions/{memory_version_id}`
99 
10Retrieve a memory version
10Retrieve a Memory Version
1111 
1212## Path parameters
1313 
from line 23
2323 
2424- `view: optional BetaManagedAgentsMemoryView`
2525 
26 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.
26 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.
2727 
28 With `full`, list operations return at most 20 items per page.
29 
2830 - `"basic"`
2931 
3032 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 161
159161 
160162- `BetaManagedAgentsMemoryVersion object`
161163 
162 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.
164 One entry in a memory's history, recording a single change and who made it.
163165 
166 Every change to a memory adds one version. Only redaction can change a version after that. Versions belong to the memory store and stay after the memory is deleted. Each version is retained for at least the version retention period after it was written, unless the store itself is deleted.
167 
168 Retrieving a redacted version succeeds, with `content`, `path`, `content_size_bytes`, and `content_sha256` set to `null`. Check `redacted_at` to find out whether a version was redacted.
169 
170 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.
171 
164172 - `type: "memory_version"`
165173 
166174 - `id: string`
from line 183
175183 
176184 - `memory_id: string`
177185 
178 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to retrieve the memory's retained versions, including the `deleted` row while the lineage is retained.
186 The ID of the memory that this version belongs to (`mem_...`).
179187 
188 The ID stays valid after the memory is deleted. Pass it as `memory_id` to [List Memory Versions](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/list?sdk_languages=http) to get the memory's retained versions, including its `deleted` version while the lineage is retained.
189 
180190 - `memory_store_id: string`
181191 
182192 ID of the memory store this version belongs to (a `memstore_...` value).
from line 223
213223 
214224 - `created_by: optional BetaManagedAgentsActor`
215225 
216 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](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http).
226 Who made this change to the memory, or `null` if the author wasn't recorded.
217227 
228 Redacting the version doesn't change this field. A `session_actor` here is an agent that wrote through the store's mounted filesystem at `/mnt/memory/`. The version doesn't record the API key that created that session. So the author in `created_by` is who made the change, not who is ultimately responsible for it.
229 
230 You can [retrieve the session](https://platform.claude.com/docs/en/api/beta/sessions/retrieve?sdk_languages=http) to learn more about where the change came from.
231 
218232 - `BetaManagedAgentsSessionActor object`
219233 
220234 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.
from line 283
269283 
270284 - `redacted_at: optional string or null`
271285 
272 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](https://platform.claude.com/docs/en/api/beta/memory_stores/memory_versions/redact?sdk_languages=http).
286 When the version was redacted, in RFC 3339, or `null` if it hasn't been.
287 
288 When set, `content`, `path`, `content_size_bytes`, and `content_sha256` are `null`.
289 
290 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#redact-a-version) to learn more about redaction.
273291 
274292 format: date-time
275293 

api/beta/memory_stores/retrieve Changed · +18 / -10 lines

# Retrieve a Memory Store # Retrieve a memory store

from line 1
11---
2title: Retrieve a memory store
2title: Retrieve a Memory Store
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/retrieve
44---
55 
6# Retrieve a memory store
6# Retrieve a Memory Store
77 
88**GET** `/v1/memory_stores/{memory_store_id}`
99 
10Retrieve a memory store
10Retrieve a Memory Store
1111 
1212## Path parameters
1313 
1414- `memory_store_id: string`
1515 
16 ID of the memory store to retrieve (a `memstore_...` identifier). Required. Enumerate IDs via `GET /v1/memory_stores`.
16 The ID of the memory store to retrieve (`memstore_...`).
1717 
1818## Headers
1919 
from line 147
147147 
148148 - `id: string`
149149 
150 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.
150 The unique ID of the memory store (`memstore_...`). Use it to attach the store to a session.
151151 
152152 - `archived_at: string or null`
153153 
154 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.
154 When the memory store was archived, in RFC 3339, or `null` if it hasn't been.
155155 
156 Archiving can't be undone. An archived store can't be attached to new sessions. You can't create or update its memories or update the store. You can still read and delete its memories, redact their versions, and delete the store.
157 
158 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#archive-a-store) to learn more about archiving.
159 
156160 format: date-time
157161 
158162 - `created_at: string`
159163 
160 Timestamp when the store was created.
164 When the memory store was created, in RFC 3339.
161165 
162166 format: date-time
163167 
164168 - `description: string`
165169 
166 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.
170 Free-text description of what the store contains, up to 1,024 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.
167171 
168172 - `metadata: map[string]`
169173 
170 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.
174 Key-value pairs for your own use, such as the end user that the store belongs to.
171175 
176 A store has at most 16 pairs. Keys are 1 to 64 characters long and values at most 512 characters. You can't filter lists by metadata.
177 
172178 - `name: string`
173179 
174180 Human-readable name for the store. 1–255 characters. The store's mount-path slug under `/mnt/memory/` is derived from this name.
from line 181
175181 
176182 - `updated_at: string`
177183 
178 Timestamp when the store's `name`, `description`, or `metadata` was last modified. Memory writes inside the store do not advance this.
184 When the memory store was last changed, in RFC 3339.
185 
186 Changing its `name`, `description`, or `metadata` updates it. Archiving the store does too. Changes to the store's memories don't.
179187 
180188 format: date-time
181189 

api/beta/memory_stores/update Changed · +27 / -13 lines

# Update a Memory Store # Update a memory store

from line 1
11---
2title: Update a memory store
2title: Update a Memory Store
33url: https://platform.claude.com/docs/en/api/beta/memory_stores/update
44---
55 
6# Update a memory store
6# Update a Memory Store
77 
88**POST** `/v1/memory_stores/{memory_store_id}`
99 
10Update a memory store
10Update a Memory Store
1111 
1212## Path parameters
1313 
1414- `memory_store_id: string`
1515 
16 ID of the memory store to update (a `memstore_...` identifier). Required. Enumerate IDs via `GET /v1/memory_stores`. Updating an archived store returns 400.
16 The ID of the memory store to update (`memstore_...`).
1717 
18 The request fails with HTTP status 400 if the store is archived.
19 
1820## Headers
1921 
2022- `"anthropic-version": optional string`
from line 143
141143 
142144- `description: optional string or null`
143145 
144 New description for the store, up to 1024 characters. Pass an empty string to clear it.
146 New description for the store, up to 1,024 characters. Pass an empty string to clear it.
145147 
146148 maxLength: 1024
147149 
148150- `metadata: optional map[string] or null`
149151 
150 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.
152 Changes to apply to the memory store's metadata. Keys you leave out keep their values.
151153 
154 Set a key to a string to add or replace it, or to `null` to remove it. After the change, the metadata can hold at most 16 key-value pairs. Keys are 1 to 64 characters long and values at most 512 characters.
155 
152156- `name: optional string or null`
153157 
154 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.
158 The new name of the memory store, 1 to 255 characters long, without control characters.
155159 
160 Sessions created after the change use the new name for the store's directory under `/mnt/memory/`.
161 
156162 minLength: 1, maxLength: 255
157163 
158164## Returns
from line 171
165171 
166172 - `id: string`
167173 
168 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.
174 The unique ID of the memory store (`memstore_...`). Use it to attach the store to a session.
169175 
170176 - `archived_at: string or null`
171177 
172 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.
178 When the memory store was archived, in RFC 3339, or `null` if it hasn't been.
173179 
180 Archiving can't be undone. An archived store can't be attached to new sessions. You can't create or update its memories or update the store. You can still read and delete its memories, redact their versions, and delete the store.
181 
182 See the [memory guide](https://platform.claude.com/docs/en/managed-agents/memory?sdk_languages=http#archive-a-store) to learn more about archiving.
183 
174184 format: date-time
175185 
176186 - `created_at: string`
177187 
178 Timestamp when the store was created.
188 When the memory store was created, in RFC 3339.
179189 
180190 format: date-time
181191 
182192 - `description: string`
183193 
184 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.
194 Free-text description of what the store contains, up to 1,024 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.
185195 
186196 - `metadata: map[string]`
187197 
188 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.
198 Key-value pairs for your own use, such as the end user that the store belongs to.
189199 
200 A store has at most 16 pairs. Keys are 1 to 64 characters long and values at most 512 characters. You can't filter lists by metadata.
201 
190202 - `name: string`
191203 
192204 Human-readable name for the store. 1–255 characters. The store's mount-path slug under `/mnt/memory/` is derived from this name.
from line 205
193205 
194206 - `updated_at: string`
195207 
196 Timestamp when the store's `name`, `description`, or `metadata` was last modified. Memory writes inside the store do not advance this.
208 When the memory store was last changed, in RFC 3339.
209 
210 Changing its `name`, `description`, or `metadata` updates it. Archiving the store does too. Changes to the store's memories don't.
197211 
198212 format: date-time
199213 

api/beta/messages Changed · +3 / -3 lines

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

from line 133
133133 
134134- `"anthropic-user-profile-id": optional string`
135135 
136 The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization. Requires the `user-profiles` beta header.
136 The user profile ID to attribute this request to. Use when acting on behalf of a party other than your organization.
137137 
138138- `"anthropic-workspace-id": optional string`
139139 
from line 7160
71607160 
71617161 This is how the tool will be called by the model and in `tool_use` blocks.
71627162 
7163 - `allo
7163 - `allowed_callers: optional array of "direct" or

api/beta/user_profiles Changed · +472 / -94 lines

## Delete User Profile ### Beta Deleted User Profile ## User Profiles › Action URLs ### Create Action URL #### Path parameters #### Headers #### Body parameters #### Returns #### Example ##### Response (200)

The two sides of this change are more than 400 edits apart, too far apart to line up, so this is the differ's own diff of it and the words inside a line are not marked.

from line 21
2121 
2222- `"anthropic-beta": optional array of AnthropicBeta`
2323 
24 This endpoint is in beta: requests must send `user-profiles-2026-03-24`, `user-profiles-2026-08-18`, or `user-profiles-2026-09-04` in this header.
24 Optional header to specify the beta version(s) you want to use.
2525 
2626 - `string`
2727 
from line 149
149149 
150150- `external_id: optional string or null`
151151 
152 Platform's own identifier for this user. Not enforced unique. Maximum 255 characters. Accepted under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` send `external_user_details.reference_id` instead.
152 Platform's own identifier for this user. Not enforced unique. Maximum 255 characters. Legacy field, accepted only under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; without one of them, send `external_user_details.reference_id`.
153153 
154154 minLength: 1, maxLength: 255
155155 
156156- `external_user_details: optional BetaUserProfileExternalUserDetailsParams`
157157 
158 Details about the entity this profile represents, as the platform states them. Every field is optional. Accepted under the `user-profiles-2026-09-04` beta header only.
158 Details about the entity this profile represents, as the platform states them. Every field is optional. Not accepted under the legacy `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers, which take the top-level `external_id` (and, under `user-profiles-2026-08-18`, `external_user_onboarded_at`) instead.
159159 
160160 - `account_status: optional "active" or "suspended" or "blocked" or null`
161161 
from line 215
215215 
216216- `external_user_onboarded_at: optional string`
217217 
218 When the entity this profile represents opened its account with the platform, in RFC 3339 format: for an `application` profile, when the end-user signed up; for a `passthrough` profile, when the company became the platform's customer. Must be a complete timestamp no more than 1 minute in the future. Optional. Accepted under the `user-profiles-2026-08-18` beta header; under `user-profiles-2026-09-04` send `external_user_details.onboarded_at` instead.
218 When the entity this profile represents opened its account with the platform, in RFC 3339 format: for an `application` profile, when the end-user signed up; for a `passthrough` profile, when the company became the platform's customer. Must be a complete timestamp no more than 1 minute in the future. Optional. Legacy field, accepted only under the `user-profiles-2026-08-18` beta header; without a legacy header, send `external_user_details.onboarded_at`.
219219 
220220 format: date-time
221221 
from line 255
255255 
256256 Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.
257257 
258 - `name: string or null`
259 
260 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name. `null` until the platform supplies one.
261 
258262 - `trust_grants: map[BetaUserProfileTrustGrant]`
259263 
260264 Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.
from line 275
271275 
272276 - `updated_at: string`
273277 
274 When this user profile was last modified, in RFC 3339 format. Trust-grant status changes also bump this timestamp.
278 When this user profile was last modified, in RFC 3339 format. It normally also updates shortly after Anthropic gives the profile an approval or withdraws one. Other changes to the statuses that Anthropic reports do not always update it, so read the status itself rather than watching this timestamp.
275279 
276280 format: date-time
277281 
278282 - `access_type: optional "application" or "passthrough"`
279283 
280 How the platform uses the API for this entity: `application` (default) or `passthrough`. Present under the `user-profiles-2026-08-18` and later beta headers.
284 How the platform uses the API for this entity: `application` (default) or `passthrough`. Absent under the legacy `user-profiles-2026-03-24` beta header.
281285 
282286 - `"application"`
283287 
from line 293
289293 
290294 - `external_id: optional string or null`
291295 
292 Platform's own identifier for this user. Not enforced unique. Present under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` the value is `external_user_details.reference_id`.
296 Platform's own identifier for this user. Not enforced unique. Legacy field, present only under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; without one of them, the value is `external_user_details.reference_id`.
293297 
294298 - `external_user_details: optional BetaUserProfileExternalUserDetails`
295299 
296 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Present under the `user-profiles-2026-09-04` beta header, with every field present and `null` until the platform supplies a value; the earlier beta headers serve `reference_id` as the top-level `external_id`, and `user-profiles-2026-08-18` serves `onboarded_at` as `external_user_onboarded_at`.
300 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Every field is present, `null` until the platform supplies a value. Absent under the legacy `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers, which serve `reference_id` as the top-level `external_id` and, under `user-profiles-2026-08-18`, `onboarded_at` as `external_user_onboarded_at`.
297301 
298302 - `account_status: "active" or "suspended" or "blocked" or null`
299303 
from line 351
347351 
348352 - `external_user_onboarded_at: optional string or null`
349353 
350 When the entity this profile represents opened its account with the platform, as stated by the platform, in RFC 3339 format (UTC). `null` until the platform supplies one. Present under the `user-profiles-2026-08-18` beta header; under `user-profiles-2026-09-04` the value is `external_user_details.onboarded_at`.
354 When the entity this profile represents opened its account with the platform, as stated by the platform, in RFC 3339 format (UTC). `null` until the platform supplies one. Legacy field, present only under the `user-profiles-2026-08-18` beta header; without a legacy header, the value is `external_user_details.onboarded_at`.
351355 
352356 format: date-time
353 
354 - `name: optional string or null`
355 
356 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name.
357357 
358358### Example
359359 
from line 364
364364 -H 'anthropic-beta: user-profiles-2026-08-18' \
365365 -H "X-Api-Key: $ANTHROPIC_API_KEY" \
366366 -d '{
367 "external_id": "user_12345",
368 "external_user_onboarded_at": "2024-11-02T08:15:00Z",
369 "metadata": {}
367 "external_user_details": {
368 "account_status": "active",
369 "country": "US",
370 "entity_type": "business",
371 "onboarded_at": "2024-11-02T08:15:00Z",
372 "reference_id": "user_12345"
373 },
374 "metadata": {},
375 "name": "Example User"
370376 }'
371377```
372378 
from line 383
377383 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",
378384 "created_at": "2026-03-15T10:00:00Z",
379385 "metadata": {},
386 "name": "Example User",
380387 "trust_grants": {
381388 "cyber": {
382389 "status": "active"
from line 395
388395 "external_id": "user_12345",
389396 "external_user_details": {
390397 "account_status": "active",
391 "country": "country",
392 "email_hash": "email_hash",
393 "entity_type": "individual",
394 "name_hash": "name_hash",
395 "onboarded_at": "2019-12-27T18:11:19.117Z",
396 "reference_id": "reference_id"
398 "country": "US",
399 "email_hash": null,
400 "entity_type": "business",
401 "name_hash": null,
402 "onboarded_at": "2024-11-02T08:15:00Z",
403 "reference_id": "user_12345"
397404 },
398 "external_user_onboarded_at": "2024-11-02T08:15:00Z",
399 "name": "Example User"
405 "external_user_onboarded_at": "2024-11-02T08:15:00Z"
400406}
401407```
402408 
from line 460
454460 
455461- `"anthropic-beta": optional array of AnthropicBeta`
456462 
457 This endpoint is in beta: requests must send `user-profiles-2026-03-24`, `user-profiles-2026-08-18`, or `user-profiles-2026-09-04` in this header.
463 Optional header to specify the beta version(s) you want to use.
458464 
459465 - `string`
460466 
from line 596
590596 
591597 Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.
592598 
599 - `name: string or null`
600 
601 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name. `null` until the platform supplies one.
602 
593603 - `trust_grants: map[BetaUserProfileTrustGrant]`
594604 
595605 Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.
from line 616
606616 
607617 - `updated_at: string`
608618 
609 When this user profile was last modified, in RFC 3339 format. Trust-grant status changes also bump this timestamp.
619 When this user profile was last modified, in RFC 3339 format. It normally also updates shortly after Anthropic gives the profile an approval or withdraws one. Other changes to the statuses that Anthropic reports do not always update it, so read the status itself rather than watching this timestamp.
610620 
611621 format: date-time
612622 
613623 - `access_type: optional "application" or "passthrough"`
614624 
615 How the platform uses the API for this entity: `application` (default) or `passthrough`. Present under the `user-profiles-2026-08-18` and later beta headers.
625 How the platform uses the API for this entity: `application` (default) or `passthrough`. Absent under the legacy `user-profiles-2026-03-24` beta header.
616626 
617627 - `"application"`
618628 
from line 634
624634 
625635 - `external_id: optional string or null`
626636 
627 Platform's own identifier for this user. Not enforced unique. Present under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` the value is `external_user_details.reference_id`.
637 Platform's own identifier for this user. Not enforced unique. Legacy field, present only under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; without one of them, the value is `external_user_details.reference_id`.
628638 
629639 - `external_user_details: optional BetaUserProfileExternalUserDetails`
630640 
631 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Present under the `user-profiles-2026-09-04` beta header, with every field present and `null` until the platform supplies a value; the earlier beta headers serve `reference_id` as the top-level `external_id`, and `user-profiles-2026-08-18` serves `onboarded_at` as `external_user_onboarded_at`.
641 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Every field is present, `null` until the platform supplies a value. Absent under the legacy `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers, which serve `reference_id` as the top-level `external_id` and, under `user-profiles-2026-08-18`, `onboarded_at` as `external_user_onboarded_at`.
632642 
633643 - `account_status: "active" or "suspended" or "blocked" or null`
634644 
from line 692
682692 
683693 - `external_user_onboarded_at: optional string or null`
684694 
685 When the entity this profile represents opened its account with the platform, as stated by the platform, in RFC 3339 format (UTC). `null` until the platform supplies one. Present under the `user-profiles-2026-08-18` beta header; under `user-profiles-2026-09-04` the value is `external_user_details.onboarded_at`.
695 When the entity this profile represents opened its account with the platform, as stated by the platform, in RFC 3339 format (UTC). `null` until the platform supplies one. Legacy field, present only under the `user-profiles-2026-08-18` beta header; without a legacy header, the value is `external_user_details.onboarded_at`.
686696 
687697 format: date-time
688 
689 - `name: optional string or null`
690 
691 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name.
692698 
693699- `next_page: string or null`
694700 
from line 718
712718 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",
713719 "created_at": "2026-03-15T10:00:00Z",
714720 "metadata": {},
721 "name": "Example User",
715722 "trust_grants": {
716723 "cyber": {
717724 "status": "active"
from line 730
723730 "external_id": "user_12345",
724731 "external_user_details": {
725732 "account_status": "active",
726 "country": "country",
727 "email_hash": "email_hash",
728 "entity_type": "individual",
729 "name_hash": "name_hash",
730 "onboarded_at": "2019-12-27T18:11:19.117Z",
731 "reference_id": "reference_id"
733 "country": "US",
734 "email_hash": null,
735 "entity_type": "business",
736 "name_hash": null,
737 "onboarded_at": "2024-11-02T08:15:00Z",
738 "reference_id": "user_12345"
732739 },
733 "external_user_onboarded_at": "2024-11-02T08:15:00Z",
734 "name": "Example User"
740 "external_user_onboarded_at": "2024-11-02T08:15:00Z"
735741 }
736742 ],
737743 "next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
from line 766
760766 
761767- `"anthropic-beta": optional array of AnthropicBeta`
762768 
763 This endpoint is in beta: requests must send `user-profiles-2026-03-24`, `user-profiles-2026-08-18`, or `user-profiles-2026-09-04` in this header.
769 Optional header to specify the beta version(s) you want to use.
764770 
765771 - `string`
766772 
from line 904
898904 
899905 Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.
900906 
907 - `name: string or null`
908 
909 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name. `null` until the platform supplies one.
910 
901911 - `trust_grants: map[BetaUserProfileTrustGrant]`
902912 
903913 Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.
from line 924
914924 
915925 - `updated_at: string`
916926 
917 When this user profile was last modified, in RFC 3339 format. Trust-grant status changes also bump this timestamp.
927 When this user profile was last modified, in RFC 3339 format. It normally also updates shortly after Anthropic gives the profile an approval or withdraws one. Other changes to the statuses that Anthropic reports do not always update it, so read the status itself rather than watching this timestamp.
918928 
919929 format: date-time
920930 
921931 - `access_type: optional "application" or "passthrough"`
922932 
923 How the platform uses the API for this entity: `application` (default) or `passthrough`. Present under the `user-profiles-2026-08-18` and later beta headers.
933 How the platform uses the API for this entity: `application` (default) or `passthrough`. Absent under the legacy `user-profiles-2026-03-24` beta header.
924934 
925935 - `"application"`
926936 
from line 942
932942 
933943 - `external_id: optional string or null`
934944 
935 Platform's own identifier for this user. Not enforced unique. Present under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` the value is `external_user_details.reference_id`.
945 Platform's own identifier for this user. Not enforced unique. Legacy field, present only under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; without one of them, the value is `external_user_details.reference_id`.
936946 
937947 - `external_user_details: optional BetaUserProfileExternalUserDetails`
938948 
939 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Present under the `user-profiles-2026-09-04` beta header, with every field present and `null` until the platform supplies a value; the earlier beta headers serve `reference_id` as the top-level `external_id`, and `user-profiles-2026-08-18` serves `onboarded_at` as `external_user_onboarded_at`.
949 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Every field is present, `null` until the platform supplies a value. Absent under the legacy `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers, which serve `reference_id` as the top-level `external_id` and, under `user-profiles-2026-08-18`, `onboarded_at` as `external_user_onboarded_at`.
940950 
941951 - `account_status: "active" or "suspended" or "blocked" or null`
942952 
from line 1000
9901000 
9911001 - `external_user_onboarded_at: optional string or null`
9921002 
993 When the entity this profile represents opened its account with the platform, as stated by the platform, in RFC 3339 format (UTC). `null` until the platform supplies one. Present under the `user-profiles-2026-08-18` beta header; under `user-profiles-2026-09-04` the value is `external_user_details.onboarded_at`.
1003 When the entity this profile represents opened its account with the platform, as stated by the platform, in RFC 3339 format (UTC). `null` until the platform supplies one. Legacy field, present only under the `user-profiles-2026-08-18` beta header; without a legacy header, the value is `external_user_details.onboarded_at`.
9941004 
9951005 format: date-time
996 
997 - `name: optional string or null`
998 
999 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name.
10001006 
10011007### Example
10021008 
from line 1020
10141020 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",
10151021 "created_at": "2026-03-15T10:00:00Z",
10161022 "metadata": {},
1023 "name": "Example User",
10171024 "trust_grants": {
10181025 "cyber": {
10191026 "status": "active"
from line 1032
10251032 "external_id": "user_12345",
10261033 "external_user_details": {
10271034 "account_status": "active",
1028 "country": "country",
1029 "email_hash": "email_hash",
1030 "entity_type": "individual",
1031 "name_hash": "name_hash",
1032 "onboarded_at": "2019-12-27T18:11:19.117Z",
1033 "reference_id": "reference_id"
1035 "country": "US",
1036 "email_hash": null,
1037 "entity_type": "business",
1038 "name_hash": null,
1039 "onboarded_at": "2024-11-02T08:15:00Z",
1040 "reference_id": "user_12345"
10341041 },
1035 "external_user_onboarded_at": "2024-11-02T08:15:00Z",
1036 "name": "Example User"
1042 "external_user_onboarded_at": "2024-11-02T08:15:00Z"
10371043}
10381044```
10391045 
from line 1065
10591065 
10601066- `"anthropic-beta": optional array of AnthropicBeta`
10611067 
1062 This endpoint is in beta: requests must send `user-profiles-2026-03-24`, `user-profiles-2026-08-18`, or `user-profiles-2026-09-04` in this header.
1068 Optional header to specify the beta version(s) you want to use.
10631069 
10641070 - `string`
10651071 
from line 1193
11871193 
11881194- `external_id: optional string or null`
11891195 
1190 If present, replaces the stored external_id. Omit to leave unchanged. Maximum 255 characters. Accepted under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` send `external_user_details.reference_id` instead.
1196 If present, replaces the stored external_id. Omit to leave unchanged. Maximum 255 characters. Legacy field, accepted only under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; without one of them, send `external_user_details.reference_id`.
11911197 
11921198 minLength: 1, maxLength: 255
11931199 
11941200- `external_user_details: optional BetaUserProfileExternalUserDetailsParams`
11951201 
1196 Details about the entity this profile represents, as the platform states them. Each field sent replaces the stored value; omit a field to leave it unchanged. Once set, a value cannot be cleared and `null` is rejected. Accepted under the `user-profiles-2026-09-04` beta header only.
1202 Details about the entity this profile represents, as the platform states them. Each field sent replaces the stored value; omit a field to leave it unchanged. Once set, a value cannot be cleared and `null` is rejected. Not accepted under the legacy `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers.
11971203 
11981204 - `account_status: optional "active" or "suspended" or "blocked" or null`
11991205 
from line 1259
12531259 
12541260- `external_user_onboarded_at: optional string`
12551261 
1256 If present, replaces the stored account creation time. Omit to leave unchanged; once set, the value cannot be cleared and `null` is rejected. Must be a complete RFC 3339 timestamp no more than 1 minute in the future. Accepted under the `user-profiles-2026-08-18` beta header; under `user-profiles-2026-09-04` send `external_user_details.onboarded_at` instead.
1262 If present, replaces the stored account creation time. Omit to leave unchanged; once set, the value cannot be cleared and `null` is rejected. Must be a complete RFC 3339 timestamp no more than 1 minute in the future. Legacy field, accepted only under the `user-profiles-2026-08-18` beta header; without a legacy header, send `external_user_details.onboarded_at`.
12571263 
12581264 format: date-time
12591265 
from line 1299
12931299 
12941300 Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.
12951301 
1302 - `name: string or null`
1303 
1304 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name. `null` until the platform supplies one.
1305 
12961306 - `trust_grants: map[BetaUserProfileTrustGrant]`
12971307 
12981308 Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.
from line 1319
13091319 
13101320 - `updated_at: string`
13111321 
1312 When this user profile was last modified, in RFC 3339 format. Trust-grant status changes also bump this timestamp.
1322 When this user profile was last modified, in RFC 3339 format. It normally also updates shortly after Anthropic gives the profile an approval or withdraws one. Other changes to the statuses that Anthropic reports do not always update it, so read the status itself rather than watching this timestamp.
13131323 
13141324 format: date-time
13151325 
13161326 - `access_type: optional "application" or "passthrough"`
13171327 
1318 How the platform uses the API for this entity: `application` (default) or `passthrough`. Present under the `user-profiles-2026-08-18` and later beta headers.
1328 How the platform uses the API for this entity: `application` (default) or `passthrough`. Absent under the legacy `user-profiles-2026-03-24` beta header.
13191329 
13201330 - `"application"`
13211331 
from line 1337
13271337 
13281338 - `external_id: optional string or null`
13291339 
1330 Platform's own identifier for this user. Not enforced unique. Present under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` the value is `external_user_details.reference_id`.
1340 Platform's own identifier for this user. Not enforced unique. Legacy field, present only under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; without one of them, the value is `external_user_details.reference_id`.
13311341 
13321342 - `external_user_details: optional BetaUserProfileExternalUserDetails`
13331343 
1334 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Present under the `user-profiles-2026-09-04` beta header, with every field present and `null` until the platform supplies a value; the earlier beta headers serve `reference_id` as the top-level `external_id`, and `user-profiles-2026-08-18` serves `onboarded_at` as `external_user_onboarded_at`.
1344 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Every field is present, `null` until the platform supplies a value. Absent under the legacy `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers, which serve `reference_id` as the top-level `external_id` and, under `user-profiles-2026-08-18`, `onboarded_at` as `external_user_onboarded_at`.
13351345 
13361346 - `account_status: "active" or "suspended" or "blocked" or null`
13371347 
from line 1395
13851395 
13861396 - `external_user_onboarded_at: optional string or null`
13871397 
1388 When the entity this profile represents opened its account with the platform, as stated by the platform, in RFC 3339 format (UTC). `null` until the platform supplies one. Present under the `user-profiles-2026-08-18` beta header; under `user-profiles-2026-09-04` the value is `external_user_details.onboarded_at`.
1398 When the entity this profile represents opened its account with the platform, as stated by the platform, in RFC 3339 format (UTC). `null` until the platform supplies one. Legacy field, present only under the `user-profiles-2026-08-18` beta header; without a legacy header, the value is `external_user_details.onboarded_at`.
13891399 
13901400 format: date-time
1391 
1392 - `name: optional string or null`
1393 
1394 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name.
13951401 
13961402### Example
13971403 
from line 1408
14021408 -H 'anthropic-beta: user-profiles-2026-08-18' \
14031409 -H "X-Api-Key: $ANTHROPIC_API_KEY" \
14041410 -d '{
1405 "external_id": "user_12345"
1411 "external_user_details": {
1412 "account_status": "suspended"
1413 }
14061414 }'
14071415```
14081416 
from line 1421
14131421 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",
14141422 "created_at": "2026-03-15T10:00:00Z",
14151423 "metadata": {},
1424 "name": "Example User",
14161425 "trust_grants": {
14171426 "cyber": {
14181427 "status": "active"
from line 1433
14241433 "external_id": "user_12345",
14251434 "external_user_details": {
14261435 "account_status": "active",
1427 "country": "country",
1428 "email_hash": "email_hash",
1429 "entity_type": "individual",
1430 "name_hash": "name_hash",
1431 "onboarded_at": "2019-12-27T18:11:19.117Z",
1432 "reference_id": "reference_id"
1436 "country": "US",
1437 "email_hash": null,
1438 "entity_type": "business",
1439 "name_hash": null,
1440 "onboarded_at": "2024-11-02T08:15:00Z",
1441 "reference_id": "user_12345"
14331442 },
1434 "external_user_onboarded_at": "2024-11-02T08:15:00Z",
1435 "name": "Example User"
1443 "external_user_onboarded_at": "2024-11-02T08:15:00Z"
14361444}
14371445```
14381446 
1447## Delete User Profile
1448 
1449**DELETE** `/v1/user_profiles/{user_profile_id}`
1450 
1451Delete User Profile
1452 
1453### Path parameters
1454 
1455- `user_profile_id: string`
1456 
1457 The ID of the user profile to delete (`uprof_...`).
1458 
1459### Headers
1460 
1461- `"anthropic-version": optional string`
1462 
1463 The version of the Claude API you want to use.
1464 
1465 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
1466 
1467- `"anthropic-beta": optional array of AnthropicBeta`
1468 
1469 Optional header to specify the beta version(s) you want to use.
1470 
1471 - `string`
1472 
1473 - `"message-batches-2024-09-24"`
1474 
1475 - `"prompt-caching-2024-07-31"`
1476 
1477 - `"computer-use-2024-10-22"`
1478 
1479 - `"computer-use-2025-01-24"`
1480 
1481 - `"pdfs-2024-09-25"`
1482 
1483 - `"token-counting-2024-11-01"`
1484 
1485 - `"token-efficient-tools-2025-02-19"`
1486 
1487 - `"output-128k-2025-02-19"`
1488 
1489 - `"files-api-2025-04-14"`
1490 
1491 - `"mcp-client-2025-04-04"`
1492 
1493 - `"mcp-client-2025-11-20"`
1494 
1495 - `"dev-full-thinking-2025-05-14"`
1496 
1497 - `"interleaved-thinking-2025-05-14"`
1498 
1499 - `"code-execution-2025-05-22"`
1500 
1501 - `"extended-cache-ttl-2025-04-11"`
1502 
1503 - `"context-1m-2025-08-07"`
1504 
1505 - `"context-management-2025-06-27"`
1506 
1507 - `"model-context-window-exceeded-2025-08-26"`
1508 
1509 - `"skills-2025-10-02"`
1510 
1511 - `"fast-mode-2026-02-01"`
1512 
1513 - `"output-300k-2026-03-24"`
1514 
1515 - `"user-profiles-2026-03-24"`
1516 
1517 - `"user-profiles-2026-08-18"`
1518 
1519 - `"user-profiles-2026-09-04"`
1520 
1521 - `"advisor-tool-2026-03-01"`
1522 
1523 - `"managed-agents-2026-04-01"`
1524 
1525 - `"cache-diagnosis-2026-04-07"`
1526 
1527 - `"dreaming-2026-04-21"`
1528 
1529 - `"thinking-token-count-2026-05-13"`
1530 
1531 - `"server-side-fallback-2026-06-01"`
1532 
1533 - `"server-side-fallback-2026-07-01"`
1534 
1535 - `"fallback-credit-2026-06-01"`
1536 
1537 - `"fallback-credit-2026-07-01"`
1538 
1539 - `"agent-memory-2026-07-22"`
1540 
1541 - `"mid-conversation-tool-changes-2026-07-01"`
1542 
1543 - `"compact-2026-01-12"`
1544 
1545 - `"computer-use-2025-11-24"`
1546 
1547 - `"mcp-tunnels-2026-06-22"`
1548 
1549 - `"structured-outputs-2025-11-13"`
1550 
1551 - `"task-budgets-2026-03-13"`
1552 
1553 - `"thinking-display-updates-2026-08-18"`
1554 
1555 - `"ce-user-management-2026-07-13"`
1556 
1557 - `"mid-conversation-output-config-2026-07-01"`
1558 
1559 - `"thinking-binding-controls-2026-08-01"`
1560 
1561 - `"mid-conversation-system-clear-at-2026-08-21"`
1562 
1563 - `"compact-2026-09-04"`
1564 
1565 - `"inline-tools-2026-09-15"`
1566 
1567 - `"mcp-client-2026-09-15"`
1568 
1569 - `"ce-plugins-2026-09-01"`
1570 
1571 - `"spend-limit-reads-2026-09-26"`
1572 
1573 - `"telemetry-destinations-2026-08-11"`
1574 
1575- `"anthropic-workspace-id": optional string`
1576 
1577 Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).
1578 
1579 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.
1580 
1581### Returns
1582 
1583- `BetaDeletedUserProfile object`
1584 
1585 - `type: "user_profile_deleted"`
1586 
1587 Object type. Always `user_profile_deleted`.
1588 
1589 - `id: string`
1590 
1591 Identifier of the deleted user profile, prefixed `uprof_`.
1592 
1593### Example
1594 
1595```bash
1596curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID \
1597 -X DELETE \
1598 -H 'anthropic-version: 2023-06-01' \
1599 -H 'anthropic-beta: user-profiles-2026-08-18' \
1600 -H "X-Api-Key: $ANTHROPIC_API_KEY"
1601```
1602 
1603#### Response (200)
1604 
1605```json
1606{
1607 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",
1608 "type": "user_profile_deleted"
1609}
1610```
1611 
14391612## Create Enrollment URL
14401613 
14411614**POST** `/v1/user_profiles/{user_profile_id}/enrollment_url`
from line 1631
14581631 
14591632- `"anthropic-beta": optional array of AnthropicBeta`
14601633 
1461 This endpoint is in beta: requests must send `user-profiles-2026-03-24`, `user-profiles-2026-08-18`, or `user-profiles-2026-09-04` in this header.
1634 Optional header to specify the beta version(s) you want to use.
14621635 
14631636 - `string`
14641637 
from line 1747
15741747 
15751748- `BetaUserProfileEnrollmentURL object`
15761749 
1577 A URL to give to the entity that a user profile represents, so that the entity can enroll for a trust grant.
1750 A URL to give to the entity that a user profile represents, so that the entity can enroll in a program.
15781751 
15791752 - `type: "enrollment_url"`
15801753 
from line 1785
16121785 
16131786## Domain types
16141787 
1788### Beta Deleted User Profile
1789 
1790- `BetaDeletedUserProfile object`
1791 
1792 - `type: "user_profile_deleted"`
1793 
1794 Object type. Always `user_profile_deleted`.
1795 
1796 - `id: string`
1797 
1798 Identifier of the deleted user profile, prefixed `uprof_`.
1799 
16151800### Beta User Profile
16161801 
16171802- `BetaUserProfile object`
from line 1823
16381823 
16391824 Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.
16401825 
1826 - `name: string or null`
1827 
1828 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name. `null` until the platform supplies one.
1829 
16411830 - `trust_grants: map[BetaUserProfileTrustGrant]`
16421831 
16431832 Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.
from line 1843
16541843 
16551844 - `updated_at: string`
16561845 
1657 When this user profile was last modified, in RFC 3339 format. Trust-grant status changes also bump this timestamp.
1846 When this user profile was last modified, in RFC 3339 format. It normally also updates shortly after Anthropic gives the profile an approval or withdraws one. Other changes to the statuses that Anthropic reports do not always update it, so read the status itself rather than watching this timestamp.
16581847 
16591848 format: date-time
16601849 
16611850 - `access_type: optional "application" or "passthrough"`
16621851 
1663 How the platform uses the API for this entity: `application` (default) or `passthrough`. Present under the `user-profiles-2026-08-18` and later beta headers.
1852 How the platform uses the API for this entity: `application` (default) or `passthrough`. Absent under the legacy `user-profiles-2026-03-24` beta header.
16641853 
16651854 - `"application"`
16661855 
from line 1861
16721861 
16731862 - `external_id: optional string or null`
16741863 
1675 Platform's own identifier for this user. Not enforced unique. Present under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` the value is `external_user_details.reference_id`.
1864 Platform's own identifier for this user. Not enforced unique. Legacy field, present only under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; without one of them, the value is `external_user_details.reference_id`.
16761865 
16771866 - `external_user_details: optional BetaUserProfileExternalUserDetails`
16781867 
1679 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Present under the `user-profiles-2026-09-04` beta header, with every field present and `null` until the platform supplies a value; the earlier beta headers serve `reference_id` as the top-level `external_id`, and `user-profiles-2026-08-18` serves `onboarded_at` as `external_user_onboarded_at`.
1868 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Every field is present, `null` until the platform supplies a value. Absent under the legacy `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers, which serve `reference_id` as the top-level `external_id` and, under `user-profiles-2026-08-18`, `onboarded_at` as `external_user_onboarded_at`.
16801869 
16811870 - `account_status: "active" or "suspended" or "blocked" or null`
16821871 
from line 1919
17301919 
17311920 - `external_user_onboarded_at: optional string or null`
17321921 
1733 When the entity this profile represents opened its account with the platform, as stated by the platform, in RFC 3339 format (UTC). `null` until the platform supplies one. Present under the `user-profiles-2026-08-18` beta header; under `user-profiles-2026-09-04` the value is `external_user_details.onboarded_at`.
1922 When the entity this profile represents opened its account with the platform, as stated by the platform, in RFC 3339 format (UTC). `null` until the platform supplies one. Legacy field, present only under the `user-profiles-2026-08-18` beta header; without a legacy header, the value is `external_user_details.onboarded_at`.
17341923 
17351924 format: date-time
17361925 
1737 - `name: optional string or null`
1738 
1739 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name.
1740 
17411926### Beta User Profile Enrollment URL
17421927 
17431928- `BetaUserProfileEnrollmentURL object`
17441929 
1745 A URL to give to the entity that a user profile represents, so that the entity can enroll for a trust grant.
1930 A URL to give to the entity that a user profile represents, so that the entity can enroll in a program.
17461931 
17471932 - `type: "enrollment_url"`
17481933 
from line 2074
18892074 - `"pending"`
18902075 
18912076 - `"rejected"`
2077 
2078## User Profiles › Action URLs
2079 
2080### Create Action URL
2081 
2082**POST** `/v1/user_profiles/{user_profile_id}/action_urls`
2083 
2084Create Action URL
2085 
2086#### Path parameters
2087 
2088- `user_profile_id: string`
2089 
2090 The ID of the user profile the action is for (`uprof_...`).
2091 
2092#### Headers
2093 
2094- `"anthropic-version": optional string`
2095 
2096 The version of the Claude API you want to use.
2097 
2098 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).
2099 
2100- `"anthropic-beta": optional array of AnthropicBeta`
2101 
2102 Optional header to specify the beta version(s) you want to use.
2103 
2104 - `string`
2105 
2106 - `"message-batches-2024-09-24"`
2107 
2108 - `"prompt-caching-2024-07-31"`
2109 
2110 - `"computer-use-2024-10-22"`
2111 
2112 - `"computer-use-2025-01-24"`
2113 
2114 - `"pdfs-2024-09-25"`
2115 
2116 - `"token-counting-2024-11-01"`
2117 
2118 - `"token-efficient-tools-2025-02-19"`
2119 
2120 - `"output-128k-2025-02-19"`
2121 
2122 - `"files-api-2025-04-14"`
2123 
2124 - `"mcp-client-2025-04-04"`
2125 
2126 - `"mcp-client-2025-11-20"`
2127 
2128 - `"dev-full-thinking-2025-05-14"`
2129 
2130 - `"interleaved-thinking-2025-05-14"`
2131 
2132 - `"code-execution-2025-05-22"`
2133 
2134 - `"extended-cache-ttl-2025-04-11"`
2135 
2136 - `"context-1m-2025-08-07"`
2137 
2138 - `"context-management-2025-06-27"`
2139 
2140 - `"model-context-window-exceeded-2025-08-26"`
2141 
2142 - `"skills-2025-10-02"`
2143 
2144 - `"fast-mode-2026-02-01"`
2145 
2146 - `"output-300k-2026-03-24"`
2147 
2148 - `"user-profiles-2026-03-24"`
2149 
2150 - `"user-profiles-2026-08-18"`
2151 
2152 - `"user-profiles-2026-09-04"`
2153 
2154 - `"advisor-tool-2026-03-01"`
2155 
2156 - `"managed-agents-2026-04-01"`
2157 
2158 - `"cache-diagnosis-2026-04-07"`
2159 
2160 - `"dreaming-2026-04-21"`
2161 
2162 - `"thinking-token-count-2026-05-13"`
2163 
2164 - `"server-side-fallback-2026-06-01"`
2165 
2166 - `"server-side-fallback-2026-07-01"`
2167 
2168 - `"fallback-credit-2026-06-01"`
2169 
2170 - `"fallback-credit-2026-07-01"`
2171 
2172 - `"agent-memory-2026-07-22"`
2173 
2174 - `"mid-conversation-tool-changes-2026-07-01"`
2175 
2176 - `"compact-2026-01-12"`
2177 
2178 - `"computer-use-2025-11-24"`
2179 
2180 - `"mcp-tunnels-2026-06-22"`
2181 
2182 - `"structured-outputs-2025-11-13"`
2183 
2184 - `"task-budgets-2026-03-13"`
2185 
2186 - `"thinking-display-updates-2026-08-18"`
2187 
2188 - `"ce-user-management-2026-07-13"`
2189 
2190 - `"mid-conversation-output-config-2026-07-01"`
2191 
2192 - `"thinking-binding-controls-2026-08-01"`
2193 
2194 - `"mid-conversation-system-clear-at-2026-08-21"`
2195 
2196 - `"compact-2026-09-04"`
2197 
2198 - `"inline-tools-2026-09-15"`
2199 
2200 - `"mcp-client-2026-09-15"`
2201 
2202 - `"ce-plugins-2026-09-01"`
2203 
2204 - `"spend-limit-reads-2026-09-26"`
2205 
2206 - `"telemetry-destinations-2026-08-11"`
2207 
2208- `"anthropic-workspace-id": optional string`
2209 
2210 Optional header to select the Workspace for this request. The value is a Workspace ID (for example, `wrkspc_011CZkZaBF1tNoB5wlCeusgy`).
2211 
2212 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.
2213 
2214#### Body parameters
2215 
2216- `action: BetaUserProfileAction`
2217 
2218 The action that the person who opens the URL takes.
2219 
2220 - `BetaUserProfileEnrollEndUserAction object`
2221 
2222 The end-user that the profile represents enrolls in a program.
2223 
2224 - `type: "enroll_end_user"`
2225 
2226#### Returns
2227 
2228- `BetaUserProfileActionURL object`
2229 
2230 A URL to give to the person who takes the requested action.
2231 
2232 - `type: "user_profile_action_url"`
2233 
2234 Object type. Always `user_profile_action_url`.
2235 
2236 - `expires_at: string`
2237 
2238 When the URL stops working, in RFC 3339 format.
2239 
2240 format: date-time
2241 
2242 - `url: string`
2243 
2244 The URL to give to the person who takes the action. Anyone who holds it can open it until `expires_at`.
2245 
2246#### Example
2247 
2248```bash
2249curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID/action_urls \
2250 -H 'Content-Type: application/json' \
2251 -H 'anthropic-version: 2023-06-01' \
2252 -H 'anthropic-beta: user-profiles-2026-08-18' \
2253 -H "X-Api-Key: $ANTHROPIC_API_KEY" \
2254 -d '{
2255 "action": {
2256 "type": "enroll_end_user"
2257 }
2258 }'
2259```
2260 
2261##### Response (200)
2262 
2263```json
2264{
2265 "expires_at": "2026-03-15T10:15:00Z",
2266 "type": "user_profile_action_url",
2267 "url": "https://platform.claude.com/user-profiles/enrollment/M3J0bGJxZ2ppMnptbnB1"
2268}
2269```
18922270 

api/beta/user_profiles/action_urls New page · 239 lines, new page

# Action URLs ## Create Action URL ### Path parameters ### Headers ### Body parameters ### Returns ### Example #### Response (200) ## Domain types ### Beta User Profile Action ### Beta User Profile Action URL ### Beta User Profile Enroll End User Action

A whole new page. There's nothing to diff it against, so here is what it says.

---
title: Action URLs
url: https://platform.claude.com/docs/en/api/beta/user_profiles/action_urls
---

# Action URLs

## Create Action URL

**POST** `/v1/user_profiles/{user_profile_id}/action_urls`

Create Action URL

### Path parameters

- `user_profile_id: string`

  The ID of the user profile the action is for (`uprof_...`).

### Headers

- `"anthropic-version": optional string`

  The version of the Claude API you want to use.

  Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).

- `"anthropic-beta": optional array of AnthropicBeta`

  Optional header to specify the beta version(s) you want to use.

  - `string`

  - `"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"`

  - `"skills-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"`

  - `"ce-plugins-2026-09-01"`

  - `"spend-limit-reads-2026-09-26"`

  - `"telemetry-destinations-2026-08-11"`

- `"anthropic-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

- `action: BetaUserProfileAction`

  The action that the person who opens the URL takes.

  - `BetaUserProfileEnrollEndUserAction object`

    The end-user that the profile represents enrolls in a program.

    - `type: "enroll_end_user"`

### Returns

- `BetaUserProfileActionURL object`

  A URL to give to the person who takes the requested action.

  - `type: "user_profile_action_url"`

    Object type. Always `user_profile_action_url`.

  - `expires_at: string`

    When the URL stops working, in RFC 3339 format.

    format: date-time

  - `url: string`

    The URL to give to the person who takes the action. Anyone who holds it can open it until `expires_at`.

### Example

```bash
curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID/action_urls \
    -H 'Content-Type: application/json' \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: user-profiles-2026-08-18' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY" \
    -d '{
          "action": {
            "type": "enroll_end_user"
          }
        }'
```

#### Response (200)

```json
{
  "expires_at": "2026-03-15T10:15:00Z",
  "type": "user_profile_action_url",
  "url": "https://platform.claude.com/user-profiles/enrollment/M3J0bGJxZ2ppMnptbnB1"
}
```

## Domain types

### Beta User Profile Action

- `BetaUserProfileAction = BetaUserProfileEnrollEndUserAction`

  The action that the person who opens the URL takes, discriminated by `type`.

  - `BetaUserProfileEnrollEndUserAction object`

    The end-user that the profile represents enrolls in a program.

    - `type: "enroll_end_user"`

### Beta User Profile Action URL

- `BetaUserProfileActionURL object`

  A URL to give to the person who takes the requested action.

  - `type: "user_profile_action_url"`

    Object type. Always `user_profile_action_url`.

  - `expires_at: string`

    When the URL stops working, in RFC 3339 format.

    format: date-time

  - `url: string`

    The URL to give to the person who takes the action. Anyone who holds it can open it until `expires_at`.

### Beta User Profile Enroll End User Action

- `BetaUserProfileEnrollEndUserAction object`

  The end-user that the profile represents enrolls in a program.

  - `type: "enroll_end_user"`

api/beta/user_profiles/action_urls/create New page · 195 lines, new page

# Create Action URL ## Path parameters ## Headers ## Body parameters ## Returns ## Example ### Response (200)

A whole new page. There's nothing to diff it against, so here is what it says.

---
title: Create Action URL
url: https://platform.claude.com/docs/en/api/beta/user_profiles/action_urls/create
---

# Create Action URL

**POST** `/v1/user_profiles/{user_profile_id}/action_urls`

Create Action URL

## Path parameters

- `user_profile_id: string`

  The ID of the user profile the action is for (`uprof_...`).

## Headers

- `"anthropic-version": optional string`

  The version of the Claude API you want to use.

  Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).

- `"anthropic-beta": optional array of AnthropicBeta`

  Optional header to specify the beta version(s) you want to use.

  - `string`

  - `"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"`

  - `"skills-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"`

  - `"ce-plugins-2026-09-01"`

  - `"spend-limit-reads-2026-09-26"`

  - `"telemetry-destinations-2026-08-11"`

- `"anthropic-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

- `action: BetaUserProfileAction`

  The action that the person who opens the URL takes.

  - `BetaUserProfileEnrollEndUserAction object`

    The end-user that the profile represents enrolls in a program.

    - `type: "enroll_end_user"`

## Returns

- `BetaUserProfileActionURL object`

  A URL to give to the person who takes the requested action.

  - `type: "user_profile_action_url"`

    Object type. Always `user_profile_action_url`.

  - `expires_at: string`

    When the URL stops working, in RFC 3339 format.

    format: date-time

  - `url: string`

    The URL to give to the person who takes the action. Anyone who holds it can open it until `expires_at`.

## Example

```bash
curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID/action_urls \
    -H 'Content-Type: application/json' \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: user-profiles-2026-08-18' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY" \
    -d '{
          "action": {
            "type": "enroll_end_user"
          }
        }'
```

### Response (200)

```json
{
  "expires_at": "2026-03-15T10:15:00Z",
  "type": "user_profile_action_url",
  "url": "https://platform.claude.com/user-profiles/enrollment/M3J0bGJxZ2ppMnptbnB1"
}
```

api/beta/user_profiles/create Changed · +30 / -24 lines

from line 19
1919 
2020- `"anthropic-beta": optional array of AnthropicBeta`
2121 
22 This endpoint is in beta: requests must send `user-profiles-2026-03-24`, `user-profiles-2026-08-18`, or `user-profiles-2026-09-04` in this header.
22 Optional header to specify the beta version(s) you want to use.
2323 
2424 - `string`
2525 
from line 147
147147 
148148- `external_id: optional string or null`
149149 
150 Platform's own identifier for this user. Not enforced unique. Maximum 255 characters. Accepted under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` send `external_user_details.reference_id` instead.
150 Platform's own identifier for this user. Not enforced unique. Maximum 255 characters. Legacy field, accepted only under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; without one of them, send `external_user_details.reference_id`.
151151 
152152 minLength: 1, maxLength: 255
153153 
154154- `external_user_details: optional BetaUserProfileExternalUserDetailsParams`
155155 
156 Details about the entity this profile represents, as the platform states them. Every field is optional. Accepted under the `user-profiles-2026-09-04` beta header only.
156 Details about the entity this profile represents, as the platform states them. Every field is optional. Not accepted under the legacy `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers, which take the top-level `external_id` (and, under `user-profiles-2026-08-18`, `external_user_onboarded_at`) instead.
157157 
158158 - `account_status: optional "active" or "suspended" or "blocked" or null`
159159 
from line 213
213213 
214214- `external_user_onboarded_at: optional string`
215215 
216 When the entity this profile represents opened its account with the platform, in RFC 3339 format: for an `application` profile, when the end-user signed up; for a `passthrough` profile, when the company became the platform's customer. Must be a complete timestamp no more than 1 minute in the future. Optional. Accepted under the `user-profiles-2026-08-18` beta header; under `user-profiles-2026-09-04` send `external_user_details.onboarded_at` instead.
216 When the entity this profile represents opened its account with the platform, in RFC 3339 format: for an `application` profile, when the end-user signed up; for a `passthrough` profile, when the company became the platform's customer. Must be a complete timestamp no more than 1 minute in the future. Optional. Legacy field, accepted only under the `user-profiles-2026-08-18` beta header; without a legacy header, send `external_user_details.onboarded_at`.
217217 
218218 format: date-time
219219 
from line 253
253253 
254254 Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.
255255 
256 - `name: string or null`
257 
258 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name. `null` until the platform supplies one.
259 
256260 - `trust_grants: map[BetaUserProfileTrustGrant]`
257261 
258262 Trust grants for this profile, keyed by grant name. Key omitted when no grant is active or in flight.
from line 273
269273 
270274 - `updated_at: string`
271275 
272 When this user profile was last modified, in RFC 3339 format. Trust-grant status changes also bump this timestamp.
276 When this user profile was last modified, in RFC 3339 format. It normally also updates shortly after Anthropic gives the profile an approval or withdraws one. Other changes to the statuses that Anthropic reports do not always update it, so read the status itself rather than watching this timestamp.
273277 
274278 format: date-time
275279 
276280 - `access_type: optional "application" or "passthrough"`
277281 
278 How the platform uses the API for this entity: `application` (default) or `passthrough`. Present under the `user-profiles-2026-08-18` and later beta headers.
282 How the platform uses the API for this entity: `application` (default) or `passthrough`. Absent under the legacy `user-profiles-2026-03-24` beta header.
279283 
280284 - `"application"`
281285 
from line 291
287291 
288292 - `external_id: optional string or null`
289293 
290 Platform's own identifier for this user. Not enforced unique. Present under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; under `user-profiles-2026-09-04` the value is `external_user_details.reference_id`.
294 Platform's own identifier for this user. Not enforced unique. Legacy field, present only under the `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers; without one of them, the value is `external_user_details.reference_id`.
291295 
292296 - `external_user_details: optional BetaUserProfileExternalUserDetails`
293297 
294 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Present under the `user-profiles-2026-09-04` beta header, with every field present and `null` until the platform supplies a value; the earlier beta headers serve `reference_id` as the top-level `external_id`, and `user-profiles-2026-08-18` serves `onboarded_at` as `external_user_onboarded_at`.
298 Details about the entity this profile represents, as the platform states them; not verified by Anthropic. Every field is present, `null` until the platform supplies a value. Absent under the legacy `user-profiles-2026-03-24` and `user-profiles-2026-08-18` beta headers, which serve `reference_id` as the top-level `external_id` and, under `user-profiles-2026-08-18`, `onboarded_at` as `external_user_onboarded_at`.
295299 
296300 - `account_status: "active" or "suspended" or "blocked" or null`
297301 
from line 349
345349 
346350 - `external_user_onboarded_at: optional string or null`
347351 
348 When the entity this profile represents opened its account with the platform, as stated by the platform, in RFC 3339 format (UTC). `null` until the platform supplies one. Present under the `user-profiles-2026-08-18` beta header; under `user-profiles-2026-09-04` the value is `external_user_details.onboarded_at`.
352 When the entity this profile represents opened its account with the platform, as stated by the platform, in RFC 3339 format (UTC). `null` until the platform supplies one. Legacy field, present only under the `user-profiles-2026-08-18` beta header; without a legacy header, the value is `external_user_details.onboarded_at`.
349353 
350354 format: date-time
351355 
352 - `name: optional string or null`
353 
354 Real-world name of the entity this profile represents (company or individual). For a company the platform resells Claude access to (`access_type` `passthrough`) this is that company's name.
355 
356356## Example
357357 
358358```bash
from line 362
362362 -H 'anthropic-beta: user-profiles-2026-08-18' \
363363 -H "X-Api-Key: $ANTHROPIC_API_KEY" \
364364 -d '{
365 "external_id": "user_12345",
366 "external_user_onboarded_at": "2024-11-02T08:15:00Z",
367 "metadata": {}
365 "external_user_details": {
366 "account_status": "active",
367 "country": "US",
368 "entity_type": "business",
369 "onboarded_at": "2024-11-02T08:15:00Z",
370 "reference_id": "user_12345"
371 },
372 "metadata": {},
373 "name": "Example User"
368374 }'
369375```
370376 
from line 381
375381 "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",
376382 "created_at": "2026-03-15T10:00:00Z",
377383 "metadata": {},
384 "name": "Example User",
378385 "trust_grants": {
379386 "cyber": {
380387 "status": "active"
from line 393
386393 "external_id": "user_12345",
387394 "external_user_details": {
388395 "account_status": "active",
389 "country": "country",
390 "email_hash": "email_hash",
391 "entity_type": "individual",
392 "name_hash": "name_hash",
393 "onboarded_at": "2019-12-27T18:11:19.117Z",
394 "reference_id": "reference_id"
396 "country": "US",
397 "email_hash": null,
398 "entity_type": "business",
399 "name_hash": null,
400 "onboarded_at": "2024-11-02T08:15:00Z",
401 "reference_id": "user_12345"
395402 },
396 "external_user_onboarded_at": "2024-11-02T08:15:00Z",
397 "name": "Example User"
403 "external_user_onboarded_at": "2024-11-02T08:15:00Z"
398404}
399405```
400406 

api/beta/user_profiles/delete New page · 169 lines, new page

# Delete User Profile ## Path parameters ## Headers ## Returns ## Example ### Response (200)

A whole new page. There's nothing to diff it against, so here is what it says.

---
title: Delete User Profile
url: https://platform.claude.com/docs/en/api/beta/user_profiles/delete
---

# Delete User Profile

**DELETE** `/v1/user_profiles/{user_profile_id}`

Delete User Profile

## Path parameters

- `user_profile_id: string`

  The ID of the user profile to delete (`uprof_...`).

## Headers

- `"anthropic-version": optional string`

  The version of the Claude API you want to use.

  Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning?sdk_languages=http).

- `"anthropic-beta": optional array of AnthropicBeta`

  Optional header to specify the beta version(s) you want to use.

  - `string`

  - `"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"`

  - `"skills-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"`

  - `"ce-plugins-2026-09-01"`

  - `"spend-limit-reads-2026-09-26"`

  - `"telemetry-destinations-2026-08-11"`

- `"anthropic-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

- `BetaDeletedUserProfile object`

  - `type: "user_profile_deleted"`

    Object type. Always `user_profile_deleted`.

  - `id: string`

    Identifier of the deleted user profile, prefixed `uprof_`.

## Example

```bash
curl https://api.anthropic.com/v1/user_profiles/$USER_PROFILE_ID \
    -X DELETE \
    -H 'anthropic-version: 2023-06-01' \
    -H 'anthropic-beta: user-profiles-2026-08-18' \
    -H "X-Api-Key: $ANTHROPIC_API_KEY"
```

### Response (200)

```json
{
  "id": "uprof_011CZkZCu8hGbp5mYRQgUmz9",
  "type": "user_profile_deleted"
}
```
Feedback