That sounds like a permissions sync issue. Since you're working with the API to elevate rights, have you checked if the changes require a fresh session or a manual cache clear on the jsreport side?
Sometimes the internal store doesn't reflect the new role immediately via the UI even if the API call returns a success. It might be worth trying to re-authenticate the user after the call to see if the admin privileges kick in properly.