---
title: "Compute a hub value via roll-up (sum of components) for one period"
method: GET
path: "/api/v1/entities/{entity_id}/roll-up/{hub_concept_code}"
tags: ["Entities"]
---

# Compute a hub value via roll-up (sum of components) for one period

`GET /api/v1/entities/{entity_id}/roll-up/{hub_concept_code}`

## Request

- Base URL: `https://api.hub-equity.com`
- URL: `https://api.hub-equity.com/api/v1/entities/{entity_id}/roll-up/{hub_concept_code}`
- Auth: HTTP bearer

Computes a figure for one period from the components the issuer reported, when the figure itself is not tagged. Returns the computed value with its source filing.

Always returns 200 with a result (value may be null when no leaf is materialized for the period).

**Premium layer**: the breakdown (`algorithm` + signed `contributions`) is returned only with the `facts.premium` scope. Other callers get the computed value + source with `algorithm=unknown`, `contributions=[]`, and a note.

## Path parameters

- `entity_id` string, required
- `hub_concept_code` string, required

## Query parameters

- `fiscal_year` integer, required: Fiscal year (e.g. 2024).
- `fiscal_period_type` string: FY (default, annual), Q1-Q4, or H1/H2.

## Response `200`

The rolled-up value + (premium) rule breakdown.

- ApiResponseRollUpResult
  - `success` boolean, required
  - `data` RollUpResult
    - `parent_code` string, required
    - `parent_label` string, nullable
    - `fiscal_year` integer, required
    - `fiscal_period_type` string, required
    - `value` number, nullable
    - `currency` string, nullable
    - `algorithm` string, required: How the value was obtained for this entity, on a paid plan: tagged, equivalent_concept or sum_of_components ('unknown' otherwise).
    - `contributions` LeafContribution[]
      - `hub_code` string, required
      - `label` string, nullable
      - `sign` string
      - `value` number, nullable
      - `currency` string, nullable
    - `source` Source: Filing source for a fact (always attached so the LLM can cite). `anchor` says what kind of number this is: `tagged` (read off one tag of the issuer) or `derived` (computed by Hub-Equity from several tags, so no single place in the document holds it, by construction). `fact_url` opens the issuer's own document AT the tagged number (the iXBRL element id, resolved in the filing that SERVES the value, which is not always the filing of that fiscal year); it is served by `get_fact` and on the parent of `get_fact_decomposition`, and left empty by `get_metric_history`, whose points carry `anchor` only: one `get_fact` call gives the deep link of the point to cite.
      - `filing_id` string, required
      - `form_type` string, nullable
      - `filing_date` string, nullable
      - `period_end` string, nullable
      - `viewer_url` string, required: Hub-Equity deep link to the filing
      - `external_url` string, nullable: Original filing URL (e.g. SEC EDGAR viewer) when available
      - `anchor` 'tagged' | 'derived', nullable: tagged = the value is one tag of the issuer's document; derived = computed by Hub-Equity from several tags, no single anchor exists by construction
      - `fact_url` string, nullable: The issuer's document opened AT the tagged number (iXBRL viewer anchored on the fact id), served by get_fact and the decomposition parent when the id resolved in the serving filing; empty on history points: call get_fact for the year to cite
    - `notes` string[]
  - `error` ApiError: API error details.
    - `code` string, required
    - `message` string, required
    - `details` object, nullable
  - `meta` ApiMeta: API response metadata. Pagination fields (``page`` / ``per_page`` / ``total``) are populated on collection endpoints only. They are omitted from the payload on single-resource endpoints.
    - `timestamp` string, date-time
    - `request_id` string, nullable
    - `page` integer, nullable
    - `per_page` integer, nullable
    - `total` integer, nullable
  - `links` ApiLinks: HATEOAS-style pagination cursors. Host-relative path + query links for a collection page. Present on collection endpoints, ``null`` fields where a page doesn't exist (``next`` on the last page, ``prev`` on the first). The whole ``links`` object is omitted from single-resource responses (see ``ApiResponse`` serializer).
    - `self` string, nullable
    - `first` string, nullable
    - `prev` string, nullable
    - `next` string, nullable
    - `last` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/hub-equity/apis/hub-equity-api.md) · [All operations](https://skmtc.dev/hub-equity/apis/hub-equity-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hub-equity/apis/hub-equity-api/revisions/e8eeda5dc13e?raw)
