Versioning
Arche has two distinct kinds of versioning:
- API versioning, such as
/v1 - data versioning: which filing a statement came from, and point-in-time retrieval
API versioning
The public contract documented here is versioned under /v1.
/v1/edgar/companies:resolve
/v1/edgar/companies/{cik}/statements
/v1/edgar/as-of/{date}/financials/{cik}
Treat an API version change as explicit upgrade work.
Statements by filing
Each SEC filing's statement is kept as filed. When a later filing amends, corrects or restates a period, Arche keeps both: the earlier filing's statement and the later one, each identified by its own filing.
A statement is identified by:
cikstatement_typefiscal_yearfiscal_periodaccession_id— the SEC accession number of the filing
accepted_at orders the filings for a period, and is_restated marks a
statement that restated an earlier filing's figures.
Latest vs as_of
Use a latest-style collection route when you want the most current known state:
GET /v1/edgar/companies/{cik}/statements?statement_type=INCOME_STATEMENT
Use an as_of route when the question is historical:
GET /v1/edgar/as-of/{date}/financials/{cik}
If the answer must reflect what was knowable on a past decision date, default to
as_of retrieval rather than the latest available statement.
Restatements
A restatement adds another filing's statement for the same reporting period.
Use the restatement timeline route to see every filing for a period in order:
GET /v1/edgar/companies/{cik}/statements/restatement-timeline?statement_type=INCOME_STATEMENT&fiscal_year=2023&fiscal_period=FY
That route is the cleanest way to answer:
- when a value changed
- which filing introduced the change
- whether a query result would differ on a different date