document user api service.

**not ready for review yet**

`PUT`s are meant to be idempotent. Use sphinxcontrib-httpdomain==1.2.0 to document it in sphinx.