Your First GET Request
Enough theory — let's send something. This lesson walks through building your very first request
in Postman: a plain GET against the RecipeBox
/recipes endpoint, reading what comes back, and then narrowing the result down with a
query parameter.
Step 1: Create a New Request
- In Postman, click the + tab (or "New" → "HTTP Request") to open a blank request tab.
- Leave the method dropdown on GET — it's the default, and it's what we want here.
- Click into the URL bar and type:
GET https://api.recipebox.example.com/recipes
Click Send.
Step 2: Read the Response
The response panel below the request fills in with three things worth checking every single time, before you even look at the body:
- Status: 200 OK — the request succeeded.
- Time: something like
84 ms— how long the round trip took. - Size: the response payload size.
Then the body itself — since /recipes with no ID returns the whole list, the body
is a JSON array of recipe objects, not a single object like the earlier examples:
// Response — 200 OK
[
{
"id": 1,
"title": "Masala Chai",
"category": "Beverage",
"prepMinutes": 10,
"isPublished": true
},
{
"id": 2,
"title": "Paneer Butter Masala",
"category": "Dinner",
"prepMinutes": 20,
"isPublished": true
},
{
"id": 3,
"title": "Vegetable Biryani",
"category": "Dinner",
"prepMinutes": 45,
"isPublished": false
}
]
id: 3, Vegetable Biryani, has
"isPublished": false. A real RecipeBox API would
likely hide unpublished recipes from a public listing entirely, or only show them to the recipe's
own author. If you ever see a draft recipe show up in a listing it shouldn't, that's exactly the
kind of thing API testing catches that a UI test might not, since the mobile app's list screen
might visually filter it out even though the raw API response leaked it.Step 3: Narrow the Results with a Query Parameter
Now let's ask for only the Dinner recipes. You could type ?category=Dinner directly onto the end of the URL, but Postman gives you a friendlier way through the Params tab:
- Click the Params tab, just below the URL bar.
- In the empty row, type
categoryunder the Key column. - Type
Dinnerunder the Value column. - Watch the URL bar — Postman automatically updates it to:
GET https://api.recipebox.example.com/recipes?category=Dinner
Click Send again.
The response is now filtered down to just the recipes whose category is
"Dinner":
// Response — 200 OK
[
{
"id": 2,
"title": "Paneer Butter Masala",
"category": "Dinner",
"prepMinutes": 20,
"isPublished": true
},
{
"id": 3,
"title": "Vegetable Biryani",
"category": "Dinner",
"prepMinutes": 45,
"isPublished": false
}
]
Worth trying yourself: what happens if you send ?category=Lunch
and no recipe has that category — do you get an empty array [] with
200, or does the API respond with
404? Both are defensible designs, but only one matches what
this particular API's documentation promises — and that's exactly the kind of question a good
tester asks rather than assumes.