There are some good ideas in there, but it doesn't really address the hard parts of syncing, such as handling items that were deleted, or arrays of items that changed order.
In other words, an API that is good for syncing needs to communicate what changed, not just the snapshot of the current state.