Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Articles

09/04/2025, by Ivan

This page shows examples of various GET requests for the JSON:API module.

In all examples below, no request headers are required. No authentication is required if anonymous users can access content entities. For config entities like menu's see last section(s).

Note that in all cases, when an id is needed, it is always the entity's uuid, not the entity id.

09/04/2025, by Ivan

This section contains examples and information per request type: GET, POST, PATCH and DELETE

About the examples

All examples are working examples that you can try either in a browser or a JSON client (for example: Postman). You need a standard Drupal installation, a number of Article nodes and the JSON:API module enabled.

09/04/2025, by Ivan

JSON:API makes it possible to retrieve multiple resources in a single request, these routes are called "collection" routes. One can fetch a collection of resources by sending a GET request to the base resource route, e.g. GET /jsonapi/node/article and not including a UUID. By default, this will include all resources of the specified type.

Filtering and sorting are available by default on all standard resources.

09/04/2025, by Ivan

Pagination can be a deceptively complex topic. It's easy to fall into traps and not follow best-practices. This page will help you do pagination "right". That is, if you read and understand this page, we think your client will be more robust and future-proof and make your life easier down the road.

If you take only one thing away from this guide, it should be that you should not construct your own pagination URLs.

09/04/2025, by Ivan

TL;DR: Use a query string like ?include=field_comments.uid to include all the entities referenced by field_comments and all the entities referenced by uid on those entities!


JSON:API helps you eliminate HTTP requests by allowing you to specify relationship paths which you would like to be included in the response document. How?

09/04/2025, by Ivan

Collections are listings of resources. In a decoupled site, they're what you use to create things like a "New Content" list or "My content" section on the client-side.

However, when you make an unfiltered request to a collection endpoint like /jsonapi/node/article, you'll just get every article that you're allowed to see.