---
title: "Read the L0 episode substrate (keyset-paged)"
method: GET
path: "/v1/episodes"
tags: ["Episodes"]
---

# Read the L0 episode substrate (keyset-paged)

`GET /v1/episodes`

## Request

- Base URL: `https://brain.inite.ai`
- URL: `https://brain.inite.ai/v1/episodes`
- Auth: HTTP bearer

Verbatim pre-extraction dialogue turns in stable (occurredAt, id) order — the raw layer any consumer can build its own projection from. Callers without `brain:read_pii` see only episodes whose piiClass is empty. 404 until EPISODES_API_ENABLED=1. Source: src/episodes/episodes.controller.ts.

Required scope: `brain:read`.

## Query parameters

- `conversationId` string
- `speaker` string
- `since` string
- `until` string
- `limit` integer
- `cursor` string

## Response `200`

One page of episodes.

- EpisodesListResponse
  - `episodes` EpisodeWire[], required
    - `addressee` string
    - `conversationId` string
    - `id` string, required
    - `kind` string, required
    - `lang` string
    - `messageId` string, required
    - `occurredAt` string, required
    - `piiClass` string[]
    - `recordedAt` string, required
    - `source` object, required
    - `speaker` string
    - `text` string, required
  - `nextCursor` string

## Other responses

- `400`: Validation failed.
- `401`: Missing or unknown bearer key.
- `403`: The key lacks the required scope.
- `404`: No such resource in this tenant.

---

[API](https://skmtc.dev/inite/apis/inite-brain-platform-api.md) · [All operations](https://skmtc.dev/inite/apis/inite-brain-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/inite/apis/inite-brain-platform-api/revisions/c7c3eb5e304b?raw)
