I'm running into this scenario as well. I've built a Django application to provide an Acknowledge button for an alert which then calls a custom Python function and passes it to the Solarwinds swisclient using Invoke: swis.invoke('Orion.AlertActive', 'Acknowledge', alert_list, note). But the alert is acknowledged by the API account.
In the case of using the Python SWIS client, is there any method for passing a custom X-SolarWinds-Impersonate header? Or would I need to modify swisclient.py "classSwisClient" and conditionally add the custom header somehow?