Write pre-request scripts to add dynamic behavior in Postman

You can use pre-request scripts in Postman to run JavaScript before a request runs. By including code in the Pre-request tab for a request, collection, or folder, you can carry out pre-processing such as setting variable values, parameters, headers, and body data. You can also use pre-request scripts for debugging code, for example by logging output to the Postman Console.

Pre-request scripting example

The following is an example of using pre-request scripts:

  • You have a series of requests in a collection and are running them in a sequence, such as when using the Collection Runner.
  • The second request is dependent on a value returned from the first request.
  • The value needs to be processed before you pass it to the second request.
  • The first request sets the data value from a response field to a variable in its post-response script.
  • The second request retrieves the value and processes it in its pre-request script, then sets the processed value to a variable (which is referenced in the second request, for example, in its parameters).

Scripting before your request runs

To include code you want to run before Postman sends a request, do the following:

  1. Select Collections in the sidebar.

  2. Open the request, then select the Scripts tab.

  3. Select the Pre-request tab.

  4. Enter the JavaScript you need to process before the request runs, then select Save icon Save.

  5. Select Send to send the request. The code will run before Postman sends the request to the API.

    Pre-Request Code

Add documentation to pre-request scripts

Postman supports JSDoc for documenting JavaScript functions in your pre-request scripts. Documentation added to your functions using JSDoc will display in a popup window when you call your functions. You can use the official JSDoc documentation to learn how to add documentation to your pre-request scripts.

The following example has documentation for the logger function using JSDoc. The documentation explains what the function does, and defines what the data parameter is used for and that it accepts a string data type.

/**
 * This function prints a string to the Postman Console.
 * @param {string} data - The text to print to the Postman Console.
 */
function logger (data) {
    console.log(`Logging information to the console, ${data}`)
}

Reuse pre-request scripts

You can add pre-request scripts to entire collections and folders within collections. In both cases, your pre-request script will run before every request in the collection or direct child request in the folder. This enables you to define commonly used pre-processing or debugging steps you need to run for multiple requests.

You can define a pre-request script when you first create a collection or folder, or at any time after that.

You can also store pre-request scripts in the Package Library. This enables you to maintain commonly used scripts in a single location, share them with your team, and reuse them in your workspaces.

To add pre-request scripts to a collection or folder, do the following:

  1. Select Collections in the sidebar.
  2. Select a collection or folder.
  3. Select the Scripts tab.
  4. Select the Pre-request tab. Enter code that will run before every request in the collection or direct child request in the folder.
  5. Select Save icon Save.

Next steps

After learning the basics of writing pre-request scripts, you can extend your scripts:

Last modified: 2024/05/07