120 lines
3.5 KiB
Plaintext
120 lines
3.5 KiB
Plaintext
---
|
|
title: "Get Memories"
|
|
description: "Retrieve memories with paginated results and advanced filtering using logical operators like AND, OR, NOT, and comparison queries."
|
|
openapi: post /v3/memories/
|
|
---
|
|
|
|
List memories scoped by filters with paginated results. Entity IDs (`user_id`, `agent_id`, `app_id`, `run_id`) **must** be passed inside the `filters` object — top-level entity IDs are rejected with 400.
|
|
|
|
The `filters` object supports complex logical operations (AND, OR, NOT) and comparison operators:
|
|
|
|
- `in`: Matches any of the values specified
|
|
- `gte`: Greater than or equal to
|
|
- `lte`: Less than or equal to
|
|
- `gt`: Greater than
|
|
- `lt`: Less than
|
|
- `ne`: Not equal to
|
|
- `icontains`: Case-insensitive containment check
|
|
- `*`: Wildcard character that matches everything
|
|
|
|
Pass `page` and `page_size` as query parameters to paginate through results.
|
|
|
|
## Temporal fields on `get_all`
|
|
|
|
`get_all` returns the **stored** memory record. For temporally enriched memories, that can include top-level fields such as:
|
|
|
|
- `event_date`
|
|
- `event_start`
|
|
- `event_end`
|
|
- `time_precision`
|
|
- `timezone`
|
|
- `polarity`
|
|
- `temporal_relation`
|
|
- `state_key`
|
|
- `plan_status`
|
|
|
|
These are stored memory attributes, not search-time interpretation fields.
|
|
|
|
`get_all` does **not** add search-only fields such as:
|
|
|
|
- `effective_plan_status`
|
|
- `temporal_surface`
|
|
- `reference_date_used`
|
|
- `score_breakdown`
|
|
|
|
Those fields belong to `search`, where Mem0 interprets a query in context.
|
|
|
|
<CodeGroup>
|
|
```python Code
|
|
memories = client.get_all(
|
|
filters={
|
|
"AND": [
|
|
{
|
|
"user_id": "alex"
|
|
},
|
|
{
|
|
"created_at": {"gte": "2024-07-01", "lte": "2024-07-31"}
|
|
}
|
|
]
|
|
},
|
|
page=1,
|
|
page_size=50
|
|
)
|
|
```
|
|
|
|
```python Output
|
|
{
|
|
"count": 2,
|
|
"next": null,
|
|
"previous": null,
|
|
"results": [
|
|
{
|
|
"id": "f4cbdb08-7062-4f3e-8eb2-9f5c80dfe64c",
|
|
"memory": "Alex is planning a trip to San Francisco from July 1st to July 10th",
|
|
"user_id": "alex",
|
|
"metadata": {},
|
|
"categories": [],
|
|
"created_at": "2024-07-01T12:00:00Z",
|
|
"updated_at": "2024-07-01T12:00:00Z",
|
|
"event_date": "2024-07-01",
|
|
"event_start": "2024-07-01",
|
|
"event_end": "2024-07-10",
|
|
"time_precision": "interval",
|
|
"timezone": "UTC",
|
|
"polarity": "positive",
|
|
"temporal_relation": "during",
|
|
"state_key": null,
|
|
"plan_status": "pending"
|
|
},
|
|
{
|
|
"id": "a2b8c3d4-5e6f-7g8h-9i0j-1k2l3m4n5o6p",
|
|
"memory": "Alex prefers vegetarian restaurants",
|
|
"user_id": "alex",
|
|
"metadata": {},
|
|
"categories": [],
|
|
"created_at": "2024-07-05T15:30:00Z",
|
|
"updated_at": "2024-07-05T15:30:00Z",
|
|
"event_date": null,
|
|
"event_start": null,
|
|
"event_end": null,
|
|
"time_precision": null,
|
|
"timezone": null,
|
|
"polarity": null,
|
|
"temporal_relation": null,
|
|
"state_key": null,
|
|
"plan_status": null
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
</CodeGroup>
|
|
|
|
<Info>
|
|
The response is a paginated envelope with `count`, `next`, `previous`, and `results`. Use `page` and `page_size` query params to step through results.
|
|
</Info>
|
|
|
|
<Note>
|
|
`get_all` is best for exports, audits, and raw record inspection. Use <a href="/api-reference/memory/search-memories">Search Memories</a> when you want time-aware ranking or query interpretation.
|
|
</Note>
|