According to their website, “Swagger™ is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services.”
What does it mean? Basically, it’s a specification to describe APIs services that keep updated at the same pace as your server code. The benefits are obvious: first of all, you are always providing up to date documentation; also, you are providing an up to date signatures of your services that could be consumed automatically by other services keeping them sync.
The better part of Swagger is that, besides solving the documentation needs, also solves API sandbox needs to play with the exposed services.
If you want to see a live demo of a api documented with Swagger and a sandbox to play with, you can go here.
If you are in Ruby world, there are a couple of gems to handle the Swagger specification for you here.