List changes
Official changes, newest first.
GET /api/v1/changes
Filter across labs and products. Use the returned cursor to continue through the feed.
Query parameters
labstringRepeatable- One of
anthropic,openai,google,xaiormeta. Repeat it to match any of several labs. productstringRepeatable- A catalog product ID such as
anthropic.claude-code. Repeat it to match any of several. See product IDs. kindstringRepeatable- A lowercase kind such as
release,post,model.listingorincident.deprecationalso matches changes of any kind that the deprecation rule finds. sinceISO 8601 date or date-timeOptional- Changes whose ordering date is at or after it. One value, such as
2026-10-01or2026-10-01T12:00:00Z. includestringOptionalbodyaddsbody_md, the upstream text. The only accepted value.limitintegerOptional- Items per page, 1 to 100. Default
20. cursorstringOptional- The
next_cursorfrom the previous page. It only works with the same filters.
Product IDs
anthropic.claude-apps, anthropic.claude-code, anthropic.claude-platform, anthropic.models, anthropic.status, google.deepmind-blog, google.gemini-api, google.gemini-app, google.gemini-blog, google.gemini-cli, google.models, google.status, meta.facebook-login, meta.graph-api, meta.horizon-os, meta.llama, meta.llama-guard, meta.llama-sdk-python, meta.llama-sdk-typescript, meta.model-api, meta.muse-code, meta.muse-models, meta.research, meta.spatial-sdk, meta.xr-simulator, openai.api, openai.codex, openai.models, openai.news, openai.product-changelog, openai.status, xai.cursor, xai.grok-api, xai.models and xai.status.
Response
Example response
{
"data": [
{
"id": "chg_01M5E4T4209BH52NZAN9GTQFJF",
"kind": "incident",
"topics": [],
"lab": "openai",
"product": "openai.status",
"surface": "api",
"source": "openai-status-rss-atom",
"models": [],
"title": "Degraded performance in ChatGPT, Codex, and APIs",
"source_url": "https://status.openai.com/incidents/01M5E4G39TD1BW1QWHZG6RFA5H",
"version": null,
"source_published_at": "2026-10-21T03:28:00.000Z",
"published_date": "2026-10-21",
"precision": "instant",
"observed_at": "2026-10-21T02:31:56.736Z",
"revised_at": "2026-10-21T03:30:55.976Z",
"revision": 3,
"state": "active",
"confidence": "observed",
"story": null,
"evidence": {
"snapshot": "snapshots/openai-status-rss-atom/5e62be1c3baab551666f05f0a52a4f143db0674c9648b28b67a7145bd04dbe81",
"sha256": "5e62be1c3baab551666f05f0a52a4f143db0674c9648b28b67a7145bd04dbe81",
"fetched_at": "2026-10-21T03:30:55.976Z"
}
},
{
"id": "chg_01M5E7QFSJWRN8XZ1QNBJVV85G",
"kind": "release",
"topics": [],
"lab": "anthropic",
"product": "anthropic.claude-code",
"surface": "api",
"source": "anthropic-claude-code-changelog-file",
"models": [],
"title": "claude code 2.1.306",
"source_url": "https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md#21306",
"version": "2.1.306",
"source_published_at": null,
"published_date": null,
"precision": "unknown",
"observed_at": "2026-10-21T03:22:56.178Z",
"revised_at": "2026-10-21T03:22:56.178Z",
"revision": 1,
"state": "active",
"confidence": "observed",
"story": null,
"evidence": {
"snapshot": "snapshots/anthropic-claude-code-changelog-file/ecddd25c29ac9c1008d71499fe2c144782afc652dcd4345d8304d02498e39e61",
"sha256": "ecddd25c29ac9c1008d71499fe2c144782afc652dcd4345d8304d02498e39e61",
"fetched_at": "2026-10-21T03:22:56.178Z"
}
},
{
"id": "chg_01M5E7G5C48V2AYK9PF1K7VTF7",
"kind": "release",
"topics": [],
"lab": "anthropic",
"product": "anthropic.claude-code",
"surface": "api",
"source": "anthropic-claude-code-rss-atom",
"models": [],
"title": "Claude Code v2.1.306",
"source_url": "https://github.com/anthropics/claude-code/releases/tag/v2.1.306",
"version": null,
"source_published_at": "2026-10-21T03:16:13.000Z",
"published_date": "2026-10-21",
"precision": "instant",
"observed_at": "2026-10-21T03:18:56.132Z",
"revised_at": "2026-10-21T03:18:56.132Z",
"revision": 1,
"state": "active",
"confidence": "observed",
"story": null,
"evidence": {
"snapshot": "snapshots/anthropic-claude-code-rss-atom/97b7fbd0cf4c911256b0ebdf4ac0b37ef63d5a28247d9a67128db0c3d64cd0c3",
"sha256": "97b7fbd0cf4c911256b0ebdf4ac0b37ef63d5a28247d9a67128db0c3d64cd0c3",
"fetched_at": "2026-10-21T03:18:56.132Z"
}
}
],
"next_cursor": "eyJ2IjoxLCJraW5kIjoiY2hhbmdlcyIsImYiOiJ7XCJsYWJcIjpbXSxcInByb2R1Y3RcIjpbXSxcImtpbmRcIjpbXSxcInNpbmNlXCI6bnVsbH0iLCJrIjpbIjIwMjYtMTAtMjFUMDM6MTY6MTMuMDAwWiIsImNoZ18wMU01RTdHNUM0OFYyQVlLOVBGMUs3VlRGNyJdfQ",
"has_more": true
}
Newest first by the ordering date: the upstream publication time, else its date, else when ClaudeMon first saw it. Ties go by ID.
dataobject[]- This page of change objects.
next_cursorstring or null- Pass it as
cursorfor the next page.nullon the last page. has_moreboolean- Whether another page follows.
Meta update projection
metaobject (optional)- Additive convenience projection for supported Meta updates only. Omitted for other labs and for monitoring or inventory kinds such as
componentandsource.repository. Existing change fields and IDs remain canonical. meta.timestampstring- UTC ISO 8601 instant. Uses
source_published_atonly whenprecision=instant; otherwise usesobserved_at. A date-only source never invents a publication time. meta.timestamp_basisstringpublishedfor an upstream publication instant, otherwiseobservedfor the first observation.meta.providerstring- Always
Meta. meta.productstring- The current catalog display name for
product, orMetawhen no catalog product matches. The canonical product ID remains unchanged. meta.update_titlestring- The same upstream title as
title. Treat it as untrusted text. meta.source_urlstring- The same source URL as
source_urlon the change. meta.update_typestringModel Listingformodel.listing,Incidentforincident, orChangelogforrelease,changelog,source.tagorsource.commit.
Headers
ETag- A strong validator. See caching.
Cache-Controlpublic, max-age=30, s-maxage=60, stale-while-revalidate=300.Link- The next page with
rel="next", when there is one.
Errors
invalid_parameter- An unknown lab, product or kind, a bad
since,includeother thanbody, orlimitoutside 1 to 100. invalid_cursor- The cursor is malformed or from other filters.