Pushing rochester changes from REST API to clients

I have an openfire 4.4.3 attached to a very large active directory (25000+ users) for auth. I don’t have any AD groups because it’s not my AD server and I’m not an administrator. What I want to do is to create a common roster for everybody that gets pushed to their Pidgin clients.

I tested this by manipulating a test user’s roster in the admin console. Worked great. I create a new roster entry, and it shows up in the client within a few seconds.

Next, I tried creating users with the REST AP. That SEEMED to work. It creates the right entries in ofRoster and ofRosterGroups. But unlike when I added users to the console, these don’t seem to ever get pushed to the client unless I either delete blist.xml or delete the user from the client then add it back.

I did some tests where I manually sent and was able to confirm the behavior. Openfire sends the roster but only items added through the console, not those added through the Rest API.

I tried going into the console and clearing all caches. Didn’t change.

Is something different or incomplete about the /users/xxx/roster service through the API? Is there some other step I’m missing?