Postman Introduction
Sending your first API requests, organising collections, and using environments for dev, staging and production.
What is Postman?
Postman is the most widely used tool for working with APIs. Developers use it to explore and debug endpoints; QA engineers use it to test them — sending requests, checking responses with test scripts, and running whole collections automatically in CI with Newman.
API testing matters because most business logic lives behind APIs. API tests are much faster and more stable than UI tests, and they catch problems before a front end even exists. (See the test pyramid.)
Installing
Download the desktop app from postman.com, or use Postman in the browser. A free account lets you sync collections and share workspaces with your team.
Anatomy of a request
Every API request has:
| Part | Example |
|---|---|
| Method | GET, POST, PUT, PATCH, DELETE |
| URL | https://jsonplaceholder.typicode.com/posts/1 |
| Query parameters | ?userId=1 (Postman's Params tab) |
| Headers | Content-Type: application/json, Authorization: Bearer … |
| Body | JSON for POST/PUT/PATCH |
And every response has a status code, headers, a body and a response time. If HTTP basics are new to you, read REST API status codes and headers first.
Your first requests
The examples use JSONPlaceholder, a free fake REST API.
GET a resource
GET https://jsonplaceholder.typicode.com/posts/1
Click Send. You'll see 200 OK and:
{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum..."
}
GET with query parameters
GET https://jsonplaceholder.typicode.com/comments?postId=1
POST a new resource — set the Body tab to raw → JSON:
POST https://jsonplaceholder.typicode.com/posts
Content-Type: application/json
{
"title": "Testing with Postman",
"body": "My first POST request",
"userId": 1
}
Response: 201 Created with the new object and "id": 101. (JSONPlaceholder fakes writes — nothing is really saved.)
PUT, PATCH and DELETE
PUT https://jsonplaceholder.typicode.com/posts/1 → replace the whole post
PATCH https://jsonplaceholder.typicode.com/posts/1 → update some fields: { "title": "New title" }
DELETE https://jsonplaceholder.typicode.com/posts/1 → 200 OK
Collections
A collection groups related requests — usually one per API or feature — into folders:
📁 JSONPlaceholder API
📁 Posts
GET List posts
GET Get post by id
POST Create post
PATCH Update post title
DELETE Delete post
📁 Comments
GET Comments for a post
Collections can be shared with the team, documented, exported as JSON, committed to Git and run automatically — they're the unit of API testing in Postman.
Environments
Hard-coding https://jsonplaceholder.typicode.com in every request is a problem when you need to test dev, staging and production. Environments hold variables per target:
| Variable | Dev | Staging |
|---|---|---|
baseUrl |
http://localhost:3000 |
https://staging-api.example.com |
username |
qa-dev |
qa-staging |
Use variables with double curly braces:
GET {{baseUrl}}/posts/1
Select the environment from the top-right dropdown, and the same collection runs against any server. Mark passwords and tokens as secret type so they're masked.
Useful built-in features
- Code (
</>icon) — generates the request as cURL, JavaScript, Python and more. - Console (View → Show Postman Console) — shows the raw request and response, invaluable for debugging.
- History — every request you've sent.
- Import cURL — paste a cURL command copied from browser dev tools to recreate a request instantly.
Sending requests by hand is exploration. Testing starts when Postman checks the responses for you — that's Writing Tests & Scripts.