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

# Recall Changed Since

> Differential retrieval — return memories created or updated after a specified timestamp.

## Overview

Returns memories that were created or updated after the specified `since` timestamp — useful for "what changed since last week?" workflows.

This endpoint lists memories chronologically (sorted by `updated_at` descending) — there is **no `query` parameter**. For semantic search, use [Recall](/api-reference/search/recall) instead.

## Authentication

API clients do not send an API key or `Authorization` header.

<ParamField header="X-Session-Token" type="string" required>
  Session token from [Activate Agent](/api-reference/sessions/activate-agent). Must match `agent_id`.
</ParamField>

<ParamField header="Content-Type" type="string" required>
  Must be `application/json`
</ParamField>

## Path Parameters

<ParamField path="agent_id" type="string" required>
  The unique identifier of the agent.
</ParamField>

## Body

<ParamField body="since" type="string" required>
  Start of the change window. Accepts `YYYY-MM-DD` (interpreted as **start of day** UTC) or a full ISO 8601 datetime, e.g. `2026-05-01T00:00:00Z`.
</ParamField>

<ParamField body="limit" type="integer">
  Maximum number of results to return. Range `1`–`100`. If omitted, the server default applies.
</ParamField>

<ParamField body="type" type="array">
  Optional list of memory type filters (e.g. `["fact", "decision"]`).
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "http://localhost:8000/api/v2/agents/my-agent/recall/changed-since" \
    -H "X-Session-Token: your_session_token" \
    -H "Content-Type: application/json" \
    -d '{
      "since": "2026-05-01",
      "limit": 20,
      "type": ["fact", "decision"]
    }'
  ```

  ```bash cURL (date-only — interpreted as start of day UTC) theme={null}
  curl -X POST "http://localhost:8000/api/v2/agents/my-agent/recall/changed-since" \
    -H "X-Session-Token: your_session_token" \
    -H "Content-Type: application/json" \
    -d '{
      "since": "2026-05-01T00:00:00Z"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 - OK theme={null}
  {
    "agent_id": "my-agent",
    "session_id": "sess_123abc",
    "since_date": "2026-05-01T00:00:00+00:00",
    "memories": [
      {
        "id": "4f792e13-b39d-5e2e-a743-c9ebef2e0e1d",
        "title": "System Upgrade",
        "content": "System upgraded to v2.0",
        "text": "[FACT] System Upgrade\n\nSystem upgraded to v2.0",
        "type": "fact",
        "confidence": 0.9,
        "status": "active",
        "tags": [],
        "created_at": "2026-05-04T10:15:30Z",
        "updated_at": "2026-05-04T10:15:30Z",
        "actor_id": "my-agent",
        "source": "agent",
        "source_ref": null,
        "agent_id": "my-agent",
        "score": null,
        "provenance": "explicit_statement",
        "change_type": "created"
      }
    ],
    "count": 1,
    "temporal_mode": "changed_since"
  }
  ```

  ```json 401 - Unauthorized (Expired Token) theme={null}
  {
    "detail": {
      "error": "SessionExpired",
      "message": "Session has expired",
      "details": {}
    }
  }
  ```

  ```json 422 - Validation Error (Missing since) theme={null}
  {
    "detail": [
      {
        "type": "missing",
        "loc": ["body", "since"],
        "msg": "Field required",
        "input": {}
      }
    ]
  }
  ```

  ```json 500 - Server Error theme={null}
  {
    "detail": {
      "error": "InternalServerError",
      "message": "An unexpected error occurred",
      "details": {
        "original_error": "Session is for agent 'other-agent', cannot access 'my-agent'"
      }
    }
  }
  ```
</ResponseExample>

## Next Steps

* [Recall As Of](/api-reference/search/recall-as-of) for point-in-time queries
* [Recall Recent](/api-reference/search/recall-recent) to fetch the most recently stored memories
