From my experience the read APIs are quite complex, the write APIs can be separated into different APIs.