Temporal Memory
Query memories from specific points in time using temporal queries. All temporal endpoints arePOST 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: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: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 bycreated_at descending. Useful when you want the latest context without a semantic query:
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
Superseding a memory is a delete-and-recreate, not a status flip: resolving a conflict removes the memory you didn’t keep and writes the surviving one. Every stored memory hasstatus: "active". Temporal queries reconstruct history from created_at / updated_at, so recall/as-of still reflects the state that existed at the queried timestamp.
Best Practices
DO
- Use ISO 8601 timestamps for precision
- Resolve conflicts explicitly via Resolve Conflict
- Use
/recall/recentto surface fresh context quickly
DON’T
- Delete old memories by hand — go through conflict resolution so the replacement is recorded
- Ignore temporal information when results look ambiguous
- Mix old and new data without checking
created_at