Bird
Raised Fist0
Postmantesting~5 mins

Send request block in Postman

Choose your learning style10 modes available
Introduction

We use the Send request block to make a call to a web service or API. It helps us check if the service works correctly by sending data and getting a response.

When you want to test if a website or app API returns the right data.
When you need to check if a server accepts your data and responds properly.
When you want to automate sending requests to an API during testing.
When you want to verify the status code and response time of an API.
When you want to test different inputs and see how the API reacts.
Syntax
Postman
pm.sendRequest({
    url: 'https://api.example.com/data',
    method: 'GET',
    header: {
        'Content-Type': 'application/json'
    },
    body: {
        mode: 'raw',
        raw: JSON.stringify({ key: 'value' })
    }
}, function (err, res) {
    // callback code here
});

The pm.sendRequest function sends the HTTP request.

The callback function receives error and response objects to check results.

Examples
Sends a GET request to get user data and prints the JSON response.
Postman
pm.sendRequest({
    url: 'https://api.example.com/users',
    method: 'GET'
}, function (err, res) {
    console.log(res.json());
});
Sends a POST request with JSON data to create a user and prints the status code.
Postman
pm.sendRequest({
    url: 'https://api.example.com/users',
    method: 'POST',
    header: {
        'Content-Type': 'application/json'
    },
    body: {
        mode: 'raw',
        raw: JSON.stringify({ name: 'Alice' })
    }
}, function (err, res) {
    console.log(res.status);
});
Sample Program

This script sends a GET request to a test API that echoes the request. It prints the status code and the response body.

Postman
pm.sendRequest({
    url: 'https://postman-echo.com/get?test=123',
    method: 'GET'
}, function (err, res) {
    if (err) {
        console.log('Request failed:', err);
    } else {
        console.log('Status code:', res.status);
        console.log('Response body:', res.text());
    }
});
OutputSuccess
Important Notes

Always check for errors in the callback to handle failed requests.

Use res.json() to parse JSON responses easily.

Set correct headers like Content-Type when sending data.

Summary

The Send request block lets you call APIs to test their behavior.

You write the request details and handle the response in a callback.

This helps you automate and verify API responses during testing.

Practice

(1/5)
1. What is the main purpose of the Send request block in Postman?
easy
A. To call APIs and test their responses automatically
B. To design the user interface of an application
C. To write database queries
D. To create user accounts in Postman

Solution

  1. Step 1: Understand the role of Send request block

    The Send request block is used to make API calls and check how the API behaves.
  2. Step 2: Compare options with the purpose

    Only To call APIs and test their responses automatically correctly describes calling APIs and testing responses automatically.
  3. Final Answer:

    To call APIs and test their responses automatically -> Option A
  4. Quick Check:

    Send request block = call and test APIs [OK]
Hint: Send request block is for API calls and testing [OK]
Common Mistakes:
  • Confusing Send request with UI design
  • Thinking it writes database queries
  • Assuming it manages user accounts
2. Which of the following is the correct way to send a GET request using the Send request block in Postman scripts?
easy
A. pm.sendRequest({url: 'https://api.example.com', method: 'GET'}, callback);
B. pm.sendRequest('https://api.example.com', 'GET', callback);
C. sendRequest({url: 'https://api.example.com', method: 'GET'});
D. pm.requestSend({url: 'https://api.example.com', method: 'GET'}, callback);

Solution

  1. Step 1: Recall correct syntax for pm.sendRequest

    The correct syntax uses an object with url and method, plus a callback function.
  2. Step 2: Check each option's syntax

    pm.sendRequest({url: 'https://api.example.com', method: 'GET'}, callback); matches the correct syntax: pm.sendRequest({url: ..., method: ...}, callback); others have wrong function names or argument formats.
  3. Final Answer:

    pm.sendRequest({url: 'https://api.example.com', method: 'GET'}, callback); -> Option A
  4. Quick Check:

    pm.sendRequest uses object + callback [OK]
Hint: Use object with url and method in pm.sendRequest [OK]
Common Mistakes:
  • Passing URL and method as separate arguments
  • Using wrong function names like sendRequest or pm.requestSend
  • Omitting the callback function
