Skip to content
Get started

List user invitations

InvitationListPageResponse Viewer.Users.Invitations.List(InvitationListParams?parameters, CancellationTokencancellationToken = default)
GET/v1/viewer/users/invitations

Retrieves a paginated list of user invitations with optional filtering by status, expiration, date range, and user ID. Returns up to 100 invitations per request.

ParametersExpand Collapse
InvitationListParams parameters
string cursor

Base64 encoded cursor from previous response

string endDate

Filter invitations created on or before this date (YYYY-MM-DD)

Expired expired

Filter by expiration status

"all"All
"expired"Expired
"not-expired"NotExpired
Double limit

Number of results to return (1-100)

minimum1
maximum100
string startDate

Filter invitations created on or after this date (YYYY-MM-DD)

IReadOnlyList<Status> status

Filter by invitation status(es)

"sent"Sent
"accepted"Accepted
"rejected"Rejected
"revoked"Revoked
string userID

Filter by user ID. Format: usr_{32-hex-chars}

ReturnsExpand Collapse
class InvitationListPageResponse:

Paginated list of Viewer invitations

required Boolean HasMore
required IReadOnlyList<InvitationListResponse> Invitations
required Boolean CanManageStudies

Whether the invited user will have permission to manage studies

required string ClinicID

UUID of the clinic this invitation belongs to

formatuuid
required ClinicRole ClinicRole

Clinical or organizational role for the invited user

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 invitation was created

formatdate-time
required string Email

Email address the invitation was sent to

required DateTimeOffset? Expiry

When the invitation expires, null if no expiration

formatdate-time
required string FirstName

Invited user's first name

minLength1
required Boolean HasDashboardAccess

Whether the invited user will have dashboard access

required string InvitationID

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

required InvitedSource InvitedSource

How the invitation was created - 'dashboard' or 'api'

Accepts one of the following:
"dashboard"Dashboard
"api"Api
required string InviterID

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

required string LastName

Invited user's last name

minLength1
required Level Level

Access level for the invited user. 'admin' or 'member' when created via API

Accepts one of the following:
"owner"Owner
"admin"Admin
"member"Member
required Status Status

Invitation status: 'sent', 'accepted', 'rejected', or 'revoked'

Accepts one of the following:
"sent"Sent
"accepted"Accepted
"rejected"Rejected
"revoked"Revoked
required DateTimeOffset? UpdatedAt

Timestamp when the invitation was last updated

formatdate-time
required 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

string InvitedByApiKeyID

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

formatuuid
string? MiddleName

Invited user's middle name (optional)

minLength1
string? PhoneNumber

Invited user's phone number (optional)

string? Suffix1

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

minLength1
string? Suffix2

Additional name suffix - optional

minLength1
string Cursor

List user invitations

InvitationListParams parameters = new();

var page = await client.Viewer.Users.Invitations.List(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
{
  "hasMore": true,
  "invitations": [
    {
      "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
    }
  ],
  "cursor": "cursor"
}
Returns Examples
{
  "hasMore": true,
  "invitations": [
    {
      "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
    }
  ],
  "cursor": "cursor"
}