Skip to content
Get started

Create and invite a new user

UserInviteResponse Viewer.Users.Invite(UserInviteParamsparameters, CancellationTokencancellationToken = default)
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.

ParametersExpand Collapse
UserInviteParams parameters
required Boolean canManageStudies
required 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"PhysicianAssistant
"Nurse Practitioner"NursePractitioner
"Registered Nurse"RegisteredNurse
"Patient Care Coordinator"PatientCareCoordinator
"Front Desk Operator"FrontDeskOperator
"Imaging Technologist"ImagingTechnologist
"PACS Administrator"PacsAdministrator
"Software Engineer"SoftwareEngineer
"Revenue Cycle Manager"RevenueCycleManager
"Administrative Director"AdministrativeDirector
"Administrative Assistant"AdministrativeAssistant
"Other"Other
required string email

User's email address for login and notifications

required string firstName

User's first name

minLength1
required Boolean hasDashboardAccess
required string lastName

User's last name

minLength1
required Level level
"admin"Admin
"member"Member
string middleName

User's middle name (optional)

minLength1
string phoneNumber

User's phone number (10-15 digits, optional)

string suffix1

Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional

minLength1
string suffix2

Additional name suffix (optional)

minLength1
ReturnsExpand Collapse
class UserInviteResponse:

Response for inviting a user to Viewer. Level is restricted to admin/member since owners cannot be invited via API.

required Boolean CanManageStudies

Whether the user has permission to create, update, and manage studies

required ClinicRole ClinicRole

User's clinical or organizational role

Accepts one of the following:
"Radiologist"Radiologist
"Cardiologist"Cardiologist
"Neurologist"Neurologist
"Urologist"Urologist
"Gynecologist"Gynecologist
"Endocrinologist"Endocrinologist
"Doctor"Doctor
"Surgeon"Surgeon
"Physician"Physician
"Physician Assistant"PhysicianAssistant
"Nurse Practitioner"NursePractitioner
"Registered Nurse"RegisteredNurse
"Patient Care Coordinator"PatientCareCoordinator
"Front Desk Operator"FrontDeskOperator
"Imaging Technologist"ImagingTechnologist
"PACS Administrator"PacsAdministrator
"Software Engineer"SoftwareEngineer
"Revenue Cycle Manager"RevenueCycleManager
"Administrative Director"AdministrativeDirector
"Administrative Assistant"AdministrativeAssistant
"Other"Other
required DateTimeOffset? CreatedAt

Timestamp when the user was created

formatdate-time
required string Email

User's email address for login and notifications

required string FirstName

User's first name

minLength1
required Boolean HasDashboardAccess

Whether the user can access the dashboard interface. Required for admin users

required InvitedSource InvitedSource

How the user was invited - via dashboard UI or API

Accepts one of the following:
"dashboard"Dashboard
"api"Api
required DateTimeOffset? LastLoginAt

Timestamp of user's last login, null if never logged in

formatdate-time
required string LastName

User's last name

minLength1
required Level Level

User access level. 'admin' can manage users/settings, 'member' has standard access

Accepts one of the following:
"admin"Admin
"member"Member
required string UserID

Unique user identifier. Format: usr_{32-hex-chars}

string MiddleName

User's middle name (optional)

minLength1
string PhoneNumber

User's phone number (10-15 digits, optional)

string Suffix1

Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional

minLength1
string Suffix2

Additional name suffix (optional)

minLength1

Create and invite a new user

UserInviteParams parameters = new()
{
    CanManageStudies = true,
    ClinicRole = ClinicRole.Radiologist,
    Email = "dr.johnson@hospital.org",
    FirstName = "Sarah",
    HasDashboardAccess = true,
    LastName = "Johnson",
    Level = Level.Member,
};

var response = await client.Viewer.Users.Invite(parameters);

Console.WriteLine(response);
{
  "canManageStudies": true,
  "clinicRole": "Radiologist",
  "createdAt": "2024-01-15T10:00:00Z",
  "email": "dr.johnson@hospital.org",
  "firstName": "Sarah",
  "hasDashboardAccess": true,
  "invitedSource": "api",
  "lastLoginAt": "2024-03-15T09:00:00Z",
  "lastName": "Johnson",
  "level": "member",
  "userId": "usr_1234567890abcdef1234567890abcdef",
  "middleName": "Marie",
  "phoneNumber": "5551234567",
  "suffix1": "MD",
  "suffix2": "FACR"
}
Returns Examples
{
  "canManageStudies": true,
  "clinicRole": "Radiologist",
  "createdAt": "2024-01-15T10:00:00Z",
  "email": "dr.johnson@hospital.org",
  "firstName": "Sarah",
  "hasDashboardAccess": true,
  "invitedSource": "api",
  "lastLoginAt": "2024-03-15T09:00:00Z",
  "lastName": "Johnson",
  "level": "member",
  "userId": "usr_1234567890abcdef1234567890abcdef",
  "middleName": "Marie",
  "phoneNumber": "5551234567",
  "suffix1": "MD",
  "suffix2": "FACR"
}