Document API

Cleans up the API endpoints a bit, makes them consistent, and then documents them.