OPEN / TRACEABLE

See the evidence behind the status

Public records are free to read. Responses identify mode, freshness and scope, without subscriber or personal account data.

JSON event endpoint

GET /api/public/events

Open JSON ↗

mode = demo / live / snapshot; status = current / stale / unavailable. Snapshot means dated real historical records during a database outage; candidates and demo samples are never substituted.

const response = await fetch("/api/public/events");
const data = await response.json();
if (!response.ok || data.status === "unavailable") throw new Error("Data unavailable");
// Check data.mode and data.status before showing events.
console.log(data.events);

Fields include type, status, scope, source links, publication, fetch and verification times. Each event uses a stable key and increasing version.

RSS

GET /feed.xml?lang=en

Open RSS ↗

Import into an RSS reader. Revisions use key:version. Demo and stale states are included in the channel; feed updates are not personal recovery confirmations.

Status summary and AI readers

GET /status.json

Per platform: last reset time, whether it reset today (UTC), counts and gaps, plus a quotable one-sentence answer in English and Chinese. The official next reset time is always null.

status.json ↗ · llms.txt ↗ · llms-full.txt ↗

JSON, RSS, status.json and llms.txt allow cross-origin reads.

Embeddable badge

Codex last reset Claude last reset Grok last reset

[![Codex last reset](https://isitresetyet.com/badge/codex.svg)](https://isitresetyet.com/en/platform/codex)

Use it in a GitHub README or blog; updates every 5 minutes. Replace codex with claude or grok.