@matech/thebigpos-sdk
Version:
2,278 lines (2,098 loc) • 282 kB
text/typescript
/* eslint-disable */
/* tslint:disable */
// @ts-nocheck
/*
* ---------------------------------------------------------------
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
* ## ##
* ## AUTHOR: acacode ##
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
* ---------------------------------------------------------------
*/
export type UserRole =
| "Borrower"
| "LoanOfficer"
| "Admin"
| "SuperAdmin"
| "Realtor"
| "SettlementAgent"
| "LoanProcessor"
| "LoanOfficerAssistant"
| "BranchManager"
| "SystemAdmin";
export type SiteConfigurationType =
| "None"
| "Account"
| "Corporate"
| "Branch"
| "LoanOfficer"
| "Partner";
export type SSOIntegrationType = "ConsumerConnect" | "TheBigPOS";
export type OperationType =
| "Add"
| "Remove"
| "Replace"
| "Move"
| "Copy"
| "Test"
| "Invalid";
export type LogLevel = "None" | "Info" | "Warning" | "Error";
export type LoanRole =
| "Borrower"
| "CoBorrower"
| "NonBorrower"
| "LoanOfficer"
| "LoanProcessor"
| "LoanOfficerAssistant"
| "SupportingLoanOfficer"
| "BuyerAgent"
| "SellerAgent"
| "TitleInsuranceAgent"
| "EscrowAgent"
| "SettlementAgent";
export type LoanQueueType =
| "Unknown"
| "New"
| "Append"
| "Update"
| "FieldUpdates"
| "Document"
| "Buckets";
export type LoanQueueReason = "Unknown" | "Locked" | "LOSError" | "Exception";
export type LoanLogType = "Loan" | "Queue" | "POSFlagChanged" | "Verification";
export type LoanImportStatus =
| "WaitingProcess"
| "InProgress"
| "Completed"
| "Failed"
| "Cancelled";
export type LoanImportMode = "All" | "NewOnly" | "UpdateOnly";
export type LoanAccessScopeType = "User" | "Branch";
export type LOSStatus =
| "Unknown"
| "Pending"
| "Retrying"
| "Successful"
| "Failed"
| "FailedPermanently";
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 BranchType = "Mortgage" | "RealEstate";
export type BorrowerType = "Borrower" | "CoBorrower" | "Unknown";
export type BorrowerRelationship = "NotApplicable" | "Spouse" | "NonSpouse";
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;
}
export interface AccountSettings {
isSmsEnabled: boolean;
smsNumber?: string | null;
}
export interface AccountSettingsRequest {
isSmsEnabled: boolean;
smsNumber?: string | null;
}
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 */
street: string;
unit?: string | null;
/** @minLength 1 */
city: string;
/** @minLength 1 */
state: string;
county?: string | null;
/** @minLength 1 */
postalCode: string;
}
export interface AdminAccessGetForms {
/** @format date-time */
createdAt?: string | null;
/** @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 | null;
/** @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;
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;
loanID: string;
/** @format date-time */
applicationDate?: string | null;
loanReferenceID: string;
/** @format float */
loanAmount?: number | null;
loanNumber?: string | null;
/** @deprecated */
role?: string | null;
/** @format date-time */
initialDisclosureDate?: string | null;
/** @format date-time */
closingDisclosureDate?: string | null;
/** @format date-time */
underwritingApprovalDate?: string | null;
/** @format date-time */
closedDate?: string | null;
/** @format date-time */
fundingDate?: string | null;
/** @format date-time */
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 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 | null;
/** @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;
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 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 ContactInfo {
phone: string;
tollFreePhone?: string | null;
fax?: string | null;
}
export interface Corporate {
/** @format date-time */
createdAt?: string | null;
/** @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;
}
export interface CreateBranchRequest {
/**
* @minLength 1
* @maxLength 250
*/
name: string;
/** @format uuid */
corporateID: string;
type: string;
}
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";
}
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 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 CreateUserDeviceRequest {
token: string;
}
export interface CreateUserDraft {
loanRole:
| "Borrower"
| "CoBorrower"
| "NonBorrower"
| "LoanOfficer"
| "LoanProcessor"
| "LoanOfficerAssistant"
| "SupportingLoanOfficer"
| "BuyerAgent"
| "SellerAgent"
| "TitleInsuranceAgent"
| "EscrowAgent"
| "SettlementAgent";
}
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;
}
export interface CustomLoanData {
eConsentInformation?: EConsentInformation | null;
}
export interface DetailedUser {
/** @format date-time */
createdAt?: string | null;
/** @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;
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 DocumentTemplate {
/** @format date-time */
createdAt?: string | null;
/** @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 | null;
/** @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;
}
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;
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;
}
export interface EConsentInformation {
status: string;
/** @format date-time */
acceptedDate?: string | null;
ipAddress?: string | null;
source?: string | null;
}
export interface EnabledServices {
/** @format date-time */
createdAt?: string | null;
/** @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;
rates?: 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;
}
export interface EncompassContact {
name?: string | null;
email?: string | null;
phone?: string | null;
company?: string | null;
}
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 | null;
/** @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 FormVersionUpdateRequest {
/** @maxLength 255 */
name?: string | null;
isActive: boolean;
formJSON: any;
/** @format uuid */
id: string;
}
export interface FusionFieldDisplay {
fieldValue: string;
}
export interface FusionReportFilter {
filterType:
| "DateGreaterThanOrEqualTo"
| "DateGreaterThan"
| "DateLessThan"
| "DateLessThanOrEqualTo"
| "DateEquals"
| "DateDoesntEqual"
| "DateNonEmpty"
| "DateEmpty"
| "StringContains"
| "StringEquals"
| "StringNotEmpty"
| "StringNotEquals"
| "StringNotContains";
targetField: string;
targetValue: string;
}
export interface GenerateDocumentRequest {
/** @deprecated */
loanID?: string | null;
/**
* @format uuid
* @minLength 1
*/
templateID: string;
/**
* @deprecated
* @format uuid
*/
siteConfigurationID?: string | null;
preview: boolean;
recipients: string[];
}
export interface GetApplications {
applications: ApplicationRowData[];
}
export interface GetBranch {
/** @format date-time */
createdAt?: string | null;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
name: string;
/** @format uuid */
corporateID?: string | null;
corporateName?: string | null;
/** @uniqueItems true */
loanOfficerIDs: string[];
type: string;
siteConfigurations: SiteConfigurationReduced[];
}
export interface GetBranchPaginated {
rows: GetBranch[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface GetForm {
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;
/** @format uuid */
id: string;
}
export interface GetReport {
loanRecords: LoanRecord[];
invalidFieldIDs: string[];
}
export interface GetReportRequest {
fields: FusionFieldDisplay[];
filters?: FusionReportFilter[] | null;
loanIDs?: string[] | null;
/** @format int32 */
startIndex?: number | null;
/** @format int32 */
limit?: number | null;
}
export interface GetSiteConfigurationByLOUserIDRequest {
loUserID: string;
}
export interface GetSiteConfigurationRequest {
url: string;
}
export interface GetSiteFormRequest {
/**
* @format uuid
* @minLength 1
*/
siteConfigurationId: string;
/** @format int32 */
formType: number;
slug?: string | null;
}
export interface GetUserByEmailRequest {
/**
* @format email
* @minLength 1
*/
email: string;
}
export interface GetWorkflowRequest {
/** @minLength 1 */
formType: string;
borrowerType?: string | null;
userRole?: string | null;
language?: string | null;
}
export type IContractResolver = object;
export interface ImpersonatedDetailedUser {
/** @format date-time */
createdAt?: string | null;
/** @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;
loanIDs: string[];
drafts: Draft[];
notificationSettings?: UserNotificationSettings | null;
/** @deprecated */
impersonatedBy?: string | null;
impersonatingUser?: User | null;
}
export interface ImportUserLoanTaskRequest {
/**
* @format uuid
* @minLength 1
*/
taskID: string;
/**
* @format uuid
* @minLength 1
*/
userID: string;
}
export interface Invite {
/** @format uuid */
id: string;
firstName: string;
lastName: string;
emailAddress: string;
phoneNumber: string;
relationship: string;
loanID: string;
route?: string | null;
/** @format uuid */
siteConfigurationID: string;
isExistingAccount: boolean;
completedLoanApplication: boolean;
userRole: string;
loanRole?: string | null;
customData: any;
/** @format uuid */
oneTimeToken: string;
/** @format date-time */
createdAt: string;
invitedBy?: User | null;
}
/** Array of operations to perform */
export type JsonPatchDocument = Operation[];
export interface LOSIntegration {
instanceID: string;
}
export interface LOSSettings {
retailLoanClosingDateFieldID: string;
wholesaleLoanClosingDateFieldID: string;
brokerLoanClosingDateFieldID: string;
correspondentLoanClosingDateFieldID: string;
customEConsentBucketTitle?: string | null;
loanMilestoneNotificationsEnabled: boolean;
useLocalPipeline: boolean;
}
export interface LOSSettingsUpdateRequest {
retailLoanClosingDateFieldID: string;
wholesaleLoanClosingDateFieldID: string;
brokerLoanClosingDateFieldID: string;
correspondentLoanClosingDateFieldID: string;
customEConsentBucketTitle?: string | null;
loanMilestoneNotificationsEnabled: boolean;
}
export interface Listing {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
description?: string | null;
mlsNumber?: string | null;
address?: Address | null;
/** @format int32 */
salePrice?: number | null;
/** @format date-time */
activeDate: string;
/** @format date-time */
expirationDate?: string | null;
zillowURL?: string | null;
photos: ListingPhoto[];
files: ListingFile[];
backgroundImage?: File | null;
/** @format date-time */
openHouseDate?: string | null;
/** @format double */
buyerAgentCommissionPercent?: number | null;
/** @format double */
sellerAgentCommissionPercent?: number | null;
isActive: boolean;
slug: string;
url?: string | null;
loanOfficer?: LoanOfficer | null;
siteConfiguration: SiteConfiguration;
}
export interface ListingFile {
/** @format uuid */
id: string;
type: string;
file: File;
/** @format int32 */
weight: number;
}
export interface ListingPaginated {
rows: Listing[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface ListingPhoto {
/** @format uuid */
id: string;
description?: string | null;
file: File;
/** @format int32 */
weight: number;
}
export interface ListingRequest {
description?: string | null;
mlsNumber?: string | null;
address: AddressRequest;
/**
* @format int32
* @min 0
* @exclusiveMin true
*/
salePrice?: number | null;
/**
* @format date-time
* @minLength 1
*/
activeDate: string;
/** @format date-time */
expirationDate?: string | null;
zillowURL?: string | null;
/** @format date-time */
openHouseDate?: string | null;
/** @format double */
buyerAgentCommissionPercent?: number | null;
/** @format double */
sellerAgentCommissionPercent?: number | null;
/** @format uuid */
siteConfigurationId?: string | null;
}
export interface ListingSearchCriteria {
searchText?: string | null;
isActive?: boolean | null;
partnerIds?: string[] | null;
}
export interface Loan {
/** @format uuid */
id: string;
loanID: string;
loanNumber?: string | null;
/** @format date-time */
initialDisclosureProvidedDate?: string | null;
/** @format date-time */
closingDisclosureSentDate?: string | null;
/** @format date-time */
underwritingApprovalDate?: string | null;
/** @format date-time */
closingDate?: string | null;
/** @format date-time */
fundingOrderDate?: string | null;
/** @format date-time */
currentStatusDate?: string | null;
loanChannel?: string | null;
/** @format double */
totalLoanAmount?: number | null;
currentLoanStatus?: string | null;
currentMilestone?: string | null;
lastCompletedMilestone?: string | null;
/** @format date-time */
startDate?: string | null;
isInSync: boolean;
/** @format date-time */
syncDate?: string | null;
excludeFromAutoTaskReminders?: boolean | null;
fileStarter?: string | null;
isPOSLoan?: boolean | null;
referenceID: string;
/** @format int32 */
term?: number | null;
loanProgram?: string | null;
loanType?: string | null;
status?: string | null;
loanOfficer?: LoanOfficer | null;
propertyAddress?: Address | null;
loanSettings?: LoanSettings | null;
loanLogs: LoanLog[];
isLocked: boolean;
isLockedFromEditing: boolean;
source?: string | null;
userLoans: UserLoan[];
contacts: LoanContact[];
}
export interface LoanComparison {
loanID: string;
scenarios: LoanComparisonScenario[];
loanLocked: boolean;
}
export interface LoanComparisonCalculator {
/** @format double */
loanAmount: number;
loans: LoanComparisonCalculatorLoan[];
}
export interface LoanComparisonCalculatorLoan {
/** @format double */
points: number;
/** @format double */
originationFees: number;
/** @format double */
closingCosts: number;
/** @format double */
totalClosingCosts: number;
/** @format double */
monthlyPrincipalAndInterest: number;
amortization: Amortization;
}
export interface LoanComparisonCalculatorLoanRequest {
/**
* @format double
* @min 1
* @max 25
*/
interestRate: number;
/**
* @format int32
* @min 1
* @max 40
*/
term: number;
/**
* @format double
* @min 0
* @max 3
*/
points: number;
/**
* @format double
* @min 0
* @max 5
*/
originationFees: number;
/**
* @format double
* @min 500
* @max 100000
*/
closingCosts: number;
/**
* @format double
* @min 25000
* @max 10000000
*/
homeValue: number;
/**
* @format double
* @min 0
* @max 10
*/
pmi: number;
}
export interface LoanComparisonCalculatorRequest {
/**
* @format double
* @min 30000
*/
loanAmount: number;
loans: LoanComparisonCalculatorLoanRequest[];
}
export interface LoanComparisonScenario {
loanProgram?: string | null;
/** @minLength 1 */
loanType: string;
propertyValue?: string | null;
purchasePrice?: string | null;
downpaymentAmount?: string | null;
downpaymentPercent?: string | null;
loanAmount?: string | null;
totalAssets?: string | null;
monthlyPayment?: string | null;
totalMortgageAmount?: string | null;
dtiFront?: string | null;
dtiBack?: string | null;
ltvFront?: string | null;
ltvBack?: string | null;
totalCashToClose?: string | null;
apr?: string | null;
mi?: string | null;
miFactor?: string | null;
rate?: string | null;
loanTerm1?: string | null;
loanTerm2?: string | null;
closingCosts?: string | null;
prepaidCharges?: string | null;
totalCost?: string | null;
totalFinancing?: string | null;
discount?: string | null;
lenderCredit?: string | null;
fundingFee?: string | null;
}
export interface LoanConsentRequest {
/** @format email */
borrowerEmail?: string | null;
borrowerEConsent?: boolean | null;
borrowerCreditAuth?: boolean | null;
borrowerTCPAOptIn?: boolean | null;
additionalFields?: Record<string, string>;
}
export interface LoanContact {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
fullName?: string | null;
firstName?: string | null;
lastName?: string | null;
name?: string | null;
email?: string | null;
phone?: string | null;
companyName?: string | null;
role:
| "Borrower"
| "CoBorrower"
| "NonBorrower"
| "LoanOfficer"
| "LoanProcessor"
| "LoanOfficerAssistant"
| "SupportingLoanOfficer"
| "BuyerAgent"
| "SellerAgent"
| "TitleInsuranceAgent"
| "EscrowAgent"
| "SettlementAgent";
}
export interface LoanContactList {
email: string;
}
export interface LoanCreateRequest {
/**
* @format uuid
* @minLength 1
*/
draftId: string;
}
export interface LoanDocument {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
name: string;
loan: Loan;
user?: User | null;
initialBucket?: string | null;
losDocumentID?: string | null;
losStatus: string;
contents?: string | null;
failoverDocumentPath?: string | null;
}
export interface LoanDocumentSearch {
/** @format date-time */
createdAt?: string | null;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
name: string;
loanID?: string | null;
userID?: string | null;
initialBucket?: string | null;
losDocumentID?: string | null;
losStatus: string;
contents?: string | null;
failoverDocumentPath?: string | null;
}
export interface LoanDocumentSearchCriteria {
searchText?: string | null;
bucket?: string | null;
/** @format uuid */
userID?: string | null;
documentIDs?: string[] | null;
}
export interface LoanDocumentSearchPaginated {
rows: LoanDocumentSearch[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface LoanDraftSearchCriteria {
searchText?: string | null;
/** @format uuid */
loanOfficerId?: string | null;
/** @format uuid */
siteConfigurationId?: string | null;
isUnassigned?: boolean | null;
}
export interface LoanImport {
/** @format uuid */
id: string;
/** @format uuid */
accountID: string;
/** @format date-time */
endDate: string;
/** @format date-time */
startDate: string;
/** @format int32 */
attemptCount: number;
/** @format int32 */
importedCount: number;
statusMessage?: string | null;
status:
| "WaitingProcess"
| "InProgress"
| "Completed"
| "Failed"
| "Cancelled";
importMode: "All" | "NewOnly" | "UpdateOnly";
/** @format date-time */
createdAt?: string | null;
}
export interface LoanImportLog {
level: "None" | "Info" | "Warning" | "Error";
message: string;
/** @format date-time */
createdAt: string;
}
export interface LoanImportLogPaginated {
rows: LoanImportLog[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface LoanImportPaginated {
rows: LoanImport[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface LoanList {
/** @format uuid */
id: string;
status?: string | null;
loanID?: string | null;
loanNumber?: string | null;
/** @format double */
totalLoanAmount?: number | null;
/** @format date-time */
startDate?: string | null;
propertyAddress?: Address | null;
loanOfficer?: LoanOfficerList | null;
buyerAgentContact?: LoanContactList | null;
sellerAgentContact?: LoanContactList | null;
userLoans: UserLoan[];
}
export interface LoanListPaginated {
rows: LoanList[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface LoanLog {
/** @format uuid */
id: string;
level: "None" | "Info" | "Warning" | "Error";
type: "Loan" | "Queue" | "POSFlagChanged" | "Verification";
message: string;
/** @format date-time */
createdAt: string;
}
export interface LoanLogPaginated {
rows: LoanLog[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface LoanLogSearchCriteria {
searchText?: string | null;
types?: LoanLogType[] | null;
levels?: LogLevel[] | null;
}
export interface LoanOfficer {
/** @format uuid */
id: string;
name?: string | null;
email: string;
phone?: string | null;
title?: string | null;
nmlsid: string;
profilePhotoUrl: string;
siteConfiguration: SiteConfiguration;
}
export interface LoanOfficerList {
name?: string | null;
}
export interface LoanOfficerPublic {
firstName: string;
lastName: string;
email: string;
phone?: string | null;
/** @format uuid */
corporateID?: string | null;
siteConfigurationIDs: string[];
}
export interface LoanOfficerSearchCriteria {
searchText?: string | null;
isActive?: boolean | null;
/** @format uuid */
branch?: string | null;
/** @format uuid */
brand?: string | null;
}
export interface LoanQueue {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
loan?: Loan | null;
type: string;
reason: string;
status: string;
details?: string | null;
jobID?: string | null;
user: UserPublic;
loanOfficer: LoanOfficerPublic;
siteConfiguration: SiteConfigurationReduced;
}
export interface LoanQueuePaginated {
rows: LoanQueue[];
pagination: Pagination;
/** @format int64 */
count: number;
}
export interface LoanQueueSearchCriteria {
searchText?: string | null;
loanID?: string | null;
type?: LoanQueueType | null;
status?: LOSStatus | null;
reason?: LoanQueueReason | null;
}
export interface LoanQueueWithData {
/** @format date-time */
createdAt: string;
/** @format date-time */
updatedAt?: string | null;
/** @format date-time */
deletedAt?: string | null;
/** @format uuid */
id: string;
loan?: Loan | null;
type: string;
reason: string;
status: string;
details?: string | null;
jobID?: string | null;
user: UserPublic;
loanOfficer: LoanOfficerPublic;
siteConfiguration: SiteConfigurationReduced;
data?: any;
}
export interface LoanRecord {
loanGuid: string;
loanFields: Record<string, string>;
}
export interface LoanSearchCriteria {
searchText?: string | null;
/** @format uuid */
loanOfficerId?: string | null;
loanNumber?: string | null;
isClosed?: boolean | null;
loanPurpose?: string | null;
loanType?: string | null;
/** @format uuid */
siteConfigurationId?: string | null;
}
export interface LoanSettings {
excludeFromAutoTaskReminders: boolean;
}
export interface LoanUpdateRequestJsonPatchDocument {
operations?: LoanUpdateRequestOperation[] | null;
contractResolver?: IContractResolver | null;
}
export interface LoanUpdateRequestOperation {
operationType:
| "Add"
| "Remove"
| "Replace"
| "Move"
| "Copy"
| "Test"
| "Invalid";
path?: string | null;
op?: string | null;
from?: string | null;
value?: any;
}
export interface LoanUser {
/** @format uuid */
id: string;
firstName: string;
lastName: string;
email: string;
phone?: string | null;
role: string;
loanRole:
| "Borrower"
| "CoBorrower"
| "NonBorrower"
| "LoanOfficer"
| "LoanProcessor"
| "LoanOfficerAssistant"
| "SupportingLoanOfficer"
| "BuyerAgent"
| "SellerAgent"
| "TitleInsuranceAgent"
| "EscrowAgent"
| "SettlementAgent";
isUser: boolean;
/** @format date-time */
createdAt: string;
}
export interface LosLoanCreationRequest {
loanOfficerUserName?: string | null;
loanTemplate?: string | null;
additionalFields: Record<string, string | null>;
folder?: string | null;
/** @format int32 */
borrowerPair: number;
applyLoanAssociation: boolean;
siteID?: string | null;
existingLoanID?: string | null;
}
export interface MdmUser {
user_email?: string | null;
user_id?: string | null;
user_name?: string | null;
}
export interface MilestoneConfiguration {
/** @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;
fieldID: string;
/** @format int32 */
weight: number;
/** @format uuid */
accountID: string;
loanType: string;
notificationsEnabled: boolean;
}
export interface MilestoneConfigurationRequest {
/** @minLength 1 */
name: string;
description?: string | null;
/** @minLength 1 */
fieldID: string;
/**
* @format int32