Skip to main content
POST
/
api
/
v2
/
agents
/
{agent_id}
/
batch-remember
curl -X POST "http://localhost:8000/api/v2/agents/my-agent/batch-remember" \
  -H "X-Session-Token: your_session_token" \
  -H "Content-Type: application/json" \
  -d '{
    "memories": [
      {
        "content": "Alice prefers phone calls.",
        "type": "preference"
      },
      {
        "content": "Bob is the primary contact for billing.",
        "type": "fact"
      }
    ]
  }'
{
  "agent_id": "my-agent",
  "session_id": "sess_982287b6a5f5",
  "namespace": "memanto_agent_my-agent",
  "total_submitted": 2,
  "successful": 2,
  "failed": 0,
  "results": [
    {
      "id": "0ee05291-4f58-4846-9037-19a2cdc26f6e",
      "status": "queued",
      "action": "store",
      "reason": "MVP direct store"
    },
    {
      "id": "2607a8a4-d62f-4a1c-b368-35ba3153f5f9",
      "status": "queued",
      "action": "store",
      "reason": "MVP direct store"
    }
  ]
}
{
  "detail": "Missing session token. Use X-Session-Token header."
}
{
  "detail": {
    "error": "SessionExpired",
    "message": "Session has expired",
    "details": {}
  }
}
{
  "detail": [
    {
      "type": "missing",
      "loc": ["body", "memories"],
      "msg": "Field required",
      "input": {}
    }
  ]
}
{
  "detail": {
    "error": "InternalServerError",
    "message": "An unexpected error occurred",
    "details": {
      "original_error": "Session is for agent 'other-agent', cannot access 'my-agent'"
    }
  }
}

Overview

Submits multiple memories in a single JSON body. Each item uses the same shape as Remember: content plus optional type, title, confidence, tags, source, and provenance.

Authentication

API clients do not send an API key or Authorization header.
X-Session-Token
string
required
Session token from Activate Agent. Must match agent_id.
Content-Type
string
required
Must be application/json

Path Parameters

agent_id
string
required
The unique identifier of the agent.

Body

memories
array
required
Non-empty array of memory objects (minimum 1, maximum 100 items per request).
Each array element supports:
  • content (string, required)
  • type (string, optional, default fact)
  • title (string, optional)
  • confidence (number, optional, default 0.8, range 0.01.0)
  • tags (array of strings, optional)
  • source (string, optional, default agent)
  • provenance (string, optional, default explicit_statement)
curl -X POST "http://localhost:8000/api/v2/agents/my-agent/batch-remember" \
  -H "X-Session-Token: your_session_token" \
  -H "Content-Type: application/json" \
  -d '{
    "memories": [
      {
        "content": "Alice prefers phone calls.",
        "type": "preference"
      },
      {
        "content": "Bob is the primary contact for billing.",
        "type": "fact"
      }
    ]
  }'
{
  "agent_id": "my-agent",
  "session_id": "sess_982287b6a5f5",
  "namespace": "memanto_agent_my-agent",
  "total_submitted": 2,
  "successful": 2,
  "failed": 0,
  "results": [
    {
      "id": "0ee05291-4f58-4846-9037-19a2cdc26f6e",
      "status": "queued",
      "action": "store",
      "reason": "MVP direct store"
    },
    {
      "id": "2607a8a4-d62f-4a1c-b368-35ba3153f5f9",
      "status": "queued",
      "action": "store",
      "reason": "MVP direct store"
    }
  ]
}
{
  "detail": "Missing session token. Use X-Session-Token header."
}
{
  "detail": {
    "error": "SessionExpired",
    "message": "Session has expired",
    "details": {}
  }
}
{
  "detail": [
    {
      "type": "missing",
      "loc": ["body", "memories"],
      "msg": "Field required",
      "input": {}
    }
  ]
}
{
  "detail": {
    "error": "InternalServerError",
    "message": "An unexpected error occurred",
    "details": {
      "original_error": "Session is for agent 'other-agent', cannot access 'my-agent'"
    }
  }
}

Next Steps