A Menu Tree returns a hierarchical collection of records — navigation menus, category trees, support article hierarchies, anything with a parent/child structure. Manage your trees in the API Builder section of the admin app.Documentation Index
Fetch the complete documentation index at: https://docs.frontic.com/llms.txt
Use this file to discover all available pages before exploring further.


How it works
A Menu Tree has two sides: how records connect into a hierarchy, and what each node looks like when it comes back.Structure
A Menu Tree reads records from a Data Storage and assembles them into a tree using two default fields:parentKey— links each record to its parent node.position— numeric sort order among siblings. Always present on storages used by a Menu Tree.
Node shape
One Detail Block defines the node shape for the whole tree. Every record returned — the root, every child, every grandchild, all the way down to the leaves — is rendered through that same block, so the payload stays consistent at any depth. On top of that, Frontic attaches a single tree-level property,$items, to each node to carry its subtree. Everything else on a node comes straight from the block you picked.
Menu Trees don’t hold their own data — they read records from a Data Storage and render each node through a Detail Block. Make sure the block you want to serve already exists and is connected to the storage before creating a tree.
Create a tree
Head to the API Builder and click Add Tree.

Shop Menu, Footer Navigation, Support Links. Frontic derives the endpoint slug (e.g. shop/menu) and the SDK type name from this value, so the name is permanent. Click Continue to land in the tree builder, where you pick:
- Storage — which Data Storage the nodes come from
- Node block — the Detail Block that shapes each node’s response
Fetch a tree
- Client SDK
- Nuxt Module
Parameters
Optional starting point. When provided,
items contains a single entry — the node with this key, plus its descendants. Without a key, items contains every root-level node (records with no parent).Optional level limit. Controls how many levels of
$items are included in the response.Response
items always contains every root-level node (records with no parent). When you call with a key, items still contains a list — but with just that single matching node — kept as an array for shape consistency.
Each node’s shape (beyond key and $items) is defined by the Detail Block you selected. In this example, the block carries a Route field named link that resolves to each node’s Page URL in the caller’s locale and region.
API Playground
Preview — the API Playground is in early access. It runs against your live backend today, but the UI and feature set are still settling before general availability. Reach out if you want to try it.
key, set a depth, choose a domain for context resolution, and hit Send — the resolved subtree appears side by side with your request.

Limits
A single Menu Tree response is capped at 250 nodes total. Frontic resolves the tree level by level — if an entire level doesn’t fit within the remaining budget, the whole level is omitted (partial levels are never returned) and a warning is included in the response header. For large hierarchies, pass akey and depth to fetch the subtree you actually need instead of the whole structure.
Related
Detail Blocks
Shape each node’s response.
Data Storages
Where tree records live, with
parentKey and position as default fields.Page URLs
The link target each menu node points at via the Route field.
