Filter GET contacts call on custom fields

I want to filter the contacts i get back from the API based on what the value of a custom field is.
I have seen some other posts from a couple years back saying it wasn’t implemented yet but was wondering if it is possible now?

I am trying to use
this.http.get(this.baseURL + '/contacts?optional_properties=custom_fields&filter={"where":{"custom_fields":{"elemMatch":{"id":34,"content":"foobar"}}}}'
or

this.http.get(this.baseURL + '/contacts?optional_properties=custom_fields&custom_fields={"id":34,"content":"foobar"}'

But neither work. I only want contacts where the custom field is set to “foobar”

We do not support arbitrary queries on custom fields through the API due to indexing constraints.

There are ways to do it but it’s not going to be anything native to Keap in your app. I don’t even think you could do it with zapier without custom coding your own zap so it might as well be code you own. Anytime a contact is updated, code could check if a custom field differs from a comparison field. If it does then set a tag or whatever is needed and then copy the field value to the comparison field. If it doesn’t then do nothing. But to do that it would require custom coding.