GET/records/latest
Newest matching record, or null.
curl 'https://did-codex-reset.com/openapi/v1/records/latest?kind=reset_completed'Bring reset signals into your own tools over HTTP, MCP, or an installable agent skill.
https://did-codex-reset.com/openapi/v1Make a GET request and read the JSON response. No registration or authentication headers are needed.
curl 'https://did-codex-reset.com/openapi/v1/records/latest'
const res = await fetch('https://did-codex-reset.com/openapi/v1/records/latest?kind=reset_completed');
const body = await res.json();
if (res.status === 429) {
const retry = Number(res.headers.get('Retry-After') || body.retryAfter);
console.log('retry after', retry);
}
if (!res.ok) throw new Error(body.error);
console.log(body.data);
from urllib.request import urlopen, Request
req = Request('https://did-codex-reset.com/openapi/v1/records?page=1&pageSize=10')
with urlopen(req) as response:
print(response.read().decode())
/records/latestNewest matching record, or null.
curl 'https://did-codex-reset.com/openapi/v1/records/latest?kind=reset_completed'/recordsPaged list, max 10 items per page.
curl 'https://did-codex-reset.com/openapi/v1/records?kind=reset_scheduled&page=2&pageSize=10'kind applies to both data endpoints (all, reset_scheduled, reset_completed). page and pageSize apply to the list. Unknown, duplicate, or out-of-range parameters return 422 and are not corrected.
| Parameter | Default | Meaning |
|---|---|---|
kind | all | all (default), reset_scheduled, or reset_completed. all is the live public signal list and omits fulfilled schedules. Scheduled filter includes fulfilled and elapsed history; undone or dismissed records are omitted. |
page | 1 | 1-based page index. Pages past the end return an empty items array and keep the requested page. |
pageSize | 10 | 1–10, default 10. |
kind=all and reset_completed pin still-open pending schedules (soonest window first), then announcedAt, completedAt, effectiveAt, and id descending. Fulfilled schedules are omitted from all and listed on reset_scheduled, which still sorts by effectiveAt descending. latest is the first row of the same filter. total counts records, not distinct reset days.
The API includes all currently saved public records, including fulfilled and elapsed schedules. It does not promise a permanent archive. Use kind=reset_completed to exclude future schedules.
Every field is included. A null value means the value is unknown or not applicable; it never means zero.
| Field | Type | Meaning |
|---|---|---|
id | string | Record id. X posts are numeric strings; operator notes use op_…; manual completions use manual:… |
kind | string | reset_scheduled or reset_completed. Separate from resetType. |
resetType | string | global, banked, or global_and_banked. |
announcedAt | string | null | When the source was announced. null for manual completions with no announcement. |
effectiveAt | string | null | Planned or actual reset time. null if unknown; missing values are not filled from announcedAt. |
text | string | null | Public post text or operator copy. null when unknown. |
confidence | number | null | 0–1 when known. null for heatmap-only history and aggregated manual completions. |
scope | object | null | plans and windows when known; otherwise null. |
source | object | origin, postId, handle, url. Manual completions set origin=operator and the rest null. |
schedulePrecision | string | null | date or datetime on schedules; null on completions. |
scheduleBasis | string | null | explicit or contextual_inference on schedules; null on completions. |
scheduleWindow | object | null | UTC startAt/endAt for the known schedule window. |
scheduleState | string | null | pending, elapsed, fulfilled, or unknown on schedules. elapsed means the window passed without a confirmed completion. |
completedAt | string | null | When a schedule was confirmed fulfilled; null if not confirmed. |
completionRecordId | string | null | Linked completion id on a schedule. |
fulfillmentOrigin | string | null | auto, link, or manual. |
relatedRecordIds | string[] | On completions, related schedule ids. Empty array when none. |
sourceObject fields| Field | Type | Meaning |
|---|---|---|
origin | string | x for source posts; operator for operator notes and manual completions. |
postId | string | null | Original string ID; null for an independent manual completion. |
handle | string | null | thsottiaux for X sources; otherwise null. |
url | string | null | Canonical X post URL; null when no source post exists. |
scopeObject fields| Field | Type | Meaning |
|---|---|---|
plans | string[] | Affected plan IDs; all means all plans, unknown means unspecified. |
windows | string[] | Affected quota-window IDs, such as five_hour or weekly; unknown means unspecified. |
scheduleWindowObject fields| Field | Type | Meaning |
|---|---|---|
startAt | string | UTC start of the schedule window. |
endAt | string | UTC end of the schedule window; equal to startAt for an exact time. |
UTC, millisecond precision, suffix Z. Date-level schedules keep date precision; their window is the civil day converted to UTC.
Success returns ok: true, data and meta. The latest endpoint returns one record or null; the list returns items and pagination. Errors return ok: false, error and detail.
{
"ok": true,
"data": {
"id": "1960000000000000001",
"kind": "reset_scheduled",
"resetType": "global",
"announcedAt": "2026-09-08T08:00:00.000Z",
"effectiveAt": "2026-09-09T07:00:00.000Z",
"text": "Usage limits will be reset tomorrow.",
"confidence": 0.97,
"scope": {
"plans": [
"all"
],
"windows": [
"unknown"
]
},
"source": {
"origin": "x",
"postId": "1960000000000000001",
"handle": "thsottiaux",
"url": "https://x.com/thsottiaux/status/1960000000000000001"
},
"schedulePrecision": "datetime",
"scheduleBasis": "explicit",
"scheduleWindow": {
"startAt": "2026-09-09T07:00:00.000Z",
"endAt": "2026-09-09T07:00:00.000Z"
},
"scheduleState": "pending",
"completedAt": null,
"completionRecordId": null,
"fulfillmentOrigin": null,
"relatedRecordIds": []
},
"meta": {
"generatedAt": "2026-09-08T08:30:00.000Z",
"lastSuccessfulCheckAt": "2026-09-08T08:29:00.000Z"
}
}
{
"ok": true,
"data": {
"items": [
{
"id": "1960000000000000001",
"kind": "reset_scheduled",
"resetType": "global",
"announcedAt": "2026-09-08T08:00:00.000Z",
"effectiveAt": "2026-09-09T07:00:00.000Z",
"text": "Usage limits will be reset tomorrow.",
"confidence": 0.97,
"scope": {
"plans": [
"all"
],
"windows": [
"unknown"
]
},
"source": {
"origin": "x",
"postId": "1960000000000000001",
"handle": "thsottiaux",
"url": "https://x.com/thsottiaux/status/1960000000000000001"
},
"schedulePrecision": "datetime",
"scheduleBasis": "explicit",
"scheduleWindow": {
"startAt": "2026-09-09T07:00:00.000Z",
"endAt": "2026-09-09T07:00:00.000Z"
},
"scheduleState": "pending",
"completedAt": null,
"completionRecordId": null,
"fulfillmentOrigin": null,
"relatedRecordIds": []
}
],
"page": 1,
"pageSize": 10,
"total": 1,
"totalPages": 1,
"hasNext": false
},
"meta": {
"generatedAt": "2026-09-08T08:30:00.000Z",
"lastSuccessfulCheckAt": "2026-09-08T08:29:00.000Z"
}
}
{
"id": "manual:1960000000000000001",
"kind": "reset_completed",
"resetType": "global",
"announcedAt": null,
"effectiveAt": "2026-09-09T07:05:00.000Z",
"text": null,
"confidence": null,
"scope": {
"plans": [
"all"
],
"windows": [
"unknown"
]
},
"source": {
"origin": "operator",
"postId": null,
"handle": null,
"url": null
},
"schedulePrecision": null,
"scheduleBasis": null,
"scheduleWindow": null,
"scheduleState": null,
"completedAt": "2026-09-09T07:05:00.000Z",
"completionRecordId": null,
"fulfillmentOrigin": "manual",
"relatedRecordIds": [
"1960000000000000001"
]
}
dataList pagination| Field | Type | Meaning |
|---|---|---|
items | object[] | Record array, up to pageSize items; empty if this page has no records. |
page | integer | Requested page number, starting at 1. |
pageSize | integer | Requested page size, between 1 and 10. |
total | integer | Matching record count, including both schedules and completions. |
totalPages | integer | Number of pages, or 0 when no records match. |
hasNext | boolean | Whether another page is available. |
metaData freshness| Field | Type | Meaning |
|---|---|---|
generatedAt | string | UTC generation time of the published snapshot. |
lastSuccessfulCheckAt | string | null | UTC time of the last successful monitor check; null if none is known. |
Each request reads the current dataset. New or corrected records may move between pages; deduplicate by id. meta reflects the published data, not the request time.
Up to 20 requests in any rolling 3600 seconds, shared by Open API data endpoints and MCP query tools.
Requests admitted to either data endpoint or an MCP query tool count once, even if validation or processing later fails. Handshake, tool listing, rejected protocol requests, documentation, the specification, skill downloads and OPTIONS do not count. A shared outbound IP shares quota. Admitted responses, including successful 200s, include X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Window and X-RateLimit-Reset. Those headers are omitted only when limiting is disabled. Retry-After is sent only with HTTP 429.
| Response header | Meaning |
|---|---|
X-RateLimit-Limit | Maximum requests in the sliding window, as an integer. |
X-RateLimit-Remaining | Requests remaining after this request, as an integer. |
X-RateLimit-Window | Sliding window length in seconds. |
X-RateLimit-Reset | UTC timestamp when the oldest counted request leaves the window; this does not refill the whole quota. |
Retry-After | On 429 only: minimum seconds before retrying, rounded up. Also available as retryAfter in the JSON body. |
422 invalid_query | Illegal, duplicate, or unknown query parameters. |
429 rate_limited | Sliding-window quota exceeded. Honor Retry-After / retryAfter. |
503 rate_limit_unavailable | Rate limit is on but Redis is unavailable. The docs page still works. |
503 data_unavailable | No published snapshot yet. Distinct from an empty match. |
500 internal_error | Unexpected server error; internal details are not returned. |
404 / 405 | Unknown path or method on the Open API app, as JSON. |
{
"ok": false,
"error": "rate_limited",
"detail": "Request limit exceeded",
"retryAfter": 143
}