# `POST /data/facts/dimensional-breakdown`

**Purpose:** Return one consolidated fact plus every slice fact it breaks down into. Slice facts are grouped by the set of XBRL axes their dimensions sit on.

**Filing selection:** standard (`filing_id` **or** `ticker` + `fiscal_year` + `form_type` + optional `quarter`).

**Request:**

| Field | Type | Required | Notes |
|-------|------|----------|--------|
| `filing_id` | integer | Conditional | |
| `ticker` | string | Conditional | |
| `form_type` | string | No | Default `10-K`. |
| `fiscal_year` | integer | Conditional | |
| `quarter` | string | No | |
| `fact_id` | string | **Yes** | The `fact_id` of a consolidated fact. |
| `recursive` | boolean | No | Default `true`. When `false`, only the immediate children are returned. |
| `detail` | string | No | Default `"full"`. Full and minimal views only: `"light"` returns the minimal view. See [Response detail](/documents/responses.md#response-detail). |

**Response:**

| Field | Meaning |
|-------|---------|
| `ticker`, `form_type`, `fiscal_year`, `quarter`, `source_url_prefix` | Filing identity. |
| `root` | The fact identified by `fact_id`: `concept`, `value`, `raw_value`, `unit`, `period`, `dimensions`, `is_consolidated_total`, `fact_id`, `source_locator`, plus `restated` and `prior` (as on **[`POST /data/facts`](/documents/post-datafacts.md)**) when an amendment changed it. Slice facts have the same fields. |
| `groups` | Array of `{axes, facts}` entries. `axes` is the sorted list of XBRL axis keys shared by every fact in `facts`; `facts` is the list of slice facts. Sorted by descending fact count, ties broken lexicographically by `axes`. |
| `groups[].facts[].groups` | Present only when `recursive=true` and that slice has slices of its own. Same shape, nested per level. |
| `_warnings` | Optional. |
| `credits_used` | `ceil((1 + N) / 5) × 10`, where `N` is the number of the fact's direct dimensional children. |

**Member granularity within a group:** A single axis may carry both summary members and their detail components. Summary members overlap their detail components, so summing all facts in one group can double-count.

**Credits:** `ceil((1 + N) / 5) × 10`, where `N` is the number of the fact's direct dimensional children. **10 credits are charged** on `DATA_FACT_NOT_FOUND`. A root with no breakdowns returns 200 with `groups: []` and is charged 10 credits.

**Errors:**

| HTTP | `error_code` | When |
|------|----------------|------|
| 400 | `DATA_FILING_QUARTER_REQUIRED` | Ambiguous quarterly filings. |
| 404 | `DATA_FILING_NOT_FOUND` | Filing not found. |
| 404 | `DATA_FACT_NOT_FOUND` | `fact_id` is not present in this filing. **Still charged 10 credits.** |
| 403 | `PLAN_TIER_INSUFFICIENT_HISTORY`, `PLAN_TIER_INSUFFICIENT`, `PLAN_TIER_INSUFFICIENT_COVERAGE` | The filing is outside your plan. Not charged. |
| 402 | `CREDITS_INSUFFICIENT` | Not enough credits. |
| 422 | — | Validation. |

**Example Request:**

```json
{
  "ticker": "AAPL",
  "form_type": "10-K",
  "fiscal_year": 2025,
  "fact_id": "f-78"
}
```

**Example Response (abridged):**

```json
{
  "ticker": "AAPL", "form_type": "10-K",
  "fiscal_year": 2025, "quarter": "FY",
  "source_url_prefix": "...",
  "root": {
    "concept": "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax",
    "fact_id": "f-78",
    "value": 416161000000.0,
    "raw_value": "416,161",
    "unit": "usd",
    "period": "2024-09-29 ~ 2025-09-27",
    "is_consolidated_total": "true",
    "dimensions": []
  },
  "groups": [
    {
      "axes": ["srt_ProductOrServiceAxis"],
      "facts": [
        {"concept": "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax",
         "fact_id": "f-72", "value": 307003000000.0,
         "dimensions": [{"axis": "srt_ProductOrServiceAxis","member": "us-gaap_ProductMember"}]},
        {"fact_id": "f-377", "value": 209586000000.0,
         "dimensions": [{"axis": "srt_ProductOrServiceAxis","member": "aapl_IPhoneMember"}]}
      ]
    },
    {
      "axes": ["srt_ConsolidationItemsAxis","us-gaap_StatementBusinessSegmentsAxis"],
      "facts": [
        {"fact_id": "f-1016", "value": 178353000000.0,
         "dimensions": [
           {"axis":"srt_ConsolidationItemsAxis","member":"us-gaap_OperatingSegmentsMember"},
           {"axis":"us-gaap_StatementBusinessSegmentsAxis","member":"aapl_AmericasSegmentMember"}
         ]}
      ]
    },
    {
      "axes": ["srt_StatementGeographicalAxis"],
      "facts": [
        {"fact_id": "f-1104", "value": 151790000000.0,
         "dimensions": [{"axis":"srt_StatementGeographicalAxis","member":"country_US"}]}
      ]
    }
  ],
  "credits_used": 30
}
```
