Skip to main content

Temporal Memory

Query memories from specific points in time using temporal queries. All temporal endpoints are POST and accept a JSON body. Authentication uses X-Session-Token only — clients do not send a Moorcheh API key.

Temporal Queries

Memanto supports three time-based query variants:

1. As Of (Point in Time)

Return memories that were valid at a specific moment, excluding memories created after that moment or expired before it:
Use case: Historical audit trail.
There is no query parameter for /recall/as-of; results are listed chronologically. Use type to narrow the listing server-side.

2. Changed Since (Time Range)

Return memories created or updated after a given timestamp:
Use case: Recent updates and changes.
There is no query parameter for /recall/changed-since; results are sorted by updated_at descending. Each item carries a change_type field ("created" or "updated"). Use type to narrow by memory type.

3. Recent (Newest-First)

Return the most recently stored memories, sorted by created_at descending. Useful when you want the latest context without a semantic query:
Use case: “What did the agent learn most recently?”
There is no query parameter for /recall/recent; results are purely chronological.

Time Format

Temporal endpoints accept ISO 8601 (with UTC) or date-only:

Use Cases

1. Audit Trail

Verify what was known at a specific time:

2. Change Tracking

See what changed during a project window:

3. Latest Activity

Pull the most recent memories without a query:

4. Time Series Analysis

Track how information changed over time:

5. Regression Detection

Find when something changed:

Memory Versioning

Memories carry a status field — Memanto’s conflict resolution flow can mark older memories as superseded when newer information replaces them. recall/as-of reflects the state that existed at the queried timestamp, regardless of later supersession.

Best Practices

DO

  • Use ISO 8601 timestamps for precision
  • Resolve conflicts explicitly via Resolve Conflict
  • Use /recall/recent to surface fresh context quickly

DON’T

  • Delete old memories — let conflict resolution mark them superseded
  • Ignore temporal information when results look ambiguous
  • Mix old and new data without checking created_at

Next Steps