I liked swagger a lot, but could never get it working with my API because it's too opinionated. From the little I tried to do, there was no way at all to tell it to document the API the way I had designed it, rather than the way it thought APIs should be designed.
Reminds me of IO/Docs which I use actively for my own application. I like the ability to "try it yourself" though a mix of it with "here is the default response if it works, here is the response if it fails" is better for POST/PUT/DELETE routes.
Their developer documentation is kind of tricky to figure out though.