3. Consider this Postman test script snippet:
pm.sendRequest({
  url: 'https://api.example.com/data',
  method: 'GET'
}, function (err, res) {
  pm.test('Status code is 200', function () {
    pm.expect(res.code).to.eql(200);
  });
});
What will happen when this script runs?
medium
A. The script will throw a syntax error
B. The test will fail because the callback is missing
C. The test will always pass regardless of status code
D. The test will pass if the API returns status 200

Solution

  1. Step 1: Analyze the sendRequest call and callback

    The script sends a GET request and uses a callback to check the response status code.
  2. Step 2: Understand the test assertion

    The test asserts that the response code equals 200, so it passes only if the API returns 200.
  3. Final Answer:

    The test will pass if the API returns status 200 -> Option D
  4. Quick Check:

    Test passes if res.code == 200 [OK]
Hint: Test passes only if response code matches 200 [OK]
Common Mistakes:
  • Thinking callback is missing
  • Assuming syntax error without checking code
  • Believing test passes regardless of response
4. You wrote this Postman script to send a request:
pm.sendRequest({
  url: 'https://api.example.com/users',
  method: 'POST',
  body: {
    mode: 'raw',
    raw: JSON.stringify({name: 'John'})
  }
}, function (err, res) {
  // callback function
});
But the request is not sent. What is the likely problem?
medium
A. Incorrect HTTP method; POST is not allowed
B. Missing callback function to handle the response
C. Body should be sent as form-data, not raw JSON
D. URL is invalid and causes failure

Solution

  1. Step 1: Check the sendRequest syntax

    pm.sendRequest requires a callback function as the second argument to execute the request properly.
  2. Step 2: Identify missing callback

    The script lacks the callback function, so the request is not sent or handled.
  3. Final Answer:

    Missing callback function to handle the response -> Option B
  4. Quick Check:

    sendRequest needs callback to send request [OK]
Hint: Always include callback function in pm.sendRequest [OK]
Common Mistakes:
  • Ignoring the need for callback function
  • Assuming HTTP method is wrong without checking API docs
  • Thinking body format is always wrong
  • Blaming URL without testing it
5. You want to send a POST request with JSON data and verify the response contains a field success set to true. Which Postman script correctly sends the request and tests the response?
hard
A. pm.sendRequest({url: 'https://api.example.com/save', method: 'POST', body: {data: 123}}, function (err, res) { pm.test('Success is true', () => { pm.expect(res.success).to.be.true; }); });
B. pm.sendRequest('https://api.example.com/save', 'POST', {data: 123}, function (err, res) { pm.expect(res.success).to.equal(true); });
C. pm.sendRequest({url: 'https://api.example.com/save', method: 'POST', header: {'Content-Type': 'application/json'}, body: {mode: 'raw', raw: JSON.stringify({data: 123})}}, function (err, res) { pm.test('Success is true', () => { pm.expect(res.json().success).to.be.true; }); });
D. pm.sendRequest({url: 'https://api.example.com/save', method: 'POST', body: {mode: 'formdata', formdata: {data: 123}}}, function (err, res) { pm.test('Success is true', () => { pm.expect(res.json().success).to.be.true; }); });

Solution

  1. Step 1: Check request format for JSON POST

    The correct script sets Content-Type header to application/json and sends body as raw JSON string.
  2. Step 2: Verify response test syntax

    The correct script uses res.json() to parse response and checks success field is true with valid assertion.
  3. Step 3: Compare other options

    The incorrect options use wrong argument formats, miss headers, or send formdata instead of raw JSON.
  4. Final Answer:

    pm.sendRequest({url: 'https://api.example.com/save', method: 'POST', header: {'Content-Type': 'application/json'}, body: {mode: 'raw', raw: JSON.stringify({data: 123})}}, function (err, res) { pm.test('Success is true', () => { pm.expect(res.json().success).to.be.true; }); }); -> Option C
  5. Quick Check:

    JSON POST: header + raw body + res.json().success [OK]
Hint: Set JSON header and use res.json() to test response [OK]
Common Mistakes:
  • Omitting Content-Type header for JSON
  • Sending body as plain object without raw string
  • Using wrong argument order in sendRequest
  • Testing response without parsing JSON
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