## Invite `UserInviteResponse viewer().users().invite(UserInviteParamsparams, RequestOptionsrequestOptions = RequestOptions.none())` **post** `/v1/viewer/users` Creates a new user in the Viewer system and sends them an invitation email. The user will have the specified permissions and access level. Dashboard access can be enabled to allow login. ### Parameters - `UserInviteParams params` - `boolean canManageStudies` - `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")` - `String email` User's email address for login and notifications - `String firstName` User's first name - `boolean hasDashboardAccess` - `String lastName` User's last name - `Level level` - `ADMIN("admin")` - `MEMBER("member")` - `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) ### Returns - `class UserInviteResponse:` Response for inviting a user to Viewer. Level is restricted to admin/member since owners cannot be invited via API. - `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. 'admin' can manage users/settings, 'member' has standard access - `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.UserInviteParams; import com.avara.models.viewer.users.UserInviteResponse; public final class Main { private Main() {} public static void main(String[] args) { AvaraClient client = AvaraOkHttpClient.fromEnv(); UserInviteParams params = UserInviteParams.builder() .canManageStudies(true) .clinicRole(UserInviteParams.ClinicRole.RADIOLOGIST) .email("dr.johnson@hospital.org") .firstName("Sarah") .hasDashboardAccess(true) .lastName("Johnson") .level(UserInviteParams.Level.MEMBER) .build(); UserInviteResponse response = client.viewer().users().invite(params); } } ```