## Retrieve `UserRetrieveResponse viewer().users().retrieve(UserRetrieveParamsparams = UserRetrieveParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **get** `/v1/viewer/users/{userId}` Retrieves a single user by their unique user ID. Returns the complete user object with all profile information, permissions, and status. ### Parameters - `UserRetrieveParams params` - `Optional userId` Unique user identifier. Format: usr_{32-hex-chars} ### Returns - `class UserRetrieveResponse:` 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.UserRetrieveParams; import com.avara.models.viewer.users.UserRetrieveResponse; public final class Main { private Main() {} public static void main(String[] args) { AvaraClient client = AvaraOkHttpClient.fromEnv(); UserRetrieveResponse user = client.viewer().users().retrieve("usr_1234567890abcdef1234567890abcdef"); } } ```