Drupal is a registered trademark of Dries Buytaert
cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)!

jsonapi_frontend_menu

2 sites No security coverage
View on drupal.org

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
4 months 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