I would like to implement a reliable way of filtering out events from our internal users.
I am familiar with the FAQ on blocking / filtering internal users here https://help.amplitude.com/hc/en-us/articles/360016338212-FAQ-How-to-Block-and-Filter-out-Internal-Users, and previous discussions such as https://community.amplitude.com/building-and-sharing-your-analysis-58/creating-a-behavioral-cohort-via-api-163.
I would like to use a Behavioural Cohort for this rather than a saved segment as I understand that saved segments do not automatically update charts when the segment itself is updated (https://community.amplitude.com/instrumentation-and-data-management-57/how-to-update-charts-upon-saved-segments-update-125)
Our internal users use many devices and browsers, often use incognito type modes on browsers, login to our application with multiple accounts, and mostly work remotely. Manually maintaining a list of Amplitude user ids in this situation would be time consuming and very likely to not exclude all internal events.
I am, however, able to automatically and frequently obtain a list of IP addresses in use by our internal users due to all users logging into another application from all the devices they are using.
The API for creating and updating cohorts only allows specifying user ids and no other properties. This is not useful for many cases since there are no APIs to query user ids by other properties.
Is there a way I can automate maintaining a cohort based on a list of IP addresses?