How do I revoke ViewerWithLink access using the API?

The IAccessManagement interface has a method GetSessionAccessDetails which returns a SessionAccessDetails object with a UsersWithDirectViewerAccess property. If there are people who have Viewer or ViewerWithLink access, then that property has a array of guid strings.
So there is no way to distinguish between people who have Viewer access and those who have ViewerWithLink access. But - in theory - that should be okay for my use case because there is only one method for revoking user access to a session: RevokeUsersViewerAccessFromSession. This method does not accept an AccessRole parameter, so that implies - to me at least - that the method will work for both the Viewer and ViewerWithLink access roles.
Instead, it fails with the message: No such aclEntry.
Am I doing something wrong / is there a correct way to do this? Is it a bug or gap in the API?
Please let me know,
Jonathan