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

# Get Memories

> Adiciona uma mensagem do usuário (se fornecida) e recupera memórias formatadas para uso em prompts. Requer API key para autenticação e assinatura ativa. Requer configuração do Mem0.

<Note>
  Este endpoint gerencia memórias do usuário para interações personalizadas com LLMs.
</Note>

## Descrição

O endpoint `GET /tools/api/get-memories` permite adicionar mensagens do usuário à memória e recuperar memórias formatadas para uso em prompts de LLM. Requer configuração do Mem0 para funcionar.

## Autenticação

Este endpoint requer autenticação via Bearer token.

<ParamField header="Authorization" type="string" required>
  Bearer token com a API key do usuário. Formato: `Bearer sk-your-api-key-here`
</ParamField>

## Parâmetros de Query

<ParamField query="message" type="string" required="false">
  Mensagem do usuário para adicionar à memória. Se fornecida, será armazenada antes de retornar as memórias.
</ParamField>

<ParamField query="s" type="string" required="false">
  Parâmetro interno para indicar requisições via MCP. Use `s=s` para requisições MCP.
</ParamField>

## Resposta

### Sucesso (200)

<ResponseExample>
  ```json Success - Com Nova Memória theme={null}
  {
    "success": true,
    "memoriesForPrompt": "Memórias do usuário:\n- Prefere receber relatórios financeiros semanalmente\n- Gosta de análises detalhadas por categoria\n- Usa principalmente cartão de crédito Nubank\n- Interessa-se por investimentos de baixo risco",
    "memoryAdded": true,
    "timestamp": "2024-11-27T17:15:00Z"
  }
  ```

  ```json Success - Apenas Leitura theme={null}
  {
    "success": true,
    "memoriesForPrompt": "Memórias do usuário:\n- Prefere receber relatórios financeiros semanalmente\n- Gosta de análises detalhadas por categoria\n- Usa principalmente cartão de crédito Nubank",
    "memoryAdded": false,
    "timestamp": "2024-11-27T17:15:00Z"
  }
  ```
</ResponseExample>

### Erro de Autenticação (401)

<ResponseExample>
  ```json Error theme={null}
  {
    "error": "Invalid or inactive API key",
    "message": "Please check your API key and try again",
    "type": "invalid_api_key"
  }
  ```
</ResponseExample>

### Mem0 Não Configurado (503)

<ResponseExample>
  ```json Error theme={null}
  {
    "error": "Mem0 not configured",
    "message": "MEM0_API_KEY environment variable is not set"
  }
  ```
</ResponseExample>

## Campos da Resposta

<ResponseField name="success" type="boolean" required>
  Indica se a requisição foi bem-sucedida
</ResponseField>

<ResponseField name="memoriesForPrompt" type="string" required>
  Memórias formatadas prontas para uso em prompts de LLM. Texto estruturado com informações relevantes sobre o usuário.
</ResponseField>

<ResponseField name="memoryAdded" type="boolean" required>
  Indica se uma nova memória foi adicionada nesta requisição (true se message foi fornecido, false caso contrário)
</ResponseField>

<ResponseField name="timestamp" type="string" required>
  Timestamp da requisição em formato ISO 8601
</ResponseField>

## Exemplos de Uso

### cURL

```bash theme={null}
# Recuperar memórias existentes
curl -X GET 'https://www.pierre.finance/tools/api/get-memories' \
  -H 'Authorization: Bearer sk-your-api-key-here'

# Adicionar nova memória e recuperar todas
curl -X GET 'https://www.pierre.finance/tools/api/get-memories?message=Prefiro%20receber%20relatórios%20semanais' \
  -H 'Authorization: Bearer sk-your-api-key-here'
```

### JavaScript

```javascript theme={null}
const API_KEY = 'sk-your-api-key-here';
const BASE_URL = 'https://www.pierre.finance/tools/api';

async function getMemories(message = null) {
  const params = new URLSearchParams();
  if (message) {
    params.append('message', message);
  }
  
  const url = `${BASE_URL}/get-memories${params.toString() ? '?' + params : ''}`;
  const response = await fetch(url, {
    headers: {
      'Authorization': `Bearer ${API_KEY}`,
      'Content-Type': 'application/json'
    }
  });
  
  return await response.json();
}

// Exemplos de uso
getMemories(); // Apenas recuperar

getMemories('Prefiro receber relatórios semanais'); // Adicionar e recuperar
```

### Python

```python theme={null}
import requests

API_KEY = 'sk-your-api-key-here'
BASE_URL = 'https://www.pierre.finance/tools/api'

headers = {
    'Authorization': f'Bearer {API_KEY}',
    'Content-Type': 'application/json'
}

def get_memories(message=None):
    params = {}
    if message:
        params['message'] = message
    
    response = requests.get(f'{BASE_URL}/get-memories',
                          headers=headers, params=params)
    return response.json()

# Exemplos de uso
memories = get_memories()  # Apenas recuperar

memories_with_new = get_memories('Prefiro receber relatórios semanais')  # Adicionar
```

## Códigos de Status

* `200`: Sucesso - Memórias retornadas
* `401`: Erro de autenticação ou assinatura
* `503`: Mem0 não configurado no servidor
* `500`: Erro interno do servidor

