Memories
api/beta/memory_stores/memories
History
api/beta/memory_stores/memories Changed · +83 / -13 lines
- `string` - - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more` + - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 38 more` - `"message-batches-2024-09-24"`
- `"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"` + ### Body parameters - `content: string or null`
- `memory_version_id: string` - ID of the `memory_version` representing this memory's current content (a `memver_...` value). This is the authoritative head pointer; `memory_version` objects do not carry an `is_latest` flag, so compare against this field instead. Enumerate the full history via [List memory versions](/docs/en/api/beta/memory_stores/memory_versions/list). + 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](/docs/en/api/beta/memory_stores/memory_versions/list). - `path: string`
- `string` - - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more` + - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 38 more` - `"message-batches-2024-09-24"`
- `"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"` + ### Returns - `data: optional array of BetaManagedAgentsMemoryListItem`
- `memory_version_id: string` - ID of the `memory_version` representing this memory's current content (a `memver_...` value). This is the authoritative head pointer; `memory_version` objects do not carry an `is_latest` flag, so compare against this field instead. Enumerate the full history via [List memory versions](/docs/en/api/beta/memory_stores/memory_versions/list). + 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](/docs/en/api/beta/memory_stores/memory_versions/list). - `path: string`
- `string` - - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more` + - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 38 more` - `"message-batches-2024-09-24"`
- `"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"` + ### Returns - `BetaManagedAgentsMemory object`
- `memory_version_id: string` - ID of the `memory_version` representing this memory's current content (a `memver_...` value). This is the authoritative head pointer; `memory_version` objects do not carry an `is_latest` flag, so compare against this field instead. Enumerate the full history via [List memory versions](/docs/en/api/beta/memory_stores/memory_versions/list). + 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](/docs/en/api/beta/memory_stores/memory_versions/list). - `path: string`
- `string` - - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more` + - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 38 more` - `"message-batches-2024-09-24"`
- `"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"` + ### Body parameters - `content: optional string or null`
- `memory_version_id: string` - ID of the `memory_version` representing this memory's current content (a `memver_...` value). This is the authoritative head pointer; `memory_version` objects do not carry an `is_latest` flag, so compare against this field instead. Enumerate the full history via [List memory versions](/docs/en/api/beta/memory_stores/memory_versions/list). + 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](/docs/en/api/beta/memory_stores/memory_versions/list). - `path: string`
- `string` - - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more` + - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 38 more` - `"message-batches-2024-09-24"`
- `"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"` + ### Returns - `BetaManagedAgentsDeletedMemory object` - Tombstone returned by [Delete a memory](/docs/en/api/beta/memory_stores/memories/delete). The memory's version history persists and remains listable via [List memory versions](/docs/en/api/beta/memory_stores/memory_versions/list) until the store itself is deleted. + Tombstone returned by [Delete a memory](/docs/en/api/beta/memory_stores/memories/delete). Deleting a memory does not erase its version history: its versions remain listable via [List memory versions](/docs/en/api/beta/memory_stores/memory_versions/list) 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). - `id: string`
- `BetaManagedAgentsDeletedMemory object` - Tombstone returned by [Delete a memory](/docs/en/api/beta/memory_stores/memories/delete). The memory's version history persists and remains listable via [List memory versions](/docs/en/api/beta/memory_stores/memory_versions/list) until the store itself is deleted. + Tombstone returned by [Delete a memory](/docs/en/api/beta/memory_stores/memories/delete). Deleting a memory does not erase its version history: its versions remain listable via [List memory versions](/docs/en/api/beta/memory_stores/memory_versions/list) 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). - `id: string`
- `memory_version_id: string` - ID of the `memory_version` representing this memory's current content (a `memver_...` value). This is the authoritative head pointer; `memory_version` objects do not carry an `is_latest` flag, so compare against this field instead. Enumerate the full history via [List memory versions](/docs/en/api/beta/memory_stores/memory_versions/list). + 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](/docs/en/api/beta/memory_stores/memory_versions/list). - `path: string`
- `memory_version_id: string` - ID of the `memory_version` representing this memory's current content (a `memver_...` value). This is the authoritative head pointer; `memory_version` objects do not carry an `is_latest` flag, so compare against this field instead. Enumerate the full history via [List memory versions](/docs/en/api/beta/memory_stores/memory_versions/list). + 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](/docs/en/api/beta/memory_stores/memory_versions/list). - `path: string`
api/beta/memory_stores/memories Changed · +141 / -124 lines
### Path parameters ### Query parameters ### Headers ### Body parameters #### Response (200) ### Path parameters ### Query parameters ### Headers #### Response (200) ### Path parameters ### Query parameters ### Headers #### Response (200) ### Path parameters ### Query parameters ### Headers ### Body parameters #### Response (200) ### Path parameters ### Query parameters ### Headers #### Response (200) ## Domain types ### Path Parameters ### Query Parameters ### Header Parameters ### Body Parameters #### Response ### Path Parameters ### Query Parameters ### Header Parameters #### Response ### Path Parameters ### Query Parameters ### Header Parameters #### Response ### Path Parameters ### Query Parameters ### Header Parameters ### Body Parameters #### Response ### Path Parameters ### Query Parameters ### Header Parameters #### Response ## Domain Types
---- -title: Memories -url: https://platform.claude.com/docs/en/api/beta/memory_stores/memories ---- - # Memories ## Create a memory -**post** `/v1/memory_stores/{memory_store_id}/memories` +**POST** `/v1/memory_stores/{memory_store_id}/memories` Create a memory -### Path Parameters +### Path parameters - `memory_store_id: string` -### Query Parameters +### Query parameters - `view: optional BetaManagedAgentsMemoryView`
- `"full"` -### Header Parameters +### Headers - `"anthropic-beta": optional array of AnthropicBeta`
- `"mid-conversation-tool-changes-2026-07-01"` -### Body Parameters +### Body parameters - `content: string or null`
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, and must be NFC-normalized. Paths are case-sensitive. + minLength: 2, maxLength: 1024 + ### Returns -- `BetaManagedAgentsMemory object { id, content_sha256, content_size_bytes, 7 more }` +- `BetaManagedAgentsMemory object` A `memory` object: a single text document at a hierarchical path inside a memory store. The `content` field is populated when `view=full` and `null` when `view=basic`; the `content_size_bytes` and `content_sha256` fields are always populated so sync clients can diff without fetching content. Memories are addressed by their `mem_...` ID; the path is the create key and can be changed via update.
Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`. + format: int32 + - `created_at: string` A timestamp in RFC 3339 format + format: date-time + - `memory_store_id: string` ID of the memory store this memory belongs to (a `memstore_...` value).
- `type: "memory"` - - `"memory"` - - `updated_at: string` A timestamp in RFC 3339 format + format: date-time + - `content: optional string or null` The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
### Example -```http +```bash curl https://api.anthropic.com/v1/memory_stores/$MEMORY_STORE_ID/memories \ -H 'Content-Type: application/json' \ -H 'anthropic-version: 2023-06-01' \
}' ``` -#### Response +#### Response (200) ```json {
## List memories -**get** `/v1/memory_stores/{memory_store_id}/memories` +**GET** `/v1/memory_stores/{memory_store_id}/memories` List memories -### Path Parameters +### Path parameters - `memory_store_id: string` -### Query Parameters +### Query parameters - `depth: optional number` `0` (or omitted) returns all descendants below `path_prefix` (recursive). `1` returns immediate children only; deeper entries roll up as `memory_prefix` items. `depth=1` behaves like `ls`; omitting `depth` behaves like `find`. + format: int32 + - `limit: optional number` Maximum number of items to return per page. Must be between 1 and 100. Defaults to 20 when omitted. Capped at 20 when `view=full`. Both `memory` and `memory_prefix` items count toward the limit. + format: int32 + - `page: optional string` Opaque pagination cursor (a `page_...` value). Pass the `next_page` value from a previous response to fetch the next page; omit for the first page.
- `"full"` -### Header Parameters +### Headers - `"anthropic-beta": optional array of AnthropicBeta`
One page of results. Each item is either a `memory` object or, when `depth` was set, a `memory_prefix` rollup marker. Items are returned in a stable, server-defined order. - - `BetaManagedAgentsMemory object { id, content_sha256, content_size_bytes, 7 more }` + - `BetaManagedAgentsMemory object` A `memory` object: a single text document at a hierarchical path inside a memory store. The `content` field is populated when `view=full` and `null` when `view=basic`; the `content_size_bytes` and `content_sha256` fields are always populated so sync clients can diff without fetching content. Memories are addressed by their `mem_...` ID; the path is the create key and can be changed via update.
Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`. + format: int32 + - `created_at: string` A timestamp in RFC 3339 format + format: date-time + - `memory_store_id: string` ID of the memory store this memory belongs to (a `memstore_...` value).
- `type: "memory"` - - `"memory"` - - `updated_at: string` A timestamp in RFC 3339 format + format: date-time + - `content: optional string or null` The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes). - - `BetaManagedAgentsMemoryPrefix object { path, type }` + - `BetaManagedAgentsMemoryPrefix object` A rolled-up directory marker returned by [List memories](/docs/en/api/beta/memory_stores/memories/list) when `depth` is set. Indicates that one or more memories exist deeper than the requested depth under this prefix. This is a list-time rollup, not a stored resource; it has no ID and no lifecycle. Each prefix counts toward the page `limit` and interleaves with `memory` items in path order.
- `type: "memory_prefix"` - - `"memory_prefix"` - - `next_page: optional string or null` Opaque cursor for the next page (a `page_...` value), or `null` if there are no more results. Pass as `page` on the next request.
### Example -```http +```bash curl https://api.anthropic.com/v1/memory_stores/$MEMORY_STORE_ID/memories \ -H 'anthropic-version: 2023-06-01' \ -H 'anthropic-beta: agent-memory-2026-07-22' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" ``` -#### Response +#### Response (200) ```json {
## Retrieve a memory -**get** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}` +**GET** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}` Retrieve a memory -### Path Parameters +### Path parameters - `memory_store_id: string` - `memory_id: string` -### Query Parameters +### Query parameters - `view: optional BetaManagedAgentsMemoryView`
- `"full"` -### Header Parameters +### Headers - `"anthropic-beta": optional array of AnthropicBeta`
### Returns -- `BetaManagedAgentsMemory object { id, content_sha256, content_size_bytes, 7 more }` +- `BetaManagedAgentsMemory object` A `memory` object: a single text document at a hierarchical path inside a memory store. The `content` field is populated when `view=full` and `null` when `view=basic`; the `content_size_bytes` and `content_sha256` fields are always populated so sync clients can diff without fetching content. Memories are addressed by their `mem_...` ID; the path is the create key and can be changed via update.
Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`. + format: int32 + - `created_at: string` A timestamp in RFC 3339 format + format: date-time + - `memory_store_id: string` ID of the memory store this memory belongs to (a `memstore_...` value).
- `type: "memory"` - - `"memory"` - - `updated_at: string` A timestamp in RFC 3339 format + format: date-time + - `content: optional string or null` The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
### Example -```http +```bash curl https://api.anthropic.com/v1/memory_stores/$MEMORY_STORE_ID/memories/$MEMORY_ID \ -H 'anthropic-version: 2023-06-01' \ -H 'anthropic-beta: agent-memory-2026-07-22' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" ``` -#### Response +#### Response (200) ```json {
## Update a memory -**post** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}` +**POST** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}` Update a memory -### Path Parameters +### Path parameters - `memory_store_id: string` - `memory_id: string` -### Query Parameters +### Query parameters - `view: optional BetaManagedAgentsMemoryView`
- `"full"` -### Header Parameters +### Headers - `"anthropic-beta": optional array of AnthropicBeta`
- `"mid-conversation-tool-changes-2026-07-01"` -### Body Parameters +### Body parameters - `content: optional string or null`
New path for the memory (a rename). Must start with `/`, contain at least one non-empty segment, and be at most 1,024 bytes. Must not contain empty segments, `.` or `..` segments, control or format characters, and must be NFC-normalized. Paths are case-sensitive. The memory's `id` is preserved across renames. Omit to leave the path unchanged. + minLength: 2, maxLength: 1024 + - `precondition: optional BetaManagedAgentsPrecondition` Optimistic-concurrency precondition: the update applies only if the memory's stored `content_sha256` equals the supplied value. On mismatch, the request returns `memory_precondition_failed_error` (HTTP 409); re-read the memory and retry against the fresh state. If the precondition fails but the stored state already exactly matches the requested `content` and `path`, the server returns 200 instead of 409.
- `type: "content_sha256"` - - `"content_sha256"` - - `content_sha256: optional string` Expected `content_sha256` of the stored memory (64 lowercase hexadecimal characters). Typically the `content_sha256` returned by a prior read or list call. Because the server applies no content normalization, clients can also compute this locally as the SHA-256 of the UTF-8 content bytes.
### Returns -- `BetaManagedAgentsMemory object { id, content_sha256, content_size_bytes, 7 more }` +- `BetaManagedAgentsMemory object` A `memory` object: a single text document at a hierarchical path inside a memory store. The `content` field is populated when `view=full` and `null` when `view=basic`; the `content_size_bytes` and `content_sha256` fields are always populated so sync clients can diff without fetching content. Memories are addressed by their `mem_...` ID; the path is the create key and can be changed via update.
Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`. + format: int32 + - `created_at: string` A timestamp in RFC 3339 format + format: date-time + - `memory_store_id: string` ID of the memory store this memory belongs to (a `memstore_...` value).
- `type: "memory"` - - `"memory"` - - `updated_at: string` A timestamp in RFC 3339 format + format: date-time + - `content: optional string or null` The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
### Example -```http +```bash curl https://api.anthropic.com/v1/memory_stores/$MEMORY_STORE_ID/memories/$MEMORY_ID \ -H 'Content-Type: application/json' \ -H 'anthropic-version: 2023-06-01' \
-d '{}' ``` -#### Response +#### Response (200) ```json {
## Delete a memory -**delete** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}` +**DELETE** `/v1/memory_stores/{memory_store_id}/memories/{memory_id}` Delete a memory -### Path Parameters +### Path parameters - `memory_store_id: string` - `memory_id: string` -### Query Parameters +### Query parameters - `expected_content_sha256: optional string` Query parameter for expected_content_sha256 -### Header Parameters +### Headers - `"anthropic-beta": optional array of AnthropicBeta`
### Returns -- `BetaManagedAgentsDeletedMemory object { id, type }` +- `BetaManagedAgentsDeletedMemory object` Tombstone returned by [Delete a memory](/docs/en/api/beta/memory_stores/memories/delete). The memory's version history persists and remains listable via [List memory versions](/docs/en/api/beta/memory_stores/memory_versions/list) until the store itself is deleted.
- `type: "memory_deleted"` - - `"memory_deleted"` - ### Example -```http +```bash curl https://api.anthropic.com/v1/memory_stores/$MEMORY_STORE_ID/memories/$MEMORY_ID \ -X DELETE \ -H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" ``` -#### Response +#### Response (200) ```json {
} ``` -## Domain Types +## Domain types ### Beta Managed Agents Conflict Error -- `BetaManagedAgentsConflictError object { type, message }` +- `BetaManagedAgentsConflictError object` - `type: "conflict_error"` - - `"conflict_error"` - - `message: optional string` ### Beta Managed Agents Content Sha256 Precondition -- `BetaManagedAgentsContentSha256Precondition object { type, content_sha256 }` +- `BetaManagedAgentsContentSha256Precondition object` Optimistic-concurrency precondition: the update applies only if the memory's stored `content_sha256` equals the supplied value. On mismatch, the request returns `memory_precondition_failed_error` (HTTP 409); re-read the memory and retry against the fresh state. If the precondition fails but the stored state already exactly matches the requested `content` and `path`, the server returns 200 instead of 409. - `type: "content_sha256"` - - `"content_sha256"` - - `content_sha256: optional string` Expected `content_sha256` of the stored memory (64 lowercase hexadecimal characters). Typically the `content_sha256` returned by a prior read or list call. Because the server applies no content normalization, clients can also compute this locally as the SHA-256 of the UTF-8 content bytes.
### Beta Managed Agents Deleted Memory -- `BetaManagedAgentsDeletedMemory object { id, type }` +- `BetaManagedAgentsDeletedMemory object` Tombstone returned by [Delete a memory](/docs/en/api/beta/memory_stores/memories/delete). The memory's version history persists and remains listable via [List memory versions](/docs/en/api/beta/memory_stores/memory_versions/list) until the store itself is deleted.
- `type: "memory_deleted"` - - `"memory_deleted"` - ### Beta Managed Agents Error - `BetaManagedAgentsError = BetaInvalidRequestError or BetaAuthenticationError or BetaBillingError or 9 more` - - `BetaInvalidRequestError object { message, type }` + - `BetaInvalidRequestError object` - `message: string` + default: Invalid request + - `type: "invalid_request_error"` - - `"invalid_request_error"` + default: invalid_request_error - - `BetaAuthenticationError object { message, type }` + - `BetaAuthenticationError object` - `message: string` + default: Authentication error + - `type: "authentication_error"` - - `"authentication_error"` + default: authentication_error - - `BetaBillingError object { message, type }` + - `BetaBillingError object` - `message: string` + default: Billing error + - `type: "billing_error"` - - `"billing_error"` + default: billing_error - - `BetaPermissionError object { message, type }` + - `BetaPermissionError object` - `message: string` + default: Permission denied + - `type: "permission_error"` - - `"permission_error"` + default: permission_error - - `BetaNotFoundError object { message, type }` + - `BetaNotFoundError object` - `message: string` + default: Not found + - `type: "not_found_error"` - - `"not_found_error"` + default: not_found_error - - `BetaRateLimitError object { message, type }` + - `BetaRateLimitError object` - `message: string` + default: Rate limited + - `type: "rate_limit_error"` - - `"rate_limit_error"` + default: rate_limit_error - - `BetaGatewayTimeoutError object { message, type }` + - `BetaGatewayTimeoutError object` - `message: string` + default: Request timeout + - `type: "timeout_error"` - - `"timeout_error"` + default: timeout_error - - `BetaAPIError object { message, type }` + - `BetaAPIError object` - `message: string` + default: Internal server error + - `type: "api_error"` - - `"api_error"` + default: api_error - - `BetaOverloadedError object { message, type }` + - `BetaOverloadedError object` - `message: string` + default: Overloaded + - `type: "overloaded_error"` - - `"overloaded_error"` + default: overloaded_error - - `BetaManagedAgentsMemoryPreconditionFailedError object { type, message }` + - `BetaManagedAgentsMemoryPreconditionFailedError object` - `type: "memory_precondition_failed_error"` - - `"memory_precondition_failed_error"` - - `message: optional string` - - `BetaManagedAgentsMemoryPathConflictError object { type, conflicting_memory_id, conflicting_path, message }` + - `BetaManagedAgentsMemoryPathConflictError object` - `type: "memory_path_conflict_error"` - - `"memory_path_conflict_error"` - - `conflicting_memory_id: optional string` - `conflicting_path: optional string`
- `message: optional string` - - `BetaManagedAgentsConflictError object { type, message }` + - `BetaManagedAgentsConflictError object` - `type: "conflict_error"` - - `"conflict_error"` - - `message: optional string` ### Beta Managed Agents Memory -- `BetaManagedAgentsMemory object { id, content_sha256, content_size_bytes, 7 more }` +- `BetaManagedAgentsMemory object` A `memory` object: a single text document at a hierarchical path inside a memory store. The `content` field is populated when `view=full` and `null` when `view=basic`; the `content_size_bytes` and `content_sha256` fields are always populated so sync clients can diff without fetching content. Memories are addressed by their `mem_...` ID; the path is the create key and can be changed via update.
Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`. + format: int32 + - `created_at: string` A timestamp in RFC 3339 format + format: date-time + - `memory_store_id: string` ID of the memory store this memory belongs to (a `memstore_...` value).
- `type: "memory"` - - `"memory"` - - `updated_at: string` A timestamp in RFC 3339 format + format: date-time + - `content: optional string or null` The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
One item in a [List memories](/docs/en/api/beta/memory_stores/memories/list) response: either a `memory` object or, when `depth` is set, a `memory_prefix` rollup marker. - - `BetaManagedAgentsMemory object { id, content_sha256, content_size_bytes, 7 more }` + - `BetaManagedAgentsMemory object` A `memory` object: a single text document at a hierarchical path inside a memory store. The `content` field is populated when `view=full` and `null` when `view=basic`; the `content_size_bytes` and `content_sha256` fields are always populated so sync clients can diff without fetching content. Memories are addressed by their `mem_...` ID; the path is the create key and can be changed via update.
Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`. + format: int32 + - `created_at: string` A timestamp in RFC 3339 format + format: date-time + - `memory_store_id: string` ID of the memory store this memory belongs to (a `memstore_...` value).
- `type: "memory"` - - `"memory"` - - `updated_at: string` A timestamp in RFC 3339 format + format: date-time + - `content: optional string or null` The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes). - - `BetaManagedAgentsMemoryPrefix object { path, type }` + - `BetaManagedAgentsMemoryPrefix object` A rolled-up directory marker returned by [List memories](/docs/en/api/beta/memory_stores/memories/list) when `depth` is set. Indicates that one or more memories exist deeper than the requested depth under this prefix. This is a list-time rollup, not a stored resource; it has no ID and no lifecycle. Each prefix counts toward the page `limit` and interleaves with `memory` items in path order.
- `type: "memory_prefix"` - - `"memory_prefix"` - ### Beta Managed Agents Memory Path Conflict Error -- `BetaManagedAgentsMemoryPathConflictError object { type, conflicting_memory_id, conflicting_path, message }` +- `BetaManagedAgentsMemoryPathConflictError object` - `type: "memory_path_conflict_error"` - - `"memory_path_conflict_error"` - - `conflicting_memory_id: optional string` - `conflicting_path: optional string`
### Beta Managed Agents Memory Precondition Failed Error -- `BetaManagedAgentsMemoryPreconditionFailedError object { type, message }` +- `BetaManagedAgentsMemoryPreconditionFailedError object` - `type: "memory_precondition_failed_error"` - - `"memory_precondition_failed_error"` - - `message: optional string` ### Beta Managed Agents Memory Prefix -- `BetaManagedAgentsMemoryPrefix object { path, type }` +- `BetaManagedAgentsMemoryPrefix object` A rolled-up directory marker returned by [List memories](/docs/en/api/beta/memory_stores/memories/list) when `depth` is set. Indicates that one or more memories exist deeper than the requested depth under this prefix. This is a list-time rollup, not a stored resource; it has no ID and no lifecycle. Each prefix counts toward the page `limit` and interleaves with `memory` items in path order.
- `type: "memory_prefix"` - - `"memory_prefix"` - ### Beta Managed Agents Memory View - `BetaManagedAgentsMemoryView = "basic" or "full"`
### Beta Managed Agents Precondition -- `BetaManagedAgentsPrecondition object { type, content_sha256 }` +- `BetaManagedAgentsPrecondition object` Optimistic-concurrency precondition: the update applies only if the memory's stored `content_sha256` equals the supplied value. On mismatch, the request returns `memory_precondition_failed_error` (HTTP 409); re-read the memory and retry against the fresh state. If the precondition fails but the stored state already exactly matches the requested `content` and `path`, the server returns 200 instead of 409. - `type: "content_sha256"` - - - `"content_sha256"` - `content_sha256: optional string`
api/beta/memory_stores/memories Changed · +15 / -5 lines
- `string` - - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more` + - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more` - `"message-batches-2024-09-24"`
- `"user-profiles-2026-03-24"` + - `"user-profiles-2026-08-18"` + - `"advisor-tool-2026-03-01"` - `"managed-agents-2026-04-01"`
- `string` - - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more` + - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more` - `"message-batches-2024-09-24"`
- `"user-profiles-2026-03-24"` + - `"user-profiles-2026-08-18"` + - `"advisor-tool-2026-03-01"` - `"managed-agents-2026-04-01"`
- `string` - - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more` + - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more` - `"message-batches-2024-09-24"`
- `"user-profiles-2026-03-24"` + - `"user-profiles-2026-08-18"` + - `"advisor-tool-2026-03-01"` - `"managed-agents-2026-04-01"`
- `string` - - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more` + - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more` - `"message-batches-2024-09-24"`
- `"user-profiles-2026-03-24"` + - `"user-profiles-2026-08-18"` + - `"advisor-tool-2026-03-01"` - `"managed-agents-2026-04-01"`
- `string` - - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more` + - `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 31 more` - `"message-batches-2024-09-24"`
- `"output-300k-2026-03-24"` - `"user-profiles-2026-03-24"` + + - `"user-profiles-2026-08-18"` - `"advisor-tool-2026-03-01"`
api/beta/memory_stores/memories First recorded · 1203 lines, first recorded
# Memories ## Create a memory ### Path Parameters ### Query Parameters ### Header Parameters ### Body Parameters ### Returns ### Example #### Response ## List memories ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Retrieve a memory ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Update a memory ### Path Parameters ### Query Parameters ### Header Parameters ### Body Parameters ### Returns ### Example #### Response ## Delete a memory ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Beta Managed Agents Conflict Error ### Beta Managed Agents Content Sha256 Precondition ### Beta Managed Agents Deleted Memory ### Beta Managed Agents Error ### Beta Managed Agents Memory ### Beta Managed Agents Memory List Item ### Beta Managed Agents Memory Path Conflict Error ### Beta Managed Agents Memory Precondition Failed Error ### Beta Managed Agents Memory Prefix ### Beta Managed Agents Memory View ### Beta Managed Agents Precondition
The first capture of this source. The page was already there, and this is what it said.
---
title: Memories
url: https://platform.claude.com/docs/en/api/beta/memory_stores/memories
---
# Memories
## Create a memory
**post** `/v1/memory_stores/{memory_store_id}/memories`
Create a memory
### Path Parameters
- `memory_store_id: string`
### Query Parameters
- `view: optional BetaManagedAgentsMemoryView`
Query parameter for view
- `"basic"`
- `"full"`
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"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"`
### Body Parameters
- `content: string or null`
UTF-8 text content for the new memory. Maximum 100 kB (102,400 bytes). Required; pass `""` explicitly to create an empty memory.
- `path: string`
Hierarchical path for the new memory, e.g. `/projects/foo/notes.md`. Must start with `/`, contain at least one non-empty segment, and be at most 1,024 bytes. Must not contain empty segments, `.` or `..` segments, control or format characters, and must be NFC-normalized. Paths are case-sensitive.
### Returns
- `BetaManagedAgentsMemory object { id, content_sha256, content_size_bytes, 7 more }`
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.
- `id: string`
Unique identifier for this memory (a `mem_...` value). Stable across renames; use this ID, not the path, to read, update, or delete the memory.
- `content_sha256: string`
Lowercase hex SHA-256 digest of the UTF-8 `content` bytes (64 characters). The server applies no normalization, so clients can compute the same hash locally for staleness checks and as the value for a `content_sha256` precondition on update. Always populated, regardless of `view`.
- `content_size_bytes: number`
Size of `content` in bytes (the UTF-8 plaintext length). Always populated, regardless of `view`.
- `created_at: string`
A timestamp in RFC 3339 format
- `memory_store_id: string`
ID of the memory store this memory belongs to (a `memstore_...` value).
- `memory_version_id: string`
ID of the `memory_version` representing this memory's current content (a `memver_...` value). This is the authoritative head pointer; `memory_version` objects do not carry an `is_latest` flag, so compare against this field instead. Enumerate the full history via [List memory versions](/docs/en/api/beta/memory_stores/memory_versions/list).
- `path: string`
Hierarchical path of the memory within the store, e.g. `/projects/foo/notes.md`. Always starts with `/`. Paths are case-sensitive and unique within a store. Maximum 1,024 bytes.
- `type: "memory"`
- `"memory"`
- `updated_at: string`
A timestamp in RFC 3339 format
- `content: optional string or null`
The memory's UTF-8 text content. Populated when `view=full`; `null` when `view=basic`. Maximum 100 kB (102,400 bytes).
### Example
```http
curl https://api.anthropic.com/v1/memory_stores/$MEMORY_STORE_ID/memories \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: agent-memory-2026-07-22' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{
"content": "content",
"path": "xx"
}'
```
#### Response
```json
{
"id": "id",
"content_sha256": "content_sha256",
"content_size_bytes": 0,
"created_at": "2019-12-27T18:11:19.117Z",
"memory_store_id": "memory_store_id",
"memory_version_id": "memory_version_id",
"path": "path",
"type": "memory",
"updated_at": "2019-12-27T18:11:19.117Z",
"content": "content"
}
```
## List memories
**get** `/v1/memory_stores/{memory_store_id}/memories`
List memories
### Path Parameters
- `memory_store_id: string`
### Query Parameters
- `depth: optional number`
`0` (or omitted) returns all descendants below `path_prefix` (recursive). `1` returns immediate children only; deeper entries roll up as `memory_prefix` items. `depth=1` behaves like `ls`; omitting `depth` behaves like `find`.
- `limit: optional number`
Maximum number of items to return per page. Must be between 1 and 100. Defaults to 20 when omitted. Capped at 20 when `view=full`. Both `memory` and `memory_prefix` items count toward the limit.
- `page: optional string`
Opaque pagination cursor (a `page_...` value). Pass the `next_page` value from a previous response to fetch the next page; omit for the first page.
- `path_prefix: optional string`
Optional path prefix filter. Must end with `/` (segment-aligned), e.g., `/notes/`. This value appears in request URLs. Do not include secrets or personally identifiable information.
- `view: optional BetaManagedAgentsMemoryView`
Which projection of each `memory` to return. Defaults to `basic` (content omitted). `full` populates `content` on each item and caps `limit` at 20; use this as the bulk-read path for export and sync.
- `"basic"`
- `"full"`
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"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"`
Cut at 300 lines.