# Users ## Invite `UserInviteResponse AutoScribe.Users.Invite(UserInviteParamsparameters, CancellationTokencancellationToken = default)` **post** `/v1/autoScribe/users` Creates a new user in the AutoScribe system and sends them an invitation email. The user will have the specified permissions including report creation and study management capabilities. NPI number is required for users who can create reports. ### Parameters - `UserInviteParams parameters` - `required Boolean canCreateReports` - `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 - `required Boolean hasDashboardAccess` - `required string lastName` User's last name - `required Level level` - `"admin"Admin` - `"member"Member` - `string middleName` User's middle name (optional) - `string npiNumber` - `string phoneNumber` User's phone number (10-15 digits, optional) - `string suffix1` Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional - `string suffix2` Additional name suffix (optional) ### Returns - `class UserInviteResponse:` Response for inviting a user to AutoScribe. Level is restricted to admin/member since owners cannot be invited via API. - `required Boolean CanCreateReports` Whether the user can generate and sign radiology reports. Requires NPI number - `required Boolean CanManageStudies` Whether the user has permission to create, update, and manage studies - `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 DateTimeOffset? CreatedAt` Timestamp when the user was created - `required string Email` User's email address for login and notifications - `required string FirstName` User's first name - `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 - `"dashboard"Dashboard` - `"api"Api` - `required DateTimeOffset? LastLoginAt` Timestamp of user's last login, null if never logged in - `required string LastName` User's last name - `required Level Level` User access level. 'admin' can manage users/settings, 'member' has standard access - `"admin"Admin` - `"member"Member` - `required string UserID` Unique user identifier. Format: usr_{32-hex-chars} - `string MiddleName` User's middle name (optional) - `string NpiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `string PhoneNumber` User's phone number (10-15 digits, optional) - `string Suffix1` Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional - `string Suffix2` Additional name suffix (optional) ### Example ```csharp UserInviteParams parameters = new() { CanCreateReports = true, CanManageStudies = true, ClinicRole = ClinicRole.Radiologist, Email = "dr.johnson@hospital.org", FirstName = "Sarah", HasDashboardAccess = true, LastName = "Johnson", Level = Level.Member, }; var response = await client.AutoScribe.Users.Invite(parameters); Console.WriteLine(response); ``` ## List `UserListPageResponse AutoScribe.Users.List(UserListParams?parameters, CancellationTokencancellationToken = default)` **get** `/v1/autoScribe/users` Retrieves a paginated list of users with optional filtering by access level, email, name, invitation source, and report creation capability. Returns up to 100 users per request. ### Parameters - `UserListParams parameters` - `Boolean? canCreateReports` Filter by canCreateReports permission (AutoScribe-specific) - `string cursor` Base64 encoded cursor from previous response - `string email` Filter by exact email match - `string firstName` Filter by first name (contains match) - `InvitedSource invitedSource` Filter by invitation source - `"dashboard"Dashboard` - `"api"Api` - `string lastName` Filter by last name (contains match) - `Level level` Filter by user level - `"owner"Owner` - `"admin"Admin` - `"member"Member` - `Double limit` Number of results to return (1-100) ### Returns - `class UserListPageResponse:` Paginated list of AutoScribe users - `required Boolean HasMore` - `required IReadOnlyList Users` - `required Boolean CanCreateReports` Whether the user can generate and sign radiology reports. Requires NPI number - `required Boolean CanManageStudies` Whether the user has permission to create, update, and manage studies - `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 DateTimeOffset? CreatedAt` Timestamp when the user was created - `required string Email` User's email address for login and notifications - `required string FirstName` User's first name - `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 - `"dashboard"Dashboard` - `"api"Api` - `required DateTimeOffset? LastLoginAt` Timestamp of user's last login, null if never logged in - `required string LastName` User's last name - `required Level Level` User access level. 'owner' has full control, 'admin' can manage users/settings, 'member' has standard access - `"owner"Owner` - `"admin"Admin` - `"member"Member` - `required string UserID` Unique user identifier. Format: usr_{32-hex-chars} - `string MiddleName` User's middle name (optional) - `string NpiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `string PhoneNumber` User's phone number (10-15 digits, optional) - `string Suffix1` Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional - `string Suffix2` Additional name suffix (optional) - `string Cursor` ### Example ```csharp UserListParams parameters = new(); var page = await client.AutoScribe.Users.List(parameters); await foreach (var item in page.Paginate()) { Console.WriteLine(item); } ``` ## Retrieve `UserRetrieveResponse AutoScribe.Users.Retrieve(UserRetrieveParamsparameters, CancellationTokencancellationToken = default)` **get** `/v1/autoScribe/users/{userId}` Retrieves a single user by their unique user ID. Returns the complete user object with all profile information, permissions, AutoScribe-specific settings, and status. ### Parameters - `UserRetrieveParams parameters` - `required string userID` Unique user identifier. Format: usr_{32-hex-chars} ### Returns - `class UserRetrieveResponse:` A user in the AutoScribe system with report creation permissions - `required Boolean CanCreateReports` Whether the user can generate and sign radiology reports. Requires NPI number - `required Boolean CanManageStudies` Whether the user has permission to create, update, and manage studies - `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 DateTimeOffset? CreatedAt` Timestamp when the user was created - `required string Email` User's email address for login and notifications - `required string FirstName` User's first name - `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 - `"dashboard"Dashboard` - `"api"Api` - `required DateTimeOffset? LastLoginAt` Timestamp of user's last login, null if never logged in - `required string LastName` User's last name - `required Level Level` User access level. 'owner' has full control, 'admin' can manage users/settings, 'member' has standard access - `"owner"Owner` - `"admin"Admin` - `"member"Member` - `required string UserID` Unique user identifier. Format: usr_{32-hex-chars} - `string MiddleName` User's middle name (optional) - `string NpiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `string PhoneNumber` User's phone number (10-15 digits, optional) - `string Suffix1` Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional - `string Suffix2` Additional name suffix (optional) ### Example ```csharp UserRetrieveParams parameters = new() { UserID = "usr_1234567890abcdef1234567890abcdef" }; var user = await client.AutoScribe.Users.Retrieve(parameters); Console.WriteLine(user); ``` ## Update `UserUpdateResponse AutoScribe.Users.Update(UserUpdateParamsparameters, CancellationTokencancellationToken = default)` **patch** `/v1/autoScribe/users/{userId}` Updates a user's profile information, permissions, and AutoScribe-specific settings. All fields are optional - only provided fields will be updated. Email cannot be changed via API. NPI number is required if enabling report creation capability. ### Parameters - `UserUpdateParams parameters` - `required string userID` Unique user identifier. Format: usr_{32-hex-chars} - `Boolean canCreateReports` - `Boolean canManageStudies` - `ClinicRole? clinicRole` - `"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` - `string firstName` User's first name - `Boolean hasDashboardAccess` Whether the user can access the dashboard interface. Required for admin users - `string lastName` User's last name - `Level level` - `"admin"Admin` - `"member"Member` - `string? middleName` - `string? npiNumber` - `string? phoneNumber` - `string? suffix1` - `string? suffix2` ### Returns - `class UserUpdateResponse:` A user in the AutoScribe system with report creation permissions - `required Boolean CanCreateReports` Whether the user can generate and sign radiology reports. Requires NPI number - `required Boolean CanManageStudies` Whether the user has permission to create, update, and manage studies - `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 DateTimeOffset? CreatedAt` Timestamp when the user was created - `required string Email` User's email address for login and notifications - `required string FirstName` User's first name - `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 - `"dashboard"Dashboard` - `"api"Api` - `required DateTimeOffset? LastLoginAt` Timestamp of user's last login, null if never logged in - `required string LastName` User's last name - `required Level Level` User access level. 'owner' has full control, 'admin' can manage users/settings, 'member' has standard access - `"owner"Owner` - `"admin"Admin` - `"member"Member` - `required string UserID` Unique user identifier. Format: usr_{32-hex-chars} - `string MiddleName` User's middle name (optional) - `string NpiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `string PhoneNumber` User's phone number (10-15 digits, optional) - `string Suffix1` Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional - `string Suffix2` Additional name suffix (optional) ### Example ```csharp UserUpdateParams parameters = new() { UserID = "usr_1234567890abcdef1234567890abcdef" }; var user = await client.AutoScribe.Users.Update(parameters); Console.WriteLine(user); ``` ## Revoke Access `UserRevokeAccessResponse AutoScribe.Users.RevokeAccess(UserRevokeAccessParamsparameters, CancellationTokencancellationToken = default)` **post** `/v1/autoScribe/users/revoke-access` Deactivates a user's access to the system. The user will no longer be able to log in, create reports, or access studies. User data is preserved and can be reactivated later. ### Parameters - `UserRevokeAccessParams parameters` - `required string userID` User ID to revoke access for. Format: usr_{32-hex-chars} ### Returns - `class UserRevokeAccessResponse:` Response for revoking user access in AutoScribe - `required Boolean Success` - `string Message` ### Example ```csharp UserRevokeAccessParams parameters = new() { UserID = "usr_1234567890abcdef1234567890abcdef" }; var response = await client.AutoScribe.Users.RevokeAccess(parameters); Console.WriteLine(response); ``` ## Reactivate `UserReactivateResponse AutoScribe.Users.Reactivate(UserReactivateParamsparameters, CancellationTokencancellationToken = default)` **post** `/v1/autoScribe/users/reactivate` Restores access for a previously deactivated user. The user will regain their original permissions including report creation and study management capabilities. ### Parameters - `UserReactivateParams parameters` - `required string userID` User ID to reactivate. Format: usr_{32-hex-chars} ### Returns - `class UserReactivateResponse:` Response for reactivating a user in AutoScribe - `required Boolean Success` - `string Message` ### Example ```csharp UserReactivateParams parameters = new() { UserID = "usr_1234567890abcdef1234567890abcdef" }; var response = await client.AutoScribe.Users.Reactivate(parameters); Console.WriteLine(response); ``` # Invitations ## List `InvitationListPageResponse AutoScribe.Users.Invitations.List(InvitationListParams?parameters, CancellationTokencancellationToken = default)` **get** `/v1/autoScribe/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. ### Parameters - `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) - `string startDate` Filter invitations created on or after this date (YYYY-MM-DD) - `IReadOnlyList 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} ### Returns - `class InvitationListPageResponse:` Paginated list of AutoScribe invitations - `required Boolean HasMore` - `required IReadOnlyList Invitations` - `required Boolean CanCreateReports` Whether the invited user can generate and sign radiology reports. Requires NPI number - `required Boolean CanManageStudies` Whether the invited user will have permission to create, update, and manage studies - `required string ClinicID` UUID of the clinic this invitation belongs to - `required ClinicRole ClinicRole` Clinical or organizational role for the invited user - `"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 - `required string Email` Email address the invitation was sent to - `required DateTimeOffset? Expiry` When the invitation expires, null if no expiration - `required string FirstName` Invited user's first name - `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' - `"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 - `required Level Level` Access level for the invited user. 'admin' or 'member' when created via API - `"owner"Owner` - `"admin"Admin` - `"member"Member` - `required Status Status` Invitation status: 'sent', 'accepted', 'rejected', or 'revoked' - `"sent"Sent` - `"accepted"Accepted` - `"rejected"Rejected` - `"revoked"Revoked` - `required DateTimeOffset? UpdatedAt` Timestamp when the invitation was last updated - `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 - `string? MiddleName` Invited user's middle name (optional) - `string NpiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `string? PhoneNumber` Invited user's phone number (optional) - `string? Suffix1` Name suffix (e.g., 'Jr.', 'MD') - optional - `string? Suffix2` Additional name suffix - optional - `string Cursor` ### Example ```csharp InvitationListParams parameters = new(); var page = await client.AutoScribe.Users.Invitations.List(parameters); await foreach (var item in page.Paginate()) { Console.WriteLine(item); } ``` ## Retrieve `InvitationRetrieveResponse AutoScribe.Users.Invitations.Retrieve(InvitationRetrieveParamsparameters, CancellationTokencancellationToken = default)` **get** `/v1/autoScribe/users/invitations/{invitationId}` Retrieves a single invitation by its unique invitation ID. Returns the complete invitation details including status, expiration, associated user information, and AutoScribe-specific permissions. ### Parameters - `InvitationRetrieveParams parameters` - `required string invitationID` Unique invitation identifier. Format: inv_{32-hex-chars} ### Returns - `class InvitationRetrieveResponse:` A pending user invitation in the AutoScribe system - `required Boolean CanCreateReports` Whether the invited user can generate and sign radiology reports. Requires NPI number - `required Boolean CanManageStudies` Whether the invited user will have permission to create, update, and manage studies - `required string ClinicID` UUID of the clinic this invitation belongs to - `required ClinicRole ClinicRole` Clinical or organizational role for the invited user - `"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 - `required string Email` Email address the invitation was sent to - `required DateTimeOffset? Expiry` When the invitation expires, null if no expiration - `required string FirstName` Invited user's first name - `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' - `"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 - `required Level Level` Access level for the invited user. 'admin' or 'member' when created via API - `"owner"Owner` - `"admin"Admin` - `"member"Member` - `required Status Status` Invitation status: 'sent', 'accepted', 'rejected', or 'revoked' - `"sent"Sent` - `"accepted"Accepted` - `"rejected"Rejected` - `"revoked"Revoked` - `required DateTimeOffset? UpdatedAt` Timestamp when the invitation was last updated - `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 - `string? MiddleName` Invited user's middle name (optional) - `string NpiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `string? PhoneNumber` Invited user's phone number (optional) - `string? Suffix1` Name suffix (e.g., 'Jr.', 'MD') - optional - `string? Suffix2` Additional name suffix - optional ### Example ```csharp InvitationRetrieveParams parameters = new() { InvitationID = "inv_1234567890abcdef1234567890abcdef" }; var invitation = await client.AutoScribe.Users.Invitations.Retrieve(parameters); Console.WriteLine(invitation); ``` ## Update `InvitationUpdateResponse AutoScribe.Users.Invitations.Update(InvitationUpdateParamsparameters, CancellationTokencancellationToken = default)` **patch** `/v1/autoScribe/users/invitations/{invitationId}` Updates a pending invitation's user details, permissions, and AutoScribe-specific settings before it is accepted. Only valid for invitations that have not expired or been processed. NPI number is required if enabling report creation. ### Parameters - `InvitationUpdateParams parameters` - `required string invitationID` Unique invitation identifier. Format: inv_{32-hex-chars} - `Boolean canCreateReports` Whether the invited user can generate and sign radiology reports. Requires NPI number - `Boolean canManageStudies` Whether the invited user will have permission to create, update, and manage studies - `ClinicRole? clinicRole` - `"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` - `string firstName` Invited user's first name - `Boolean hasDashboardAccess` Whether the invited user will have dashboard access - `string lastName` Invited user's last name - `Level level` - `"admin"Admin` - `"member"Member` - `string? middleName` - `string? npiNumber` - `string? phoneNumber` - `string? suffix1` - `string? suffix2` ### Returns - `class InvitationUpdateResponse:` A pending user invitation in the AutoScribe system - `required Boolean CanCreateReports` Whether the invited user can generate and sign radiology reports. Requires NPI number - `required Boolean CanManageStudies` Whether the invited user will have permission to create, update, and manage studies - `required string ClinicID` UUID of the clinic this invitation belongs to - `required ClinicRole ClinicRole` Clinical or organizational role for the invited user - `"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 - `required string Email` Email address the invitation was sent to - `required DateTimeOffset? Expiry` When the invitation expires, null if no expiration - `required string FirstName` Invited user's first name - `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' - `"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 - `required Level Level` Access level for the invited user. 'admin' or 'member' when created via API - `"owner"Owner` - `"admin"Admin` - `"member"Member` - `required Status Status` Invitation status: 'sent', 'accepted', 'rejected', or 'revoked' - `"sent"Sent` - `"accepted"Accepted` - `"rejected"Rejected` - `"revoked"Revoked` - `required DateTimeOffset? UpdatedAt` Timestamp when the invitation was last updated - `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 - `string? MiddleName` Invited user's middle name (optional) - `string NpiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `string? PhoneNumber` Invited user's phone number (optional) - `string? Suffix1` Name suffix (e.g., 'Jr.', 'MD') - optional - `string? Suffix2` Additional name suffix - optional ### Example ```csharp InvitationUpdateParams parameters = new() { InvitationID = "inv_1234567890abcdef1234567890abcdef" }; var invitation = await client.AutoScribe.Users.Invitations.Update(parameters); Console.WriteLine(invitation); ``` ## Revoke `InvitationRevokeResponse AutoScribe.Users.Invitations.Revoke(InvitationRevokeParams?parameters, CancellationTokencancellationToken = default)` **post** `/v1/autoScribe/users/invitations/revoke` Revokes a pending invitation, preventing it from being accepted. Can revoke by invitation ID, user ID, or both. Useful for cancelling invitations sent in error. ### Parameters - `InvitationRevokeParams parameters` - `string invitationID` Invitation ID to revoke. Format: inv_{32-hex-chars} - `string userID` User ID whose pending invitation to revoke. Format: usr_{32-hex-chars} ### Returns - `class InvitationRevokeResponse:` Response for revoking an invitation in AutoScribe - `required Boolean Success` - `string Message` ### Example ```csharp InvitationRevokeParams parameters = new(); var response = await client.AutoScribe.Users.Invitations.Revoke(parameters); Console.WriteLine(response); ```