Duplicate softwareupdate.enforcement.specific not allowed?

I am attempting to apply the softwareupdate.enforcement.specific declaration on a device. The first time it is processed it is applied successfully.

I then generate a new set of declarations for the device and send a sync command to the device with the new server token. The management.status-subscriptions declaration and the activation.simple declaration are both applied successfully, even though the contain the same content and server token, but a different identifier than the original declarations. For some reason, the softwareupdate.enforcement.specific declaration fails to be applied and the reason is reported as

[kSUCoreErrorDDMInvalidDeclarationFailure] New declaration is a duplicate

The original softwareupdate.enforcement.specific identifier is not included in the new declaration-items response, only the new identifier. I would expect the device to remove the existing declaration and apply the new one, even if it is a duplicate of a declaration no longer specified for the device.

Has anyone else run across this issue?

What device type and OS version are you using?

In general, if all you want to do is update a configuration, just change the configuration payload keys and the ServerToken value (there is no need to change the Identifier and no need to change the activation referencing the configuration).

Duplicate softwareupdate.enforcement.specific not allowed?
 
 
Q