Welcome to the IBM DataPower Playground.

The IBM DataPower Playground is an interactive website that lets you write GatewayScript code and execute it on a cloud hosted DataPower Gateway for learning purposes.

GatewayScript is a new transformation technology for API, Web and Mobile and is available in DataPower as a Processing Policy Action starting from firmware version 7.0. For more information see the documentation.

To get started click on the Samples tab.

The samples on this page are editable and testable, just click the Edit and Test button and follow the instructions on the next page. You will need to return to this section to complete each sample in turn. If you have questions about a specific API, use the API Reference tab for more detailed information on each API.

The first time through a sample you'll most likely want to leave the script untouched. You can come back to the Code tab at any point, make some modifications and retest. When your done editing the code, click the Request tab to continue.


Use this panel to modify attributes of the request. Each sample populates attributes specific to that sample and you can always revert back to the original code and request details by re-clicking the "Edit and Test" button on the Samples tab. Clicking the green Test button below will transmit the request data and script data to DataPower for processing. Typically the script is static and stored on the DataPower encrypted flash and only the request data is required, but in this case we want to make it super easy to test variations to the scripts and therefore the script is transmitted along with the request data. The Log and Response tabs will be populated with the result.

  • X-GS-Fiddle-Rule: {request,response} selects the direction to execute the script from. This is very convenient for testing the response code and reason phrase API
  • X-GS-Fiddle-Service: {mpgw, xmlfw) selects the service type
  • X-GS-Fiddle-Request-URI: {any uri} and X-GS-Fiddle-Backside:{ any URL } control which endpoint will be contacted with the request. Use this if you need a custom responder
  • X-GS-Fiddle-Skip-Backside: {true,false} to skip contacting a backend turning the service into a loopback service
Header Name Header Value


This screen contains the result of executing the input against the script you provided. If an error occurred the Log tab will have further information.


This page contains the DataPower transaction logs specific to the request you just submitted. The logs are grabbed from the DataPower System Log and redisplayed here for convenience.



Credits, Tributes, and Copyrights

The IBM license agreement and any applicable information on the web download page for IBM products refers Licensee to this file for details concerning notices applicable to code included in the products listed ("the Program").

Notwithstanding the terms and conditions of any other agreement Licensee may have with IBM or any of its related or affiliated entities (collectively "IBM"), the third party code identified below is subject to the terms and conditions of the IBM license agreement for the Program and not the license terms that may be contained in the notices below. The notices are provided for informational purposes.

IMPORTANT: IBM does not represent or warrant that the information in this NOTICES file is accurate. Third party websites are independent of IBM and IBM does not represent or warrant that the information on any third party website referenced in this NOTICES file is accurate. IBM disclaims any and all liability for errors and omissions or for any damages accruing from the use of this NOTICES file or its contents, including without limitation URLs or references to any third party websites.

The following modules and associated documentation were derived from works of Joyent, Inc. and other Node contributors: Assert, Buffer, Console, Punycode, Querystring, Url, and Util. The Buffers module and documentation were derived from works of the node-buffers module. The CommonJS API for Modules 1.0 was implemented based the specifications at www.commonjs.org. thirdparty license details