## List `UserListPage viewer().users().list(UserListParamsparams = UserListParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **get** `/v1/viewer/users` Retrieves a paginated list of users with optional filtering by access level, email, name, and invitation source. Returns up to 100 users per request. ### Parameters - `UserListParams params` - `Optional cursor` Base64 encoded cursor from previous response - `Optional email` Filter by exact email match - `Optional firstName` Filter by first name (contains match) - `Optional invitedSource` Filter by invitation source - `DASHBOARD("dashboard")` - `API("api")` - `Optional lastName` Filter by last name (contains match) - `Optional level` Filter by user level - `OWNER("owner")` - `ADMIN("admin")` - `MEMBER("member")` - `Optional limit` Number of results to return (1-100) ### Returns - `class UserListResponse:` A user in the Viewer system with study management permissions - `boolean canManageStudies` Whether the user has permission to create, update, and manage studies - `ClinicRole clinicRole` User's clinical or organizational role - `RADIOLOGIST("Radiologist")` - `CARDIOLOGIST("Cardiologist")` - `NEUROLOGIST("Neurologist")` - `UROLOGIST("Urologist")` - `GYNECOLOGIST("Gynecologist")` - `ENDOCRINOLOGIST("Endocrinologist")` - `DOCTOR("Doctor")` - `SURGEON("Surgeon")` - `PHYSICIAN("Physician")` - `PHYSICIAN_ASSISTANT("Physician Assistant")` - `NURSE_PRACTITIONER("Nurse Practitioner")` - `REGISTERED_NURSE("Registered Nurse")` - `PATIENT_CARE_COORDINATOR("Patient Care Coordinator")` - `FRONT_DESK_OPERATOR("Front Desk Operator")` - `IMAGING_TECHNOLOGIST("Imaging Technologist")` - `PACS_ADMINISTRATOR("PACS Administrator")` - `SOFTWARE_ENGINEER("Software Engineer")` - `REVENUE_CYCLE_MANAGER("Revenue Cycle Manager")` - `ADMINISTRATIVE_DIRECTOR("Administrative Director")` - `ADMINISTRATIVE_ASSISTANT("Administrative Assistant")` - `OTHER("Other")` - `Optional createdAt` Timestamp when the user was created - `String email` User's email address for login and notifications - `String firstName` User's first name - `boolean hasDashboardAccess` Whether the user can access the dashboard interface. Required for admin users - `InvitedSource invitedSource` How the user was invited - via dashboard UI or API - `DASHBOARD("dashboard")` - `API("api")` - `Optional lastLoginAt` Timestamp of user's last login, null if never logged in - `String lastName` User's last name - `Level level` User access level. 'owner' has full control, 'admin' can manage users/settings, 'member' has standard access - `OWNER("owner")` - `ADMIN("admin")` - `MEMBER("member")` - `String userId` Unique user identifier. Format: usr_{32-hex-chars} - `Optional middleName` User's middle name (optional) - `Optional phoneNumber` User's phone number (10-15 digits, optional) - `Optional suffix1` Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional - `Optional suffix2` Additional name suffix (optional) ### Example ```java package com.avara.example; import com.avara.client.AvaraClient; import com.avara.client.okhttp.AvaraOkHttpClient; import com.avara.models.viewer.users.UserListPage; import com.avara.models.viewer.users.UserListParams; public final class Main { private Main() {} public static void main(String[] args) { AvaraClient client = AvaraOkHttpClient.fromEnv(); UserListPage page = client.viewer().users().list(); } } ```