Drupal is a registered trademark of Dries Buytaert
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)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

rest_menu_items

1,786 sites Security covered
View on drupal.org

Overview

REST Menu Items provides a REST endpoint to retrieve menu items by menu name.

Request for example https://example.com/api/menu_items/main?_format=json to get the full menu tree of the main menu as JSON.

This module is useful for decoupled and headless Drupal architectures where a JavaScript front end needs access to Drupal menu structures via a web service.

Features

  • REST endpoint for any Drupal menu: /api/menu_items/{menu_name}
  • Control output depth with max_depth and min_depth query parameters
  • Configurable output values (title, URI, alias, UUID, weight, etc.)
  • Restrict which menus are exposed via the configuration form
  • Supports JSON, HAL+JSON, and XML formats
  • Two alter hooks for customizing the output:
    • hook_rest_menu_items_resource_manipulators_alter — modify menu tree manipulators
    • hook_rest_menu_items_output_alter — modify the output array

Documentation

Questions or feature requests?

If you have any questions or feature requests, please don't hesitate to add them to the issue queue.

🤖 Assisted Development

This module is maintained with the help of AI assistants for code generation, review, testing, and documentation. All code is carefully reviewed by the maintainers to ensure that quality and security standards are met.

Activity

Total releases
2
First release
May 2025
Latest release
2 months ago
Release cadence
254 days
Stability
100% stable

Releases

Version Type Release date
3.0.6 Stable Feb 7, 2026
3.0.5 Stable May 29, 2025