This project is not covered by Drupal’s security advisory policy.

Experimental module that adds HTTP/2 server push capabilities to JSON:API. Not tested for production use.


This module enables the client to send requests with a serverPush query parameter. The query parameter can be requested with and without a value, i.e. the following queries are both valid:

?fields[node--article]=title&serverPush
?fields[node--article]=title&serverPush=field_tags

The serverPush query parameter MUST NOT be sent with the include parameter. Instead, the serverPush query parameter accepts an identical value to the include parameter. When specified as such, the server will process and push the related resources along with the primary data. The response document will contain a data and included member as if the include parameter were used.

Response documents for requests with a serverPush parameter will only contain resource objects with an empty fieldset. Clients MAY use the fields parameter in accordance with the JSON:API specification. However, the initial response will contain no attributes or relationship fields. The server will transpose the appropriate fields parameter to each resource object's self link.

Clients SHOULD send a GET request for every resource object's self link in a response document.

Clients MUST NOT apply the serverPush query parameter to any URL when following a link in a response document whose top-level self link's href contains the serverPush query parameter.

Supporting organizations: 
Research & development

Project information

  • caution Seeking new maintainer
    The current maintainers are looking for new people to take ownership.
  • Module categories: Decoupled, Performance
  • Ecosystem: JSON:API
  • Created by gabesullice on , updated
  • shield alertThis project is not covered by the security advisory policy.
    Use at your own risk! It may have publicly disclosed vulnerabilities.

Releases