B1if - Updating a B1 Object

I'm attempting to update a B1 Object (PickLists), but I am currently receiving unexpected results. I was hoping someone could provide some clarification. My question is in regards to how to update an object that contains nested objects.

My scenario is as follows. I receive a REST request containing a JSON payload containing the object information I am targeting for update. I can perform the data transform successfully using Object template 156 (picklists), but my update appears to only effect the "most recent" pickline. i.e. a picklist contaning 2 picklines - 1st request to update first pickline - works as expected, but when the 2nd request comes in to update the 2nd pickline, the 2nd pickline is updated, but now the 1st pickline resets its pick qty to 0.

Ultimately, I think my question is how do you properly update a B1 object that contain nested objects? Using picklists object as an example, here is the template...

If I wanted to update a single pickline in a list of picklists_lines can I provide only the pickline I wish to update while not effecting the other lines? If so what is the key? I was assuming OrderRowID.

...

or, do I need to provide an entry for each picklists_line in the picklist, and provide a entry that is a delta for the pickline I wish to update?

Also, unrelated bonus question. Why do I only receive DocumentLinesBinAllocations results only after a pick has been completed? This seems to be different than the results received from a B1/HANA Service layer response ?