# Access in-meeting user information After you join a meeting, use `ZoomToolSuiteAPI.Meeting.MeetingAPI` to read participant lists, `ZoomToolSuiteAPI.Meeting.Participants` to resolve a user by ID or role, and `ZoomToolSuiteEventListenerProtocol` - your initSDK listener - for roster changes. ## Join a meeting, leave a meeting, or change status When users join, leave, or change status in a meeting or webinar, implement `onUserStatusChanged` on the same object you pass to `initSDK`. Inspect userList for current `ZoomToolSuiteUser` entries. `actionType` indicates add, leave, sync, and other actions by `ZoomToolSuiteUserAction`. ```swift extension MyEventListener: ZoomToolSuiteEventListenerProtocol { func onUserStatusChanged( _ errorCode: ZoomToolSuiteErrors, actionType: ZoomToolSuiteUserAction, userList: [ZoomToolSuiteUser] ) { for user in userList { let _ = user.iUserID let _ = user.strUserName } } } ``` ## Get participant information To get the current participants' information in a meeting, use `getParticipantsList`. In a webinar, get this information by using the `getAttendeeList`. ```swift let participants = ZoomToolSuiteAPI.Meeting.MeetingAPI.getParticipantsList() for user in participants { let _ = user.iUserID let _ = user.strUserName } let attendees = ZoomToolSuiteAPI.Meeting.MeetingAPI.getAttendeeList() // webinar-style attendee list when applicable ``` ## Look up a specific user Get the current user by using `getMySelf`. To find another specific user, pass their `userID` to `getUserByUserID`. ```swift let me = ZoomToolSuiteAPI.Meeting.Participants.getMySelf() let other = ZoomToolSuiteAPI.Meeting.Participants.getUserByUserID(12345, meetingType: .default) ``` ### View the user's meeting or webinar role Meeting and webinar roles use one of these values under `ZoomToolSuiteUserRole`. - `ZoomToolSuiteUserRoleNone` - No role has been assigned. - `ZoomToolSuiteUserRoleHost` - The host of the current meeting or webinar. - `ZoomToolSuiteUserRoleCoHost` - A co-host of the current meeting or webinar. - `ZoomToolSuiteUserRoleAttendee` - An attendee of the current meeting or webinar. - `ZoomToolSuiteUserRolePanelist` - A panelist in the current meeting or webinar. - `ZoomToolSuiteUserRoleBreakoutRoomModerator` - The breakout room moderator. ### Get the user's role in the current meeting To check a user's current role, use `getUserRoleByUserID`. ```swift ZoomToolSuiteAPI.Meeting.Participants.getUserRoleByUserID(userID: 12345) { result in if result.error_code == .success { let role = result.role } } ``` ### Determine whether a given user is the current user To check if a user is the current user, use the `bMyself` boolean. ```swift let user = ZoomToolSuiteAPI.Meeting.Participants.getMySelf() let isMe = user.bMyself ```