Throw exceptions if the HTTP status code is not 200; add extra docs