> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usesatori.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Get All Memories

> Retrieve all memories for a user

## `memory.getAll`

Retrieves all memories for a specific user, ordered by creation date (newest first).

## Parameters

<ParamField query="userId" type="string" required>
  User identifier for memory isolation
</ParamField>

<ParamField query="limit" type="number" default="100">
  Maximum number of memories to return. Range: 1-1000.
</ParamField>

## Response

Returns an array of memory objects:

<ResponseField name="id" type="string">
  Memory UUID
</ResponseField>

<ResponseField name="content" type="string">
  Memory text content
</ResponseField>

<ResponseField name="userId" type="string">
  User identifier
</ResponseField>

<ResponseField name="clerkUserId" type="string">
  Tenant identifier
</ResponseField>

<ResponseField name="metadata" type="object">
  Custom metadata
</ResponseField>

<ResponseField name="createdAt" type="string">
  ISO 8601 timestamp
</ResponseField>

<ResponseField name="updatedAt" type="string">
  ISO 8601 timestamp
</ResponseField>

## Examples

<CodeGroup>
  ```typescript TypeScript theme={null}
  const memories = await client.memory.getAll.query({
    userId: 'user-123',
    limit: 50,
  });

  console.log(`Found ${memories.length} memories`);
  ```

  ```bash cURL theme={null}
  curl -X GET 'https://api.usesatori.sh/trpc/memory.getAll?input={"userId":"user-123","limit":50}' \
    -H 'x-api-key: sk_satori_...'
  ```
</CodeGroup>

<ResponseExample>
  ```json Success (200) theme={null}
  [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "content": "User prefers TypeScript over JavaScript",
      "userId": "user-123",
      "clerkUserId": "user_372Icb...",
      "metadata": {
        "category": "preference"
      },
      "createdAt": "2024-01-15T10:30:00.000Z",
      "updatedAt": "2024-01-15T10:30:00.000Z"
    }
  ]
  ```
</ResponseExample>

## Use Cases

<AccordionGroup>
  <Accordion title="Admin dashboard">
    Display all memories for management:

    ```typescript theme={null}
    const memories = await client.memory.getAll.query({
      userId: 'user-123',
    });

    return (
      <div>
        <h2>All Memories ({memories.length})</h2>
        {memories.map(m => (
          <div key={m.id}>{m.content}</div>
        ))}
      </div>
    );
    ```
  </Accordion>

  <Accordion title="Data export">
    Export user data for GDPR compliance:

    ```typescript theme={null}
    const memories = await client.memory.getAll.query({
      userId: 'user-123',
      limit: 1000,
    });

    const exportData = {
      userId: 'user-123',
      exportDate: new Date().toISOString(),
      memories: memories.map(m => ({
        content: m.content,
        createdAt: m.createdAt,
      })),
    };

    return JSON.stringify(exportData, null, 2);
    ```
  </Accordion>

  <Accordion title="Memory analytics">
    Analyze memory patterns:

    ```typescript theme={null}
    const memories = await client.memory.getAll.query({
      userId: 'user-123',
    });

    const categories = memories.reduce((acc, m) => {
      const cat = m.metadata?.category || 'uncategorized';
      acc[cat] = (acc[cat] || 0) + 1;
      return acc;
    }, {});

    console.log('Memories by category:', categories);
    ```
  </Accordion>
</AccordionGroup>

## Related Endpoints

<CardGroup cols={2}>
  <Card title="Search Memories" icon="magnifying-glass" href="/api-reference/memory/search">
    Find specific memories semantically
  </Card>

  <Card title="Delete Memory" icon="trash" href="/api-reference/memory/delete">
    Remove specific memories
  </Card>
</CardGroup>