## Como Funciona

### Armazenamento de Memórias

Quando você fornece uma mensagem via parâmetro `message`, o sistema:

1. Analisa a mensagem usando IA
2. Extrai informações relevantes sobre preferências e contexto do usuário
3. Armazena as informações de forma estruturada no Mem0
4. Evita duplicatas (não armazena a mesma informação duas vezes)

### Recuperação de Memórias

O sistema recupera todas as memórias relevantes do usuário e as formata em um texto estruturado ideal para uso em prompts de LLM. As memórias incluem:

* Preferências de comunicação
* Padrões de uso da API
* Contexto financeiro específico do usuário
* Objetivos e interesses declarados

## Casos de Uso

### Chatbots Personalizados

Use as memórias recuperadas para personalizar as respostas de chatbots financeiros, considerando as preferências e contexto do usuário.

### Assistentes Virtuais

Construa assistentes que "lembram" das preferências do usuário entre diferentes sessões de conversa.

### Recomendações Personalizadas

Use o contexto armazenado para gerar recomendações financeiras mais relevantes.

### Automação Inteligente

Configure automações que respeitam as preferências do usuário sem precisar perguntar repetidamente.

<Note>
  Este endpoint requer que o Mem0 esteja configurado no servidor. Entre em contato com o suporte se você receber erro 503.
</Note>

<Tip>
  Use este endpoint no início de cada sessão de conversa para recuperar o contexto do usuário e proporcionar uma experiência mais personalizada.
</Tip>

<Warning>
  As memórias são persistentes e compartilhadas entre diferentes aplicações que usam a mesma API key. Tenha cuidado ao armazenar informações sensíveis.
</Warning>

## Integração com LLMs

### Exemplo de Uso em Prompt

```javascript theme={null}
// Recuperar memórias
const { memoriesForPrompt } = await getMemories();

// Usar em prompt do ChatGPT/Claude
const prompt = `
${memoriesForPrompt}

Contexto da conversa atual:
${currentMessage}

Responda considerando as preferências e contexto do usuário acima.
`;
```

### Armazenando Preferências

```javascript theme={null}
// Detectar preferência na conversa
if (userMessage.includes('prefiro relatórios semanais')) {
  await getMemories('Prefiro receber relatórios semanais');
}

// Em conversas futuras, o sistema lembrará dessa preferência
const { memoriesForPrompt } = await getMemories();
// memoriesForPrompt incluirá: "Prefere receber relatórios semanais"
```

## Privacidade

* Memórias são privadas e associadas ao usuário da API key
* Não são compartilhadas entre usuários diferentes
* Podem ser apagadas mediante solicitação ao suporte
* Armazenadas de forma segura e criptografada


## OpenAPI

````yaml GET /tools/api/get-memories
openapi: 3.1.0
info:
  title: Pierre Finance API
  description: >-
    API para acessar dados financeiros do Pierre Finance, incluindo contas,
    transações, parcelas e sincronização.
  version: v1.0.0
servers:
  - url: https://www.pierre.finance
security: []
tags:
  - name: Authentication
    description: API key management and authentication
  - name: Accounts
    description: Financial accounts management
  - name: Transactions
    description: Financial transactions
  - name: Installments
    description: Credit card installments and purchases
  - name: Bills
    description: Credit card bills and current bill summaries
  - name: Balance
    description: Account balance information
  - name: Closing Dates
    description: Credit card closing date management
  - name: Sync
    description: Account synchronization
  - name: Spending Limits
    description: Personal spending limits and alerts management
  - name: Payment Reminders
    description: Payment reminders management with WhatsApp and Email notifications
  - name: Analytics
    description: Financial analytics and insights
  - name: Memories
    description: User memory management for personalized AI interactions
  - name: Open Finance
    description: Open Finance connection and integration
paths:
  /tools/api/get-memories:
    get:
      tags:
        - Memories
      description: >-
        Adiciona uma mensagem do usuário (se fornecida) e recupera memórias
        formatadas para uso em prompts. Requer API key para autenticação e
        assinatura ativa. Requer configuração do Mem0.
      operationId: getMemories
      parameters:
        - name: message
          in: query
          description: Mensagem do usuário para adicionar à memória (opcional)
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Memórias formatadas para prompts
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  memoriesForPrompt:
                    type: string
                    description: Memórias formatadas para uso em prompts de LLM
                  memoryAdded:
                    type: boolean
                    description: Se uma nova memória foi adicionada
                  timestamp:
                    type: string
                    format: date-time
        '401':
          $ref: '#/components/responses/AuthError'
        '500':
          $ref: '#/components/responses/ServerError'
        '503':
          description: Mem0 não configurado
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Mem0 not configured
                  message:
                    type: string
                    example: MEM0_API_KEY environment variable is not set
      security:
        - BearerAuth: []
components:
  responses:
    AuthError:
      description: Authentication or subscription error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthError'
    ServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServerError'
  schemas:
    AuthError: {}
    ServerError: {}
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: string
      description: 'API key in Bearer token format. Example: Bearer sk-your-api-key-here'

````