Postman the product#
Postman is an “API platform” – admittedly not a very useful or specific description – with many different products that can help you design, build, test, and iterate on your APIs. You can think of it as a development environment for APIs. We’ll go over a few of Postman’s products and features here, but you get more depth if you want it from their site here.
API Client#
This was the product that got me the most excited when I first stumbled upon Postman. cURL was a great command line tool, but it was a bit intimidating to use and difficult to parse the output. With Postman’s client you can explore, debug, and test API requests for HTTP, REST, SOAP, GraphQL, and even WebSockets. Everything is formatted in a way that is very easy to read and there is built in support for authentication. It’s a much nicer experience than writing cURL requests in the terminal, to say the least.
With Postman Collections you can save your API requests for reuse and share them with your teammates. When I would build simple internal tools with my team, it was great being able to use the API Client to easily interact with different APIs. I could store my credentials and settings rather than always having to remember them when using the command line. The Postman UI also helped me understand what parameters were available to me, plus it has autocomplete for the request headers and body.
API Documentation#
Documentation is one of the first resources developers look at when they’re working with a new API (obviously), but writing that documentation is usually a low priority on a developer’s to-do list.
For example, when I was working at GitHub there was a query param in one of our APIs, ?w=1, that ignores white space in a diff view. It existed since 2011, but was never documented and it wasn’t until 2018 that it was finally turned into a button. If you are designing your API with the OpenAPI specification, Postman will automatically create documentation for you, making it that much easier to keep your documentation as up to date as possible.
API Builder#
Postman isn’t just for using APIs that others have built – it also has functionality for helping you build and design your own. The schema editor will validate your specifications with its built-in linting engine (basically, code spell check) and the API Builder will allow you to manage the lifecycle from creation to deployment by helping you with versioning, testing, and developing.
API Testing#
Part of building APIs is testing APIs, and making sure that requests return what they’re expected to, edge cases are properly handled, etc. Postman makes it easy to test your APIs and integrate those tests into your CI/CD pipeline with their Newman command line Collection Runner.
API Network and permissions#
As your company gets larger, who has access to what API starts to become a whole thing. Postman lets you granularly allocate permissions based on who the user is. You can give only employees access to your private network, foster a community with your public network, and soon Postman will allow you to give access to specific APIs to external partners.
Further Reading#
- Postman created a sweet graphic novel that’s worth a read
- The explore section of their site is a giant (interesting) public listing of APIs across the web