---
title: "List Episodes"
method: GET
path: "/memories/episodes"
tags: ["Memories"]
---

# List Episodes

`GET /memories/episodes`

## Request

- Base URL: `https://api.getmetacognition.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getmetacognition.com/memories/episodes`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/metacognition/apis/tex-api/docs/memories/episodes/get.ts> (a function with typed inputs; its response is checked against the schema)

List the caller's consolidated conversation episodes.

An episode is its CURRENT ``EPISODE_SUMMARY`` (one per consolidated
episode window; superseded versions are skipped). Raw ``EPISODE_EVENT``
nodes are turns, not episodes, and are never listed here (paging past the
summaries used to fall through to them). Episodes still in the active
tier (not yet consolidated) are not listed yet. POST /ingestion/episode
(episodes.store) stores its messages as remembered turns, so a stored
episode is listed here once it is consolidated.

Cost and ordering: one request is ONE engine page of ``limit`` summaries
at ``offset`` — never a walk of the tenant's data (GET /nodes scans the
shard per call). The engine can neither order nor filter by time, so
results come in engine order, and ``since`` filters WITHIN the page: a
page may hold fewer than ``limit`` episodes while ``has_more`` (the
engine returned a full page) is still true. Keep paging until
``has_more`` is false. Global newest-first ordering and an engine-side
``since`` need an engine query (label + owner + time range, sorted) —
see the Package D report.

## Query parameters

- `limit` integer
- `offset` integer
- `since` string, nullable: Only episodes that ended at or after this time: ISO 8601 (e.g. 2026-01-01T09:30:00Z) or epoch seconds/milliseconds

## Response `200`

Successful Response

- EpisodeListResponse: Paginated list of conversation episodes.
  - `episodes` object[]
  - `count` integer: Number of episodes returned
  - `next_offset` integer: Offset for next page
  - `has_more` boolean: Whether a further page exists

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/metacognition/apis/tex-api.md) - [All operations](https://skmtc.dev/metacognition/apis/tex-api/llms.txt) - [OpenAPI document](https://skmtc.dev/metacognition/apis/tex-api/revisions/3bef47e50f2e?raw)
