Decision at Segment about Swagger UI, ReadMe.io, Markdown, Postman, QA, Api, Documentation

Avatar of nzoschke
Engineering Manager at Segment ·
Swagger UISwagger UI
ReadMe.ioReadMe.io
MarkdownMarkdown
PostmanPostman
#QA
#Api
#Documentation

We just launched the Segment Config API (try it out for yourself here) — a set of public REST APIs that enable you to manage your Segment configuration. A public API is only as good as its #documentation. For the API reference doc we are using Postman.

Postman is an “API development environment”. You download the desktop app, and build API requests by URL and payload. Over time you can build up a set of requests and organize them into a “Postman Collection”. You can generalize a collection with “collection variables”. This allows you to parameterize things like username, password and workspace_name so a user can fill their own values in before making an API call. This makes it possible to use Postman for one-off API tasks instead of writing code.

Then you can add Markdown content to the entire collection, a folder of related methods, and/or every API method to explain how the APIs work. You can publish a collection and easily share it with a URL.

This turns Postman from a personal #API utility to full-blown public interactive API documentation. The result is a great looking web page with all the API calls, docs and sample requests and responses in one place. Check out the results here.

Postman’s powers don’t end here. You can automate Postman with “test scripts” and have it periodically run a collection scripts as “monitors”. We now have #QA around all the APIs in public docs to make sure they are always correct

Along the way we tried other techniques for documenting APIs like ReadMe.io or Swagger UI. These required a lot of effort to customize.

Writing and maintaining a Postman collection takes some work, but the resulting documentation site, interactivity and API testing tools are well worth it.

26 upvotes·1 comment·22.5K views
Ian Watson
Ian Watson
·
January 7th 2019 at 9:04am

Thanks for the well written and informative post. I guess I've only just touched the surface of Postman so far.

·
Reply
Avatar of Noah Zoschke

Noah Zoschke

Engineering Manager at Segment