Reference Postman requests in scripts
The pm.request object provides access to the data for the request from a script running within it, and enables you to alter parts of its configuration before the request runs.
In a script that runs before the request, pm.request is the request that’s about to run. In a script that runs after the response, it’s the request that has already run.
The scripts where pm.request is available depend on the request type:
- For HTTP requests, it’s available in Pre-request and Post-response scripts.
- For gRPC requests, it’s available in Before invoke and After response scripts, but not in On message scripts.
- For GraphQL requests, it’s available in Before query and After response scripts.
pm.request
Use the pm.request methods in your scripts to access and manipulate collection requests.
See the Postman Collection SDK Request reference for more information.
pm.request.headers.add(header:Header):function
Adds a header with the given name and value for the current request.
pm.request.headers.remove(headerName:String):function
Deletes the request header with the given name.
pm.request.headers.upsert({key: headerName:String, value: headerValue:String}):function
Inserts the given header name and value if the header doesn’t exist. If it exists, the existing header updates with the given value.
Examples
Add a header with the given name and value for the current request:
pm.request properties
The properties available on pm.request depend on the request type.
The following properties are available for more than one request type:
-
pm.request.url:Url- The request’s URL. It’s available for every request type. -
pm.request.auth- The request’s authentication details. It’s available for every request type. -
pm.request.headers:HeaderList- The list of headers for the current request. It’s available for HTTP and GraphQL requests.
HTTP request properties
The following properties are available only in scripts for HTTP requests.
-
pm.request.method:String- The HTTP request’s method. -
pm.request.body:RequestBody- The request body’s data. This object is immutable and can’t be modified from scripts.
gRPC request properties
The following properties are available only in scripts for gRPC requests.
-
pm.request.methodPath- The package, service, and method name inpackageName.serviceName.methodNameformat. -
pm.request.metadata- The list of metadata sent with the request. An individual metadata item is an object containing thekeyandvalueproperties. For example,PropertyList<{ key: string, value: string }>. -
pm.request.messages- The list of outgoing messages. An individual message is aPropertyListobject with the following properties:data- The contents of the sent message.timestamp- The time the message was sent, represented as aDateobject.
For requests with unary and server streaming methods,
pm.request.messagescontains only one message at index0, which can be accessed aspm.request.messages.idx(0).
For gRPC requests, request mutation isn’t supported in the pm object.
GraphQL request properties
The following properties are available only in scripts for GraphQL requests.
-
pm.request.query:String- The GraphQL query the request sends. -
pm.request.variables:String- The GraphQL variables the request sends with the query. These are separate from Postman variables.