Add API docs and OAuthify the endpoints.

I took a stab at appropriate OAuth scopes. Please feel free to suggest an alternate scheme.

:eyeglasses: @kemitche @Deimos 
Yeah, I wanted to do that. Unfortunately, I couldn't find a good way. Usually, I'd just do `docs={}` and it goes away, but because `VBoolean` helpfully has a default description the `{}` doesn't override it. :/