I build mine on top of Grape[0] and use Swagger[1] to do a lot of the heavy lifting (also provides a web-based console); I can convert the generated Swagger docs to markdown too.
Thanks to this I have an up-to-date documentation ready at every build. It comes with nice sample data in both XML and JSON, descriptions of all the parameters/output including constraints, etc.