---
title: "Get memory store"
method: GET
path: "/v1/memory-stores/{storeId}"
tags: ["Agent Memory - Stores"]
---

# Get memory store

`GET /v1/memory-stores/{storeId}`

## Request

- Base URL: `https://api.redislabs.com`
- URL: `https://api.redislabs.com/v1/memory-stores/{storeId}`
- Auth: API key in header `x-api-key` and API key in header `x-api-secret-key` and API key in header `x-auth-token`

Get the Agent Memory store identified by store Id

## Path parameters

- `storeId` string, required

## Response `200`

Memory store returned.

- MemoryStoreResponse: Memory store configuration and status
  - `storeId` string
  - `name` string
  - `createdAt` string, date-time
  - `databaseId` string
  - `databaseName` string
  - `databaseProvider` string
  - `databaseRegion` string
  - `databaseAccessCidrs` string[]
  - `subscriptionId` string
  - `shortMemory` MemoryStoreShortMemoryConfig: Short-term (working) memory configuration
    - `ttlSeconds` integer, required: Time-to-live of short-term memory entries, in seconds (1 second to 1 year). Required
  - `longTermMemory` MemoryStoreLongTermMemoryStatus: Long-term memory configuration as stored
    - `ttlSeconds` integer: Time-to-live of long-term memory entries, in seconds
    - `embedding` MemoryStoreModelStatus: Resolved model in use for one purpose. Present only on stores with an explicit model selection
      - `provider` string: Model provider in use
      - `model` string: Model in use
  - `llm` MemoryStoreModelStatus: Resolved model in use for one purpose. Present only on stores with an explicit model selection
    - `provider` string: Model provider in use
    - `model` string: Model in use
  - `endpoint` string
  - `endpoints` MemoryStoreEndpoint[]
    - `url` string: Endpoint URL
    - `provider` string: Cloud provider hosting the endpoint
    - `region` string: Cloud region of the endpoint
    - `egressIps` string[]: Egress IP addresses used by the endpoint
    - `isAccessible` boolean: Whether the endpoint is reachable from the store's database network
  - `extractionStrategy` 'INSTRUCT': How long-term memories are extracted from sessions. INSTRUCT uses LLM tool calling to create, update and delete granular memories
  - `summarization` MemoryStoreSummarizationConfig: Session summarization. When enabled, long sessions are periodically condensed into a running summary while the most recent events are retained. When omitted on create, nothing is stored and the store uses the deployment's default summarization settings, which GET returns as the store's summarization
    - `enabled` boolean, required: Whether summarization is enabled for the store. Required
    - `triggerStrategy` 'event_count': What triggers a summarization cycle. Defaults to event_count
    - `eventCount` MemoryStoreSummarizationThresholdConfig: Event-count trigger for session summarization. threshold must be greater than retainCount
      - `threshold` integer, required: Number of active session events that triggers a summarization cycle (0-10000). Must be greater than retainCount. Required
      - `retainCount` integer, required: Number of most recent events kept unsummarized after each cycle (0-10000); everything older is condensed into the running summary. Must be less than threshold. Required
  - `longTermMemoryExclusions` MemoryStoreLongTermMemoryExclusions: Store-level policy that keeps sensitive data out of long-term memory. When omitted on create, no policy is stored. On update, the policy is replaced as a whole but nested content that is omitted is preserved, so prefer read-modify-write of the complete policy. Disabling sets enabled=false; a stored policy cannot be removed
    - `enabled` boolean, required: Master toggle gating enforcement of all exclusion groups. Required
    - `semantic` MemoryStoreSemanticExclusionConfig: Advisory, LLM-mediated exclusion of sensitive content from long-term memory
      - `enabled` boolean, required: Whether semantic exclusion is enabled. Required
      - `prompt` string: Customer-authored instruction describing what must not be remembered (max 2000 characters). On update, omit to keep the stored prompt
    - `builtInDetectors` MemoryStoreBuiltInDetectorsConfig: Deterministic detection using platform-owned built-in detectors. Nothing is selected by default
      - `enabled` boolean, required: Toggle for the whole built-in group. False leaves the selections stored but inactive. Required
      - `detectors` MemoryStoreDetectorSelection[]: Selected detectors. On update, omitting this list keeps the stored selections; a non-empty list replaces them wholesale; an explicitly empty list clears them
        - `id` string, required: Built-in detector ID from the Agent Memory detector catalog: credit-card, email, ip-address, phone or us-ssn. Unknown IDs are rejected. Required
        - `enabled` boolean, required: Whether this detector is active. A disabled selection is still stored. Required
        - `action` 'redact' | 'drop': What happens to a memory this detector matches. Defaults to redact. When several detectors disagree, drop wins
    - `customDetectors` MemoryStoreCustomDetectorsConfig: Deterministic detection using customer-authored detectors stored on the store. Evaluated together with the built-in detectors as one set
      - `enabled` boolean, required: Toggle for the whole custom group. False leaves the detectors stored but inactive. Required
      - `detectors` MemoryStoreCustomDetector[]: Authored detectors (at most 32). On update, omitting this list keeps the stored detectors; a non-empty list replaces them wholesale; an explicitly empty list clears them
        - `name` string, required: Detector name (1-64 characters, starts with a letter, then letters, digits, underscores or dashes). Reported with every match; must be unique in the store and must not collide with a built-in detector ID. Required
        - `enabled` boolean, required: Whether this detector is active. A disabled detector is still stored and validated. Required
        - `action` 'redact' | 'drop': What happens to a memory this detector matches. Defaults to redact
        - `matcher` MemoryStoreMatcherSpec, required: How a custom detector decides what to match. Exactly the block named by kind must be present
          - `kind` 'regex', required: Matching technique. Required
          - `regex` MemoryStoreRegexSpec: Regular expression matcher
            - `pattern` string, required: Pattern in RE2 syntax (1-512 characters). Lookaround and backreferences are not supported. Rejected if it does not compile or can match empty text. Required
  - `customMemoryTypes` MemoryStoreCustomMemoryType[]
    - `name` string, required: Unique type name within the store (1-64 characters, starts with a letter, then letters, digits, underscores or dashes). Must not collide with the built-in types semantic, episodic, message and session_summary_view. Required
    - `description` string, required: Human-readable description of what this type captures (1-200 characters). Required
    - `fields` MemoryStoreCustomField[]: Structured fields of a record of this type. Optional; a type without fields accepts direct writes without structured attributes
      - `name` string, required: Field name (1-64 characters, starts with a letter, then letters, digits, underscores or dashes). Required
      - `description` string, required: Human-readable description of the field (1-200 characters). Required
      - `type` 'str' | 'int' | 'float' | 'bool' | 'list[str]' | 'list[float]' | 'object', required: Field data type. Required
    - `extractionStrategy` MemoryStoreCustomExtractionStrategy: How memories of a custom type are extracted from session events
      - `prompt` string, required: Prompt used to extract memories of this type. Required
      - `enabled` boolean: Whether extraction for this type is active. Defaults to true
  - `extractionCadence` MemoryStoreExtractionCadenceConfig: How often the long-term memory extraction pipeline runs. Optional on both create and update
    - `activeIntervalSeconds` integer, required: Interval in seconds between extraction runs while a session is active (60-600). Required
  - `status` 'PROVISIONING' | 'READY' | 'UNAVAILABLE': Lifecycle status of the memory store
  - `errorMessage` string
  - `errorMessageTimestamp` number, double

