This project is not covered by Drupal’s security advisory policy.
Drupal JSON:API Params
Helper libraries for building Drupal JSON:API query parameters in multiple ecosystems.
These libraries help construct JSON:API query parameters for:
- Filtering
- Sorting
- Sparse fieldsets
- Includes
- Pagination
- Nested filter groups
The goal is to provide a consistent developer experience across multiple programming languages when working with Drupal JSON:API endpoints.
Available Implementations
JavaScript / TypeScript
- GitHub repository:
d34dman/drupal-jsonapi-params - npm package:
drupal-jsonapi-params
Python / FastAPI
- GitHub repository:
VincenzoGambino/drupal-jsonapi-params-python - PyPI package:
drupal-jsonapi-params
Project Structure
This Drupal.org project acts as an umbrella project for the
drupal-jsonapi-params ecosystem.
- Development happens in the language-specific GitHub repositories.
- Package publishing is handled through the respective ecosystems (npm and PyPI).
- Drupal.org is primarily used for discoverability, issue credits, and Drupal ecosystem visibility.
Installation
JavaScript / TypeScript
$ npm install drupal-jsonapi-paramsPython
$ pip install drupal-jsonapi-paramsJavaScript / TypeScript Usage Example
import { DrupalJsonApiParams } from 'drupal-jsonapi-params';
const apiParams = new DrupalJsonApiParams();
apiParams
.addGroup('publish_status', 'OR', 'parent_group')
.addGroup('parent_group', 'AND')
.addFilter('status', '1')
.addFilter('status', '2', '!=', 'publish_status')
.addPageLimit(5)
.addFields('node--article', [
'field_a.id',
'field_b.uid',
'field_c.tid'
])
.addInclude([
'field_a.id',
'field_b.uid',
'field_c.tid'
])
.addSort('id', 'DESC');
const queryString = apiParams.getQueryString();
Supported Features
- Filter generation
- Nested filter groups
- Sorting
- Pagination helpers
- Sparse fieldsets
- Relationship includes
- Query object serialization
- Query string parsing and reconstruction
API Documentation
See the language-specific repositories for complete API documentation and examples:
Drupal JSON:API Documentation
Issue Tracking
For implementation-specific bugs and feature requests, please use the corresponding GitHub repository:
Drupal.org issues may still be used for:
- Drupal contribution credit attribution
- Cross-project discussions
- Umbrella project coordination
Supporting organizations:
Development
Project information
- Ecosystem: Json API (Entities API), Decoupled Drupal
- Created by d34dman on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.

