I am not sure - but I seem to remember when I was experimenting with similar things that this is a problem with the data you send that is either missing or not in the format that is expected.
I normally always start with getting a piece of data that matches what I want to add/change - and if that normally will show you how the data should look like. The documentation is not always as clear as we could wish...
If the error is not obvious (I doubt as you ask here...) then raise a support case.