Skip to content
Get started

Update an invitation

InvitationUpdateResponse viewer().users().invitations().update(InvitationUpdateParamsparams = InvitationUpdateParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
PATCH/v1/viewer/users/invitations/{invitationId}

Updates a pending invitation's user details and permissions before it is accepted. Only valid for invitations that have not expired or been processed.

ParametersExpand Collapse
InvitationUpdateParams params
Optional<String> invitationId

Unique invitation identifier. Format: inv_{32-hex-chars}

Optional<Boolean> canManageStudies
Optional<ClinicRole> clinicRole

A user's clinical or organizational role within the clinic.

Optional<String> firstName

Invited user's first name

minLength1
Optional<Boolean> hasDashboardAccess

Whether the invited user will have dashboard access

Optional<String> lastName

Invited user's last name

minLength1
Optional<AssignableUserLevel> level

User access level assignable via the API. 'admin' can manage users/settings, 'member' has standard access. 'owner' is dashboard-only and cannot be assigned via the API.

Optional<String> middleName
minLength1
Optional<String> phoneNumber
Optional<String> suffix1
minLength1
Optional<String> suffix2
minLength1
ReturnsExpand Collapse
class InvitationUpdateResponse:

A pending user invitation in the Viewer system

boolean canManageStudies

Whether the invited user will have permission to manage studies

String clinicId

UUID of the clinic this invitation belongs to

formatuuid
ClinicRole clinicRole

A user's clinical or organizational role within the clinic.

Accepts one of the following:
DOCTOR("Doctor")
PHYSICIAN("Physician")
SURGEON("Surgeon")
RADIOLOGIST("Radiologist")
CARDIOLOGIST("Cardiologist")
NEUROLOGIST("Neurologist")
UROLOGIST("Urologist")
GYNECOLOGIST("Gynecologist")
ENDOCRINOLOGIST("Endocrinologist")
ONCOLOGIST("Oncologist")
RADIATION_ONCOLOGIST("Radiation Oncologist")
HEMATOLOGIST("Hematologist")
GASTROENTEROLOGIST("Gastroenterologist")
PULMONOLOGIST("Pulmonologist")
NEPHROLOGIST("Nephrologist")
RHEUMATOLOGIST("Rheumatologist")
DERMATOLOGIST("Dermatologist")
OPHTHALMOLOGIST("Ophthalmologist")
OTOLARYNGOLOGIST("Otolaryngologist")
PEDIATRICIAN("Pediatrician")
OBSTETRICIAN("Obstetrician")
PSYCHIATRIST("Psychiatrist")
ANESTHESIOLOGIST("Anesthesiologist")
EMERGENCY_MEDICINE_PHYSICIAN("Emergency Medicine Physician")
FAMILY_MEDICINE_PHYSICIAN("Family Medicine Physician")
INTERNAL_MEDICINE_PHYSICIAN("Internal Medicine Physician")
PATHOLOGIST("Pathologist")
NUCLEAR_MEDICINE_PHYSICIAN("Nuclear Medicine Physician")
PAIN_MANAGEMENT_SPECIALIST("Pain Management Specialist")
INFECTIOUS_DISEASE_SPECIALIST("Infectious Disease Specialist")
IMMUNOLOGIST("Immunologist")
PHYSICIAN_ASSISTANT("Physician Assistant")
NURSE_PRACTITIONER("Nurse Practitioner")
CERTIFIED_REGISTERED_NURSE_ANESTHETIST("Certified Registered Nurse Anesthetist")
PSYCHOLOGIST("Psychologist")
MEDICAL_ASSISTANT("Medical Assistant")
SCRIBE("Scribe")
REGISTERED_NURSE("Registered Nurse")
NURSE_MANAGER("Nurse Manager")
PATIENT_CARE_COORDINATOR("Patient Care Coordinator")
IMAGING_TECHNOLOGIST("Imaging Technologist")
LABORATORY_TECHNICIAN("Laboratory Technician")
MEDICAL_LABORATORY_SCIENTIST("Medical Laboratory Scientist")
PATHOLOGISTS_ASSISTANT("Pathologists' Assistant")
PHLEBOTOMIST("Phlebotomist")
PHARMACIST("Pharmacist")
PHARMACY_TECHNICIAN("Pharmacy Technician")
PHYSICAL_THERAPIST("Physical Therapist")
OCCUPATIONAL_THERAPIST("Occupational Therapist")
SPEECH_LANGUAGE_PATHOLOGIST("Speech-Language Pathologist")
RESPIRATORY_THERAPIST("Respiratory Therapist")
NUTRITIONIST("Nutritionist")
FRONT_DESK_OPERATOR("Front Desk Operator")
REVENUE_CYCLE_MANAGER("Revenue Cycle Manager")
ADMINISTRATIVE_DIRECTOR("Administrative Director")
ADMINISTRATIVE_ASSISTANT("Administrative Assistant")
LEGAL_ADMINISTRATOR("Legal Administrator")
IT_ADMINISTRATOR("IT Administrator")
IT_SUPPORT("IT Support")
SOFTWARE_ENGINEER("Software Engineer")
OTHER("Other")
Optional<LocalDateTime> createdAt

Timestamp when the invitation was created

formatdate-time
String email

Email address the invitation was sent to

Optional<LocalDateTime> expiry

When the invitation expires, null if no expiration

formatdate-time
String firstName

Invited user's first name

minLength1
boolean hasDashboardAccess

Whether the invited user will have dashboard access

String invitationId

Unique invitation identifier. Format: inv_{32-hex-chars}

InvitedSource invitedSource

How a user/invitation was created - via the dashboard UI ('dashboard') or the API ('api').

Accepts one of the following:
DASHBOARD("dashboard")
API("api")
String inviterId

User ID of the person who sent the invitation. Format: usr_{32-hex-chars}. Null if invited via API

String lastName

Invited user's last name

minLength1
UserLevel level

User access level. 'owner' has full control (dashboard-only, not assignable via API), 'admin' can manage users/settings, 'member' has standard access.

Accepts one of the following:
OWNER("owner")
ADMIN("admin")
MEMBER("member")

Lifecycle status of an invitation: 'sent', 'accepted', 'rejected', or 'revoked'.

Accepts one of the following:
SENT("sent")
ACCEPTED("accepted")
REJECTED("rejected")
REVOKED("revoked")
Optional<LocalDateTime> updatedAt

Timestamp when the invitation was last updated

formatdate-time
String userId

Pre-generated user ID for this invitation. Format: usr_{32-hex-chars}. This ID is assigned at invitation creation and will become the user's permanent ID upon acceptance

Optional<String> invitedByApiKeyId

UUID of the API key used to send this invitation. Null if sent via dashboard

formatuuid
Optional<String> middleName

Invited user's middle name (optional)

minLength1
Optional<String> phoneNumber

Invited user's phone number (optional)

Optional<String> suffix1

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

minLength1
Optional<String> suffix2

Additional name suffix - optional

minLength1

Update an invitation

package com.avara.example;

import com.avara.client.AvaraClient;
import com.avara.client.okhttp.AvaraOkHttpClient;
import com.avara.models.viewer.users.invitations.InvitationUpdateParams;
import com.avara.models.viewer.users.invitations.InvitationUpdateResponse;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        AvaraClient client = AvaraOkHttpClient.fromEnv();

        InvitationUpdateResponse invitation = client.viewer().users().invitations().update("inv_1234567890abcdef1234567890abcdef");
    }
}
{
  "canManageStudies": true,
  "clinicId": "550e8400-e29b-41d4-a716-446655440000",
  "clinicRole": "Radiologist",
  "createdAt": "2024-03-15T10:00:00Z",
  "email": "dr.chen@hospital.org",
  "expiry": "2024-04-15T00:00:00Z",
  "firstName": "Michael",
  "hasDashboardAccess": true,
  "invitationId": "inv_1234567890abcdef1234567890abcdef",
  "invitedSource": "api",
  "inviterId": "usr_1234567890abcdef1234567890abcdef",
  "lastName": "Chen",
  "level": "member",
  "status": "sent",
  "updatedAt": "2024-03-15T10:00:00Z",
  "userId": "usr_1234567890abcdef1234567890abcdef",
  "invitedByApiKeyId": "550e8400-e29b-41d4-a716-446655440000",
  "middleName": "David",
  "phoneNumber": "5551234567",
  "suffix1": "MD",
  "suffix2": null
}
Returns Examples
{
  "canManageStudies": true,
  "clinicId": "550e8400-e29b-41d4-a716-446655440000",
  "clinicRole": "Radiologist",
  "createdAt": "2024-03-15T10:00:00Z",
  "email": "dr.chen@hospital.org",
  "expiry": "2024-04-15T00:00:00Z",
  "firstName": "Michael",
  "hasDashboardAccess": true,
  "invitationId": "inv_1234567890abcdef1234567890abcdef",
  "invitedSource": "api",
  "inviterId": "usr_1234567890abcdef1234567890abcdef",
  "lastName": "Chen",
  "level": "member",
  "status": "sent",
  "updatedAt": "2024-03-15T10:00:00Z",
  "userId": "usr_1234567890abcdef1234567890abcdef",
  "invitedByApiKeyId": "550e8400-e29b-41d4-a716-446655440000",
  "middleName": "David",
  "phoneNumber": "5551234567",
  "suffix1": "MD",
  "suffix2": null
}