# One container, day by day.

> Mnemo Timeline is a day-by-day view of one memory container: memories when they were written, reminders when they are due, documents when they arrived, events when they happened — merged into one stream with provenance. GET /v1/timeline.

Canonical URL: https://mnemohq.com/timeline

The Timeline lays a container out in time: memories when you wrote them, reminders when they are due, documents when they arrived, events when they happened. Four lanes, one stream, a dot per type — and every item links back to where you can act on it.

REST API: GET /v1/timeline?containerTag=&from=&to=&types=&direction=&limit=&cursor= (scope timeline:read). types is a subset of memory, reminder, document, event (default memory,reminder,document — event is opt-in). Items carry a composite id <type>:<refId>, occurredAt, title, snippet, containerTag, createdBy, and a meta object; the cursor encodes { sortAt, id } so paging never skips or repeats. An unknown container returns items: [] and container: null, never a 404.

## Four queries, one merge

- Pick a container — a person, a project, your own user:<id>, a connector's inbox. Required for API keys; MCP clients are limited to the container their grant allows.
- One bounded query per lane — memories by createdAt, open reminders by dueAt, documents by arrival (or the connector's own item time), events by occurredAt with memory_written excluded. Each lane reads limit + 1 rows from an index that already exists.
- Merge and page — a k-way merge orders the lanes by occurredAt with the composite id as tie-break. Day grouping happens in your browser's timezone with Intl.

## Bounded reads, honest times

- Never a full scan — a page over a container with a million memories costs the same as one with ten.
- The time that actually matters — reminders appear at their due date, connector documents at the source's own updated time when it reports one.
- Lanes stay distinct — a reminder shows once as a memory (when written) and once as a reminder (when due), under different composite ids.
- Scoped like every read — timeline:read is a new, opt-in scope; cross-tenant tags are simply empty.
- Behind a flag — 503 FEATURE_DISABLED until Timeline is enabled for your workspace.

## Explore Mnemo

- [Mnemo API documentation](https://mnemohq.com/docs)
- [Pricing](https://mnemohq.com/pricing)
- [Benchmarks](https://mnemohq.com/benchmarks)
- [Company Brain for Slack](https://mnemohq.com/brain)
- [Ask Mnemo widget](https://mnemohq.com/widget)
- [People — one memory container per person](https://mnemohq.com/people)
- [Daily Brief](https://mnemohq.com/brief)
- [Memory Inbox](https://mnemohq.com/inbox)
- [Timeline](https://mnemohq.com/timeline)
- [Meeting Memory](https://mnemohq.com/meetings)
- [Chrome extension](https://mnemohq.com/extension)
- [WhatsApp and voice-note capture](https://mnemohq.com/capture)
- [Data-source connectors](https://mnemohq.com/connectors)
- [Framework integrations](https://mnemohq.com/integrations)
- [Trust and security](https://mnemohq.com/trust)
- [Contact](https://mnemohq.com/contact)
- [llms.txt](https://mnemohq.com/llms.txt)
- [OpenAPI 3.1 specification](https://mnemohq.com/openapi.json)

---

This is the Markdown representation of https://mnemohq.com/timeline, served by content negotiation on `Accept: text/markdown`. Machine-readable index: https://mnemohq.com/llms.txt · https://mnemohq.com/openapi.json · https://mnemohq.com/sitemap.xml
