@matech/thebigpos-sdk
Version:
1,686 lines • 347 kB
TypeScript
export type VersionStatusType = "Draft" | "Published";
export type UserRole = "Borrower" | "LoanOfficer" | "Admin" | "SuperAdmin" | "Realtor" | "SettlementAgent" | "LoanProcessor" | "LoanOfficerAssistant" | "SystemAdmin";
export type TaskStatus = "Outstanding" | "Pending" | "Completed" | "Rejected" | "Unknown";
export type SiteConfigurationType = "None" | "Account" | "Corporate" | "Branch" | "LoanOfficer" | "Partner";
export type SigningMethod = "ConsumerConnect" | "POSF";
export type SSOIntegrationType = "ConsumerConnect" | "TheBigPOS" | "POSF";
export type LosSyncStepSeverity = "Success" | "Info" | "Warning" | "Error";
export type LosOperationStatus = "Pending" | "Success" | "Failed" | "ConfigurationError" | "PermanentFailure" | "Locked";
export type LogLevel = "None" | "Info" | "Warning" | "Error";
export type LoanType = "Fha" | "Conventional" | "UsdaRd" | "Va" | "Other";
export type LoanTrustType = "Living" | "Land" | "Testamentary" | "Other";
export type LoanTitleHeld = "Sole" | "JointWithSpouse" | "JointWithOtherThanSpouse";
export type LoanTaskActivityFilter = "Active" | "Inactive" | "All";
export type LoanRole = "Borrower" | "CoBorrower" | "NonBorrower" | "LoanOfficer" | "LoanProcessor" | "LoanOfficerAssistant" | "SupportingLoanOfficer" | "BuyerAgent" | "SellerAgent" | "TitleInsuranceAgent" | "EscrowAgent" | "SettlementAgent" | "Admin";
export type LoanRealEstateStatus = "Keep" | "Rent" | "Sell";
export type LoanQueueType = "Unknown" | "New" | "Append" | "Update" | "FieldUpdates" | "Document" | "Buckets";
export type LoanQueueReason = "Unknown" | "Locked" | "LOSError" | "Exception";
export type LoanPurpose = "Purchase" | "Refinance";
export type LoanPropertyType = "SingleFamily" | "MultiFamily" | "Condominium" | "Townhouse" | "ManufacturedHome" | "PlannedUnitDevelopment" | "ModularHome" | "Other";
export type LoanPhoneNumberType = "Home" | "Cell" | "Work" | "Fax" | "Other";
export type LoanPacificIslanderRace = "NativeHawaiian" | "GuamanianOrChamorro" | "Samoan" | "Other";
export type LoanOwnershipInterestPropertyType = "PrimaryResidence" | "FHASecondaryResidence" | "SecondaryResidence" | "Investment";
export type LoanOtherLiabilityType = "Alimony" | "ChildSupport" | "SeparateMaintenance" | "JobRelatedExpense" | "Other";
export type LoanOtherIncomeType = "AccessoryUnitIncome" | "Alimony" | "AutomobileAllowance" | "BoarderIncome" | "CapitalGains" | "ChildSupport" | "DefinedContributionPlan" | "Disability" | "DividendsInterest" | "EmploymentRelatedAccount" | "FosterCare" | "HousingAllowance" | "HousingChoiceVoucherProgram" | "MortgageCreditCertificate" | "MortgageDifferential" | "NonBorrowerHouseholdIncome" | "NotesReceivableInstallment" | "Pension" | "PublicAssistance" | "Royalties" | "SeparateMaintenance" | "SocialSecurity" | "TemporaryLeave" | "TipIncome" | "Trust" | "VABenefitsNonEducational" | "Other";
export type LoanOtherAssetType = "ProceedsRealEstate" | "ProceedsNonRealEstate" | "SecuredBorrowerFunds" | "UnsecuredBorrowerFunds" | "EarnestMoney" | "EmployerAssistance" | "LotEquity" | "ReAddressFunds" | "RentCredit" | "SweatEquity" | "TradeEquity" | "Other";
export type LoanOccupancyType = "PrimaryHome" | "SecondHome" | "InvestmentProperty" | "Other";
export type LoanNameSuffix = "Jr" | "Sr" | "II" | "III" | "IV" | "V" | "VI" | "VII";
export type LoanNamePrefix = "Mr" | "Mrs" | "Ms";
export type LoanMilitaryServiceType = "Current" | "RetiredDischargedSeparated" | "NonActivatedNationalGuard" | "SurvivingSpouse";
export type LoanMaritalStatus = "Married" | "Separated" | "Unmarried";
export type LoanLogType = "Loan" | "Queue" | "POSFlagChanged" | "Verification" | "DocumentUploaded" | "LoanCreated" | "WorkflowSubmitted" | "UserInvitationSent" | "CoBorrowerAdded" | "TaskCompleted" | "LoanStatusChanged" | "Consent" | "SensitiveDataPurge" | "ClosingDateUpdated" | "ConsumerConnectAssociation" | "TaskReminderSent";
export type LoanLienPosition = "First" | "Subordinate";
export type LoanLiabilityType = "Revolving" | "Installment" | "Open30Day" | "Lease" | "Other";
export type LoanLanguagePreference = "English" | "Chinese" | "Korean" | "Spanish" | "Tagalog" | "Vietnamese" | "Other";
export type LoanImportStatus = "WaitingProcess" | "InProgress" | "Completed" | "Failed" | "Cancelled";
export type LoanImportMode = "All" | "NewOnly" | "UpdateOnly";
export type LoanHousingType = "NoExpense" | "Own" | "Rent";
export type LoanHomeOwnershipType = "Counseling" | "Education" | "Other";
export type LoanHomeOwnershipFormat = "InPerson" | "Online" | "Telephone";
export type LoanHispanicEthnicity = "Mexican" | "PuertoRican" | "Cuban" | "Other";
export type LoanGiftSource = "CommunityNonProfit" | "Employer" | "FederalAgency" | "LocalAgency" | "Relative" | "ReligiousNonProfit" | "StateAgency" | "UnmarriedPartner" | "Lender" | "Other";
export type LoanGiftAssetType = "Cash" | "Asset" | "Equity";
export type LoanGenderType = "Male" | "Female";
export type LoanDocumentFolderPermissionLevel = "None" | "Read" | "Write" | "Manage";
export type LoanCitizenship = "USCitizen" | "PermanentResidentAlien" | "NonPermanentResidentAlien";
export type LoanBankruptcyType = "Chapter7" | "Chapter11" | "Chapter12" | "Chapter13";
export type LoanAsianRace = "AsianIndian" | "Chinese" | "Filipino" | "Japanese" | "Korean" | "Vietnamese" | "Other";
export type LoanAccountAssetType = "Checking" | "Savings" | "MoneyMarket" | "CertificateOfDeposit" | "MutualFund" | "Stocks" | "Bonds" | "Retirement" | "BridgeLoanProceeds" | "IndividualDevelopmentAccount" | "TrustAccount" | "CashValueOfLifeInsurance" | "Other";
export type LoanAccessScopeType = "User" | "Branch";
export type LOSStatus = "Unknown" | "Pending" | "Retrying" | "Successful" | "Failed" | "FailedPermanently" | "Uploaded" | "PendingSync";
export type FilterType = "DateGreaterThanOrEqualTo" | "DateGreaterThan" | "DateLessThan" | "DateLessThanOrEqualTo" | "DateEquals" | "DateDoesntEqual" | "DateNonEmpty" | "DateEmpty" | "StringContains" | "StringEquals" | "StringNotEmpty" | "StringNotEquals" | "StringNotContains";
export type Environment = "Development" | "Staging" | "UAT" | "Production";
export type EntityType = "Account" | "Corporate" | "Branch" | "LoanOfficer" | "Realtor";
export type EncompassLogOutcome = "Success" | "Failure" | "PartialSuccess";
export type EncompassLogOperationType = "FieldUpdate" | "ConsentUpdate" | "DocumentSync" | "MilestoneUpdate" | "DocumentAttachment" | "General" | "FieldReader";
export type EncompassEnvironment = "Production" | "UAT";
export type DraftType = "NewLoan" | "EditLoan";
export type CustomFieldEntityType = "Loan";
export type CustomFieldDataType = "String" | "Number" | "Decimal" | "Boolean" | "Date" | "SingleSelect" | "MultiSelect";
export type CustomFieldAccessLevel = "NoAccess" | "ReadOnly" | "ReadWrite";
export type ConsentType = "Econsent" | "CreditAuthorization" | "Tcpa";
export type ConsentSource = "TheBigPOS" | "ConsumerConnect";
export type ConsentLosSyncStatus = "NotStarted" | "Failed" | "Success";
export type BranchType = "Mortgage" | "RealEstate";
export type BorrowerType = "Borrower" | "CoBorrower" | "Unknown";
export type BorrowerRelationship = "NotApplicable" | "Spouse" | "NonSpouse";
export type BorrowerApplicationStatus = "Draft" | "Complete";
export type BillingType = "ClosedLoan" | "LoanOfficer";
export type AuditChangeType = "Created" | "Modified" | "SoftDeleted" | "HardDeleted" | "Restored" | "Deactivated" | "Reactivated";
export type AddressFamily = "Unspecified" | "Unix" | "InterNetwork" | "ImpLink" | "Pup" | "Chaos" | "NS" | "Ipx" | "Iso" | "Osi" | "Ecma" | "DataKit" | "Ccitt" | "Sna" | "DecNet" | "DataLink" | "Lat" | "HyperChannel" | "AppleTalk" | "NetBios" | "VoiceView" | "FireFox" | "Banyan" | "Atm" | "InterNetworkV6" | "Cluster" | "Ieee12844" | "Irda" | "NetworkDesigners" | "Max" | "Packet" | "ControllerAreaNetwork" | "Unknown";
export interface ASOSettings {
enabled: boolean;
softPull: boolean;
triMerge: boolean;
closingCosts: boolean;
du: boolean;
lp: boolean;
iceIncomeAnalyzer: boolean;
iceCreditAnalyzer: boolean;
voa: boolean;
voi: boolean;
voie: boolean;
voe: boolean;
flood: boolean;
avm: boolean;
disclosures: boolean;
preApproval: boolean;
preQualification: boolean;
mi: boolean;
miRadian: boolean;
miEssent: boolean;
miNational: boolean;
miEnact: boolean;
mimgic: boolean;
miArch: boolean;
}
export interface Account {
/** @format uuid */
id: string;
name: string;
fusionCustomerID: string;
mfaPreference: string;
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format int32 */
allowedLoginsWithoutMFA: number;
losSettings: LOSSettings;
asoSettings?: ASOSettings | null;
settings: AccountSettings;
billingSettings?: AccountBilling | null;
}
export interface AccountBilling {
billingType: string;
/** @format double */
contractedRate: number;
}
export interface AccountBillingRequest {
billingType: "ClosedLoan" | "LoanOfficer";
/**
* @format double
* @min 0
* @exclusiveMin true
*/
contractedRate: number;
}
export interface AccountDeactivated {
accountDeactivated: boolean;
email: string;
}
export interface AccountReactivationCompleteRequest {
/** @format uuid */
token: string;
/** @minLength 8 */
newPassword: string;
}
export interface AccountReactivationRequest {
/**
* @format email
* @minLength 1
*/
email: string;
/** @format uuid */
siteConfigurationId: string;
}
export interface AccountSettings {
isSmsEnabled: boolean;
isLoanEditEnabled: boolean;
smsNumber?: string | null;
ssoHostOverride?: string | null;
isEarlyAdopter: boolean;
}
export interface AccountSettingsRequest {
isSmsEnabled: boolean;
smsNumber?: string | null;
isEarlyAdopter: boolean;
}
export interface Action {
/** @format uuid */
id: string;
name: string;
comments?: string | null;
/** @format uuid */
siteConfigurationID: string;
applicationSettings?: any;
surveysToken?: string | null;
}
export interface Address {
/** @format uuid */
id: string;
street?: string | null;
unit?: string | null;
city?: string | null;
state?: string | null;
county?: string | null;
postalCode?: string | null;
}
export interface AddressRequest {
/**
* @minLength 1
* @maxLength 255
*/
street: string;
/** @maxLength 50 */
unit?: string | null;
/** @maxLength 50 */
unitType?: string | null;
/**
* @minLength 1
* @maxLength 100
*/
city: string;
/** @minLength 1 */
state: string;
/** @maxLength 100 */
county?: string | null;
/** @minLength 1 */
postalCode: string;
}
export interface AddressV3 {
/** @format uuid */
id?: string | null;
street?: string | null;
unit?: string | null;
unitType?: string | null;
city?: string | null;
state?: string | null;
county?: string | null;
postalCode?: string | null;
}
export interface AdminAccessGetForms {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
/** @format int32 */
type: number;
target: string;
name: string;
isDefault: boolean;
description?: string | null;
slug?: string | null;
status: string;
language?: string | null;
borrowerType?: BorrowerType | null;
showProgressBar: boolean;
}
export interface AdminAccessUser {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
role: string;
firstName: string;
lastName: string;
email: string;
phone?: string | null;
title?: string | null;
forcePasswordReset: boolean;
mfaEnabled: boolean;
phoneVerified: boolean;
/** @format int32 */
loginsWithoutMFACount: number;
canImpersonate: boolean;
isInternal: boolean;
preferredLoanOfficer?: PreferredLoanOfficer | null;
loanIDs: string[];
drafts: Draft[];
notificationSettings?: UserNotificationSettings | null;
/** @format uuid */
accountID?: string | null;
loans: UserLoan[];
}
export interface AdminUser {
firstName: string;
lastName: string;
email: string;
password: string;
}
export interface AffordabilityCalculator {
/** @format double */
monthlyPrincipalAndInterest: number;
/** @format double */
monthlyTaxes: number;
/** @format double */
monthlyInsurance: number;
/** @format double */
monthlyPmi: number;
/** @format double */
monthlyTotal: number;
/** @format double */
actualFrontRatio: number;
/** @format double */
actualBackRatio: number;
/** @format double */
loanAmount: number;
/** @format double */
downPayment: number;
/** @format double */
homeValue: number;
amortization: Amortization;
}
export interface AffordabilityCalculatorRequest {
/**
* @format double
* @min 0
* @max 200000
*/
totalMonthlyIncome: number;
/**
* @format double
* @min 0
*/
totalMonthlyExpenses: number;
/**
* @format double
* @min 0
* @max 95
*/
downPayment: number;
/**
* @format double
* @min 1
* @max 25
*/
interestRate: number;
/**
* @format int32
* @min 1
* @max 40
*/
term: number;
/**
* @format double
* @min 0
* @max 10
*/
pmi: number;
/**
* @format double
* @min 5
* @max 60
*/
frontRatio: number;
/**
* @format double
* @min 5
* @max 80
*/
backRatio: number;
/**
* @format double
* @min 0
* @max 200000
*/
annualTaxes: number;
/**
* @format double
* @min 200
* @max 50000
*/
annualInsurance: number;
}
export interface AllowImpersonationRequest {
/**
* @format email
* @minLength 1
*/
email: string;
}
export interface Amortization {
/** @format double */
balance: number;
/** @format double */
periodicInterest: number;
/** @format int32 */
periods: number;
/** @format double */
periodicPayment: number;
/** @format double */
totalInterest: number;
/** @format double */
totalPayment: number;
/** @format date-time */
startDate: string;
/** @format date-time */
endDate?: string | null;
schedule: AmortizationSchedule[];
/** @format int32 */
monthsWithPmi: number;
}
export interface AmortizationSchedule {
/** @format double */
interest: number;
/** @format double */
principal: number;
/** @format double */
balance: number;
/** @format date-time */
date: string;
/** @format double */
pmi: number;
}
export interface ApplicationRowData {
borrowerEmail?: string | null;
borrowerFirstName?: string | null;
borrowerLastName?: string | null;
/** @deprecated */
firstName?: string | null;
/** @deprecated */
lastName?: string | null;
coBorrowerEmail?: string | null;
coBorrowerFirstName?: string | null;
coBorrowerLastName?: string | null;
loanOfficer?: string | null;
loanOfficerEmail?: string | null;
/** @format uuid */
id: string;
loanID: string;
/** @format date-time */
applicationDate?: string | null;
loanReferenceID: string;
/** @format float */
loanAmount?: number | null;
loanNumber?: string | null;
/** @deprecated */
role?: string | null;
/** @format date */
initialDisclosureDate?: string | null;
/** @format date */
closingDisclosureDate?: string | null;
/** @format date */
underwritingApprovalDate?: string | null;
/** @format date-time */
closedDate?: string | null;
/** @format date-time */
fundingDate?: string | null;
/** @format date */
currentStatusDate?: string | null;
channel?: string | null;
currentMilestone?: string | null;
lastMilestone?: string | null;
loanStatus?: string | null;
loanTerm?: string | null;
subjectPropertyStreet?: string | null;
subjectPropertyUnitType?: string | null;
subjectPropertyUnitNumber?: string | null;
subjectPropertyCity?: string | null;
subjectPropertyState?: string | null;
subjectPropertyZip?: string | null;
loanPurpose?: string | null;
buyerAgent?: EncompassContact | null;
sellerAgent?: EncompassContact | null;
settlementAgent?: EncompassContact | null;
escrowAgent?: EncompassContact | null;
titleInsuranceAgent?: EncompassContact | null;
}
export interface Attachment {
fileName: string;
base64Data: string;
}
export interface AuditEntityType {
entityType: string;
rootEntityType?: string | null;
}
export interface AuditLogEntry {
/** @format uuid */
id: string;
entityType: string;
changeType: "Created" | "Modified" | "SoftDeleted" | "HardDeleted" | "Restored" | "Deactivated" | "Reactivated";
/** @format uuid */
entityId: string;
performedBy?: AuditLogUser | null;
rootEntityType?: string | null;
/** @format uuid */
rootEntityId?: string | null;
changes?: any;
/** @format date-time */
createdAt: string;
}
export interface AuditLogEntryPaginated {
rows: AuditLogEntry[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface AuditLogSearchCriteria {
entityType?: string | null;
changeType?: AuditChangeType | null;
/** @format uuid */
entityId?: string | null;
/** @format uuid */
performedById?: string | null;
/** @format date-time */
startDate?: string | null;
/** @format date-time */
endDate?: string | null;
}
export interface AuditLogUser {
/** @format uuid */
id: string;
firstName: string;
lastName: string;
email: string;
}
export interface AutomatedService {
triggered: string[];
skipped: string[];
rateLimited: string[];
}
export interface BranchBase {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
name: string;
type: string;
}
export interface BranchReduced {
/** @format uuid */
id: string;
name: string;
type: string;
siteConfigurations: SiteConfigurationReduced[];
}
export interface BranchSearchCriteria {
searchText?: string | null;
isActive?: boolean | null;
brands?: string[] | null;
type?: string | null;
}
export interface BranchSummary {
/** @format uuid */
id: string;
name: string;
type: string;
}
export interface BranchUser {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
role: string;
firstName: string;
lastName: string;
email: string;
phone?: string | null;
title?: string | null;
forcePasswordReset: boolean;
mfaEnabled: boolean;
phoneVerified: boolean;
/** @format int32 */
loginsWithoutMFACount: number;
canImpersonate: boolean;
isInternal: boolean;
preferredLoanOfficer?: PreferredLoanOfficer | null;
loanIDs: string[];
drafts: Draft[];
notificationSettings?: UserNotificationSettings | null;
/** @format uuid */
branchID: string;
branchName: string;
/** @format uuid */
corporateID: string;
corporateName: string;
siteConfigurations: SiteConfigurationReduced[];
}
export interface BranchUserPaginated {
rows: BranchUser[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface BusinessRule {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
name: string;
description?: string | null;
tasks: Task[];
filter: BusinessRuleCondition[];
applyToAllBorrowerPairs: boolean;
}
export interface BusinessRuleCondition {
/** @format int32 */
conditionType: number;
targetFieldID: string;
targetFieldValue: string;
}
export interface BusinessRuleRequest {
/**
* @minLength 1
* @maxLength 250
*/
name: string;
description?: string | null;
tasks: TaskUpdateRequest[];
filter: BusinessRuleCondition[];
applyToAllBorrowerPairs: boolean;
}
export interface ChangePasswordRequest {
/** @minLength 1 */
oldPassword: string;
/** @minLength 8 */
newPassword: string;
}
export interface ClosedLoansReport {
/** @format int32 */
totalClosedPosLoans: number;
/** @format int32 */
totalClosedNonPosLoans: number;
/** @format double */
totalUtilization: number;
accounts: ClosedLoansReportAccount[];
}
export interface ClosedLoansReportAccount {
/** @format uuid */
id: string;
name: string;
/** @format int32 */
closedPosLoans: number;
/** @format int32 */
closedNonPosLoans: number;
/** @format double */
utilization: number;
}
export interface ClosedLoansReportRequest {
/**
* @format date
* @minLength 1
*/
startDate: string;
/**
* @format date
* @minLength 1
*/
endDate: string;
}
export interface CommentUserInformation {
entityId: string;
entityType: string;
entityName?: string | null;
entityUri?: string | null;
}
export interface Company {
name?: string | null;
siteUrl?: string | null;
address?: string | null;
address2?: string | null;
city?: string | null;
state?: string | null;
zip?: string | null;
phone?: string | null;
fax?: string | null;
nmlsid?: string | null;
}
export interface CompanyAddress {
address: string;
address2?: string | null;
city: string;
state: string;
zip: string;
}
export interface ConditionComment {
commentId: string;
comments: string;
/** @format int32 */
forRoleId: number;
forRole: CommentUserInformation;
/** @format date-time */
dateCreated: string;
createdBy: string;
createdByName: string;
}
export interface ConsumerConnectRetry {
correlationKey: string;
email: string;
status?: LosOperationStatus | null;
success: boolean;
}
export interface ConsumerConnectStatus {
correlationKey: string;
email: string;
status?: LosOperationStatus | null;
/** @format int32 */
attemptCount: number;
/** @format date-time */
lastAttemptAt?: string | null;
/** @format date-time */
nextRetryAt?: string | null;
lastTriggerSource?: string | null;
}
export interface ContactInfo {
phone: string;
tollFreePhone?: string | null;
fax?: string | null;
}
export interface Corporate {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
name: string;
/** @uniqueItems true */
branchIDs: string[];
siteConfigurations: SiteConfigurationReduced[];
}
export interface CorporateBase {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
name: string;
}
export interface CorporatePaginated {
rows: Corporate[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface CorporateRequest {
/**
* @minLength 1
* @maxLength 250
*/
name: string;
}
export interface CorporateSearchCriteria {
searchText?: string | null;
isActive?: boolean | null;
}
export interface CreateAccessScopeRequest {
scopeType: "User" | "Branch";
/** @format uuid */
userId?: string | null;
/** @format uuid */
branchId?: string | null;
}
export interface CreateAccountRequest {
/** @minLength 1 */
name: string;
/** @minLength 1 */
domain: string;
eConsentBucket?: string | null;
ignoreCoBorrowerRelationship: boolean;
user: AdminUser;
companyAddress: CompanyAddress;
contactInfo: ContactInfo;
theme: Theme;
/**
* @format int64
* @min 0
*/
nlmsid: number;
settings: AccountSettingsRequest;
environment: "Development" | "Staging" | "UAT" | "Production";
losIntegration: LOSIntegration;
billingSettings: AccountBillingRequest;
}
export interface CreateBranchRequest {
/**
* @minLength 1
* @maxLength 250
*/
name: string;
/** @format uuid */
corporateID: string;
type: string;
}
export interface CreateCustomFieldDefinitionRequest {
isRequired: boolean;
/**
* @format int32
* @min 0
*/
displayOrder: number;
/** @format int32 */
minLength?: number | null;
/** @format int32 */
maxLength?: number | null;
/** @format double */
minValue?: number | null;
/** @format double */
maxValue?: number | null;
/**
* @minLength 1
* @maxLength 250
*/
name: string;
defaultValue?: string | null;
regexPattern?: string | null;
dataType: "String" | "Number" | "Decimal" | "Boolean" | "Date" | "SingleSelect" | "MultiSelect";
entityType: "Loan";
options?: CustomFieldOptionRequest[] | null;
permissions?: CustomFieldPermissionRequest[] | null;
}
export interface CreateDocumentTemplateRequest {
/** @minLength 1 */
htmlBody: string;
/**
* @minLength 1
* @maxLength 255
*/
name: string;
type: string;
description?: string | null;
destinationBucket?: string | null;
status: string;
}
export interface CreateGroupMemberRequest {
/** @format uuid */
userId: string;
loanRole: "Borrower" | "CoBorrower" | "NonBorrower" | "LoanOfficer" | "LoanProcessor" | "LoanOfficerAssistant" | "SupportingLoanOfficer" | "BuyerAgent" | "SellerAgent" | "TitleInsuranceAgent" | "EscrowAgent" | "SettlementAgent" | "Admin";
}
export interface CreateInviteRequest {
/** @minLength 1 */
firstName: string;
/** @minLength 1 */
lastName: string;
/** @format email */
emailAddress: string;
phoneNumber?: string | null;
/** @deprecated */
relationship: "NotApplicable" | "Spouse" | "NonSpouse";
loanID: string;
route?: string | null;
/** @format uuid */
siteConfigurationID: string;
/** @deprecated */
userRole?: UserRole | null;
loanRole?: LoanRole | null;
}
export interface CreateLoanDocumentFolderRequest {
/**
* @minLength 1
* @maxLength 250
*/
name: string;
permissions: LoanDocumentFolderPermissionRequest[];
}
export interface CreateLoanImportRequest {
/** @format uuid */
accountID: string;
/**
* @format date-time
* @minLength 1
*/
endDate: string;
/**
* @format date-time
* @minLength 1
*/
startDate: string;
importMode: "All" | "NewOnly" | "UpdateOnly";
}
export interface CreateSession {
sessionId: string;
sessionUrl: string;
/** @format date-time */
createdAt: string;
/** @format date-time */
expiresAt?: string | null;
}
export interface CreateSessionRequest {
packageId: string;
recipientId: string;
}
export interface CreateUserDeviceRequest {
token: string;
}
export interface CreateUserDraft {
loanRole: "Borrower" | "CoBorrower" | "NonBorrower" | "LoanOfficer" | "LoanProcessor" | "LoanOfficerAssistant" | "SupportingLoanOfficer" | "BuyerAgent" | "SellerAgent" | "TitleInsuranceAgent" | "EscrowAgent" | "SettlementAgent" | "Admin";
}
export interface CreateUserGroupRequest {
/**
* @minLength 1
* @maxLength 200
*/
name: string;
/** @maxLength 1000 */
description?: string | null;
}
export interface CreateUserLoan {
loanRole?: LoanRole | null;
}
export interface CreateUserRelationRequest {
/**
* @format uuid
* @minLength 1
*/
userId1: string;
/**
* @format uuid
* @minLength 1
*/
userId2: string;
/** @minLength 1 */
relationType: string;
}
export interface CreateUserRequest {
/**
* @format email
* @minLength 1
*/
email: string;
phone?: string | null;
/**
* @minLength 1
* @maxLength 255
*/
firstName: string;
/**
* @minLength 1
* @maxLength 255
*/
lastName: string;
title?: string | null;
/** @format uuid */
branchId?: string | null;
/** @minLength 1 */
userRole: string;
isInternal?: boolean | null;
}
export interface CreateWebhookRequest {
webhookPath: string;
}
export interface CustomFieldDefinition {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
/** @format uuid */
accountID: string;
isActive: boolean;
isRequired: boolean;
/** @format int32 */
displayOrder: number;
/** @format int32 */
minLength?: number | null;
/** @format int32 */
maxLength?: number | null;
/** @format double */
minValue?: number | null;
/** @format double */
maxValue?: number | null;
name: string;
defaultValue?: string | null;
regexPattern?: string | null;
dataType: "String" | "Number" | "Decimal" | "Boolean" | "Date" | "SingleSelect" | "MultiSelect";
entityType: "Loan";
options: CustomFieldOption[];
permissions: CustomFieldPermission[];
encompassMapping?: EncompassMapping | null;
}
export interface CustomFieldEntry {
/** @format uuid */
definitionId: string;
isActive: boolean;
isReadOnly: boolean;
/** @format int32 */
displayOrder: number;
name: string;
value: string;
dataType: "String" | "Number" | "Decimal" | "Boolean" | "Date" | "SingleSelect" | "MultiSelect";
}
export interface CustomFieldOption {
/** @format uuid */
id: string;
/** @format int32 */
displayOrder: number;
value: string;
}
export interface CustomFieldOptionRequest {
/** @format int32 */
displayOrder: number;
value: string;
}
export interface CustomFieldPermission {
/** @format uuid */
id: string;
role: "Borrower" | "LoanOfficer" | "Admin" | "SuperAdmin" | "Realtor" | "SettlementAgent" | "LoanProcessor" | "LoanOfficerAssistant" | "SystemAdmin";
accessLevel: "NoAccess" | "ReadOnly" | "ReadWrite";
}
export interface CustomFieldPermissionRequest {
role: "Borrower" | "LoanOfficer" | "Admin" | "SuperAdmin" | "Realtor" | "SettlementAgent" | "LoanProcessor" | "LoanOfficerAssistant" | "SystemAdmin";
accessLevel: "NoAccess" | "ReadOnly" | "ReadWrite";
}
export interface CustomFieldValue {
/** @format uuid */
id: string;
/** @format uuid */
entityID: string;
/** @format uuid */
customFieldDefinitionID: string;
value: string;
definitionName: string;
dataType: "String" | "Number" | "Decimal" | "Boolean" | "Date" | "SingleSelect" | "MultiSelect";
}
export interface DetailedUser {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
role: string;
firstName: string;
lastName: string;
email: string;
phone?: string | null;
title?: string | null;
forcePasswordReset: boolean;
mfaEnabled: boolean;
phoneVerified: boolean;
/** @format int32 */
loginsWithoutMFACount: number;
canImpersonate: boolean;
isInternal: boolean;
preferredLoanOfficer?: PreferredLoanOfficer | null;
loanIDs: string[];
drafts: Draft[];
notificationSettings?: UserNotificationSettings | null;
}
export interface Device {
/** @format uuid */
id: string;
/** @format uuid */
accountID: string;
serialNumber: string;
apps: any;
/** @format uuid */
createdBy: string;
/** @format uuid */
updatedBy?: string | null;
/** @format uuid */
managedBy?: string | null;
name?: string | null;
type?: string | null;
status?: string | null;
comments?: string | null;
}
export interface DeviceAction {
is_enabled: boolean;
localized_name?: string | null;
name?: string | null;
remarks?: string | null;
localized_action_info?: string | null;
status_code?: string | null;
action_info?: string | null;
localized_status_description?: string | null;
status_description?: string | null;
}
export interface DeviceMDM {
managed_status?: string | null;
device_id?: string | null;
is_supervised: boolean;
os_version?: string | null;
is_lost_mode_enabled: boolean;
owned_by?: string | null;
is_removed?: string | null;
product_name?: string | null;
device_name?: string | null;
device_type?: string | null;
platform_type?: string | null;
wifi_mac?: string | null;
udid?: string | null;
serial_number?: string | null;
customer_name?: string | null;
customer_id?: string | null;
model?: string | null;
last_contact_time?: string | null;
platform_type_id?: string | null;
device_capacity?: string | null;
imei: string[];
user?: MdmUser | null;
actions?: DeviceAction[] | null;
}
export interface DevicePaginated {
rows: Device[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface DeviceRequest {
apps: any;
name?: string | null;
comments?: string | null;
}
export interface DocumentData {
documentID: string;
/** @format uuid */
eSignRecordID: string;
documentBucketTitle?: string | null;
documentName?: string | null;
/** @format date-time */
createdAt: string;
extension?: string | null;
password: string;
systemGenerated: boolean;
}
export interface DocumentDataRequest {
documentID?: string | null;
/** @format uuid */
eSignRecordID: string;
documentBucketTitle?: string | null;
documentName?: string | null;
/** @format date-time */
createdAt: string;
base64Data?: string | null;
extension?: string | null;
password?: string | null;
systemGenerated: boolean;
}
export interface DocumentFile {
/** @format uuid */
id: string;
name: string;
losStatus: string;
}
export interface DocumentFolder {
folderName: string;
/** @format int32 */
count: number;
files: DocumentFile[];
}
export interface DocumentFoldersRequest {
searchText?: string | null;
losStatuses?: LOSStatus[] | null;
sortBy?: string | null;
sortDirection?: string | null;
}
export interface DocumentSync {
/** @format int32 */
syncedCount: number;
/** @format date-time */
lastLosDocumentsSyncDate?: string | null;
}
export interface DocumentTemplate {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
htmlBody: string;
name: string;
multipleCustomTemplates: boolean;
isDefault: boolean;
type: string;
description?: string | null;
destinationBucket?: string | null;
isDestinationBucketConfigurable: boolean;
status: string;
versions: DocumentTemplateVersionBase[];
}
export interface DocumentTemplateBase {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
htmlBody: string;
name: string;
multipleCustomTemplates: boolean;
isDefault: boolean;
type: string;
description?: string | null;
destinationBucket?: string | null;
isDestinationBucketConfigurable: boolean;
status: string;
}
export interface DocumentTemplateVersion {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
/** @format int32 */
version: number;
name: string;
isActive: boolean;
htmlBody: string;
documentTemplate: DocumentTemplateBase;
}
export interface DocumentTemplateVersionBase {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
/** @format int32 */
version: number;
name?: string | null;
isActive: boolean;
htmlBody: string;
}
export interface DocumentTemplateVersionRequest {
/** @maxLength 255 */
name?: string | null;
isActive: boolean;
htmlBody: string;
}
export interface DocumentTemplateVersionUpdateRequest {
/** @maxLength 255 */
name: string;
isActive: boolean;
/** @minLength 1 */
htmlBody: string;
}
export interface Draft {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
customData: any;
user: UserBase;
loanOfficer: UserBase;
siteConfiguration: SiteConfigurationReduced;
/** @format uuid */
loanID?: string | null;
type: "NewLoan" | "EditLoan";
isCoBorrower: boolean;
}
export interface DraftContent {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
customData: any;
user: UserBase;
loanOfficer: UserBase;
siteConfiguration: SiteConfigurationReduced;
/** @format uuid */
loanID?: string | null;
type: "NewLoan" | "EditLoan";
isCoBorrower: boolean;
applicationPayload: any;
}
export interface DraftContentPaginated {
rows: DraftContent[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface DraftLoanOfficerReassignRequest {
/** @format uuid */
loanOfficerID: string;
}
export interface DraftRequest {
applicationPayload: any;
customData?: any;
isCoBorrower: boolean;
}
export interface EnabledServices {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
mobilePrequal?: boolean | null;
fullApp?: boolean | null;
mobileApp?: boolean | null;
ringCentral?: boolean | null;
socialSurvey?: boolean | null;
borrowerTasks?: boolean | null;
docusign?: boolean | null;
emailNotifications?: boolean | null;
autoTaskReminders?: boolean | null;
voc?: boolean | null;
spanishPrequal?: boolean | null;
spanishFullApp?: boolean | null;
prequalLetter?: boolean | null;
payments?: boolean | null;
leadApp?: boolean | null;
documents?: boolean | null;
loanCalculator?: boolean | null;
disclosures?: boolean | null;
buyerClient?: boolean | null;
sellerClient?: boolean | null;
clientLifestyle?: boolean | null;
loanDetails?: boolean | null;
loanStatus?: boolean | null;
loanStatusNotifications?: boolean | null;
loanAndProperty?: boolean | null;
personalInformation?: boolean | null;
employment?: boolean | null;
assets?: boolean | null;
realEstate?: boolean | null;
encompassWeb?: boolean | null;
support?: boolean | null;
leads?: boolean | null;
openHouseForm?: boolean | null;
listingOfferForm?: boolean | null;
listings?: boolean | null;
addCoBorrower?: boolean | null;
autoNameTaskDocuments?: boolean | null;
genericCalculatorsEnabled?: boolean | null;
}
export interface EncompassContact {
name?: string | null;
email?: string | null;
phone?: string | null;
company?: string | null;
}
export interface EncompassCredentialsDetail {
/** @format uuid */
id: string;
/** @format uuid */
accountID: string;
instanceID: string;
loanAssignmentRole?: string | null;
loanTemplate?: string | null;
defaultLoanOfficerUserName?: string | null;
clearStateIfUnlicensed: boolean;
/** @deprecated */
baseUrl?: string | null;
encompassEnvironment: "Production" | "UAT";
consumerConnectWidgetHost?: string | null;
signingMethod: "ConsumerConnect" | "POSF";
subscriptionId?: string | null;
environment?: string | null;
}
export interface EncompassCredentialsRequest {
/** @format uuid */
id: string;
/** @format uuid */
accountID: string;
instanceID: string;
loanAssignmentRole?: string | null;
loanTemplate?: string | null;
defaultLoanOfficerUserName?: string | null;
clearStateIfUnlicensed: boolean;
/** @deprecated */
baseUrl?: string | null;
encompassEnvironment: "Production" | "UAT";
consumerConnectWidgetHost?: string | null;
signingMethod: "ConsumerConnect" | "POSF";
subscriptionId?: string | null;
environment?: string | null;
clientID?: string | null;
clientSecret?: string | null;
signingKeyId?: string | null;
signingKey?: string | null;
}
export interface EncompassCustomFieldMapping {
/** @format uuid */
id: string;
/** @format uuid */
customFieldDefinitionId: string;
encompassFieldId: string;
encompassFieldType: string;
isActive: boolean;
/** @format date-time */
createdAt: string;
}
export interface EncompassCustomFieldMappingRequest {
encompassFieldId: string;
encompassFieldType: string;
}
export interface EncompassError {
errorCode: string;
message: string;
details?: string[] | null;
}
export interface EncompassFieldListItem {
fieldId: string;
description: string;
fieldType: string;
inUse: boolean;
}
export interface EncompassIntegrationSettings {
consumerConnectWidgetHost?: string | null;
}
export interface EncompassLogSearchCriteria {
searchText?: string | null;
operationTypes?: EncompassLogOperationType[] | null;
outcomes?: EncompassLogOutcome[] | null;
/** @format date-time */
createdFrom?: string | null;
/** @format date-time */
createdTo?: string | null;
/** @format int32 */
httpStatusCode?: number | null;
}
export interface EncompassMapping {
/** @format uuid */
id: string;
encompassFieldId: string;
status: string;
}
export interface EncompassPackageDocumentStatus {
documentId: string;
title: string;
type?: string | null;
signatureType?: string | null;
isSigned: boolean;
/** @format date-time */
viewedAt?: string | null;
/** @format date-time */
completedAt?: string | null;
}
export interface EncompassPackageItem {
packageId: string;
status: string;
/** @format date-time */
createdAt: string;
recipientId: string;
title?: string | null;
/** @format date-time */
issuedAt?: string | null;
/** @format date-time */
expiresAt?: string | null;
/** @format int32 */
totalDocuments: number;
/** @format int32 */
signedDocuments: number;
documents: EncompassPackageDocumentStatus[];
}
export interface EncompassPackageList {
packages: EncompassPackageItem[];
/** @format int32 */
totalCount: number;
/** @format int32 */
page: number;
/** @format int32 */
pageSize: number;
/** @format int32 */
totalPages: number;
}
export interface EncompassRecipientItem {
/** @format uuid */
id: string;
/** @format uuid */
packageId: string;
recipientId: string;
status: string;
/** @format date-time */
createdAt: string;
}
export interface EncompassRequestLog {
/** @format uuid */
id: string;
losId?: string | null;
/** @format uuid */
accountId: string;
operationType: "FieldUpdate" | "ConsentUpdate" | "DocumentSync" | "MilestoneUpdate" | "DocumentAttachment" | "General" | "FieldReader";
outcome: "Success" | "Failure" | "PartialSuccess";
message: string;
endpoint?: string | null;
httpMethod?: string | null;
/** @format int32 */
httpStatusCode?: number | null;
/** @format int64 */
durationMs?: number | null;
context?: any;
/** @format date-time */
createdAt: string;
}
export interface EncompassRequestLogPaginated {
rows: EncompassRequestLog[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface Error {
message: string;
}
export interface File {
/** @format uuid */
id: string;
fileName: string;
name: string;
s3FilePath: string;
user?: User | null;
account?: Account | null;
url: string;
}
export interface FilePaginated {
rows: File[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface FileRequest {
/**
* @minLength 1
* @maxLength 250
*/
name: string;
}
export interface FileSearchCriteria {
searchText?: string | null;
isPublic?: boolean | null;
}
export interface FileWithBytes {
name: string;
/** @format byte */
data: string;
fileName: string;
mimeType?: string | null;
extension?: string | null;
}
export interface Form {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
formJSON: any;
/** @format int32 */
type: number;
target: string;
authType: string;
name: string;
isDefault: boolean;
description?: string | null;
slug?: string | null;
status: string;
language?: string | null;
showProgressBar: boolean;
borrowerType?: BorrowerType | null;
versions: FormVersion[];
}
export interface FormRequest {
formJSON: any;
/** @format int32 */
type: number;
target: string;
authType: string;
inviteUser: boolean;
name: string;
description?: string | null;
slug?: string | null;
status: string;
language?: string | null;
borrowerType?: BorrowerType | null;
showProgressBar: boolean;
}
export interface FormSubmission {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
/** @format uuid */
formID?: string | null;
formName?: string | null;
firstName?: string | null;
lastName?: string | null;
email?: string | null;
contactPhone?: string | null;
/** @format uuid */
siteConfigurationID: string;
siteConfiguration: SiteConfiguration;
loanOfficerEmail?: string | null;
/** @format uuid */
loanOfficerID?: string | null;
loanOfficer?: User | null;
/** @format uuid */
branchID?: string | null;
branch?: GetBranch | null;
status: string;
subjectPropertyAddressStreet?: string | null;
subjectPropertyAddressCity?: string | null;
subjectPropertyAddressCounty?: string | null;
subjectPropertyAddressState?: string | null;
subjectPropertyAddressZip?: string | null;
data?: any;
/** @format uuid */
listingID?: string | null;
listing?: Listing | null;
files: FormSubmissionFile[];
}
export interface FormSubmissionFile {
/** @format uuid */
id: string;
file: File;
}
export interface FormSubmissionPaginated {
rows: FormSubmission[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface FormSubmissionRequest {
formID?: string | null;
formName?: string | null;
firstName?: string | null;
lastName?: string | null;
email?: string | null;
contactPhone?: string | null;
loanOfficerEmail?: string | null;
/** @format uuid */
loanOfficerID?: string | null;
/** @format uuid */
branchID?: string | null;
status?: string | null;
subjectPropertyAddressStreet?: string | null;
subjectPropertyAddressCity?: string | null;
subjectPropertyAddressCounty?: string | null;
subjectPropertyAddressState?: string | null;
subjectPropertyAddressZip?: string | null;
data?: any;
/** @format uuid */
listingID?: string | null;
}
export interface FormSubmissionSearchCriteria {
searchText?: string | null;
/** @format uuid */
loanOfficerID?: string | null;
/** @format uuid */
branchID?: string | null;
formName?: string | null;
formNames?: string[] | null;
email?: string | null;
status?: string | null;
/** @format uuid */
listingID?: string | null;
}
export interface FormVersion {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
/** @format int32 */
version: number;
name?: string | null;
isActive: boolean;
formJSON: any;
form: GetForm;
}
export interface FormVersionRequest {
/** @maxLength 255 */
name?: string | null;
isActive: boolean;
formJSON: any;
}
export interface FormVersionUpda