## Other responses

- `400`: Bad Request - The server cannot process the request due to something that is perceived to be a client error
- `401`: Unauthorized - Authentication failed for requested resource
- `403`: Forbidden - Not allowed to access requested resource (primarily due to client source IP API Key restrictions)
- `404`: Not Found - The resource you were trying to reach was not found or does not exist
- `412`: Precondition Failed - Feature flag for this flow is off
- `424`: Failed Dependency - The memory store's database is unavailable or out of memory, e.g. /errors/resource-unavailable or /errors/database-out-of-memory. When the error originates from the Agent Memory service the body is an application/problem+json document (MemoryProblemDetails) carrying the service's error type and detail
- `429`: Too Many Requests - Too many resources are concurrently created / updated / deleted in the account. Please re-submit API requests after resource changes are completed)
- `500`: Internal system error - If this error persists, please contact customer support
- `503`: Service Unavailable - Server is temporarily unable to handle the request, please try again later. If this error persists, please contact customer support

## Changes

- **2026-10-02** `6b256e1bb946`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/redis/apis/redis-cloud-api/changes/v1/memory-stores/:storeId/get.md)

---

[API](https://skmtc.dev/redis/apis/redis-cloud-api.md) - [All operations](https://skmtc.dev/redis/apis/redis-cloud-api/llms.txt) - [OpenAPI document](https://skmtc.dev/redis/apis/redis-cloud-api/revisions/5c114f33e7d5?raw)
