Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Decoupled Toolbox

11 sites Security covered
View on drupal.org

This module provides a no-code solution for exposing Drupal content as JSON data for consumption by external services. It leverages Drupal's Field UI and view displays to allow site builders to configure which content fields and their display settings are made available through dedicated endpoints. Additionally, it supports various field types and can integrate with other modules to enhance the data exposed.

Introduction

Decoupled Toolbox contains common features for decoupled websites or even any JSON REST API feed.

It makes use of the Field UI and view displays to expose JSON-formatted
content data on a dedicated path.

It is especially useful for scenarios where content is consumed and served by external rendering services.

Important: it helps only when all you need is to pull content from Drupal. There is no mechanism to push content to Drupal (Please consider using other modules in such case.).

What it is really about

Let's say you have properly configured all your nodes, terms, paragraphs, custom entities in your Drupal backoffice.

Now, you want Drupal to serve its content to some service (be it internal or external). This content needs to be somewhat structured for consumption from the other service, usually as JSON (it could be anything else with relevant modules).

To fulfill this requirement, you will usually use GraphQL, JSON:API, or create custom REST resources. All those methods come with their own advantages and difficulties, and among the most prominent of those difficulties is that they require coding or a good technical grasp of the used method.

What this module offers to the site builder is a way to easily expose the relevant data to the other services. It makes extensive use of the Field API, in a way that what you configure in the display view mode management (the page where you set the field formatters) represents what will be included in the endpoints.

By simply building the entities relationships properly, chosing the public names of the fields and how they are rendered by the formatters, you will get endpoints ready to be consumed in a short time without any code involved.

Please check our documentation if you want more detail on what this module offers!

Requirements

This module has been initially developed on Drupal core 8.8+. May not work on older
versions.

Sub-modules requirements are explicitly defined on each of them.

Installation

Install as you would normally install a contributed Drupal module. Visit https://www.drupal.org/docs/8/extending-drupal-8/installing-drupal-8-mod... for further information.

Interactions with other modules

Here is a list of contrib modules this module supports out of the box.

First and foremost, you may need the Field Display Override module to add any entity values even if they do not appear in the manage display page (like title, ID, created date, etc.).

Fields and pseudo-fields

To the programmers: do you want to have more supported field types? Simply check the DecoupledFormatter implementations in the source code. It's easy to add new field types! If it's a contrib module, drop us a note in the issue queue if you want us to reference its Drupal project's home page, or even include it as a submodule.

Filtering results

Tools and helpers

  • Open API: visualize your decoupled endpoints with Open API

Documentation

Read the documentation

Roadmap

We need YOUR help to work on the roadmap !

  • Multilingual support
  • Views implementation - both side, with a Views Field Formatter and new Views REST plugin.
  • Better documentation

And the best, but most complicated part of the roadmap : do the same with Form Display and be able to create custom writing service.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Oct 2024
Latest release
6 months ago
Releases (12 mo)
1
Maintenance
Active

Releases

Version Type Core Release date
2.x-dev Dev 10–11 Feb 26, 2026
1.6.0-rc0 Pre-release 10–11 Oct 29, 2024