Everyone is familiar with Postman as being a helpful tool for testing APIs. But people are often surprised when they discover the Postman API Platform’s true depth and wide breadth of capabilities beyond testing. Having been a developer advocate at Postman for nearly six months now, I’m here to share 10 useful tips and tricks I’ve learned along the way that have made me say, “Whoa, that’s awesome!”
If you want to try out these powerful features yourself, check out the corresponding Postman public workspace and fork it into your own Postman environment. And now, drum roll, here are the 10 Postman features everyone should know, linked to collections for you to explore each further:
1. The Postman API
The Postman API allows you to programmatically access data stored in your Postman account. Perform all the classic CRUD operations on your collections, environments, mocks, and more. I think the coolest thing here is the webhooks folder. This is a fairly new feature that allows you to trigger a collection run with an API call to the webhook URL. Requests sent to the webhook URL can also contain your own custom payload, which can be accessed in the collection.
An example GET request to the Postman API searching for the collection this blog post corresponds to.
2. Postman Echo
Postman Echo is a service that we built as a bit of a sanity checker and learning tool. It allows you to test your REST clients and make sample API calls. As the name suggests, the API “echos” back what you sent to it, which is a great way to see what you’re sending to a server without having to analyze backend logs. You can send requests through various protocols (GET, POST, PUT), explore different authentication methods, and play around with different parameters.
A basic GET request to the Postman Echo API. Notice the params in the request are “echoed” back in the response as args.
3. Postman Visualizer
Sample bar chart in the Postman Visualizer. Note that the Chart.js library was imported.
4. Built-in Libraries
The Faker.js library allows you to generate all types of fake data. Here’s a sample request using dynamic variables and the corresponding response.
5. Workflow Control
In a collection with multiple requests, oftentimes it makes sense for the requests to be run in sequential order. Other times, it’s helpful to skip or repeat certain requests. Enter the <a href="https://learning.postman.com/docs/running-collections/building-workflows/">postman.SetNextRequest</a> method. By using conditional logic in the Pre-request or Tests tab, you can programmatically choose exactly which requests run and in what order.
Here you can see that the request called “Second request” has the code postman.setNextRequest(“Fourth request”). When the folder is run in the Postman Runner, the request called “Third request” is skipped.
6. Collaboration Features
Postman used to be a platform where people worked in isolation and tested APIs on their own. With commenting, forking, branching, pull requests, tagging, and more, working together has never been easier. Take advantage of the multiplayer experience with shared workspaces—and make it a group effort.
For easier collaboration, add a comment and tag a teammate so they can see your suggestions.
7. Collection-Level Information
For variables, scripts, and auth credentials that will be reused for multiple requests in a specific folder or collection, Postman makes it easy to follow the DRY (Don’t Repeat Yourself) software development principle. Most users know you can set collection-level variables as well as authentication at the collection level, which get inherited. But a lesser-known feature is the ability to write code in the Pre-request and Tests tabs that will run before and after each request in the collection, respectively.
If the “7. Collection-Level Information” collection is run, both of the tests shown will run for all of the requests in the folder.
8. Monitors for Regression Testing
Monitors are a great way to stay up to date on the health and performance of your APIs. They run through your collections and give you the status of your tests, but they’re really only as good as your tests. By running the same monitor automatically in different environments, you can test against a multitude of scenarios throughout the day. This helps you flag issues early and achieve continuous and automated regression testing. The combination of monitors and environments also allows you to run monitors against different development environments by having an environment for staging and production for example.
Here is a visual representation of two different monitors running the same collection (“Monitors for Regression Testing”), but having different environments. This ensures that our collection will be tested against different values of testInteger without having to modify the collection itself.
9. Built-in GraphQL Support
GraphQL has exploded in popularity in recent years, and Postman is here to support that. Whether it’s supporting GraphQL variables or sending GraphQL queries in the request body as POST requests, Postman has you covered. My personal favorite is the query autocompletion with user-defined GraphQL schemas.
Watch the autocomplete functionality occur because a GraphQL schema was defined.
10. Documentation Pizzaz
Sometimes it’s nice to have a little fun in your documentation! Postman documentation uses the Daring Fireball syntax of Markdown, which allows you to easily add images and gifs to your documentation. Feel free to add a silly gif when appropriate—like Michael Scott raising the roof—or stick to informative gifs (i.e., a gif showing users how to add params in a request).
A gif of the documentation from this collection demonstrating the use of markdown to include headers, bolded text, and a gif.
Postman provides a wide range of functions and features to assist with API development, testing, and collaboration. Here are some commonly used functions in Postman:
Creating and Managing Requests: Postman allows you to create API requests by specifying the request method, URL, headers, parameters, and body. You can manage and organize requests within collections, including creating folders, adding descriptions, and reordering requests.
Request and Response Visualization: Postman provides a user-friendly interface to view and analyze request and response data. It supports syntax highlighting for various data formats such as JSON, XML, and HTML, making it easier to understand and validate the data.
Environment and Variables: Postman allows you to define variables and environments. Variables enable you to store and reuse dynamic values across requests, making them flexible and easy to maintain. Environments provide sets of variables specific to different environments (e.g., development, staging, production).
Pre-request Scripts: Postman enables you to execute scripts before sending API requests using pre-request scripts. These scripts can be used to dynamically generate values, manipulate data, or set variables based on specific conditions.
Collection Runner: The Collection Runner allows you to execute a series of requests in a collection. It enables you to perform data-driven testing by iterating over multiple sets of data or environments. You can configure iterations, delays, and data sources for more comprehensive testing.
Mock Servers: Postman allows you to create mock servers for simulating API responses without a live backend. Mock servers are useful during development, allowing frontend developers to work independently by providing simulated API responses.
Documentation Generation: Postman can automatically generate documentation for your APIs based on your requests and collections. It provides a simple way to share API specifications and details with stakeholders.
Collaboration and Teamwork: Postman offers collaboration features such as sharing collections, collaborating on requests, and commenting on specific requests or collections. It also supports version control integration to manage changes and updates effectively.
Integration and Automation: Postman integrates with various tools and services, including version control systems (e.g., Git), CI/CD platforms (e.g., Jenkins), and API management solutions. It provides options for integrating with these tools to automate API testing and deployment processes.