This uses a shared route for all 6 objects, as well as shared
cli and sdk code. Unfortunately, there is not a way to share
such code in openapi.yml, so that part ends up quite verbose.
Eventually, we should add a web interface for this, but it's
best to wait until we refactor the web interfaces for the objects
to consistently use the current postgres web interface.