docs/api-reference/memory/add-memories.mdx
Extract and store memories from a conversation using the V3 additive pipeline. The endpoint uses single-pass ADD-only extraction — one LLM call, no UPDATE/DELETE. Memories accumulate over time; nothing is overwritten.
POST/v3/memories/add/application/jsonProcessing is asynchronous. The response returns an event_id you can poll via GET /v1/event/{event_id}/.
| Header | Required | Description |
|---|---|---|
Authorization: Token <MEM0_API_KEY> | Yes | API key scoped to your workspace. |
Accept: application/json | Yes | Ensures a JSON response. |
Provide conversation messages for Mem0 to extract memories from. At least one entity ID (user_id, agent_id, app_id, or run_id) is required so the memory is scoped to a session. Entity IDs are accepted at the top level.
| Field | Type | Required | Description |
|---|---|---|---|
messages | array | Yes | Conversation turns for Mem0 to extract memories from. Each object should include role and content. |
user_id | string | No* | Associates the memory with a user. |
agent_id | string | No* | Associates the memory with an agent. |
run_id | string | No* | Associates the memory with a run. |
app_id | string | No* | Associates the memory with an app. |
metadata | object | Optional | Custom key/value metadata (e.g., {"topic": "preferences"}). |
infer | boolean (default true) | Optional | Set to false to skip inference and store the provided text as-is. |
<Tip> Need more details? See [all request parameters](#body-messages) below for complete field descriptions, types, and constraints. </Tip>* At least one entity ID (
user_id,agent_id,app_id, orrun_id) is required.
The request is queued for background processing. The response contains an event_id for tracking status.
{
"error": "400 Bad Request",
"details": {
"message": "Invalid input data. Please refer to the memory creation documentation at https://docs.mem0.ai/platform/quickstart#4-1-create-memories for correct formatting and required fields."
}
}