Bird
Raised Fist0
Postmantesting~15 mins

PUT request in Postman - Build an Automation Script

Choose your learning style10 modes available
Update user information using PUT request
Preconditions (2)
Step 1: Open Postman application
Step 2: Set HTTP method to PUT
Step 3: Enter URL https://api.example.com/users/123
Step 4: In the Body tab, select raw and JSON format
Step 5: Enter JSON payload: {"name": "John Doe", "email": "john.doe@example.com"}
Step 6: Click Send button
✅ Expected Result: Response status code is 200 OK and response body contains updated user information with name 'John Doe' and email 'john.doe@example.com'
Automation Requirements - Postman Test Scripts
Assertions Needed:
Verify response status code is 200
Verify response body contains updated name 'John Doe'
Verify response body contains updated email 'john.doe@example.com'
Best Practices:
Use environment variables for base URL and user ID
Use JSON schema validation for response body
Write clear and concise test assertions
Automated Solution
Postman
pm.test('Status code is 200', function () {
    pm.response.to.have.status(200);
});

const responseJson = pm.response.json();
pm.test('Response has updated name', function () {
    pm.expect(responseJson.name).to.eql('John Doe');
});

pm.test('Response has updated email', function () {
    pm.expect(responseJson.email).to.eql('john.doe@example.com');
});

The first test checks that the HTTP status code returned is 200, which means the update was successful.

Then, the response body is parsed as JSON to access its properties.

Next, two tests verify that the 'name' and 'email' fields in the response match the updated values sent in the PUT request.

This ensures the API correctly updated the user information.

Common Mistakes - 4 Pitfalls
Not setting HTTP method to PUT
{'mistake': 'Sending payload in incorrect format (e.g., form-data instead of raw JSON)', 'why_bad': 'API expects JSON payload; wrong format causes server to reject or ignore data.', 'correct_approach': "Select 'raw' and 'JSON' in the Body tab and send properly formatted JSON."}
Hardcoding URL instead of using environment variables
Not validating response body content
Bonus Challenge

Now add data-driven testing with 3 different user updates using Postman Collection Runner

Show Hint

Practice

(1/5)
1. What is the main purpose of a PUT request in Postman?
easy
A. To update or replace an existing resource on the server
B. To retrieve data from the server
C. To delete a resource from the server
D. To create a new resource without replacing existing data

Solution

  1. Step 1: Understand HTTP methods

    PUT is used to update or replace existing data, unlike GET which retrieves data or DELETE which removes data.
  2. Step 2: Match PUT request purpose

    PUT requires sending the full new data to replace the existing resource, so it updates or replaces it.
  3. Final Answer:

    To update or replace an existing resource on the server -> Option A
  4. Quick Check:

    PUT updates/replaces resource = A [OK]
Hint: PUT replaces full resource data, not partial updates [OK]
Common Mistakes:
  • Confusing PUT with GET or POST
  • Thinking PUT creates new resources only
  • Assuming PUT partially updates data
2. Which of the following is the correct way to set up a PUT request body in Postman to update a user's name to "Alice"?
easy
A. { name = "Alice" }
B. [ "name": "Alice" ]
C. "name": "Alice"
D. { "name": "Alice" }

Solution

  1. Step 1: Identify correct JSON syntax

    JSON objects use curly braces with key-value pairs in double quotes and colon separators.
  2. Step 2: Validate syntax of options

    Only { "name": "Alice" } is valid JSON. The others have syntax errors like using = instead of :, square brackets, or incomplete structure.
  3. Final Answer:

    { "name": "Alice" } -> Option D
  4. Quick Check:

    Valid JSON body = D [OK]
Hint: Use curly braces and double quotes for JSON body [OK]
Common Mistakes:
  • Using square brackets instead of braces
  • Missing quotes around keys or values
  • Using equals sign instead of colon
3. Given this PUT request in Postman to update a product's price:
{
  "id": 101,
  "name": "Coffee Mug",
  "price": 12.99
}
If the server replaces the entire product resource with this data, what will be the product's name after the update?
medium
A. null
B. Original name before update
C. Coffee Mug
D. Error: Missing fields

Solution

  1. Step 1: Understand PUT replaces full resource

    The server replaces the entire product data with the provided JSON, so all fields sent become the new state.
  2. Step 2: Check the name field in the request body

    The name is "Coffee Mug" in the JSON, so after update, the product's name will be "Coffee Mug".
  3. Final Answer:

    Coffee Mug -> Option C
  4. Quick Check:

    PUT replaces resource fully = Coffee Mug [OK]
Hint: PUT replaces all fields sent, so name updates to given value [OK]
Common Mistakes:
  • Assuming PUT only updates changed fields
  • Thinking missing fields stay unchanged
  • Expecting error if some fields are missing
4. You send a PUT request in Postman but receive a 400 Bad Request error. Which of these is the most likely cause?
medium
A. The server does not support PUT requests
B. The request body is missing required fields or has invalid JSON
C. The URL is incorrect but the body is fine
D. The GET method was used instead of PUT

Solution

  1. Step 1: Understand 400 Bad Request meaning

    400 error means the server could not understand the request due to invalid syntax or missing data.
  2. Step 2: Analyze causes for 400 in PUT requests

    Invalid JSON or missing required fields in the body commonly cause 400 errors for PUT requests.
  3. Final Answer:

    The request body is missing required fields or has invalid JSON -> Option B
  4. Quick Check:

    400 error = invalid request body [OK]
Hint: Check JSON syntax and required fields for 400 errors [OK]
Common Mistakes:
  • Confusing 400 with 404 Not Found
  • Assuming server disallows PUT causes 400
  • Mixing up HTTP methods in error cause
5. You want to update a user's profile with a PUT request in Postman. The user has fields: id, name, email, and phone. You only want to change the phone number. What is the best practice to avoid accidentally deleting other fields?
hard
A. Include all fields with current values, changing only the phone number in the PUT body
B. Send only the phone field in the PUT body
C. Use a GET request to update the phone number
D. Send an empty body with the PUT request

Solution

  1. Step 1: Recall PUT replaces entire resource

    PUT replaces the whole resource with the data sent, so missing fields will be removed.
  2. Step 2: Include all fields to preserve data

    To avoid deleting fields, send all current fields with updated phone number in the PUT body.
  3. Final Answer:

    Include all fields with current values, changing only the phone number in the PUT body -> Option A
  4. Quick Check:

    PUT replaces full data, so send all fields [OK]
Hint: Send full resource data in PUT to avoid data loss [OK]
Common Mistakes:
  • Sending partial data with PUT causing data loss
  • Using GET to update data
  • Sending empty body expecting no changes
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard