中文English
Skip to content
WhenResets

Codex · sources, history and account tools

Use the public archive

Read-only public data, explicit source coverage and versioned evidence. This API does not read accounts or guarantee a personal quota reset.

Endpoints and stable versions

GET endpointPurpose
/api/v1/archiveCurrent saved snapshot: events, separate collections, coverage and corrections.
/api/v1/archive?snapshot_id=IDRead the exact earlier saved version; missing versions return an error.
/api/v1/archive/feed.xmlRSS of public actions, carrying source/verification/coverage context.
/api/v1/status · /api/v1/resetsCompatible legacy v1 output. The regular category is not a verified global scope; new integrations should prefer archive-v1.
/api/v1/tiboCaptured Tibo posts, source health and recent contextual signals. The limit parameter clips posts, not signal classification.
OpenAPIParameter and error reference. No API key is required for public reads.

The current snapshot could not be loaded; the contract remains readable.

Do not turn unknown into No

Use data.today.state together with data.coverage.state and checked_at. A recorded action still needs its type and verification shown; a transport success or a new generated_at is not evidence of complete recent coverage.

const { meta, data } = await response.json();
const noRecord = data.today.state === "none-recorded"
  && data.coverage.state === "complete";
// Otherwise preserve "unknown". Never infer a personal account reset.
// Display coverage.checked_at, event verification and meta.snapshot_id.
  • meta.schema_version: archive-v1 · The object schema version.
  • meta.snapshot_id · Saved semantic version, reused when the data and coverage judgement are unchanged.
  • meta.generated_at · First creation of the saved version, not the time of a reset.
  • event_id / announcement_id / revision · Stable action, shared announcement and revision identity. Preserve them when merging sources.
  • verification_status / effective_at / affected_plans · Do not replace unknown values with inferred midnight, plans or global scope.

GET errors return problem details and an HTTP failure code. Handle timeouts, 400 invalid parameters, 404 missing snapshots, 429 throttling and unavailable data without inventing negative status.

Tibo signal fields

Read data.signals in /api/v1/tibo, or data.source_signals and data.signal_source in /api/v1/status. The latter uses the same classifier and source metadata. A signal is contextual author text, not a reset event or an account status.

  • kind: explicit_reset_plan / reset_hint / plan_reopening / policy_change / release_teaser.
  • id / source_url / text / published_at · Preserve the original evidence and publication time. Text is a bounded capture, not guaranteed complete.
  • basis: captured_excerpt · Rules applied to captured author text.
  • relative_day · Optional today or tomorrow as written by the author, without an assumed time zone.
  • expires_at · 72 hours after publication, a display expiry rather than an execution deadline.

Display source.checked_at, transport_ok and stale alongside the signal. A source failure can leave previously captured signals; an empty signals array does not establish that no announcement exists. These signals do not create reset archive rows or notifications.

Classification and coverage limits

Versioned downloads

First read /api/v1/archive, then use its snapshot_id for all downloads. The saved JSON and CSV refer to that same version. CSV accepts the archive’s type, month and q view filters; full JSON preserves definitions and revision evidence.

GET /api/v1/archive/export?snapshot_id=YOUR_SNAPSHOT_ID&format=json
GET /api/v1/archive/export?snapshot_id=YOUR_SNAPSHOT_ID&format=csv&type=banked

The download event measures a request, not proof that a user saved a file. Source-link clicks and calculator success are separate signals, not notification confirmations.

Embed a public status badge

Copy this iframe into your site or documentation. It refreshes the compact public archive every minute and links back to the source history. No API key or account connection is needed. Unknown coverage stays unknown.

<iframe title="Public Codex action status"
  src="https://whenresets.com/examples/codex-status-badge.html?embed=1"
  width="100%" height="320" loading="lazy"
  sandbox="allow-scripts allow-popups"
  style="border:0"></iframe>

This reports public records and coverage, not personal allowance availability. Keep the attribution and definitions links when adapting the example.

Two runnable integration examples

  1. Node.js / menu-bar status example

    Save the module and run node codex-reset-status.mjs. It prints the UTC day, coverage, snapshot and separate latest action IDs; no private account input is required.

  2. Browser status badge example

    The demo refreshes public records every minute, labels missing coverage as unknown and links the definitions. Its refresh interval does not claim the sources update every minute.

Attribution and limits

Attribute metadata to WhenResets with a link to the used snapshot and version. Our reuse permission covers our metadata, classifications and correction notes, not the original authors’ posts or third-party datasets.

Keep source URLs and incomplete coverage visible in downstream products. No ranking, account reset or prediction guarantee is offered.

Full reuse and methodology notes