Skip to content
Get started

Retrieve an invitation by ID

client.viewer.users.invitations.retrieve(stringinvitationID, RequestOptionsoptions?): InvitationRetrieveResponse { canManageStudies, clinicId, clinicRole, 18 more }
GET/v1/viewer/users/invitations/{invitationId}

Retrieves a single invitation by its unique invitation ID. Returns the complete invitation details including status, expiration, and associated user information.

ParametersExpand Collapse
invitationID: string

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

ReturnsExpand Collapse
InvitationRetrieveResponse { canManageStudies, clinicId, clinicRole, 18 more }

A pending user invitation in the Viewer system

canManageStudies: boolean

Whether the invited user will have permission to manage studies

clinicId: string

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"
"Physician"
"Surgeon"
"Radiologist"
"Cardiologist"
"Neurologist"
"Urologist"
"Gynecologist"
"Endocrinologist"
"Oncologist"
"Radiation Oncologist"
"Hematologist"
"Gastroenterologist"
"Pulmonologist"
"Nephrologist"
"Rheumatologist"
"Dermatologist"
"Ophthalmologist"
"Otolaryngologist"
"Pediatrician"
"Obstetrician"
"Psychiatrist"
"Anesthesiologist"
"Emergency Medicine Physician"
"Family Medicine Physician"
"Internal Medicine Physician"
"Pathologist"
"Nuclear Medicine Physician"
"Pain Management Specialist"
"Infectious Disease Specialist"
"Immunologist"
"Physician Assistant"
"Nurse Practitioner"
"Certified Registered Nurse Anesthetist"
"Psychologist"
"Medical Assistant"
"Scribe"
"Registered Nurse"
"Nurse Manager"
"Patient Care Coordinator"
"Imaging Technologist"
"Laboratory Technician"
"Medical Laboratory Scientist"
"Pathologists' Assistant"
"Phlebotomist"
"Pharmacist"
"Pharmacy Technician"
"Physical Therapist"
"Occupational Therapist"
"Speech-Language Pathologist"
"Respiratory Therapist"
"Nutritionist"
"Front Desk Operator"
"Revenue Cycle Manager"
"Administrative Director"
"Administrative Assistant"
"Legal Administrator"
"IT Administrator"
"IT Support"
"Software Engineer"
"Other"
createdAt: string | null

Timestamp when the invitation was created

formatdate-time
email: string

Email address the invitation was sent to

expiry: string | null

When the invitation expires, null if no expiration

formatdate-time
firstName: string

Invited user's first name

minLength1
hasDashboardAccess: boolean

Whether the invited user will have dashboard access

invitationId: string

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"
"api"
inviterId: string

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

lastName: string

Invited user's last name

minLength1
level: UserLevel

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"
"admin"
"member"

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

Accepts one of the following:
"sent"
"accepted"
"rejected"
"revoked"
updatedAt: string | null

Timestamp when the invitation was last updated

formatdate-time
userId: string

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

invitedByApiKeyId?: string

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

formatuuid
middleName?: string | null

Invited user's middle name (optional)

minLength1
phoneNumber?: string | null

Invited user's phone number (optional)

suffix1?: string | null

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

minLength1
suffix2?: string | null

Additional name suffix - optional

minLength1

Retrieve an invitation by ID

import Avara from 'avara';

const client = new Avara({
  apiKey: process.env['AVARA_API_KEY'], // This is the default and can be omitted
});

const invitation = await client.viewer.users.invitations.retrieve(
  'inv_1234567890abcdef1234567890abcdef',
);

console.log(invitation.middleName);
{
  "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
}