We tried to accomplish this by updating the user's primary user group in the "xf_user" table, "user_group_id" column. The user group id for registered is 2 and the id for approved is 5. So we updated this entry for the specified user to be 5. (found in table xf_user_group)
When we navigate to the user in the admin panel it correctly shows them in the approved group. But when they user navigates the website they get all kinds of permission errors, and pages/forums they can't access. But if I go via the admin panel, switch that user to another group, then back to approved, there permissions start working again!.
I have tried to compare the database entries for a user that was promoted via my tool, vs a user promoted via the admin panel and I can't find anything, I'm hoping someone would be able to shed some light on this for me!
My goal is to be able to promote all approved members to the approved group via my external app, and not have any permission errors.