@matech/thebigpos-sdk 3.7.0 → 3.8.0-dev-3566

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/index.ts CHANGED
@@ -23,6 +23,20 @@ export type UserRole =
23
23
  | "LoanOfficerAssistant"
24
24
  | "SystemAdmin";
25
25
 
26
+ export type TaskType =
27
+ | "Document"
28
+ | "Field"
29
+ | "Signature"
30
+ | "EDisclosure"
31
+ | "EConsent"
32
+ | "VerificationOfAssets"
33
+ | "VerificationOfIncome"
34
+ | "VerificationOfEmployment"
35
+ | "VerificationOfCredit"
36
+ | "Payment"
37
+ | "VerificationOfIncomeAndEmployment"
38
+ | "VerificationOfTaxes";
39
+
26
40
  export type TaskStatus =
27
41
  | "Outstanding"
28
42
  | "Pending"
@@ -96,6 +110,8 @@ export type LoanTitleHeld =
96
110
 
97
111
  export type LoanTaskActivityFilter = "Active" | "Inactive" | "All";
98
112
 
113
+ export type LoanRoleTaskSource = "Rule" | "Manual";
114
+
99
115
  export type LoanRole =
100
116
  | "Borrower"
101
117
  | "CoBorrower"
@@ -270,7 +286,8 @@ export type LoanLogType =
270
286
  | "DocumentClassified"
271
287
  | "CoBorrowerEmailAutoFixed"
272
288
  | "LosFieldWriteBack"
273
- | "ReferrerChangeDiscarded";
289
+ | "ReferrerChangeDiscarded"
290
+ | "TaskEdited";
274
291
 
275
292
  export type LoanLienPosition = "First" | "Subordinate";
276
293
 
@@ -647,7 +664,8 @@ export type AiAuditEventType =
647
664
  | "LoanUpdateProposed"
648
665
  | "LoanUpdateApplied"
649
666
  | "LoanUpdateRefused"
650
- | "PromptTriggerCoalesced";
667
+ | "PromptTriggerCoalesced"
668
+ | "RecommendationRunCompleted";
651
669
 
652
670
  export type AddressFamily =
653
671
  | "Unspecified"
@@ -2124,6 +2142,16 @@ export interface CreateLoanImportRequest {
2124
2142
  importMode: CreateLoanImportRequestImportModeEnum;
2125
2143
  }
2126
2144
 
