---
title: "Add Memory"
method: POST
path: "/api/v1/memory/add"
tags: ["memory"]
---

# Add Memory

`POST /api/v1/memory/add`

Add messages into the user-memory + agent-memory pipelines.

## Request body

- MemorizeAddRequest
  - `session_id` string, required
  - `app_id` string
  - `project_id` string
  - `messages` MessageItemDTO[], required
    - `sender_id` string, required
    - `sender_name` string, nullable
    - `role` 'user' | 'assistant' | 'tool', required
    - `timestamp` integer, required — Message event time as Unix epoch in **milliseconds** (v1 API contract; the algo layer auto-detects sec vs ms for backward compat but the contract is ms).
    - `content` union, required
      - string
      - ContentItemDTO[]
        - `type` 'text' | 'image' | 'audio' | 'doc' | 'pdf' | 'html' | 'email', required
        - `text` string, nullable
        - `uri` string, nullable
        - `base64` string, nullable
        - `ext` string, nullable
        - `name` string, nullable
        - `extras` object, nullable
    - `tool_calls` ToolCallDTO[], nullable
      - `id` string, required
      - `type` string
      - `function` ToolFunctionDTO, required
        - `name` string, required
        - `arguments` string, required
    - `tool_call_id` string, nullable
  - `defer_extraction` boolean — Persist messages in the durable unprocessed buffer without running boundary detection or extraction. A later /flush commits the batch.

## Response `200`

Successful Response

- SuccessEnvelopeAddResponseData
  - `request_id` string, required
  - `data` AddResponseData, required
    - `message_count` integer, required
    - `status` 'accumulated' | 'extracted', required

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-17** `9a2e78d664d6` — 1 info
  - added the new optional request property `defer_extraction`
- **2026-06-16** `f219262d7004` — 1 breaking, 3 warning
  - added the pattern `^[a-zA-Z0-9_.@+-]+$` to the request property `messages/items/sender_id`
  - the `messages/items/sender_id` request property's maxLength was set to `128`
  - changed the pattern of the request property `app_id` from `^[a-zA-Z0-9_.-]+$` to `^[a-zA-Z0-9_.@+-]+$`
  - changed the pattern of the request property `project_id` from `^[a-zA-Z0-9_.-]+$` to `^[a-zA-Z0-9_.@+-]+$`
- **2026-06-05** `7be97420eb25` — 2 warning, 1 info
  - changed the pattern of the request property `app_id` from `^[a-zA-Z0-9_.@+-]+$` to `^[a-zA-Z0-9_.-]+$`
  - changed the pattern of the request property `project_id` from `^[a-zA-Z0-9_.@+-]+$` to `^[a-zA-Z0-9_.-]+$`
  - removed the pattern `^[a-zA-Z0-9_.@+-]+$` from the request property `messages/items/sender_id`

[Change history](https://skmtc.dev/evermind-ai/apis/everos/changes/api/v1/memory/add/post.md)

---

[API](https://skmtc.dev/evermind-ai/apis/everos.md) · [All operations](https://skmtc.dev/evermind-ai/apis/everos/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/evermind-ai/everos/revisions/9a2e78d664d6/schema)
