
SEC Filing Integrity Check: XBRL Footing, Tie-Outs, Revisions
Before a figure from a US 10-K or 10-Q is quoted, re-checks it with exact integer arithmetic on SEC XBRL data: balance sheet identity (including noncontrolling and temporary equity), net income bridge, cash flow to balance sheet cash tie-out with restricted cash and roll-forward, EPS recomputation, every calculation-linkbase relationship the filing declares, and same-period values that a later 10-K/10-Q reports differently (disclosure-rounding differences excluded) plus Item 4.02 non-reliance 8-Ks. Returns per-check PASS, FAIL, NOT_APPLICABLE or INSUFFICIENT_DATA with expected, actual, delta and the smallest line-item set that explains each gap, and the SHA-256 of every SEC document read. No LLM. Limits: non-dimensional facts only (SEC companyfacts omits extension concepts and dimensional data), US GAAP 10-K/10-Q filers, and a revision is reported without a cause. Not legal, accounting, audit or investment advice.
What you get
A research or RAG agent can cite a filing figure with a signed record that the statements foot, tie across statements and were not changed in a later filing, instead of trusting a model's arithmetic.
Call it
Send the JSON body below to https://agents.writerslogic.com/api/v1/filing-integrity-check. An unpaid request answers 402 with the price and how to pay; a request that fails with a 5xx status is not charged.
curl -i -X POST https://agents.writerslogic.com/api/v1/filing-integrity-check \
-H 'content-type: application/json' \
-d '{"ticker":"AAPL","fiscal_year":2025,"period":"FY"}'
Input
| Field | Type | Required | Description |
|---|---|---|---|
ticker | string; length 1..12 | no | Exchange ticker, e.g. AAPL or BRK.B. Give exactly one of ticker or cik. |
cik | string; length 1..10 | no | SEC CIK, digits only. |
accession | string; length 18..20 | no | Accession number of a 10-K or 10-Q, e.g. 0000320193-25-000079. Give this or fiscal_year with period. |
fiscal_year | integer; 2009..2100 | no | Fiscal year of the filing's DocumentFiscalYearFocus. |
period | string; one of "FY", "Q1", "Q2", "Q3" | no | FY selects the 10-K; Q1 to Q3 select 10-Qs (there is no Q4 filing). |
checks | array<string; one of "balance_identity", "net_income_tie_out", "cash_tie_out", "eps_recomputation", "restatement_scan", "calculation_footing">; max 6 items | no | Checks to run; default all six. |
rounding_mode | string; one of "exact", "reported_precision" | no | exact: any nonzero difference fails. reported_precision (default): differences within half a unit of the filing's reporting scale per rounded figure pass and are flagged. |
Example request body
{
"ticker": "AAPL",
"fiscal_year": 2025,
"period": "FY"
}
Result
The response is { "data": ..., "_provenance": ... }. data carries these fields; _provenance is a signed W3C Verifiable Credential with a C2PA-style manifest, checked free at POST /api/v1/verify-provenance.
| Field | Type | Required | Description |
|---|---|---|---|
verdict | string; one of "CLEAN", "ARITHMETIC_FAILURE", "REVISION_FLAGGED", "INCONCLUSIVE" | yes | ARITHMETIC_FAILURE: a footing or tie-out check failed. REVISION_FLAGGED: statements foot but a later 10-K/10-Q reports a primary-statement value of this filing differently, or an Item 4.02 notice followed. CLEAN: all applicable checks passed. INCONCLUSIVE: some check lacked data. |
confidence | number | yes | Share of applicable checks that reached PASS or FAIL, times 0.97. |
summary | string | yes | |
next_step | string | yes | |
at_stake | object | yes | |
filing | object | yes | |
checks | array<object> | yes | |
restatements | array<object> | yes | Same concept and period with different values in two 10-K/10-Q filings, one of them this filing. Disclosure-precision differences are excluded; cause is not determined. |
restatement_summary | object | no | |
non_reliance_notices | array<object> | no | |
non_reliance_scan_from | one of | no | |
footing_coverage | object | no | |
reported_scale_usd | string | no | |
rounding_mode | string | no | |
data_scope | string; one of "companyfacts", "companyconcept" | no | |
not_run | array<object> | yes | |
partial | boolean | yes | |
top_evidence | array<object> | yes | |
source_manifest | array<object> | yes | |
llm | string; one of "not_used" | no | |
disclaimer | string | yes |
Pay and connect
Available through: x402 (USDC on Base), MCP, RapidAPI, Apify.
Machine-readable
- This agent as JSON (schemas, example, OpenAPI operation)
- Free signed sample response
- OpenAPI 3.1 · Catalog · Index of every agent