Tokens help keep your API requests safe and working. Storing tokens in variables makes it easy to reuse and update them without changing every request.
Token management in variables in Postman
Start learning this pattern below
Jump into concepts and practice - no test required
or
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction
Syntax
Postman
pm.environment.set('token', 'your_token_here'); pm.environment.get('token');
Use pm.environment.set to save a token in environment variables.
Use pm.environment.get to retrieve the token when making requests.
Examples
Postman
pm.environment.set('authToken', 'abc123xyz'); console.log(pm.environment.get('authToken'));
Postman
pm.variables.set('tempToken', 'temp123'); const token = pm.variables.get('tempToken');
Postman
pm.globals.set('globalToken', 'global456'); const token = pm.globals.get('globalToken');
Sample Program
This script saves a token in environment variables, adds it to the request header, and tests that the token is present and valid.
Postman
// 1. Save token after login pm.environment.set('accessToken', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9'); // 2. Use token in Authorization header const token = pm.environment.get('accessToken'); pm.request.headers.add({key: 'Authorization', value: `Bearer ${token}`}); // 3. Check token exists pm.test('Token is set', function () { pm.expect(token).to.not.be.undefined; pm.expect(token).to.be.a('string').and.not.empty; });
Important Notes
Always store tokens in environment or global variables, not hard-coded in requests.
Use environment variables for tokens that change per environment (dev, test, prod).
Clear tokens from variables when they expire or after tests to avoid confusion.
Summary
Tokens keep your API requests authorized and secure.
Store tokens in Postman variables to reuse easily and update quickly.
Use environment variables for tokens that change with environments.
Practice
1. In Postman, why is it useful to store an authentication token in an environment variable?
easy
Solution
Step 1: Understand token reuse in Postman
Storing a token in an environment variable allows multiple requests to access it easily without needing to get a new token each time.Step 2: Evaluate other options
Making the token visible to all users or automatic refresh without scripting is not true by default. Encryption is not automatic either.Final Answer:
To reuse the token across multiple requests without re-authenticating each time -> Option DQuick Check:
Token reuse = B [OK]
Hint: Tokens stored in variables enable reuse across requests [OK]
Common Mistakes:
- Thinking tokens auto-refresh without scripts
- Assuming variables encrypt tokens automatically
- Believing tokens are shared with all users by default
2. Which of the following is the correct way to set a token value to an environment variable in Postman test script?
easy
Solution
Step 1: Identify the current Postman syntax for setting environment variables
The correct method is pm.environment.set('variableName', value) in Postman scripts.Step 2: Check other options for correctness
pm.setEnvironmentVariable is deprecated, direct assignment is invalid, and pm.variables.set sets local variables, not environment variables.Final Answer:
pm.environment.set('token', response.token); -> Option AQuick Check:
Use pm.environment.set() to set env variables [OK]
Hint: Use pm.environment.set('name', value) to set env variables [OK]
Common Mistakes:
- Using deprecated pm.setEnvironmentVariable method
- Trying to assign variables directly like pm.environment.token
- Confusing local and environment variables
3. Given this Postman test script snippet after a login request:
What will be the value of
let jsonData = pm.response.json();
pm.environment.set('authToken', jsonData.token);What will be the value of
{{authToken}} in the next request if the response JSON is {"token": "abc123"}?medium
Solution
Step 1: Extract token from response JSON
The script gets the token value "abc123" from the response JSON using pm.response.json().token.Step 2: Set environment variable 'authToken'
The token value "abc123" is stored in the environment variable 'authToken' using pm.environment.set.Final Answer:
"abc123" -> Option CQuick Check:
Stored token = "abc123" [OK]
Hint: Stored token equals JSON token value from response [OK]
Common Mistakes:
- Assuming variable is undefined if not explicitly declared
- Confusing variable name with function call
- Expecting null instead of actual token string
4. You wrote this test script to save a token:
But the token is not saved. What is the most likely reason?
let jsonData = pm.response.json();
pm.environment.set('token', jsonData.authToken);But the token is not saved. What is the most likely reason?
medium
Solution
Step 1: Check the JSON key used in script
The script tries to access jsonData.authToken, so the response must have that key.Step 2: Verify if the response JSON contains 'authToken'
If the response uses a different key like 'token', jsonData.authToken will be undefined and nothing is saved.Final Answer:
The response JSON does not have a key named 'authToken' -> Option BQuick Check:
Key mismatch causes undefined token [OK]
Hint: Check JSON key names match exactly in script [OK]
Common Mistakes:
- Assuming pm.environment.set is deprecated
- Using pm.variables.set for environment variables
- Believing tokens can't be saved in environment variables
5. You want to automatically refresh an expired token in Postman by chaining requests. Which approach correctly manages the token variable for reuse?
hard
Solution
Step 1: Understand token expiry handling
Tokens expire, so scripts must check expiry and refresh tokens automatically to avoid failures.Step 2: Use pre-request scripts to automate token refresh
Pre-request scripts can check if the token is expired and call the authentication endpoint to get a new token, then update the environment variable.Step 3: Evaluate other options
Manual updates are error-prone, global variables without updates cause failures, and hardcoding tokens is insecure and inflexible.Final Answer:
Use a pre-request script in all requests to check token expiry and request a new token if expired, then update the environment variable -> Option AQuick Check:
Automate token refresh with pre-request scripts [OK]
Hint: Automate token refresh in pre-request scripts [OK]
Common Mistakes:
- Relying on manual token updates
- Using global variables without refresh logic
- Hardcoding tokens in requests