2145
+ export interface CreateLoanRoleTaskRequest {
2146
+ /** @format uuid */
2147
+ taskId: string;
2148
+ role: CreateLoanRoleTaskRequestRoleEnum;
2149
+ /** @format int32 */
2150
+ borrowerPair: number;
2151
+ /** @format int32 */
2152
+ borrowerPosition: number;
2153
+ }
2154
+
2127
2155
  export interface CreateSession {
2128
2156
  sessionId: string;
2129
2157
  sessionUrl: string;
@@ -2577,6 +2605,7 @@ export interface EnabledServices {
2577
2605
  ringCentral?: boolean | null;
2578
2606
  socialSurvey?: boolean | null;
2579
2607
  borrowerTasks?: boolean | null;
2608
+ preBorrowerTasks?: boolean | null;
2580
2609
  docusign?: boolean | null;
2581
2610
  emailNotifications?: boolean | null;
2582
2611
  autoTaskReminders?: boolean | null;
@@ -2837,8 +2866,6 @@ export interface File {
2837
2866
  fileName: string;
2838
2867
  name: string;
2839
2868
  s3FilePath: string;
2840
- user?: User | null;
2841
- account?: Account | null;
2842
2869
  url: string;
2843
2870
  }
2844
2871
 
@@ -3261,7 +3288,6 @@ export interface Invite {
3261
3288
  /** @format date-time */
3262
3289
  expiresAt?: string | null;
3263
3290
  status: string;
3264
- invitedBy?: User | null;
3265
3291
  loan: LoanIdentifier;
3266
3292
  url: string;
3267
3293
  }
@@ -5006,6 +5032,25 @@ export interface LoanQueueWithData {
5006
5032
  data?: any | null;
5007
5033
  }
5008
5034
 
5035
+ export interface LoanRecommendation {
5036
+ /** @format uuid */
5037
+ id: string;
5038
+ canonicalName: string;
5039
+ displayName: string;
5040
+ extractedValue: string;
5041
+ currentLoanValue?: any | null;
5042
+ /** @format uuid */
5043
+ sourceDocumentId: string;
5044
+ sourceDocumentName?: string | null;
5045
+ /** @format float */
5046
+ confidence: number;
5047
+ /** @format uuid */
5048
+ borrowerId?: string | null;
5049
+ borrowerName?: string | null;
5050
+ /** @format date-time */
5051
+ detectedAt: string;
5052
+ }
5053
+
5009
5054
  export interface LoanRecord {
5010
5055
  loanGuid: string;
5011
5056
  loanFields: Record<string, string>;
@@ -5059,6 +5104,54 @@ export interface LoanRefinanceRequest {
5059
5104
  currentLoan?: LoanRefinanceCurrentLoanRequest | null;
5060
5105
  }
5061
5106
 
5107
+ export interface LoanRoleSlotTasks {
5108
+ role: LoanRoleSlotTasksRoleEnum;
5109
+ /** @format int32 */
5110
+ borrowerPair: number;
5111
+ /** @format int32 */
5112
+ borrowerPosition: number;
5113
+ tasks: LoanRoleTask[];
5114
+ }
5115
+
5116
+ export interface LoanRoleTask {
5117
+ /** @format uuid */
5118
+ id: string;
5119
+ /** @format uuid */
5120
+ loanId: string;
5121
+ role: LoanRoleTaskRoleEnum;
5122
+ /** @format int32 */
5123
+ borrowerPair: number;
5124
+ /** @format int32 */
5125
+ borrowerPosition: number;
5126
+ /** @format uuid */
5127
+ definitionTaskId: string;
5128
+ /** @format uuid */
5129
+ taskId: string;
5130
+ name: string;
5131
+ description?: string | null;
5132
+ type: LoanRoleTaskTypeEnum;
5133
+ losTarget?: string | null;
5134
+ /** @format int32 */
5135
+ daysDueFromApplication?: number | null;
5136
+ /** @format int32 */
5137
+ weight: number;
5138
+ willAutocompleteAfterResponse: boolean;
5139
+ /** @format uuid */
5140
+ loanDocumentFolderId?: string | null;
5141
+ /** @format date */
5142
+ dueDate?: string | null;
5143
+ source: LoanRoleTaskSourceEnum;
5144
+ isAttached: boolean;
5145
+ /** @format uuid */
5146
+ attachedUserLoanTaskId?: string | null;
5147
+ /** @format date-time */
5148
+ attachedAt?: string | null;
5149
+ /** @format uuid */
5150
+ createdById?: string | null;
5151
+ /** @format date-time */
5152
+ createdAt: string;
5153
+ }
5154
+
5062
5155
  export interface LoanSearchCriteria {
5063
5156
  searchText?: string | null;
5064
5157
  searchTerms?: string[] | null;
@@ -5087,6 +5180,7 @@ export interface LoanSearchCriteria {
5087
5180
  closingFrom?: string | null;
5088
5181
  /** @format date */
5089
5182
  closingTo?: string | null;
5183
+ milestoneConfigurationIds?: string[] | null;
5090
5184
  }
5091
5185
 
5092
5186
  export interface LoanSettings {
@@ -5422,6 +5516,11 @@ export interface ManualDocumentClassificationRequest {
5422
5516
  documentType: ManualDocumentClassificationRequestDocumentTypeEnum;
5423
5517
  }
5424
5518
 
5519
+ export interface MaterializeLoanRoleTasks {
5520
+ /** @format int32 */
5521
+ rowsAdded: number;
5522
+ }
5523
+
5425
5524
  export interface MdmUser {
5426
5525
  user_email?: string | null;
5427
5526
  user_id?: string | null;
@@ -6855,6 +6954,8 @@ export interface Task {
6855
6954
  isGlobal: boolean;
6856
6955
  /** @format uuid */
6857
6956
  id: string;
6957
+ /** @format uuid */
6958
+ sourceTaskID?: string | null;
6858
6959
  user?: User | null;
6859
6960
  isFromLegacySource: boolean;
6860
6961
  usedInBusinessRule: boolean;
@@ -7212,6 +7313,17 @@ export interface UpdateLoanQueueRequest {
7212
7313
  data: any;
7213
7314
  }
7214
7315
 
7316
+ export interface UpdateLoanRoleTaskRequest {
7317
+ name?: string | null;
7318
+ description?: string | null;
7319
+ /** @format int32 */
7320
+ weight?: number | null;
7321
+ /** @format uuid */
7322
+ loanDocumentFolderId?: string | null;
7323
+ /** @format date */
7324
+ dueDate?: string | null;
7325
+ }
7326
+
7215
7327
  export interface UpdateMeRequest {
7216
7328
  phone?: string | null;
7217
7329
  firstName: string;
@@ -7613,6 +7725,12 @@ export interface UserLoanTaskUpdateRequest {
7613
7725
  value?: string | null;
7614
7726
  /** @format date */
7615
7727
  dueDate?: string | null;
7728
+ name?: string | null;
7729
+ description?: string | null;
7730
+ /** @format int32 */
7731
+ weight?: number | null;
7732
+ /** @format uuid */
7733
+ loanDocumentFolderId?: string | null;
7616
7734
  }
7617
7735
 
7618
7736
  export interface UserMobilePhoneVerificationRequest {
@@ -7818,7 +7936,8 @@ export type AiAuditLogEventTypeEnum =
7818
7936
  | "LoanUpdateProposed"
7819
7937
  | "LoanUpdateApplied"
7820
7938
  | "LoanUpdateRefused"
7821
- | "PromptTriggerCoalesced";
7939
+ | "PromptTriggerCoalesced"
7940
+ | "RecommendationRunCompleted";
7822
7941
 
7823
7942
  export type AiChatStructuredDataTypeEnum =
7824
7943
  | "Table"
@@ -7961,6 +8080,21 @@ export type CreateLoanImportRequestImportModeEnum =
7961
8080
  | "NewOnly"
7962
8081
  | "UpdateOnly";
7963
8082
 
8083
+ export type CreateLoanRoleTaskRequestRoleEnum =
8084
+ | "Borrower"
8085
+ | "CoBorrower"
8086
+ | "NonBorrower"
8087
+ | "LoanOfficer"
8088
+ | "LoanProcessor"
8089
+ | "LoanOfficerAssistant"
8090
+ | "SupportingLoanOfficer"
8091
+ | "BuyerAgent"
8092
+ | "SellerAgent"
8093
+ | "TitleInsuranceAgent"
8094
+ | "EscrowAgent"
8095
+ | "SettlementAgent"
8096
+ | "Admin";
8097
+
7964
8098
  export type CreateUserDraftLoanRoleEnum =
7965
8099
  | "Borrower"
7966
8100
  | "CoBorrower"
@@ -8238,7 +8372,8 @@ export type LoanLogTypeEnum =
8238
8372
  | "DocumentClassified"
8239
8373
  | "CoBorrowerEmailAutoFixed"
8240
8374
  | "LosFieldWriteBack"
8241
- | "ReferrerChangeDiscarded";
8375
+ | "ReferrerChangeDiscarded"
8376
+ | "TaskEdited";
8242
8377
 
8243
8378
  export type LoanLogDetailLevelEnum = "None" | "Info" | "Warning" | "Error";
8244
8379
 
@@ -8262,7 +8397,54 @@ export type LoanLogDetailTypeEnum =
8262
8397
  | "DocumentClassified"
8263
8398
  | "CoBorrowerEmailAutoFixed"
8264
8399
  | "LosFieldWriteBack"
8265
- | "ReferrerChangeDiscarded";
8400
+ | "ReferrerChangeDiscarded"
8401
+ | "TaskEdited";
8402
+
8403
+ export type LoanRoleSlotTasksRoleEnum =
8404
+ | "Borrower"
8405
+ | "CoBorrower"
8406
+ | "NonBorrower"
8407
+ | "LoanOfficer"
8408
+ | "LoanProcessor"
8409
+ | "LoanOfficerAssistant"
8410
+ | "SupportingLoanOfficer"
8411
+ | "BuyerAgent"
8412
+ | "SellerAgent"
8413
+ | "TitleInsuranceAgent"
8414
+ | "EscrowAgent"
8415
+ | "SettlementAgent"
8416
+ | "Admin";
8417
+
8418
+ export type LoanRoleTaskRoleEnum =
8419
+ | "Borrower"
8420
+ | "CoBorrower"
8421
+ | "NonBorrower"
8422
+ | "LoanOfficer"
8423
+ | "LoanProcessor"
8424
+ | "LoanOfficerAssistant"
8425
+ | "SupportingLoanOfficer"
8426
+ | "BuyerAgent"
8427
+ | "SellerAgent"
8428
+ | "TitleInsuranceAgent"
8429
+ | "EscrowAgent"
8430
+ | "SettlementAgent"
8431
+ | "Admin";
8432
+
8433
+ export type LoanRoleTaskTypeEnum =
8434
+ | "Document"
8435
+ | "Field"
8436
+ | "Signature"
8437
+ | "EDisclosure"
8438
+ | "EConsent"
8439
+ | "VerificationOfAssets"
8440
+ | "VerificationOfIncome"
8441
+ | "VerificationOfEmployment"
8442
+ | "VerificationOfCredit"
8443
+ | "Payment"
8444
+ | "VerificationOfIncomeAndEmployment"
8445
+ | "VerificationOfTaxes";
8446
+
8447
+ export type LoanRoleTaskSourceEnum = "Rule" | "Manual";
8266
8448
 
8267
8449
  export type LoanTaskStatusSummaryStatusEnum =
8268
8450
  | "Outstanding"
@@ -8768,7 +8950,7 @@ export class HttpClient<SecurityDataType = unknown> {
8768
8950
 
8769
8951
  /**
8770
8952
  * @title The Big POS API
8771
- * @version v3.7.0
8953
+ * @version v3.8.0
8772
8954
  * @termsOfService https://www.thebigpos.com/terms-of-use/
8773
8955
  * @contact Mortgage Automation Technologies <support@thebigpos.com> (https://www.thebigpos.com/terms-of-use/)
8774
8956
  */
@@ -16265,6 +16447,194 @@ export class Api<
16265
16447
  ...params,
16266
16448
  }),
16267
16449
 
16450
+ /**
16451
+ * No description
16452
+ *
16453
+ * @tags LoanRecommendations
16454
+ * @name GetLoanRecommendations
16455
+ * @summary Get a loan's open recommendations
16456
+ * @request GET:/api/loans/{loanId}/recommendations
16457
+ * @secure
16458
+ * @response `200` `(LoanRecommendation)[]` OK
16459
+ * @response `400` `ProblemDetails` Bad Request
16460
+ * @response `404` `ProblemDetails` Not Found
16461
+ */
16462
+ getLoanRecommendations: (loanId: string, params: RequestParams = {}) =>
16463
+ this.request<LoanRecommendation[], ProblemDetails>({
16464
+ path: `/api/loans/${loanId}/recommendations`,
16465
+ method: "GET",
16466
+ secure: true,
16467
+ format: "json",
16468
+ ...params,
16469
+ }),
16470
+
16471
+ /**
16472
+ * No description
16473
+ *
16474
+ * @tags LoanRecommendations
16475
+ * @name DismissLoanRecommendation
16476
+ * @summary Dismiss a loan recommendation
16477
+ * @request POST:/api/loans/{loanId}/recommendations/{id}/dismiss
16478
+ * @secure
16479
+ * @response `204` `void` No Content
16480
+ * @response `400` `ProblemDetails` Bad Request
16481
+ * @response `404` `ProblemDetails` Not Found
16482
+ */
16483
+ dismissLoanRecommendation: (
16484
+ loanId: string,
16485
+ id: string,
16486
+ params: RequestParams = {},
16487
+ ) =>
16488
+ this.request<void, ProblemDetails>({
16489
+ path: `/api/loans/${loanId}/recommendations/${id}/dismiss`,
16490
+ method: "POST",
16491
+ secure: true,
16492
+ ...params,
16493
+ }),
16494
+
16495
+ /**
16496
+ * No description
16497
+ *
16498
+ * @tags LoanRoleTasks
16499
+ * @name GetLoanRoleTasks
16500
+ * @summary Get queued tasks grouped by borrower slot
16501
+ * @request GET:/api/loans/{loanId}/role-tasks
16502
+ * @secure
16503
+ * @response `200` `(LoanRoleSlotTasks)[]` OK
16504
+ * @response `404` `ProblemDetails` Not Found
16505
+ */
16506
+ getLoanRoleTasks: (loanId: string, params: RequestParams = {}) =>
16507
+ this.request<LoanRoleSlotTasks[], ProblemDetails>({
16508
+ path: `/api/loans/${loanId}/role-tasks`,
16509
+ method: "GET",
16510
+ secure: true,
16511
+ format: "json",
16512
+ ...params,
16513
+ }),
16514
+
16515
+ /**
16516
+ * @description Queues an account template against a borrower slot that has no registered user yet. The row owns a per-loan copy of the template, so editing it never changes the account's catalogue.
16517
+ *
16518
+ * @tags LoanRoleTasks
16519
+ * @name CreateLoanRoleTask
16520
+ * @summary Queue a task for a borrower slot
16521
+ * @request POST:/api/loans/{loanId}/role-tasks
16522
+ * @secure
16523
+ * @response `201` `LoanRoleTask` Created
16524
+ * @response `400` `ProblemDetails` Bad Request
16525
+ * @response `404` `ProblemDetails` Not Found
16526
+ * @response `409` `ProblemDetails` Conflict
16527
+ * @response `422` `ProblemDetails` Unprocessable Content
16528
+ */
16529
+ createLoanRoleTask: (
16530
+ loanId: string,
16531
+ data: CreateLoanRoleTaskRequest,
16532
+ params: RequestParams = {},
16533
+ ) =>
16534
+ this.request<LoanRoleTask, ProblemDetails>({
16535
+ path: `/api/loans/${loanId}/role-tasks`,
16536
+ method: "POST",
16537
+ body: data,
16538
+ secure: true,
16539
+ type: "application/json",
16540
+ format: "json",
16541
+ ...params,
16542
+ }),
16543
+
16544
+ /**
16545
+ * No description
16546
+ *
16547
+ * @tags LoanRoleTasks
16548
+ * @name GetLoanRoleTask
16549
+ * @summary Get a queued task
16550
+ * @request GET:/api/loans/{loanId}/role-tasks/{id}
16551
+ * @secure
16552
+ * @response `200` `LoanRoleTask` OK
16553
+ * @response `404` `ProblemDetails` Not Found
16554
+ */
16555
+ getLoanRoleTask: (loanId: string, id: string, params: RequestParams = {}) =>
16556
+ this.request<LoanRoleTask, ProblemDetails>({
16557
+ path: `/api/loans/${loanId}/role-tasks/${id}`,
16558
+ method: "GET",
16559
+ secure: true,
16560
+ format: "json",
16561
+ ...params,
16562
+ }),
16563
+
16564
+ /**
16565
+ * @description Edits the loan's own copy of the template. The account's catalogue entry is untouched, so the change applies to this borrower only. Omitted fields are left as they are.
16566
+ *
16567
+ * @tags LoanRoleTasks
16568
+ * @name UpdateLoanRoleTask
16569
+ * @summary Edit a queued task
16570
+ * @request PUT:/api/loans/{loanId}/role-tasks/{id}
16571
+ * @secure
16572
+ * @response `200` `LoanRoleTask` OK
16573
+ * @response `400` `ProblemDetails` Bad Request
16574
+ * @response `404` `ProblemDetails` Not Found
16575
+ * @response `409` `ProblemDetails` Conflict
16576
+ * @response `422` `ProblemDetails` Unprocessable Content
16577
+ */
16578
+ updateLoanRoleTask: (
16579
+ loanId: string,
16580
+ id: string,
16581
+ data: UpdateLoanRoleTaskRequest,
16582
+ params: RequestParams = {},
16583
+ ) =>
16584
+ this.request<LoanRoleTask, ProblemDetails>({
16585
+ path: `/api/loans/${loanId}/role-tasks/${id}`,
16586
+ method: "PUT",
16587
+ body: data,
16588
+ secure: true,
16589
+ type: "application/json",
16590
+ format: "json",
16591
+ ...params,
16592
+ }),
16593
+
16594
+ /**
16595
+ * @description Removes a queued task from a borrower slot. The removal is remembered, so a later run of the rules does not queue the same template again.
16596
+ *
16597
+ * @tags LoanRoleTasks
16598
+ * @name DeleteLoanRoleTask
16599
+ * @summary Remove a queued task
16600
+ * @request DELETE:/api/loans/{loanId}/role-tasks/{id}
16601
+ * @secure
16602
+ * @response `204` `void` No Content
16603
+ * @response `404` `ProblemDetails` Not Found
16604
+ * @response `409` `ProblemDetails` Conflict
16605
+ */
16606
+ deleteLoanRoleTask: (
16607
+ loanId: string,
16608
+ id: string,
16609
+ params: RequestParams = {},
16610
+ ) =>
16611
+ this.request<void, ProblemDetails>({
16612
+ path: `/api/loans/${loanId}/role-tasks/${id}`,
16613
+ method: "DELETE",
16614
+ secure: true,
16615
+ ...params,
16616
+ }),
16617
+
16618
+ /**
16619
+ * @description Runs the account's business rules against the loan and queues what is missing. Templates already queued, and ones removed by staff, are left alone.
16620
+ *
16621
+ * @tags LoanRoleTasks
16622
+ * @name MaterializeLoanRoleTasks
16623
+ * @summary Queue the business rule defaults
16624
+ * @request POST:/api/loans/{loanId}/role-tasks/materialize
16625
+ * @secure
16626
+ * @response `200` `MaterializeLoanRoleTasks` OK
16627
+ * @response `404` `ProblemDetails` Not Found
16628
+ */
16629
+ materializeLoanRoleTasks: (loanId: string, params: RequestParams = {}) =>
16630
+ this.request<MaterializeLoanRoleTasks, ProblemDetails>({
16631
+ path: `/api/loans/${loanId}/role-tasks/materialize`,
16632
+ method: "POST",
16633
+ secure: true,
16634
+ format: "json",
16635
+ ...params,
16636
+ }),
16637
+
16268
16638
  /**
16269
16639
  * No description
16270
16640
  *
@@ -17075,6 +17445,7 @@ export class Api<
17075
17445
  * @request POST:/api/loans/{loanId}/users/{userId}
17076
17446
  * @secure
17077
17447
  * @response `201` `LoanUser` Created
17448
+ * @response `404` `ProblemDetails` Not Found
17078
17449
  */
17079
17450
  addLoanUser: (
17080
17451
  loanId: string,
@@ -17082,7 +17453,7 @@ export class Api<
17082
17453
  data: CreateUserLoan,
17083
17454
  params: RequestParams = {},
17084
17455
  ) =>
17085
- this.request<LoanUser, any>({
17456
+ this.request<LoanUser, ProblemDetails>({
17086
17457
  path: `/api/loans/${loanId}/users/${userId}`,
17087
17458
  method: "POST",
17088
17459
  body: data,