Drupal is a registered trademark of Dries Buytaert

JSON:API Frontend Menu is an optional add-on for jsonapi_frontend">jsonapi_frontend that exposes a ready-to-render menu tree for decoupled frontends.

Features

  • Menu tree JSON endpoint: nested children structure (no client-side tree building required).
  • Role-aware filtering: only returns links the current Drupal user can access (no “leaky” menu items).
  • Active trail (optional): pass path to mark active and in_active_trail.
  • Hybrid routing hints (optional): per-link resolve output compatible with /jsonapi/resolve
    (includes headless, jsonapi_url/data_url, or drupal_url).
  • Cache-safe defaults: anonymous responses can be cached; authenticated responses are no-store.

Post-Installation

Install and enable the module, then call the endpoint from your frontend:

composer require drupal/jsonapi_frontend_menu
drush en jsonapi_frontend_menu

Examples:

GET /jsonapi/menu/main?_format=json
GET /jsonapi/menu/main?path=/about-us&_format=json

Optional query parameters:

  • path: compute active trail flags for the current page.
  • langcode: forwarded to the resolver for alias/language resolution.
  • min_depth / max_depth: limit returned depth.
  • parent: return a subtree under a specific parent plugin id.
  • resolve=0: skip per-link resolver decoration for maximum performance/caching.

Additional Requirements

Similar projects

  • jsonapi_menu_items: exposes menu links via JSON:API Resources. This module focuses on a turnkey frontend contract: nested tree + optional active trail + optional /jsonapi/resolve style routing hints.

Supporting this Module

Please file issues and patches in the project issue queue. Contributions and co-maintainers are welcome.

Community Documentation

  • jsonapi_frontend project page and documentation
  • Migration guide: see the MIGRATION.md in the project repository

Activity

Total releases
3
First release
Jan 2026
Latest release
1 month ago
Release cadence
1 day
Stability
100% stable

Release Timeline

Releases

Version Type Release date
1.0.3 Stable Jan 4, 2026
1.0.2 Stable Jan 2, 2026
1.0.1 Stable Jan 2, 2026