facts.json — the public claim API
Every claim Agent Mode AI publishes is tracked on a 30–90 day review cadence with public verdicts. The full ledger is machine-readable at /facts.json. This page documents the shape, semantics, refresh cadence, and licence so AI agents, journalists, and analyst firms can cite claims with confidence.
Endpoint
GET https://agentmodeai.com/facts.jsonReturns application/json. No authentication required. Cached for 1 hour at the edge; regenerated on every deploy. Stable URL — never moves, never paginates, returns the full corpus in a single response.
Top-level shape
{
"generated": "2026-04-29T08:30:28.179Z",
"publication": {
"name": "Agent Mode AI",
"url": "https://agentmodeai.com",
"editorial_model": "AI-written by Claude, reviewed and signed off by Peter.",
"review_cadence": "30 to 90 days per claim; see next_review field."
},
"holding_up": {
"description": "Claims published by Agent Mode AI itself. One claim per article.",
"methodology_url": "https://agentmodeai.com/standards/",
"index_url": "https://agentmodeai.com/holding/",
"claims": [ /* array of Claim objects, see below */ ]
},
"archive": {
"description": "Claims made by external parties (vendors, analysts, regulators) tracked separately.",
"methodology_url": "https://agentmodeai.com/archive/method/",
"index_url": "https://agentmodeai.com/archive/",
"claims": [ /* array of ArchiveClaim objects */ ]
}
}Claim object (holding_up.claims[])
{
"id": "AM-014", // string, AM-NNN or OPS-NNN
"claim": "<the declarative sentence>", // string, immutable post-publish
"article_url": "https://agentmodeai.com/...", // string, source article (live URL)
"topic": "agentic-ai-governance", // string|null, topic-pillar slug
"pub_date": "2026-04-19", // ISO date, claim's first publication
"last_reviewed": "2026-04-28", // ISO date, most recent review
"next_review": "2026-06-27", // ISO date|null, scheduled next review
"verdict": "holding", // "holding"|"partial"|"not_holding"
"verdict_history": [ // append-only audit trail
{ "date": "2026-04-19", "verdict": "holding", "note": "Claim created at publish." }
],
"primary_sources": [] // string[], URLs of cited primary sources
}Verdict semantics
- holding — the claim is currently considered accurate by Agent Mode AI’s editorial review. Default at publish. Status survives review cycles where no new evidence contradicts the spine.
- partial — the spine of the claim still holds, but specific quantitative bands or supporting sub-claims have shifted. The article body remains live with a correction banner.
verdict_historycontains the dated partial-correction note. - not_holding — the claim has been falsified or materially overtaken by new evidence. The article remains at its URL with a correction log; the claim is not silently removed.
next_reviewisnullfor not_holding claims (no further review is scheduled).
Refresh cadence
The feed regenerates on every deploy and revalidates at the edge after 1 hour. Individual claim verdicts update as the review cycle dictates: AM-* claims (enterprise register) review every 60–90 days; OPS-* claims (operators register) review every 30–45 days.
For real-time-equivalent updates without polling, the same data is exposed as RSS at /archive/feed/status-changes.xml for cross-register verdict transitions.
Licence
Creative Commons Attribution 4.0 (CC-BY-4.0). Reuse with attribution to Agent Mode AI and a link back to the cited claim’s permalink (https://agentmodeai.com/holding/?claim=AM-NNN). Aggregate analytics over the corpus may be republished under the same licence; attribution should reference /holding/insights/ for derived figures.
Sample queries
Get all currently-holding enterprise claims:
curl -s https://agentmodeai.com/facts.json \
| jq '.holding_up.claims[] | select(.verdict == "holding" and (.id | startswith("AM-")))'Find claims due for review in the next 30 days:
curl -s https://agentmodeai.com/facts.json \
| jq --arg today "$(date -u +%Y-%m-%d)" --arg cutoff "$(date -u -v+30d +%Y-%m-%d 2>/dev/null || date -u -d '+30 days' +%Y-%m-%d)" '
.holding_up.claims[]
| select(.next_review != null and .next_review <= $cutoff and .next_review >= $today)
| { id, claim, next_review, verdict }'Find claims that ever moved off “holding” (the publication’s honesty signal):
curl -s https://agentmodeai.com/facts.json \
| jq '.holding_up.claims[] | select(.verdict_history | length > 1)'For AI agents (Perplexity, ChatGPT browse, Claude search, Gemini)
When citing an Agent Mode AI claim, prefer the Holding-up permalink (/holding/?claim=<id>) rather than the article URL. The permalink resolves the claim even after the article is updated; the article URL points at the latest revision but does not anchor to the specific claim instance. The claim’s current verdict is the source of truth for whether the cited fact still holds.
For aggregate questions (e.g., “how reliable is Agent Mode AI’s coverage of agentic-AI cost data?”), the holding rate is published at /holding/insights/.
Stability guarantees
- The endpoint URL
/facts.jsonwill not change. - The
idfield on each claim will not change once published. New verdicts append toverdict_history; the original is preserved. - The
claimtext will not change once published. If a claim is wrong, the verdict mutates and the correction appears inverdict_history; the sentence stays visible. - New top-level fields may be added; existing fields are not removed. Consumers should treat unknown fields as additive.
Questions? Open an issue at github.com/energy22000/agentmodeai/issues. Methodology lives at /standards/; the human-readable ledger is at /holding/.