There is no way to send an event to a single device, hence you neednot (mustnot) add device_ID
You only have PUBLIC/ALL_DEVICES or PRIVATE/MY_DEVICES for Particle.publish()/Particle.subscribe().
In the early Spark Core days a per device even was “intended” but it never got implemented and then ditched entirely.
If you only want one of your devices to react to an event you need to go for a unique event name prefix (e.g. device name or device ID) in your Particle.subscribe() call.
That would be a nice feature, I use it to test Integrations but in order to work I have to choose “Any Device”. It saves me time from uploading code to a device and using Particle.publish
Particle provides the capability to limit the source of a triggering even to a particular device but the response would be sent to all your devices spamming all the ones that cannot be the source after all.
Theoretically you could have multiple integrations listening to the same event but filtered via the source device, so you would logically also want the response to only be delivered to the source of the original - actually triggering - event.
On device you can register the event handler with System.deviceID() as a prefix. Then you can publish to that device (and only that device!) by including it in the start of your events.
Sure, there ara "workarounds" like having a webhook listen for e.g. "deviceEvent_" where the device sends an event with "deviceEvent_" + System.deviceID() and subscribes to "hook-response/deviceEvent_" + System.deviceID()but where is then the use of the webhook filter field for a specific device?
The same would then be achievable (and less confusing) when the webhook was already listening for the fully qualified event (with the option to drop the per device filter entirely as ANY would be the one-fits-all solution), wouldn't it?