Add a bunch of new endpoints and improve the docs