# Unspin

> Unspin turns live news into a real-or-fake guessing game. This file maps the public data surface (REST, feeds, OpenAPI spec) for AI agents that want to read or analyze the story pool.

Unspin collects real news and debunked hoaxes every 30 minutes and serves them as short cards: headline, dek, body, outlet, image, and the stored verdict (real or fake) with the manipulation technique. Everything below is public, read-only, and cacheable. Anonymous write endpoints (scores, answers, comments) need x-session-id headers and are documented in the OpenAPI spec for completeness, but agents only need the reads.

Rate courtesy: hot reads are edge-cached ~45s. Poll /feed.json or /feed.xml at most every few minutes; collectors refresh the pool every 30 minutes.

## Data

- [OpenAPI spec](https://unspin.hidden-pond-5e6a.workers.dev/api/openapi.json): Full machine-readable catalog of the public REST API with parameters and schemas.
- [Today's stories](https://unspin.hidden-pond-5e6a.workers.dev/api/today): Newest active stories with verdicts, techniques, outlets, and images.
- [Continuous feed](https://unspin.hidden-pond-5e6a.workers.dev/api/feed?mode=recent): Newest-to-oldest story stream; modes latest, recent, archive.
- [Headlines](https://unspin.hidden-pond-5e6a.workers.dev/api/headlines?limit=100): Compact id + headline + date + image list for dedupe and search.
- [Set dates](https://unspin.hidden-pond-5e6a.workers.dev/api/dates): Available dated sets, newest first; replay any via /api/today?date=YYYY-MM-DD.
- [Leaderboard](https://unspin.hidden-pond-5e6a.workers.dev/api/leaderboard): Top desks by score. Rogue bests at /api/rogue/board.
- [Aggregate stats](https://unspin.hidden-pond-5e6a.workers.dev/api/stats): Sessions, accuracy by verdict, per-story catch rates.
- [Health](https://unspin.hidden-pond-5e6a.workers.dev/api/health): Pool size, last collector run, feedback depth. Use as a liveness probe.

## Feeds

- [RSS 2.0](https://unspin.hidden-pond-5e6a.workers.dev/feed.xml): Latest 40 cards with verdict categories, updated as collectors ingest.
- [JSON Feed 1.1](https://unspin.hidden-pond-5e6a.workers.dev/feed.json): Same pool as JSON with an _unspin extension block (verdict, technique, outlet, fact-check URL).

## About

- [How it works](https://unspin.hidden-pond-5e6a.workers.dev/): Open the app, menu to How it works. Game rules, daily streaks, and the just-a-game disclaimer.
- [Sitemap](https://unspin.hidden-pond-5e6a.workers.dev/sitemap.xml): App entry, feeds, spec, and recent story deep links.
