Treat a restatement as data, not as noise
When a company restates, Arche adds a version rather than overwriting the original, computes the per-metric deltas between versions and classifies how material the change was. “What changed, and did it matter” becomes a query rather than a reconstruction.
Two questions, two parameters
Arche separates “what did the filer say at the time” from “what was knowable on this date”. as_reported=true returns each period as the filer originally stated it. as_of_date returns what was knowable on a date, which includes restatements that had already arrived by then. They answer different questions and can be combined.
What you can query
- Statement version history, with is_restated, restatement_reason, supersedes_id and superseded_by_id on each version.
- The restatement timeline for a statement and period: how many versions exist, which metrics changed, the largest delta per metric, and an overall severity.
- Fact revisions: which individual facts changed between two versions of a statement.
- Restatement alerts, polled from /v1/edgar/restatement-alerts or pushed as signed restatement.detected webhooks carrying each changed metric’s old value, new value and delta, and a materiality score.
- Per-value provenance: the XBRL concept and filing accession behind each figure, and whether an override was applied.
Reading an empty answer correctly
A period with no metric changes returns an empty timeline with severity NONE rather than an error. Read that as “no restatement occurred”, not as missing data. The same distinction applies to fact revisions: an empty list means nothing was revised.
Worked example: Axon’s fiscal 2024 balance sheet
On February 28, 2025 Axon Enterprise reported total current liabilities of $997,586,000 for fiscal 2024. On May 7 it filed an amendment moving $680,289,000 of convertible notes from long-term into current liabilities. Arche holds both versions; the webhook it sends for the amendment carries the change itself.
{
"event_type": "restatement.detected",
"cik": "0001069183",
"ticker": "AXON",
"accession_id": "0001069183-25-000075",
"statement_type": "BALANCE_SHEET",
"fiscal_year": 2024,
"fiscal_period": "FY",
"materiality_score": "HIGH",
"summary_metrics": [
{
"metric_code": "total_current_liabilities",
"change_type": "VALUE_REVISION",
"old_value": "997586000",
"new_value": "1677875000",
"delta_value": "680289000"
}
]
}To inspect the same change on demand, call GET /v1/edgar/companies/{cik}/statements/restatement-timeline with statement_type, fiscal_year and fiscal_period, or list both versions with include_restated=true.
What you need
Statement versions and restatement lineage are on every plan, including Free. Restatement webhooks start at Developer (up to 3 subscriptions) and are unlimited from Growth. The reconciliation ledger and summary start at Growth.
Current prices and limits are on the pricing page.
Documentation
Does Arche keep the original figures after a restatement?
Yes. A restatement adds a new statement version and the previous one is never overwritten. Each version carries the filing it came from, and the per-metric deltas between versions are computed.
How do I find out when a company restates?
Poll /v1/edgar/restatement-alerts, or register a webhook from the Developer plan. Arche posts a signed restatement.detected event naming the statement, the version it supersedes and each changed metric with its old value, new value and delta.
What is the difference between as_reported and as_of_date?
as_reported=true returns each period as the filer originally stated it. as_of_date returns what was knowable on a given date, including restatements already filed by then. They answer different questions and can be combined.
Blog
How Arche Handles Financial Restatements
Why Arche records a restatement as a new version instead of replacing the original figures.
Blog
Introducing Arche: Point-in-Time SEC Fundamentals for Developers
The Axon FY2024 amendment, and how Arche keeps both versions of the balance sheet.
Backtesting without look-ahead bias
Backtest on SEC fundamentals as they stood on each rebalance date: as-of queries resolved by SEC acceptance time, restatements kept as versions, delisted companies retained.
AI agents and LLM tool use
Give an AI agent SEC financial statements it can cite: Arche runs an MCP server whose tools call the same routes as the REST API, with accession numbers on every figure. Free plan included.
Fintech and financial applications
A REST API for SEC financial statements to build products on: 81 documented endpoints, a typed Python SDK, decimal-string values, provenance on every figure and published per-organization pricing.