# Users ## Invite `UserInviteResponse autoScribe().users().invite(UserInviteParamsparams, RequestOptionsrequestOptions = RequestOptions.none())` **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 params` - `boolean canCreateReports` - `boolean canManageStudies` - `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("Physician Assistant")` - `NURSE_PRACTITIONER("Nurse Practitioner")` - `REGISTERED_NURSE("Registered Nurse")` - `PATIENT_CARE_COORDINATOR("Patient Care Coordinator")` - `FRONT_DESK_OPERATOR("Front Desk Operator")` - `IMAGING_TECHNOLOGIST("Imaging Technologist")` - `PACS_ADMINISTRATOR("PACS Administrator")` - `SOFTWARE_ENGINEER("Software Engineer")` - `REVENUE_CYCLE_MANAGER("Revenue Cycle Manager")` - `ADMINISTRATIVE_DIRECTOR("Administrative Director")` - `ADMINISTRATIVE_ASSISTANT("Administrative Assistant")` - `OTHER("Other")` - `String email` User's email address for login and notifications - `String firstName` User's first name - `boolean hasDashboardAccess` - `String lastName` User's last name - `Level level` - `ADMIN("admin")` - `MEMBER("member")` - `Optional middleName` User's middle name (optional) - `Optional npiNumber` - `Optional phoneNumber` User's phone number (10-15 digits, optional) - `Optional suffix1` Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional - `Optional 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. - `boolean canCreateReports` Whether the user can generate and sign radiology reports. Requires NPI number - `boolean canManageStudies` Whether the user has permission to create, update, and manage studies - `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("Physician Assistant")` - `NURSE_PRACTITIONER("Nurse Practitioner")` - `REGISTERED_NURSE("Registered Nurse")` - `PATIENT_CARE_COORDINATOR("Patient Care Coordinator")` - `FRONT_DESK_OPERATOR("Front Desk Operator")` - `IMAGING_TECHNOLOGIST("Imaging Technologist")` - `PACS_ADMINISTRATOR("PACS Administrator")` - `SOFTWARE_ENGINEER("Software Engineer")` - `REVENUE_CYCLE_MANAGER("Revenue Cycle Manager")` - `ADMINISTRATIVE_DIRECTOR("Administrative Director")` - `ADMINISTRATIVE_ASSISTANT("Administrative Assistant")` - `OTHER("Other")` - `Optional createdAt` Timestamp when the user was created - `String email` User's email address for login and notifications - `String firstName` User's first name - `boolean hasDashboardAccess` Whether the user can access the dashboard interface. Required for admin users - `InvitedSource invitedSource` How the user was invited - via dashboard UI or API - `DASHBOARD("dashboard")` - `API("api")` - `Optional lastLoginAt` Timestamp of user's last login, null if never logged in - `String lastName` User's last name - `Level level` User access level. 'admin' can manage users/settings, 'member' has standard access - `ADMIN("admin")` - `MEMBER("member")` - `String userId` Unique user identifier. Format: usr_{32-hex-chars} - `Optional middleName` User's middle name (optional) - `Optional npiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `Optional phoneNumber` User's phone number (10-15 digits, optional) - `Optional suffix1` Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional - `Optional suffix2` Additional name suffix (optional) ### Example ```java package com.avara.example; import com.avara.client.AvaraClient; import com.avara.client.okhttp.AvaraOkHttpClient; import com.avara.models.autoscribe.users.UserInviteParams; import com.avara.models.autoscribe.users.UserInviteResponse; public final class Main { private Main() {} public static void main(String[] args) { AvaraClient client = AvaraOkHttpClient.fromEnv(); UserInviteParams params = UserInviteParams.builder() .canCreateReports(true) .canManageStudies(true) .clinicRole(UserInviteParams.ClinicRole.RADIOLOGIST) .email("dr.johnson@hospital.org") .firstName("Sarah") .hasDashboardAccess(true) .lastName("Johnson") .level(UserInviteParams.Level.MEMBER) .build(); UserInviteResponse response = client.autoScribe().users().invite(params); } } ``` ## List `UserListPage autoScribe().users().list(UserListParamsparams = UserListParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **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 params` - `Optional canCreateReports` Filter by canCreateReports permission (AutoScribe-specific) - `Optional cursor` Base64 encoded cursor from previous response - `Optional email` Filter by exact email match - `Optional firstName` Filter by first name (contains match) - `Optional invitedSource` Filter by invitation source - `DASHBOARD("dashboard")` - `API("api")` - `Optional lastName` Filter by last name (contains match) - `Optional level` Filter by user level - `OWNER("owner")` - `ADMIN("admin")` - `MEMBER("member")` - `Optional limit` Number of results to return (1-100) ### Returns - `class UserListResponse:` A user in the AutoScribe system with report creation permissions - `boolean canCreateReports` Whether the user can generate and sign radiology reports. Requires NPI number - `boolean canManageStudies` Whether the user has permission to create, update, and manage studies - `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("Physician Assistant")` - `NURSE_PRACTITIONER("Nurse Practitioner")` - `REGISTERED_NURSE("Registered Nurse")` - `PATIENT_CARE_COORDINATOR("Patient Care Coordinator")` - `FRONT_DESK_OPERATOR("Front Desk Operator")` - `IMAGING_TECHNOLOGIST("Imaging Technologist")` - `PACS_ADMINISTRATOR("PACS Administrator")` - `SOFTWARE_ENGINEER("Software Engineer")` - `REVENUE_CYCLE_MANAGER("Revenue Cycle Manager")` - `ADMINISTRATIVE_DIRECTOR("Administrative Director")` - `ADMINISTRATIVE_ASSISTANT("Administrative Assistant")` - `OTHER("Other")` - `Optional createdAt` Timestamp when the user was created - `String email` User's email address for login and notifications - `String firstName` User's first name - `boolean hasDashboardAccess` Whether the user can access the dashboard interface. Required for admin users - `InvitedSource invitedSource` How the user was invited - via dashboard UI or API - `DASHBOARD("dashboard")` - `API("api")` - `Optional lastLoginAt` Timestamp of user's last login, null if never logged in - `String lastName` User's last name - `Level level` User access level. 'owner' has full control, 'admin' can manage users/settings, 'member' has standard access - `OWNER("owner")` - `ADMIN("admin")` - `MEMBER("member")` - `String userId` Unique user identifier. Format: usr_{32-hex-chars} - `Optional middleName` User's middle name (optional) - `Optional npiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `Optional phoneNumber` User's phone number (10-15 digits, optional) - `Optional suffix1` Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional - `Optional suffix2` Additional name suffix (optional) ### Example ```java package com.avara.example; import com.avara.client.AvaraClient; import com.avara.client.okhttp.AvaraOkHttpClient; import com.avara.models.autoscribe.users.UserListPage; import com.avara.models.autoscribe.users.UserListParams; public final class Main { private Main() {} public static void main(String[] args) { AvaraClient client = AvaraOkHttpClient.fromEnv(); UserListPage page = client.autoScribe().users().list(); } } ``` ## Retrieve `UserRetrieveResponse autoScribe().users().retrieve(UserRetrieveParamsparams = UserRetrieveParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **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 params` - `Optional userId` Unique user identifier. Format: usr_{32-hex-chars} ### Returns - `class UserRetrieveResponse:` A user in the AutoScribe system with report creation permissions - `boolean canCreateReports` Whether the user can generate and sign radiology reports. Requires NPI number - `boolean canManageStudies` Whether the user has permission to create, update, and manage studies - `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("Physician Assistant")` - `NURSE_PRACTITIONER("Nurse Practitioner")` - `REGISTERED_NURSE("Registered Nurse")` - `PATIENT_CARE_COORDINATOR("Patient Care Coordinator")` - `FRONT_DESK_OPERATOR("Front Desk Operator")` - `IMAGING_TECHNOLOGIST("Imaging Technologist")` - `PACS_ADMINISTRATOR("PACS Administrator")` - `SOFTWARE_ENGINEER("Software Engineer")` - `REVENUE_CYCLE_MANAGER("Revenue Cycle Manager")` - `ADMINISTRATIVE_DIRECTOR("Administrative Director")` - `ADMINISTRATIVE_ASSISTANT("Administrative Assistant")` - `OTHER("Other")` - `Optional createdAt` Timestamp when the user was created - `String email` User's email address for login and notifications - `String firstName` User's first name - `boolean hasDashboardAccess` Whether the user can access the dashboard interface. Required for admin users - `InvitedSource invitedSource` How the user was invited - via dashboard UI or API - `DASHBOARD("dashboard")` - `API("api")` - `Optional lastLoginAt` Timestamp of user's last login, null if never logged in - `String lastName` User's last name - `Level level` User access level. 'owner' has full control, 'admin' can manage users/settings, 'member' has standard access - `OWNER("owner")` - `ADMIN("admin")` - `MEMBER("member")` - `String userId` Unique user identifier. Format: usr_{32-hex-chars} - `Optional middleName` User's middle name (optional) - `Optional npiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `Optional phoneNumber` User's phone number (10-15 digits, optional) - `Optional suffix1` Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional - `Optional suffix2` Additional name suffix (optional) ### Example ```java package com.avara.example; import com.avara.client.AvaraClient; import com.avara.client.okhttp.AvaraOkHttpClient; import com.avara.models.autoscribe.users.UserRetrieveParams; import com.avara.models.autoscribe.users.UserRetrieveResponse; public final class Main { private Main() {} public static void main(String[] args) { AvaraClient client = AvaraOkHttpClient.fromEnv(); UserRetrieveResponse user = client.autoScribe().users().retrieve("usr_1234567890abcdef1234567890abcdef"); } } ``` ## Update `UserUpdateResponse autoScribe().users().update(UserUpdateParamsparams = UserUpdateParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **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 params` - `Optional userId` Unique user identifier. Format: usr_{32-hex-chars} - `Optional canCreateReports` - `Optional canManageStudies` - `Optional clinicRole` - `RADIOLOGIST("Radiologist")` - `CARDIOLOGIST("Cardiologist")` - `NEUROLOGIST("Neurologist")` - `UROLOGIST("Urologist")` - `GYNECOLOGIST("Gynecologist")` - `ENDOCRINOLOGIST("Endocrinologist")` - `DOCTOR("Doctor")` - `SURGEON("Surgeon")` - `PHYSICIAN("Physician")` - `PHYSICIAN_ASSISTANT("Physician Assistant")` - `NURSE_PRACTITIONER("Nurse Practitioner")` - `REGISTERED_NURSE("Registered Nurse")` - `PATIENT_CARE_COORDINATOR("Patient Care Coordinator")` - `FRONT_DESK_OPERATOR("Front Desk Operator")` - `IMAGING_TECHNOLOGIST("Imaging Technologist")` - `PACS_ADMINISTRATOR("PACS Administrator")` - `SOFTWARE_ENGINEER("Software Engineer")` - `REVENUE_CYCLE_MANAGER("Revenue Cycle Manager")` - `ADMINISTRATIVE_DIRECTOR("Administrative Director")` - `ADMINISTRATIVE_ASSISTANT("Administrative Assistant")` - `OTHER("Other")` - `Optional firstName` User's first name - `Optional hasDashboardAccess` Whether the user can access the dashboard interface. Required for admin users - `Optional lastName` User's last name - `Optional level` - `ADMIN("admin")` - `MEMBER("member")` - `Optional middleName` - `Optional npiNumber` - `Optional phoneNumber` - `Optional suffix1` - `Optional suffix2` ### Returns - `class UserUpdateResponse:` A user in the AutoScribe system with report creation permissions - `boolean canCreateReports` Whether the user can generate and sign radiology reports. Requires NPI number - `boolean canManageStudies` Whether the user has permission to create, update, and manage studies - `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("Physician Assistant")` - `NURSE_PRACTITIONER("Nurse Practitioner")` - `REGISTERED_NURSE("Registered Nurse")` - `PATIENT_CARE_COORDINATOR("Patient Care Coordinator")` - `FRONT_DESK_OPERATOR("Front Desk Operator")` - `IMAGING_TECHNOLOGIST("Imaging Technologist")` - `PACS_ADMINISTRATOR("PACS Administrator")` - `SOFTWARE_ENGINEER("Software Engineer")` - `REVENUE_CYCLE_MANAGER("Revenue Cycle Manager")` - `ADMINISTRATIVE_DIRECTOR("Administrative Director")` - `ADMINISTRATIVE_ASSISTANT("Administrative Assistant")` - `OTHER("Other")` - `Optional createdAt` Timestamp when the user was created - `String email` User's email address for login and notifications - `String firstName` User's first name - `boolean hasDashboardAccess` Whether the user can access the dashboard interface. Required for admin users - `InvitedSource invitedSource` How the user was invited - via dashboard UI or API - `DASHBOARD("dashboard")` - `API("api")` - `Optional lastLoginAt` Timestamp of user's last login, null if never logged in - `String lastName` User's last name - `Level level` User access level. 'owner' has full control, 'admin' can manage users/settings, 'member' has standard access - `OWNER("owner")` - `ADMIN("admin")` - `MEMBER("member")` - `String userId` Unique user identifier. Format: usr_{32-hex-chars} - `Optional middleName` User's middle name (optional) - `Optional npiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `Optional phoneNumber` User's phone number (10-15 digits, optional) - `Optional suffix1` Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional - `Optional suffix2` Additional name suffix (optional) ### Example ```java package com.avara.example; import com.avara.client.AvaraClient; import com.avara.client.okhttp.AvaraOkHttpClient; import com.avara.models.autoscribe.users.UserUpdateParams; import com.avara.models.autoscribe.users.UserUpdateResponse; public final class Main { private Main() {} public static void main(String[] args) { AvaraClient client = AvaraOkHttpClient.fromEnv(); UserUpdateResponse user = client.autoScribe().users().update("usr_1234567890abcdef1234567890abcdef"); } } ``` ## Revoke Access `UserRevokeAccessResponse autoScribe().users().revokeAccess(UserRevokeAccessParamsparams, RequestOptionsrequestOptions = RequestOptions.none())` **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 params` - `String userId` User ID to revoke access for. Format: usr_{32-hex-chars} ### Returns - `class UserRevokeAccessResponse:` Response for revoking user access in AutoScribe - `boolean success` - `Optional message` ### Example ```java package com.avara.example; import com.avara.client.AvaraClient; import com.avara.client.okhttp.AvaraOkHttpClient; import com.avara.models.autoscribe.users.UserRevokeAccessParams; import com.avara.models.autoscribe.users.UserRevokeAccessResponse; public final class Main { private Main() {} public static void main(String[] args) { AvaraClient client = AvaraOkHttpClient.fromEnv(); UserRevokeAccessParams params = UserRevokeAccessParams.builder() .userId("usr_1234567890abcdef1234567890abcdef") .build(); UserRevokeAccessResponse response = client.autoScribe().users().revokeAccess(params); } } ``` ## Reactivate `UserReactivateResponse autoScribe().users().reactivate(UserReactivateParamsparams, RequestOptionsrequestOptions = RequestOptions.none())` **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 params` - `String userId` User ID to reactivate. Format: usr_{32-hex-chars} ### Returns - `class UserReactivateResponse:` Response for reactivating a user in AutoScribe - `boolean success` - `Optional message` ### Example ```java package com.avara.example; import com.avara.client.AvaraClient; import com.avara.client.okhttp.AvaraOkHttpClient; import com.avara.models.autoscribe.users.UserReactivateParams; import com.avara.models.autoscribe.users.UserReactivateResponse; public final class Main { private Main() {} public static void main(String[] args) { AvaraClient client = AvaraOkHttpClient.fromEnv(); UserReactivateParams params = UserReactivateParams.builder() .userId("usr_1234567890abcdef1234567890abcdef") .build(); UserReactivateResponse response = client.autoScribe().users().reactivate(params); } } ``` # Invitations ## List `InvitationListPage autoScribe().users().invitations().list(InvitationListParamsparams = InvitationListParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **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 params` - `Optional cursor` Base64 encoded cursor from previous response - `Optional endDate` Filter invitations created on or before this date (YYYY-MM-DD) - `Optional expired` Filter by expiration status - `ALL("all")` - `EXPIRED("expired")` - `NOT_EXPIRED("not-expired")` - `Optional limit` Number of results to return (1-100) - `Optional startDate` Filter invitations created on or after this date (YYYY-MM-DD) - `Optional> status` Filter by invitation status(es) - `SENT("sent")` - `ACCEPTED("accepted")` - `REJECTED("rejected")` - `REVOKED("revoked")` - `Optional userId` Filter by user ID. Format: usr_{32-hex-chars} ### Returns - `class InvitationListResponse:` A pending user invitation in the AutoScribe system - `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 - `String clinicId` UUID of the clinic this invitation belongs to - `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("Physician Assistant")` - `NURSE_PRACTITIONER("Nurse Practitioner")` - `REGISTERED_NURSE("Registered Nurse")` - `PATIENT_CARE_COORDINATOR("Patient Care Coordinator")` - `FRONT_DESK_OPERATOR("Front Desk Operator")` - `IMAGING_TECHNOLOGIST("Imaging Technologist")` - `PACS_ADMINISTRATOR("PACS Administrator")` - `SOFTWARE_ENGINEER("Software Engineer")` - `REVENUE_CYCLE_MANAGER("Revenue Cycle Manager")` - `ADMINISTRATIVE_DIRECTOR("Administrative Director")` - `ADMINISTRATIVE_ASSISTANT("Administrative Assistant")` - `OTHER("Other")` - `Optional createdAt` Timestamp when the invitation was created - `String email` Email address the invitation was sent to - `Optional expiry` When the invitation expires, null if no expiration - `String firstName` Invited user's first name - `boolean hasDashboardAccess` Whether the invited user will have dashboard access - `String invitationId` Unique invitation identifier. Format: inv_{32-hex-chars} - `InvitedSource invitedSource` How the invitation was created - 'dashboard' or 'api' - `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 - `Level level` Access level for the invited user. 'admin' or 'member' when created via API - `OWNER("owner")` - `ADMIN("admin")` - `MEMBER("member")` - `Status status` Invitation status: 'sent', 'accepted', 'rejected', or 'revoked' - `SENT("sent")` - `ACCEPTED("accepted")` - `REJECTED("rejected")` - `REVOKED("revoked")` - `Optional updatedAt` Timestamp when the invitation was last updated - `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 invitedByApiKeyId` UUID of the API key used to send this invitation. Null if sent via dashboard - `Optional middleName` Invited user's middle name (optional) - `Optional npiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `Optional phoneNumber` Invited user's phone number (optional) - `Optional suffix1` Name suffix (e.g., 'Jr.', 'MD') - optional - `Optional suffix2` Additional name suffix - optional ### Example ```java package com.avara.example; import com.avara.client.AvaraClient; import com.avara.client.okhttp.AvaraOkHttpClient; import com.avara.models.autoscribe.users.invitations.InvitationListPage; import com.avara.models.autoscribe.users.invitations.InvitationListParams; public final class Main { private Main() {} public static void main(String[] args) { AvaraClient client = AvaraOkHttpClient.fromEnv(); InvitationListPage page = client.autoScribe().users().invitations().list(); } } ``` ## Retrieve `InvitationRetrieveResponse autoScribe().users().invitations().retrieve(InvitationRetrieveParamsparams = InvitationRetrieveParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **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 params` - `Optional invitationId` Unique invitation identifier. Format: inv_{32-hex-chars} ### Returns - `class InvitationRetrieveResponse:` A pending user invitation in the AutoScribe system - `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 - `String clinicId` UUID of the clinic this invitation belongs to - `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("Physician Assistant")` - `NURSE_PRACTITIONER("Nurse Practitioner")` - `REGISTERED_NURSE("Registered Nurse")` - `PATIENT_CARE_COORDINATOR("Patient Care Coordinator")` - `FRONT_DESK_OPERATOR("Front Desk Operator")` - `IMAGING_TECHNOLOGIST("Imaging Technologist")` - `PACS_ADMINISTRATOR("PACS Administrator")` - `SOFTWARE_ENGINEER("Software Engineer")` - `REVENUE_CYCLE_MANAGER("Revenue Cycle Manager")` - `ADMINISTRATIVE_DIRECTOR("Administrative Director")` - `ADMINISTRATIVE_ASSISTANT("Administrative Assistant")` - `OTHER("Other")` - `Optional createdAt` Timestamp when the invitation was created - `String email` Email address the invitation was sent to - `Optional expiry` When the invitation expires, null if no expiration - `String firstName` Invited user's first name - `boolean hasDashboardAccess` Whether the invited user will have dashboard access - `String invitationId` Unique invitation identifier. Format: inv_{32-hex-chars} - `InvitedSource invitedSource` How the invitation was created - 'dashboard' or 'api' - `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 - `Level level` Access level for the invited user. 'admin' or 'member' when created via API - `OWNER("owner")` - `ADMIN("admin")` - `MEMBER("member")` - `Status status` Invitation status: 'sent', 'accepted', 'rejected', or 'revoked' - `SENT("sent")` - `ACCEPTED("accepted")` - `REJECTED("rejected")` - `REVOKED("revoked")` - `Optional updatedAt` Timestamp when the invitation was last updated - `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 invitedByApiKeyId` UUID of the API key used to send this invitation. Null if sent via dashboard - `Optional middleName` Invited user's middle name (optional) - `Optional npiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `Optional phoneNumber` Invited user's phone number (optional) - `Optional suffix1` Name suffix (e.g., 'Jr.', 'MD') - optional - `Optional suffix2` Additional name suffix - optional ### Example ```java package com.avara.example; import com.avara.client.AvaraClient; import com.avara.client.okhttp.AvaraOkHttpClient; import com.avara.models.autoscribe.users.invitations.InvitationRetrieveParams; import com.avara.models.autoscribe.users.invitations.InvitationRetrieveResponse; public final class Main { private Main() {} public static void main(String[] args) { AvaraClient client = AvaraOkHttpClient.fromEnv(); InvitationRetrieveResponse invitation = client.autoScribe().users().invitations().retrieve("inv_1234567890abcdef1234567890abcdef"); } } ``` ## Update `InvitationUpdateResponse autoScribe().users().invitations().update(InvitationUpdateParamsparams = InvitationUpdateParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **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 params` - `Optional invitationId` Unique invitation identifier. Format: inv_{32-hex-chars} - `Optional canCreateReports` Whether the invited user can generate and sign radiology reports. Requires NPI number - `Optional canManageStudies` Whether the invited user will have permission to create, update, and manage studies - `Optional clinicRole` - `RADIOLOGIST("Radiologist")` - `CARDIOLOGIST("Cardiologist")` - `NEUROLOGIST("Neurologist")` - `UROLOGIST("Urologist")` - `GYNECOLOGIST("Gynecologist")` - `ENDOCRINOLOGIST("Endocrinologist")` - `DOCTOR("Doctor")` - `SURGEON("Surgeon")` - `PHYSICIAN("Physician")` - `PHYSICIAN_ASSISTANT("Physician Assistant")` - `NURSE_PRACTITIONER("Nurse Practitioner")` - `REGISTERED_NURSE("Registered Nurse")` - `PATIENT_CARE_COORDINATOR("Patient Care Coordinator")` - `FRONT_DESK_OPERATOR("Front Desk Operator")` - `IMAGING_TECHNOLOGIST("Imaging Technologist")` - `PACS_ADMINISTRATOR("PACS Administrator")` - `SOFTWARE_ENGINEER("Software Engineer")` - `REVENUE_CYCLE_MANAGER("Revenue Cycle Manager")` - `ADMINISTRATIVE_DIRECTOR("Administrative Director")` - `ADMINISTRATIVE_ASSISTANT("Administrative Assistant")` - `OTHER("Other")` - `Optional firstName` Invited user's first name - `Optional hasDashboardAccess` Whether the invited user will have dashboard access - `Optional lastName` Invited user's last name - `Optional level` - `ADMIN("admin")` - `MEMBER("member")` - `Optional middleName` - `Optional npiNumber` - `Optional phoneNumber` - `Optional suffix1` - `Optional suffix2` ### Returns - `class InvitationUpdateResponse:` A pending user invitation in the AutoScribe system - `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 - `String clinicId` UUID of the clinic this invitation belongs to - `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("Physician Assistant")` - `NURSE_PRACTITIONER("Nurse Practitioner")` - `REGISTERED_NURSE("Registered Nurse")` - `PATIENT_CARE_COORDINATOR("Patient Care Coordinator")` - `FRONT_DESK_OPERATOR("Front Desk Operator")` - `IMAGING_TECHNOLOGIST("Imaging Technologist")` - `PACS_ADMINISTRATOR("PACS Administrator")` - `SOFTWARE_ENGINEER("Software Engineer")` - `REVENUE_CYCLE_MANAGER("Revenue Cycle Manager")` - `ADMINISTRATIVE_DIRECTOR("Administrative Director")` - `ADMINISTRATIVE_ASSISTANT("Administrative Assistant")` - `OTHER("Other")` - `Optional createdAt` Timestamp when the invitation was created - `String email` Email address the invitation was sent to - `Optional expiry` When the invitation expires, null if no expiration - `String firstName` Invited user's first name - `boolean hasDashboardAccess` Whether the invited user will have dashboard access - `String invitationId` Unique invitation identifier. Format: inv_{32-hex-chars} - `InvitedSource invitedSource` How the invitation was created - 'dashboard' or 'api' - `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 - `Level level` Access level for the invited user. 'admin' or 'member' when created via API - `OWNER("owner")` - `ADMIN("admin")` - `MEMBER("member")` - `Status status` Invitation status: 'sent', 'accepted', 'rejected', or 'revoked' - `SENT("sent")` - `ACCEPTED("accepted")` - `REJECTED("rejected")` - `REVOKED("revoked")` - `Optional updatedAt` Timestamp when the invitation was last updated - `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 invitedByApiKeyId` UUID of the API key used to send this invitation. Null if sent via dashboard - `Optional middleName` Invited user's middle name (optional) - `Optional npiNumber` National Provider Identifier - required for users who can create reports (10-digit number) - `Optional phoneNumber` Invited user's phone number (optional) - `Optional suffix1` Name suffix (e.g., 'Jr.', 'MD') - optional - `Optional suffix2` Additional name suffix - optional ### Example ```java package com.avara.example; import com.avara.client.AvaraClient; import com.avara.client.okhttp.AvaraOkHttpClient; import com.avara.models.autoscribe.users.invitations.InvitationUpdateParams; import com.avara.models.autoscribe.users.invitations.InvitationUpdateResponse; public final class Main { private Main() {} public static void main(String[] args) { AvaraClient client = AvaraOkHttpClient.fromEnv(); InvitationUpdateResponse invitation = client.autoScribe().users().invitations().update("inv_1234567890abcdef1234567890abcdef"); } } ``` ## Revoke `InvitationRevokeResponse autoScribe().users().invitations().revoke(InvitationRevokeParamsparams = InvitationRevokeParams.none(), RequestOptionsrequestOptions = RequestOptions.none())` **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 params` - `Optional invitationId` Invitation ID to revoke. Format: inv_{32-hex-chars} - `Optional userId` User ID whose pending invitation to revoke. Format: usr_{32-hex-chars} ### Returns - `class InvitationRevokeResponse:` Response for revoking an invitation in AutoScribe - `boolean success` - `Optional message` ### Example ```java package com.avara.example; import com.avara.client.AvaraClient; import com.avara.client.okhttp.AvaraOkHttpClient; import com.avara.models.autoscribe.users.invitations.InvitationRevokeParams; import com.avara.models.autoscribe.users.invitations.InvitationRevokeResponse; public final class Main { private Main() {} public static void main(String[] args) { AvaraClient client = AvaraOkHttpClient.fromEnv(); InvitationRevokeResponse response = client.autoScribe().users().invitations().revoke(); } } ```