Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). Varbase Media Header 9.2.1 Minor update available for module varbase_media_header (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

JSON:API Frontend Menu

2 sites No security coverage
View on drupal.org

This module provides a JSON endpoint for decoupled frontends to fetch a ready-to-render menu tree, ensuring only accessible links are returned and optionally providing active trail information. It can also include routing hints for seamless integration with hybrid setups.

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
5
First release
Jan 2026
Latest release
1 month ago
Releases (12 mo)
5 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Release date
1.0.5 Stable Jun 12, 2026
1.0.4 Stable Jun 12, 2026
1.0.3 Stable Jan 4, 2026
1.0.2 Stable Jan 2, 2026
1.0.1 Stable Jan 2, 2026