Bird
Raised Fist0
Postmantesting~15 mins

Bearer token in Postman - Build an Automation Script

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Verify API access with Bearer token authentication
Preconditions (2)
Step 1: Open Postman
Step 2: Create a new GET request to the API endpoint https://api.example.com/data
Step 3: In the Authorization tab, select Bearer Token
Step 4: Enter the valid Bearer token in the token field
Step 5: Send the request
Step 6: Observe the response status and body
✅ Expected Result: The API responds with status 200 OK and returns the expected data in JSON format
Automation Requirements - Postman (using Postman test scripts)
Assertions Needed:
Response status code is 200
Response body contains expected data fields
Best Practices:
Use environment variables to store Bearer token securely
Validate response status and body with clear assertions
Avoid hardcoding tokens in scripts
Automated Solution
Postman
pm.test('Status code is 200', function () {
    pm.response.to.have.status(200);
});

pm.test('Response has expected data field', function () {
    const jsonData = pm.response.json();
    pm.expect(jsonData).to.have.property('data');
});

The first test checks that the response status code is 200, confirming successful authentication and data retrieval.

The second test parses the JSON response and asserts that it contains a property named 'data', which is expected from the API.

Using pm.test and pm.expect ensures clear, readable assertions in Postman scripts.

Common Mistakes - 3 Pitfalls
Hardcoding the Bearer token directly in the request headers
Not verifying the response status code before checking response body
{'mistake': "Using incorrect token type or missing 'Bearer' prefix", 'why_bad': "The API will reject the request if the token is not properly formatted with 'Bearer' prefix.", 'correct_approach': "Use Postman's Bearer Token authorization type which automatically adds the prefix."}
Bonus Challenge

Now add data-driven testing with 3 different Bearer tokens: one valid, one expired, and one invalid

Show Hint

Practice

(1/5)
1. What is the correct way to include a Bearer token in a Postman request header?
easy
A. Add a query parameter named 'token' with the token value
B. Set the Authorization header to 'Bearer <token>'
C. Include the token in the request body as JSON
D. Set a cookie named 'Bearer' with the token value

Solution

  1. Step 1: Understand Bearer token usage in headers

    Bearer tokens are sent in the Authorization header to prove identity.
  2. Step 2: Identify correct header format

    The header must be 'Authorization: Bearer <token>' exactly.
  3. Final Answer:

    Set the Authorization header to 'Bearer <token>' -> Option B
  4. Quick Check:

    Authorization header = Bearer token [OK]
Hint: Always use Authorization header with 'Bearer ' prefix [OK]
Common Mistakes:
  • Putting token in query parameters instead of header
  • Sending token in request body instead of header
  • Using cookie instead of Authorization header
2. Which of the following is the correct syntax to add a Bearer token in Postman headers?
easy
A. "Auth": "Bearer <token>"
B. "Authorization": "Token <token>"
C. "Authorization": "Bearer <token>"
D. "Authorization": "Basic <token>"

Solution

  1. Step 1: Recall correct header key and value format

    The header key must be 'Authorization' and the value must start with 'Bearer '.
  2. Step 2: Match the exact syntax

    Only "Authorization": "Bearer <token>" uses 'Authorization' and 'Bearer <token>' correctly.
  3. Final Answer:

    "Authorization": "Bearer <token>" -> Option C
  4. Quick Check:

    Authorization = Bearer token syntax [OK]
Hint: Remember header key is 'Authorization' and value starts with 'Bearer ' [OK]
Common Mistakes:
  • Using 'Token' instead of 'Bearer' prefix
  • Using 'Auth' instead of 'Authorization' header
  • Confusing 'Basic' auth with Bearer token
3. Given this Postman test script snippet, what will be the value of the Authorization header sent?
pm.request.headers.add({key: 'Authorization', value: `Bearer ${pm.environment.get('token')}`});
medium
A. Authorization: Bearer <token_value_from_environment>
B. Authorization: Token <token_value_from_environment>
C. Authorization: Bearer undefined
D. Authorization: Basic <token_value_from_environment>

Solution

  1. Step 1: Understand the code usage of environment variable

    The code uses pm.environment.get('token') to get the token value from environment variables.
  2. Step 2: Analyze the header value construction

    The header value is 'Bearer ' plus the token value from environment, so it will be 'Bearer <token_value_from_environment>'.
  3. Final Answer:

    Authorization: Bearer <token_value_from_environment> -> Option A
  4. Quick Check:

    Header value = 'Bearer ' + environment token [OK]
Hint: Check environment variable usage inside template literals [OK]
Common Mistakes:
  • Assuming token is 'undefined' if environment variable missing
  • Using 'Token' instead of 'Bearer' prefix
  • Confusing Basic auth with Bearer token
4. You added a Bearer token in Postman but the API returns 401 Unauthorized. What is the most likely mistake?
medium
A. The Authorization header is missing the 'Bearer ' prefix
B. The token is placed in the request body instead of headers
C. The Content-Type header is set to 'application/json'
D. The token is expired or invalid

Solution

  1. Step 1: Check common causes of 401 Unauthorized with Bearer tokens

    401 usually means token is missing, malformed, or invalid/expired.
  2. Step 2: Identify the most likely cause given the token is added

    If the token is added correctly but still 401, it is likely expired or invalid.
  3. Final Answer:

    The token is expired or invalid -> Option D
  4. Quick Check:

    401 Unauthorized often means invalid token [OK]
Hint: Check token validity if 401 despite correct header [OK]
Common Mistakes:
  • Forgetting 'Bearer ' prefix in Authorization header
  • Placing token in body instead of header
  • Assuming Content-Type affects authorization
5. You want to automate testing of an API that requires a Bearer token which expires every hour. Which approach is best to handle this in Postman?
hard
A. Use a Pre-request Script to fetch a new token and set it dynamically before each request
B. Manually update the token in environment variables before each test run
C. Hardcode the token in the Authorization header and ignore expiration
D. Remove the Authorization header to avoid token expiration errors

Solution

  1. Step 1: Understand token expiration and automation needs

    Since the token expires hourly, manual updates are inefficient and error-prone.
  2. Step 2: Choose dynamic token fetching in Pre-request Script

    Using a Pre-request Script to get a fresh token before each request automates the process and avoids failures.
  3. Final Answer:

    Use a Pre-request Script to fetch a new token and set it dynamically before each request -> Option A
  4. Quick Check:

    Automate token refresh with Pre-request Script [OK]
Hint: Automate token refresh with Pre-request Script [OK]
Common Mistakes:
  • Manually updating tokens wastes time and causes errors
  • Hardcoding tokens ignores expiration and causes failures
  • Removing Authorization header breaks authentication