# Rebuild a historical view

Use this workflow when you need to answer a concrete historical question such as: what did this company statement look like on a particular date?

## Goal

Example question:

> What income statement for Apple was knowable on 2024-01-01?

## Resolve the issuer

Start with the canonical company record.

```http
GET /v1/edgar/companies:resolve?ticker=AAPL
```

Persist the returned `cik`.

## Inspect statement history

List statements for the issuer and filter the reporting shape you care about.

```http
GET /v1/edgar/companies/{cik}/statements?statement_type=INCOME_STATEMENT&page=1&page_size=10
```

If you need explicit change history for a reporting period, inspect the restatement timeline:

```http
GET /v1/edgar/companies/{cik}/statements/restatement-timeline?statement_type=INCOME_STATEMENT&fiscal_year=2023&fiscal_period=FY
```

## Reconstruct the historical snapshot

Anchor the query to the historical boundary directly.

```http
GET /v1/edgar/as-of/2024-01-01/financials/{cik}
```

That response is the cleanest reconstruction of what was knowable on that date.

> **Warning:** Do not reconstruct the historical answer by taking the latest response today and filtering it in
> application code. The request itself must encode the historical boundary.

## Next steps

- [Restatement drift](https://docs.arche.fi/guides/restatement-drift): Show how restatements change historical results when data is not queried point-in-time.
- [Point-in-time research](https://docs.arche.fi/guides/point-in-time-research): Build research workflows that preserve historical knowability and reproducibility.
- [Company resolution and statement retrieval](https://docs.arche.fi/guides/company-resolution-and-statement-retrieval): Resolve an issuer, fetch statements, and move from identifier lookup into analysis.
