In regards to the Update PUT vs Update POST, with the PUT you can only address a single resource. So while the Update POST maybe idempotent, to accomplish the same thing with a PUT, you would have to issue multiple PUTs to address all of the resources that were updated in the POST.