Add attribute to device programmatically with attribute tags

We are trying to create a device dynamically, starting with a base recipe and then adding attributes as needed for a final configuration. We use attribute tags for things such as units so need to be able to programmatically create an attribute that has attribute tags. The workflow node Device:update doesn’t seem to support this with the ‘individual fields’ option, so we are using the payload path option. Our payload is as shown below, and we use data.patch as our payload path to the Device:update node.

{
"deviceId": "5ee3d2ca1a9f6d00067f7292",
"patch": {
	"attributes": [{
		"name": "Hopper-Level-1",
		"dataType": "number",
		"description": "West Silo HI Hopper Level",
		"attributeTags": {
			"typeInt": "1",
			"sourceAttribute": "ch0mv",
			"eu": "Level",
			"displayMin": "LO",
			"displayMax": "HI"
			}
		}
		]
	}
}

This works without error, but results in all existing attributes in the device being deleted. Is there somewhere this is specified in the documentation, and how can we add an attribute with tags without wiping out all other attributes already defined. We need this to be bulletproof, can’t have any possibility of attributes being deleted.

Any solution you have is appreciated…