Add a user to server-based MultiTerm termbase

I'm trying to programmatically add a GroupShare user to a server-based MultiTerm termbase - ideally using an API - and assign this user the "Expert" role (or any custom role, for that matter).

I've seen the following question in which the proposed solution is to add the user as an administrator via the GroupShare UI:

https://community.sdl.com/products-solutions/solutions/customer_experience_cloud/language/language-developers/f/57/t/4380

But having added the user via GroupShare and assigned both the "Administrator" and even "Power User" roles (as well as "MultiTerm Guest"), when I download a termbase (as this test user) via the API and then check the access privileges, the user still has only the privileges of a public user.

Furthermore, having looked around in the MultiTerm databases, I can see that for the termbase DB in question there are mtUsers, mtUserRoles and mtRoles tables. I've therefore even tried manually editing the test user's mtUserRoles entry to assign the roleId corresponding to "Expert" but still the retrieved termbase says that this user has read-only access.

Is there any way possible to programmatically assign and later remove the role of "Expert" to and from a user?

In fact, given that I've added "Administrator" and "Power User" roles and the user still has read-only access, is there any way - programmatic or not - to assign a role to a MultiTerm user?