Yes, they are equivalent. Building this JSON:
and posting it is equivalent to a GET with queryString=fusionauth.io.
Looking at https://github.com/FusionAuth/fusionauth-java-client/blob/master/src/main/java/io/fusionauth/client/FusionAuthClient.java#L3256
It appears there is no way to search using the Java client that uses a GET, only a POST. However, you can still provide the queryString in the JSON and it will be equivalent to the GET request.
Building this JSON:
Is equivalent to queryString=fusionauth.io.
Hope that helps.
I see patchUser here:
I think that's what you want.
You can, however, always full retrieval and a put as a workaround. That is recommended if you are changing an array, unless you want the behavior documented here: https://github.com/FusionAuth/fusionauth-issues/issues/441