API spec

Making this pull as a way to start discussion on the design of high-level API interface.

I think these are essentially the minimum set of commands we're thinking of starting with, would you agree/can you think of/downscope anything else?