Bird
Raised Fist0
Postmantesting~15 mins

DELETE request in Postman - Build an Automation Script

Choose your learning style10 modes available
Verify DELETE request removes a user
Preconditions (1)
Step 1: Open Postman
Step 2: Set method to DELETE
Step 3: Enter URL https://api.example.com/users/123
Step 4: Click Send
✅ Expected Result: Response status code is 200 or 204, and user with ID 123 no longer exists
Automation Requirements - Postman Tests
Assertions Needed:
Verify response status code is 200 or 204
Verify response body confirms deletion or is empty
Verify subsequent GET request to /users/123 returns 404
Best Practices:
Use environment variables for base URL and user ID
Add tests in Postman Tests tab using pm.* API
Chain requests to verify deletion
Automated Solution
Postman
pm.test('Status code is 200 or 204', function () {
    pm.expect(pm.response.code).to.be.oneOf([200, 204]);
});

pm.test('Response body confirms deletion or is empty', function () {
    const body = pm.response.text();
    pm.expect(body === '' || body.toLowerCase().includes('deleted')).to.be.true;
});

// Add a follow-up GET request in Postman collection runner or use pm.sendRequest
pm.sendRequest({
    url: pm.environment.get('baseUrl') + '/users/' + pm.environment.get('userId'),
    method: 'GET'
}, function (err, res) {
    pm.test('GET after DELETE returns 404', function () {
        pm.expect(res.code).to.eql(404);
    });
});

The first test checks the response status code is either 200 or 204, which are common success codes for DELETE.

The second test verifies the response body is either empty or contains a confirmation message like 'deleted'.

The pm.sendRequest function sends a GET request to the same user endpoint to confirm the user no longer exists, expecting a 404 Not Found status.

Using environment variables for base URL and user ID makes the test reusable and easy to maintain.

Common Mistakes - 3 Pitfalls
Hardcoding URLs instead of using environment variables
Not verifying the user was actually deleted with a follow-up GET request
Assuming response body always contains a confirmation message
Bonus Challenge

Now add data-driven testing with 3 different user IDs to delete

Show Hint

Practice

(1/5)
1. What is the main purpose of a DELETE request in Postman?
easy
A. To update existing data on the server
B. To retrieve data from the server
C. To create new data on the server
D. To remove specific data from the server

Solution

  1. Step 1: Understand HTTP methods

    HTTP methods define actions on server data. DELETE is used to remove data.
  2. Step 2: Match DELETE with its purpose

    DELETE requests specifically remove data, unlike GET (retrieve), POST (create), or PUT (update).
  3. Final Answer:

    To remove specific data from the server -> Option D
  4. Quick Check:

    DELETE = remove data [OK]
Hint: DELETE means remove data from server URL [OK]
Common Mistakes:
  • Confusing DELETE with GET or POST
  • Thinking DELETE creates or updates data
  • Ignoring the URL's role in specifying data to delete
2. Which of the following is the correct syntax for a DELETE request URL in Postman to delete a user with ID 123?
easy
A. DELETE https://api.example.com/users/delete/123
B. DELETE https://api.example.com/users?id=123
C. DELETE https://api.example.com/users/123
D. DELETE https://api.example.com/delete/users/123

Solution

  1. Step 1: Understand RESTful URL conventions

    In REST APIs, the resource ID is usually part of the URL path, not a query parameter for DELETE.
  2. Step 2: Identify the correct URL format

    The correct format is the resource path followed by the ID: /users/123.
  3. Final Answer:

    DELETE https://api.example.com/users/123 -> Option C
  4. Quick Check:

    Resource ID in path = DELETE https://api.example.com/users/123 [OK]
Hint: Use resource path plus ID for DELETE URL [OK]
Common Mistakes:
  • Using query parameters instead of path for ID
  • Adding extra 'delete' in URL path
  • Misplacing the ID before resource name
3. Given this Postman DELETE request code snippet, what will be the expected response status if the deletion is successful?
pm.sendRequest({
  url: 'https://api.example.com/items/45',
  method: 'DELETE'
}, function (err, res) {
  pm.test('Status code is 200 or 204', function () {
    pm.expect(res.code).to.be.oneOf([200, 204]);
  });
});
medium
A. The response status will be 200 OK or 204 No Content
B. The response status will be 500 Internal Server Error
C. The response status will be 201 Created
D. The response status will be 404 Not Found

Solution

  1. Step 1: Understand DELETE success status codes

    Successful DELETE requests usually return 200 (OK) or 204 (No Content).
  2. Step 2: Analyze the test assertion in code

    The test checks if response code is either 200 or 204, confirming success.
  3. Final Answer:

    The response status will be 200 OK or 204 No Content -> Option A
  4. Quick Check:

    DELETE success = 200 or 204 [OK]
Hint: Successful DELETE returns 200 or 204 status [OK]
Common Mistakes:
  • Expecting 201 Created for DELETE
  • Confusing 404 with success
  • Ignoring 204 No Content as valid success
4. You wrote this DELETE request in Postman but it fails with a 400 Bad Request error. What is the most likely mistake?
DELETE https://api.example.com/items
Body: { "id": 10 }
medium
A. DELETE requests cannot have a body in Postman
B. The ID should be in the URL path, not in the request body
C. The HTTP method should be POST instead of DELETE
D. The URL is missing the query parameter for ID

Solution

  1. Step 1: Understand DELETE request conventions

    DELETE requests usually specify the resource ID in the URL path, not in the body.
  2. Step 2: Identify the error cause

    Sending ID in the body causes server to reject request with 400 Bad Request.
  3. Final Answer:

    The ID should be in the URL path, not in the request body -> Option B
  4. Quick Check:

    ID in URL path for DELETE [OK]
Hint: Put ID in URL path, not body, for DELETE requests [OK]
Common Mistakes:
  • Sending ID in request body instead of URL
  • Using wrong HTTP method
  • Adding unnecessary query parameters
5. You want to test deleting multiple items in Postman using DELETE requests. Which approach correctly applies DELETE requests for multiple IDs [101, 102, 103] following REST best practices?
hard
A. Send one DELETE request per ID with URLs: /items/101, /items/102, /items/103
B. Send a single DELETE request to /items with body {"ids": [101,102,103]}
C. Send one DELETE request to /items?id=101,102,103
D. Send a POST request to /items/delete with body {"ids": [101,102,103]}

Solution

  1. Step 1: Review RESTful DELETE usage for multiple resources

    Standard REST APIs usually require one DELETE request per resource ID.
  2. Step 2: Evaluate each option

    Send one DELETE request per ID with URLs: /items/101, /items/102, /items/103 sends separate DELETE requests per ID, which is correct. Send a single DELETE request to /items with body {"ids": [101,102,103]} and C misuse body or query parameters. Send a POST request to /items/delete with body {"ids": [101,102,103]} uses POST incorrectly.
  3. Final Answer:

    Send one DELETE request per ID with URLs: /items/101, /items/102, /items/103 -> Option A
  4. Quick Check:

    One DELETE per resource ID [OK]
Hint: Delete items one by one with separate DELETE URLs [OK]
Common Mistakes:
  • Trying to delete multiple IDs in one DELETE request body
  • Using query parameters incorrectly for multiple IDs
  • Using POST instead of DELETE for deletion
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