# akkru_facts

Single reported numbers (and text facts) from filings, each with its period, unit, dimensions and a link to its place in the filing.

## Actions

| Action | What it does |
|---|---|
| `get` | By name, give line_items (e.g. ["revenue", "net income"]); by id, give fact_ids. For one filing name it with filing_id, or with ticker and fiscal_year; to compare years or companies, give filings instead, one row per filing (by id, each row carries its own fact_ids). A name is matched to the filing's concepts in four levels, L0 to L3, costing 10, 20, 30 or 50 credits per name and per filing; _resolution_level says which level matched. Ids cost 10 credits per 5 ids. A name matches consolidated totals and can return several facts, best first. |
| `breakdown` | Split a consolidated total into its segments, products or regions; give line_item (a name) or fact_id. By id: 10 credits per 5 facts, counting the total and its direct slices; by name: the name's level price plus 10 credits per 5 slices returned. |

## Parameters

| Parameter | Type | Actions | Description |
|---|---|---|---|
| `filing_id` | integer | `get`, `breakdown` | Filing id from akkru_filings action "list". Name the filing with filing_id, or with ticker and fiscal_year, not both. |
| `ticker` | string | `get`, `breakdown` | Company ticker, e.g. "AAPL" (US), "000100" (Korea), "1332" (Japan), "VIRI_F" (Europe), "600519_CN" (China A-share); any symbol the company has traded under. |
| `fiscal_year` | integer | `get`, `breakdown` | Fiscal year of the filing (1990-2100). |
| `form_type` | string | `get`, `breakdown` | Form, default "10-K": "10-K" or "10-Q" for US filers, "20-F" or "40-F" for foreign issuers filing with the SEC. Korean, Japanese, Chinese and European filings use "10-K" for annual and "10-Q" for interim reports. |
| `quarter` | string | `get`, `breakdown` | "FY", "Q1", "Q2", "Q3" or "Q4". Needed only when the fiscal year has several filings of the form; the error then lists the quarters on file. |
| `line_items` | array of string | `get` | Line-item names, e.g. ["revenue", "net income"] (1-50). A name asked twice is charged once. |
| `fact_ids` | array of string | `get` | Fact ids from an earlier result (1-500), charged 10 credits per 5. |
| `filings` | array of object | `get` | Filings to compare (1-25), each {"filing_id": ...} or {"ticker": ..., "fiscal_year": ..., "form_type"?, "quarter"?}; with fact_ids in each row to compare by id. Filings that cannot be returned are listed in failed_filings with their error code and are not charged. |
| `line_item` | string | `breakdown` | The line-item name to split, e.g. "revenue". |
| `fact_id` | string | `breakdown` | The id of the consolidated fact to split. |
| `recursive` | boolean | `breakdown` | true (default): every level of the split; false: only the first level. |
| `detail` | string | `get`, `breakdown` | Response detail: "full" (default) returns the most detail available; "light" leaves out the bulkiest fields, such as breakdown lists; "minimal" returns the values with only what defines them. All three are charged the same. One of `full`, `light`, `minimal`. |

## Examples

```json
{"action": "get", "ticker": "AAPL", "fiscal_year": 2025, "line_items": ["revenue", "net income"]}
```

```json
{"action": "get", "filings": [{"ticker": "AAPL", "fiscal_year": 2025}, {"ticker": "MSFT", "fiscal_year": 2025}], "line_items": ["revenue"]}
```

```json
{"action": "breakdown", "ticker": "AAPL", "fiscal_year": 2025, "line_item": "revenue"}
```
