---
title: "XBRL presentation linkbase tree of a filing"
method: GET
path: "/api/v1/filings/{filing_id}/presentation-tree"
tags: ["Filings"]
---

# XBRL presentation linkbase tree of a filing

`GET /api/v1/filings/{filing_id}/presentation-tree`

## Request

- Base URL: `https://api.hub-equity.com`
- URL: `https://api.hub-equity.com/api/v1/filings/{filing_id}/presentation-tree`
- Auth: HTTP bearer

Returns the **presentation** linkbase of a filing as a nested tree (display ordering of concepts), each node carrying the Hub-Equity concept it feeds (`hub_concept_code`), when it feeds one. Use for forensic / power-user walks: 'show the full tree of the Apple FY24 10-K', 'walk the Cisco income statement nodes'.

Query params :
- `link_role` — XBRL extended link role URI filter (passed as-is).
- `statement` — shortcut : `income_statement` / `balance_sheet` / `cash_flow` / `equity` (core-statement arbitration on the section role, disclosures excluded).

Capped at 200 nodes (deepest dropped first, with a note). DIFFERENT from `/calculation-tree` (the calc linkbase value-path weights, premium).

## Path parameters

- `filing_id` string, required

## Query parameters

- `link_role` string, nullable: XBRL extended link role URI filter. Omit for the full tree.
- `statement` string, nullable: Statement shortcut: income_statement / balance_sheet / cash_flow / equity. Core-statement arbitration on the section role; disclosures (Parenthetical, Details, Tables...) are excluded.

## Response `200`

The presentation tree (or empty + note).

- ApiResponseFilingCalcTreeResult
  - `success` boolean, required
  - `data` FilingCalcTreeResult
    - `filing_id` string, required
    - `link_role` string, nullable
    - `statement` string, nullable
    - `nodes` TreeNode[], required: Root-level nodes. Each node carries its own children recursively.
      - `concept` string, required
      - `label` string, nullable
      - `depth` integer
      - `sort_order` number, nullable
      - `hub_concept_code` string, nullable
      - `parent_concept` string, nullable
      - `children` TreeNode[]
    - `total_node_count` integer, required
    - `truncated` boolean
    - `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

- `404`: Filing not found.
- `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)
