Nitpick: if we're going to follow true REST semantics, POST means fully update/overwrite, and PUT means partial update. If you're updating a resource with a POST request, then if the resource has any fields that are not included in the request data, those fields should be deleted from the resource; if you're updating a resource with PUT, any fields that are not included in the request data should remain unmodified.

However, this is just a nitpick; not many people care about the distinction between PUT and POST, and I'm perfectly fine leaving this as-is if it's too difficult to implement the two different behaviors.