Update a software
Update ONE software’s targeting and settings. Targeting is required: set targetMethod to All (every device) or DeviceGroup with a non-empty deviceGroupIds; with DeviceGroup you can also pass excludeDeviceGroupIds to subtract device groups from the targeted set (devices in an excluded group never receive the software). Optional settings: selfService, autoUpdateSoftware, autoUpdatePolicies, automaticInstall, installDuringSetup, the auto-update window, and the patch window of automatic updates (patchWindow). Changing targeting can uninstall the software from devices that lose it. Use simulateSoftwareTargetCount to preview the reach first. This endpoint does NOT accept install scripts, and because targeting is mandatory here it always rewrites it — including excludeDeviceGroupIds, which resets to none when omitted — so to change a script and nothing else, use updateSoftwareScripts instead.