---
title: "List Declassified Episodes"
method: GET
path: "/v1/declassified/episodes"
tags: ["declassified-public"]
---

# List Declassified Episodes

`GET /v1/declassified/episodes`

## Request

- Base URL: `https://api.storyflo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.storyflo.com/v1/declassified/episodes`
- Auth: none declared

Public list of declassified episodes for the storyflo.com
``/declassified`` archive page.

Pulls from ``persona_briefings WHERE briefing_kind = 'declassified'
AND status = 'published'``. The same gate the public-RSS feed uses
(see ``_STANDALONE_BRIEFING_KINDS``), so this surface can never
leak draft / unpublished editorial copy.

Optional ``category`` / ``agency`` / ``era`` query params narrow the
result set to rows whose taxonomy column matches case-insensitively.
The composite index ``ix_persona_briefings_kind_category`` (migration
0159) handles the hot category-filter path; the other two are
sequential scans on the already-tiny declassified subset.

## Query parameters

- `limit` integer
- `offset` integer
- `sort` string
- `category` string, nullable: Filter by declassified_category (UAP / JFK / COINTELPRO / mind-control / drone-sightings / mob-surveillance / …).
- `agency` string, nullable: Filter by declassified_agency (CIA / FBI / DoD / NRO / NSA / DOJ / NARA / …).
- `era` string, nullable: Filter by declassified_era (cold-war / vietnam / civil-rights / 1990s / 2000s / 2020s / …).
- `exclude_slug` string, nullable: Exclude a specific slug — used by the per-case page to surface 'Related cases' without the case itself.

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/storyflo/apis/storyflo-inference-router.md) · [All operations](https://skmtc.dev/storyflo/apis/storyflo-inference-router/llms.txt) · [OpenAPI document](https://skmtc.dev/storyflo/apis/storyflo-inference-router/revisions/c3a1a735ac7a?raw)
