@matech/thebigpos-sdk 3.16.0 → 3.17.0-pr-5679-6304

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/README.md CHANGED
@@ -40,5 +40,44 @@ apiClient.api.getSiteConfiguration().then((response) => {
40
40
  });
41
41
  ```
42
42
 
43
+ ## Generate SDK from Swagger
44
+
45
+ To regenerate the SDK from a specific API version, run:
46
+
47
+ ```bash
48
+ npx swagger-typescript-api generate -p https://api.thebigpos.dev/swagger/{version}/swagger.json -o ./src -n index.ts -r true --axios --enum-names-as-values --enum-style union
49
+ ```
50
+
51
+ Replace `{version}` with the target API version (e.g. `v2.34.0`):
52
+
53
+ ```bash
54
+ npx swagger-typescript-api generate -p https://api.thebigpos.dev/swagger/v2.34.0/swagger.json -o ./src -n index.ts -r true --axios --enum-names-as-values --enum-style union
55
+ ```
56
+
57
+ Then apply the PATCH content-type fixup, passing the **same** spec that was given
58
+ to the generator. The generator does not propagate `application/json-patch+json`,
59
+ so this step sets each PATCH method's content type from the spec (no hard-coded
60
+ endpoint list):
61
+
62
+ ```bash
63
+ node scripts/apply-json-patch-content-type.js https://api.thebigpos.dev/swagger/v2.34.0/swagger.json
64
+ yarn build
65
+ ```
66
+
67
+ ## Publishing
68
+
69
+ 1. Update the `version` field in `package.json` before publishing.
70
+ 2. Build the project:
71
+
72
+ ```bash
73
+ yarn build
74
+ ```
75
+
76
+ 3. Publish to npm:
77
+
78
+ ```bash
79
+ yarn publish
80
+ ```
81
+
43
82
  ____
44
83
  © 2024 Mortgage Automation Technologies. All rights reserved
package/dist/index.d.ts CHANGED
@@ -101,6 +101,7 @@ export type BulkLoanTaskOperationType = "SetStatus" | "Delete" | "SetDueDate";
101
101
  export type BranchType = "Mortgage" | "RealEstate";
102
102
  export type BorrowerType = "Borrower" | "CoBorrower" | "Unknown";
103
103
  export type BorrowerRelationship = "NotApplicable" | "Spouse" | "NonSpouse";
104
+ export type BorrowerApplicationWarningCode = "UnknownKey" | "NotWritable" | "CustomFieldUnresolved" | "CustomFieldInactive" | "CustomFieldReadOnly" | "CustomFieldDuplicateDefinition" | "LoanOfficerUnresolved";
104
105
  export type BorrowerApplicationStatus = "Draft" | "Complete";
105
106
  export type BillingType = "ClosedLoan" | "LoanOfficer";
106
107
  export type AuditChangeType = "Created" | "Modified" | "SoftDeleted" | "HardDeleted" | "Restored" | "Deactivated" | "Reactivated" | "Accessed";
@@ -188,6 +189,7 @@ export interface AccountFailureCount {
188
189
  export interface AccountSettings {
189
190
  isSmsEnabled: boolean;
190
191
  isLoanEditEnabled: boolean;
192
+ isApplicationEditEnabled?: boolean | null;
191
193
  smsNumber?: string | null;
192
194
  ssoHostOverride?: string | null;
193
195
  isEarlyAdopter: boolean;
@@ -196,6 +198,7 @@ export interface AccountSettingsRequest {
196
198
  isSmsEnabled: boolean;
197
199
  smsNumber?: string | null;
198
200
  isEarlyAdopter: boolean;
201
+ isApplicationEditEnabled?: boolean | null;
199
202
  }
200
203
  export interface Address {
201
204
  /** @format uuid */
@@ -458,8 +461,6 @@ export interface AiCanonicalField {
458
461
  isDefault: boolean;
459
462
  category?: string | null;
460
463
  jsonPropertyName?: string | null;
461
- textractKey?: string | null;
462
- textractKeyAliases: string[];
463
464
  hasAccountOverride: boolean;
464
465
  writable: boolean;
465
466
  patchPath?: string | null;
@@ -1015,6 +1016,32 @@ export interface AutomatedService {
1015
1016
  skipped: string[];
1016
1017
  rateLimited: string[];
1017
1018
  }
1019
+ export interface BorrowerApplication {
1020
+ /** @format uuid */
1021
+ loanId: string;
1022
+ /** @format uuid */
1023
+ borrowerId: string;
1024
+ /** @format uuid */
1025
+ coBorrowerId?: string | null;
1026
+ applicationStatus: BorrowerApplicationApplicationStatusEnum;
1027
+ answers: Record<string, any>;
1028
+ additionalFields: Record<string, string>;
1029
+ cursor?: LoanApplicationSession | null;
1030
+ }
1031
+ export interface BorrowerApplicationUpdate {
1032
+ warnings: BorrowerApplicationWarning[];
1033
+ application: BorrowerApplication;
1034
+ }
1035
+ export interface BorrowerApplicationUpdateRequest {
1036
+ answers: Record<string, any>;
1037
+ additionalFields?: Record<string, any> | null;
1038
+ cursor?: LoanApplicationSessionRequest | null;
1039
+ }
1040
+ export interface BorrowerApplicationWarning {
1041
+ key: string;
1042
+ code: BorrowerApplicationWarningCodeEnum;
1043
+ message: string;
1044
+ }
1018
1045
  export interface BorrowerCount {
1019
1046
  /** @format uuid */
1020
1047
  userId: string;
@@ -1550,7 +1577,6 @@ export interface CreateAiCanonicalFieldRequest {
1550
1577
  description: string;
1551
1578
  allowedRoles: string[];
1552
1579
  isPii: boolean;
1553
- dataSource: string;
1554
1580
  category?: string | null;
1555
1581
  }
1556
1582
  export interface CreateAiGuardrailRequest {
@@ -2702,7 +2728,7 @@ export interface Invite {
2702
2728
  phoneNumber: string;
2703
2729
  relationship: string;
2704
2730
  /** @deprecated */
2705
- loanID: string;
2731
+ loanID?: string | null;
2706
2732
  route?: string | null;
2707
2733
  /** @format uuid */
2708
2734
  siteConfigurationID: string;
@@ -2718,7 +2744,7 @@ export interface Invite {
2718
2744
  /** @format date-time */
2719
2745
  expiresAt?: string | null;
2720
2746
  status: string;
2721
- loan: LoanIdentifier;
2747
+ loan?: LoanIdentifier | null;
2722
2748
  url: string;
2723
2749
  linksBorrowerApplication?: boolean | null;
2724
2750
  }
@@ -5104,6 +5130,9 @@ export interface NotificationTemplateVersionUpdateRequest {
5104
5130
  textBody?: string | null;
5105
5131
  pushNotificationBody?: string | null;
5106
5132
  }
5133
+ export interface OpenBorrowerApplicationEditRequest {
5134
+ isCoBorrower: boolean;
5135
+ }
5107
5136
  export type OpenTasksWidgetConfig = UtilRequiredKeys<BaseCanvasWidgetConfig, "type"> & {
5108
5137
  /** @format int32 */
5109
5138
  maxItems: number;
@@ -5365,6 +5394,9 @@ export interface ReorderLoanRoleTasksRequest {
5365
5394
  export interface ReorderLoanTasksRequest {
5366
5395
  userLoanTaskIDs: string[];
5367
5396
  }
5397
+ export interface ReorderUserTableViewsRequest {
5398
+ viewIds: string[];
5399
+ }
5368
5400
  export interface RequestImpersonationRequest {
5369
5401
  email: string;
5370
5402
  }
@@ -7106,6 +7138,8 @@ export interface UserTableSettings {
7106
7138
  searchTerms: string[];
7107
7139
  pinnedColumnIds: string[];
7108
7140
  filters?: PipelineTableFilters | null;
7141
+ /** @format uuid */
7142
+ activeViewId?: string | null;
7109
7143
  }
7110
7144
  export interface UserTableSettingsRequest {
7111
7145
  hiddenColumnIds: string[];
@@ -7115,6 +7149,31 @@ export interface UserTableSettingsRequest {
7115
7149
  searchTerms: string[];
7116
7150
  pinnedColumnIds: string[];
7117
7151
  filters?: PipelineTableFilters | null;
7152
+ /** @format uuid */
7153
+ activeViewId?: string | null;
7154
+ }
7155
+ export interface UserTableView {
7156
+ /** @format uuid */
7157
+ id: string;
7158
+ tableKey: UserTableViewTableKeyEnum;
7159
+ name: string;
7160
+ /** @format int32 */
7161
+ sortOrder: number;
7162
+ searchTerms: string[];
7163
+ filters?: PipelineTableFilters | null;
7164
+ sortColumnId?: string | null;
7165
+ sortDirection?: SortDirection | null;
7166
+ /** @format date-time */
7167
+ createdAt: string;
7168
+ /** @format date-time */
7169
+ updatedAt?: string | null;
7170
+ }
7171
+ export interface UserTableViewRequest {
7172
+ name: string;
7173
+ searchTerms: string[];
7174
+ filters?: PipelineTableFilters | null;
7175
+ sortColumnId?: string | null;
7176
+ sortDirection?: SortDirection | null;
7118
7177
  }
7119
7178
  export interface VerifyEmailRequest {
7120
7179
  token: string;
@@ -7160,6 +7219,8 @@ export type AiUrlSourceScopeEnum = "FullDomain" | "SpecificPath";
7160
7219
  export type AiUrlSourceApprovalStatusEnum = "Pending" | "Approved" | "Rejected";
7161
7220
  export type AmortizationWidgetConfigTypeEnum = "Amortization";
7162
7221
  export type AuditLogEntryChangeTypeEnum = "Created" | "Modified" | "SoftDeleted" | "HardDeleted" | "Restored" | "Deactivated" | "Reactivated" | "Accessed";
7222
+ export type BorrowerApplicationApplicationStatusEnum = "Draft" | "Complete";
7223
+ export type BorrowerApplicationWarningCodeEnum = "UnknownKey" | "NotWritable" | "CustomFieldUnresolved" | "CustomFieldInactive" | "CustomFieldReadOnly" | "CustomFieldDuplicateDefinition" | "LoanOfficerUnresolved";
7163
7224
  export type BorrowerCountRoleEnum = "Borrower" | "CoBorrower" | "NonBorrower" | "LoanOfficer" | "LoanProcessor" | "LoanOfficerAssistant" | "SupportingLoanOfficer" | "BuyerAgent" | "SellerAgent" | "TitleInsuranceAgent" | "EscrowAgent" | "SettlementAgent" | "Admin";
7164
7225
  export type BorrowerIdentityRoleEnum = "Borrower" | "CoBorrower" | "NonBorrower" | "LoanOfficer" | "LoanProcessor" | "LoanOfficerAssistant" | "SupportingLoanOfficer" | "BuyerAgent" | "SellerAgent" | "TitleInsuranceAgent" | "EscrowAgent" | "SettlementAgent" | "Admin";
7165
7226
  export type CanvasFieldDescriptorSourceEnum = "Standard" | "Custom";
@@ -7290,6 +7351,7 @@ export type UserLoanRoleEnum = "Borrower" | "CoBorrower" | "NonBorrower" | "Loan
7290
7351
  export type UserLoanConsentTypeEnum = "Econsent" | "CreditAuthorization" | "Tcpa";
7291
7352
  export type UserLoanConsentLosSyncStatusEnum = "NotStarted" | "Failed" | "Success";
7292
7353
  export type UserTableSettingsTableKeyEnum = "Pipeline";
7354
+ export type UserTableViewTableKeyEnum = "Pipeline";
7293
7355
  export type GetCanvasParamsSurfaceEnum = "Home" | "LoanSummary" | "LoanDetails";
7294
7356
  export type GetCanvasParamsEnum = "Home" | "LoanSummary" | "LoanDetails";
7295
7357
  export type GetCustomFieldDefinitionsParamsEntityTypeEnum = "Loan";
@@ -7314,6 +7376,16 @@ export type GetMyTableSettingsParamsTableKeyEnum = "Pipeline";
7314
7376
  export type GetMyTableSettingsParamsEnum = "Pipeline";
7315
7377
  export type UpdateMyTableSettingsParamsTableKeyEnum = "Pipeline";
7316
7378
  export type UpdateMyTableSettingsParamsEnum = "Pipeline";
7379
+ export type GetMyTableViewsParamsTableKeyEnum = "Pipeline";
7380
+ export type GetMyTableViewsParamsEnum = "Pipeline";
7381
+ export type CreateMyTableViewParamsTableKeyEnum = "Pipeline";
7382
+ export type CreateMyTableViewParamsEnum = "Pipeline";
7383
+ export type UpdateMyTableViewParamsTableKeyEnum = "Pipeline";
7384
+ export type UpdateMyTableViewParamsEnum = "Pipeline";
7385
+ export type DeleteMyTableViewParamsTableKeyEnum = "Pipeline";
7386
+ export type DeleteMyTableViewParamsEnum = "Pipeline";
7387
+ export type ReorderMyTableViewsParamsTableKeyEnum = "Pipeline";
7388
+ export type ReorderMyTableViewsParamsEnum = "Pipeline";
7317
7389
  import type { AxiosInstance, AxiosRequestConfig, AxiosResponse, ResponseType } from "axios";
7318
7390
  export type QueryParamsType = Record<string | number, any>;
7319
7391
  export interface FullRequestParams extends Omit<AxiosRequestConfig, "data" | "params" | "url" | "responseType"> {
@@ -7352,7 +7424,7 @@ export declare class HttpClient<SecurityDataType = unknown> {
7352
7424
  }
7353
7425
  /**
7354
7426
  * @title The Big POS API
7355
- * @version v3.16.0
7427
+ * @version v3.17.0
7356
7428
  * @termsOfService https://www.thebigpos.com/terms-of-use/
7357
7429
  * @contact Mortgage Automation Technologies <support@thebigpos.com> (https://www.thebigpos.com/terms-of-use/)
7358
7430
  */
@@ -8649,6 +8721,35 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
8649
8721
  /** @default true */
8650
8722
  revokeSessions?: boolean;
8651
8723
  }, params?: RequestParams) => Promise<AxiosResponse<NoContentResult, any, {}>>;
8724
+ /**
8725
+ * No description
8726
+ *
8727
+ * @tags BorrowerApplication
8728
+ * @name GetBorrowerApplication
8729
+ * @summary Get a borrower's application as flat answers
8730
+ * @request GET:/api/loans/{loanId}/borrowers/{borrowerId}/application
8731
+ * @secure
8732
+ * @response `200` `BorrowerApplication` OK
8733
+ * @response `400` `any` Bad Request
8734
+ * @response `403` `ProblemDetails` Forbidden
8735
+ * @response `404` `ProblemDetails` Not Found
8736
+ */
8737
+ getBorrowerApplication: (loanId: string, borrowerId: string, params?: RequestParams) => Promise<AxiosResponse<BorrowerApplication, any, {}>>;
8738
+ /**
8739
+ * No description
8740
+ *
8741
+ * @tags BorrowerApplication
8742
+ * @name UpdateBorrowerApplication
8743
+ * @summary Save a step of a borrower's application from flat answers
8744
+ * @request PATCH:/api/loans/{loanId}/borrowers/{borrowerId}/application
8745
+ * @secure
8746
+ * @response `200` `BorrowerApplicationUpdate` OK
8747
+ * @response `400` `any` Bad Request
8748
+ * @response `403` `ProblemDetails` Forbidden
8749
+ * @response `404` `ProblemDetails` Not Found
8750
+ * @response `422` `UnprocessableEntity` Unprocessable Content
8751
+ */
8752
+ updateBorrowerApplication: (loanId: string, borrowerId: string, data: JsonPatchDocument, params?: RequestParams) => Promise<AxiosResponse<BorrowerApplicationUpdate, any, {}>>;
8652
8753
  /**
8653
8754
  * No description
8654
8755
  *
@@ -10672,6 +10773,22 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
10672
10773
  * @response `200` `File` OK
10673
10774
  */
10674
10775
  getListingOpenHouseFlyer: (id: string, params?: RequestParams) => Promise<AxiosResponse<File, any, {}>>;
10776
+ /**
10777
+ * No description
10778
+ *
10779
+ * @tags LoanApplicationEdit
10780
+ * @name OpenBorrowerApplicationEdit
10781
+ * @summary Open a borrower's submitted application for editing
10782
+ * @request POST:/api/loans/{loanId}/application/edit
10783
+ * @secure
10784
+ * @response `200` `BorrowerApplication` OK
10785
+ * @response `400` `any` Bad Request
10786
+ * @response `403` `ProblemDetails` Forbidden
10787
+ * @response `404` `ProblemDetails` Not Found
10788
+ * @response `409` `ProblemDetails` Conflict
10789
+ * @response `423` `any` Locked
10790
+ */
10791
+ openBorrowerApplicationEdit: (loanId: string, data: OpenBorrowerApplicationEditRequest, params?: RequestParams) => Promise<AxiosResponse<BorrowerApplication, any, {}>>;
10675
10792
  /**
10676
10793
  * No description
10677
10794
  *
@@ -11773,6 +11890,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
11773
11890
  * @response `404` `ProblemDetails` Not Found
11774
11891
  * @response `409` `ProblemDetails` Conflict
11775
11892
  * @response `422` `UnprocessableEntity` Unprocessable Content
11893
+ * @response `423` `ProblemDetails` Locked
11776
11894
  */
11777
11895
  completeBorrowerApplication: (loanId: string, borrowerId: string, params?: RequestParams) => Promise<AxiosResponse<void, any, {}>>;
11778
11896
  /**
@@ -14081,6 +14199,75 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
14081
14199
  * @response `401` `ProblemDetails` Unauthorized
14082
14200
  */
14083
14201
  updateMyTableSettings: (tableKey: UpdateMyTableSettingsParamsEnum, data: UserTableSettingsRequest, params?: RequestParams) => Promise<AxiosResponse<UserTableSettings, any, {}>>;
14202
+ /**
14203
+ * @description The caller's saved views for the table, in tab order.
14204
+ *
14205
+ * @tags UsersMe
14206
+ * @name GetMyTableViews
14207
+ * @summary Get Table Views
14208
+ * @request GET:/api/users/me/table-settings/{tableKey}/views
14209
+ * @secure
14210
+ * @response `200` `(UserTableView)[]` OK
14211
+ * @response `401` `ProblemDetails` Unauthorized
14212
+ */
14213
+ getMyTableViews: (tableKey: GetMyTableViewsParamsEnum, params?: RequestParams) => Promise<AxiosResponse<UserTableView[], any, {}>>;
14214
+ /**
14215
+ * @description Saves a named view at the end of the tab order. A name the caller already uses on the table (ignoring case) is refused with 409, and a 21st view with 400.
14216
+ *
14217
+ * @tags UsersMe
14218
+ * @name CreateMyTableView
14219
+ * @summary Create Table View
14220
+ * @request POST:/api/users/me/table-settings/{tableKey}/views
14221
+ * @secure
14222
+ * @response `201` `UserTableView` Created
14223
+ * @response `400` `ProblemDetails` Bad Request
14224
+ * @response `401` `ProblemDetails` Unauthorized
14225
+ * @response `409` `ProblemDetails` Conflict
14226
+ * @response `422` `ProblemDetails` Unprocessable Content
14227
+ */
14228
+ createMyTableView: (tableKey: CreateMyTableViewParamsEnum, data: UserTableViewRequest, params?: RequestParams) => Promise<AxiosResponse<UserTableView, any, {}>>;
14229
+ /**
14230
+ * @description Replaces the view's name, search terms, filters and sort.
14231
+ *
14232
+ * @tags UsersMe
14233
+ * @name UpdateMyTableView
14234
+ * @summary Update Table View
14235
+ * @request PUT:/api/users/me/table-settings/{tableKey}/views/{viewId}
14236
+ * @secure
14237
+ * @response `200` `UserTableView` OK
14238
+ * @response `401` `ProblemDetails` Unauthorized
14239
+ * @response `404` `ProblemDetails` Not Found
14240
+ * @response `409` `ProblemDetails` Conflict
14241
+ * @response `422` `ProblemDetails` Unprocessable Content
14242
+ */
14243
+ updateMyTableView: (tableKey: UpdateMyTableViewParamsEnum, viewId: string, data: UserTableViewRequest, params?: RequestParams) => Promise<AxiosResponse<UserTableView, any, {}>>;
14244
+ /**
14245
+ * @description Deletes the view. When it was the open tab saved in the table settings, the settings fall back to the default tab.
14246
+ *
14247
+ * @tags UsersMe
14248
+ * @name DeleteMyTableView
14249
+ * @summary Delete Table View
14250
+ * @request DELETE:/api/users/me/table-settings/{tableKey}/views/{viewId}
14251
+ * @secure
14252
+ * @response `204` `void` No Content
14253
+ * @response `401` `ProblemDetails` Unauthorized
14254
+ * @response `404` `ProblemDetails` Not Found
14255
+ */
14256
+ deleteMyTableView: (tableKey: DeleteMyTableViewParamsEnum, viewId: string, params?: RequestParams) => Promise<AxiosResponse<void, any, {}>>;
14257
+ /**
14258
+ * @description Sets the tab order. The body names every one of the caller's views on the table exactly once; a list that no longer matches them is refused with 409. Two reorders sent at once do not mix: the last to save wins as a whole.
14259
+ *
14260
+ * @tags UsersMe
14261
+ * @name ReorderMyTableViews
14262
+ * @summary Reorder Table Views
14263
+ * @request PUT:/api/users/me/table-settings/{tableKey}/views/order
14264
+ * @secure
14265
+ * @response `204` `void` No Content
14266
+ * @response `401` `ProblemDetails` Unauthorized
14267
+ * @response `409` `ProblemDetails` Conflict
14268
+ * @response `422` `ProblemDetails` Unprocessable Content
14269
+ */
14270
+ reorderMyTableViews: (tableKey: ReorderMyTableViewsParamsEnum, data: ReorderUserTableViewsRequest, params?: RequestParams) => Promise<AxiosResponse<void, any, {}>>;
14084
14271
  /**
14085
14272
  * @description Update the phone number If changed will send a verification code to the new number
14086
14273
  *
package/dist/index.js CHANGED
@@ -86,7 +86,13 @@ export class HttpClient {
86
86
  const property = input[key];
87
87
  const propertyContent = property instanceof Array ? property : [property];
88
88
  for (const formItem of propertyContent) {
89
- const isFileType = formItem instanceof Blob || formItem instanceof File;
89
+ // React Native files are plain { uri, name, type } objects, not Blob/File.
90
+ const isReactNativeFile = !!formItem &&
91
+ typeof formItem === "object" &&
92
+ "uri" in formItem &&
93
+ "name" in formItem &&
94
+ "type" in formItem;
95
+ const isFileType = isReactNativeFile || formItem instanceof Blob || formItem instanceof File;
90
96
  formData.append(key, isFileType ? formItem : this.stringifyFormItem(formItem));
91
97
  }
92
98
  return formData;
@@ -95,7 +101,7 @@ export class HttpClient {
95
101
  }
96
102
  /**
97
103
  * @title The Big POS API
98
- * @version v3.16.0
104
+ * @version v3.17.0
99
105
  * @termsOfService https://www.thebigpos.com/terms-of-use/
100
106
  * @contact Mortgage Automation Technologies <support@thebigpos.com> (https://www.thebigpos.com/terms-of-use/)
101
107
  */
@@ -1229,6 +1235,35 @@ export class Api extends HttpClient {
1229
1235
  * @response `422` `UnprocessableEntity` Unprocessable Content
1230
1236
  */
1231
1237
  logOut: (query, params = {}) => this.request(Object.assign({ path: `/api/logout`, method: "POST", query: query, secure: true, format: "json" }, params)),
1238
+ /**
1239
+ * No description
1240
+ *
1241
+ * @tags BorrowerApplication
1242
+ * @name GetBorrowerApplication
1243
+ * @summary Get a borrower's application as flat answers
1244
+ * @request GET:/api/loans/{loanId}/borrowers/{borrowerId}/application
1245
+ * @secure
1246
+ * @response `200` `BorrowerApplication` OK
1247
+ * @response `400` `any` Bad Request
1248
+ * @response `403` `ProblemDetails` Forbidden
1249
+ * @response `404` `ProblemDetails` Not Found
1250
+ */
1251
+ getBorrowerApplication: (loanId, borrowerId, params = {}) => this.request(Object.assign({ path: `/api/loans/${loanId}/borrowers/${borrowerId}/application`, method: "GET", secure: true, format: "json" }, params)),
1252
+ /**
1253
+ * No description
1254
+ *
1255
+ * @tags BorrowerApplication
1256
+ * @name UpdateBorrowerApplication
1257
+ * @summary Save a step of a borrower's application from flat answers
1258
+ * @request PATCH:/api/loans/{loanId}/borrowers/{borrowerId}/application
1259
+ * @secure
1260
+ * @response `200` `BorrowerApplicationUpdate` OK
1261
+ * @response `400` `any` Bad Request
1262
+ * @response `403` `ProblemDetails` Forbidden
1263
+ * @response `404` `ProblemDetails` Not Found
1264
+ * @response `422` `UnprocessableEntity` Unprocessable Content
1265
+ */
1266
+ updateBorrowerApplication: (loanId, borrowerId, data, params = {}) => this.request(Object.assign({ path: `/api/loans/${loanId}/borrowers/${borrowerId}/application`, method: "PATCH", body: data, secure: true, type: "application/json", format: "json" }, params)),
1232
1267
  /**
1233
1268
  * No description
1234
1269
  *
@@ -3033,6 +3068,22 @@ export class Api extends HttpClient {
3033
3068
  * @response `200` `File` OK
3034
3069
  */
3035
3070
  getListingOpenHouseFlyer: (id, params = {}) => this.request(Object.assign({ path: `/api/listings/${id}/open-house-flyer`, method: "GET", secure: true, format: "json" }, params)),
3071
+ /**
3072
+ * No description
3073
+ *
3074
+ * @tags LoanApplicationEdit
3075
+ * @name OpenBorrowerApplicationEdit
3076
+ * @summary Open a borrower's submitted application for editing
3077
+ * @request POST:/api/loans/{loanId}/application/edit
3078
+ * @secure
3079
+ * @response `200` `BorrowerApplication` OK
3080
+ * @response `400` `any` Bad Request
3081
+ * @response `403` `ProblemDetails` Forbidden
3082
+ * @response `404` `ProblemDetails` Not Found
3083
+ * @response `409` `ProblemDetails` Conflict
3084
+ * @response `423` `any` Locked
3085
+ */
3086
+ openBorrowerApplicationEdit: (loanId, data, params = {}) => this.request(Object.assign({ path: `/api/loans/${loanId}/application/edit`, method: "POST", body: data, secure: true, type: "application/json", format: "json" }, params)),
3036
3087
  /**
3037
3088
  * No description
3038
3089
  *
@@ -4043,6 +4094,7 @@ export class Api extends HttpClient {
4043
4094
  * @response `404` `ProblemDetails` Not Found
4044
4095
  * @response `409` `ProblemDetails` Conflict
4045
4096
  * @response `422` `UnprocessableEntity` Unprocessable Content
4097
+ * @response `423` `ProblemDetails` Locked
4046
4098
  */
4047
4099
  completeBorrowerApplication: (loanId, borrowerId, params = {}) => this.request(Object.assign({ path: `/api/loans/${loanId}/borrowers/${borrowerId}/complete`, method: "POST", secure: true }, params)),
4048
4100
  /**
@@ -6152,6 +6204,75 @@ export class Api extends HttpClient {
6152
6204
  * @response `401` `ProblemDetails` Unauthorized
6153
6205
  */
6154
6206
  updateMyTableSettings: (tableKey, data, params = {}) => this.request(Object.assign({ path: `/api/users/me/table-settings/${tableKey}`, method: "PUT", body: data, secure: true, type: "application/json", format: "json" }, params)),
6207
+ /**
6208
+ * @description The caller's saved views for the table, in tab order.
6209
+ *
6210
+ * @tags UsersMe
6211
+ * @name GetMyTableViews
6212
+ * @summary Get Table Views
6213
+ * @request GET:/api/users/me/table-settings/{tableKey}/views
6214
+ * @secure
6215
+ * @response `200` `(UserTableView)[]` OK
6216
+ * @response `401` `ProblemDetails` Unauthorized
6217
+ */
6218
+ getMyTableViews: (tableKey, params = {}) => this.request(Object.assign({ path: `/api/users/me/table-settings/${tableKey}/views`, method: "GET", secure: true, format: "json" }, params)),
6219
+ /**
6220
+ * @description Saves a named view at the end of the tab order. A name the caller already uses on the table (ignoring case) is refused with 409, and a 21st view with 400.
6221
+ *
6222
+ * @tags UsersMe
6223
+ * @name CreateMyTableView
6224
+ * @summary Create Table View
6225
+ * @request POST:/api/users/me/table-settings/{tableKey}/views
6226
+ * @secure
6227
+ * @response `201` `UserTableView` Created
6228
+ * @response `400` `ProblemDetails` Bad Request
6229
+ * @response `401` `ProblemDetails` Unauthorized
6230
+ * @response `409` `ProblemDetails` Conflict
6231
+ * @response `422` `ProblemDetails` Unprocessable Content
6232
+ */
6233
+ createMyTableView: (tableKey, data, params = {}) => this.request(Object.assign({ path: `/api/users/me/table-settings/${tableKey}/views`, method: "POST", body: data, secure: true, type: "application/json", format: "json" }, params)),
6234
+ /**
6235
+ * @description Replaces the view's name, search terms, filters and sort.
6236
+ *
6237
+ * @tags UsersMe
6238
+ * @name UpdateMyTableView
6239
+ * @summary Update Table View
6240
+ * @request PUT:/api/users/me/table-settings/{tableKey}/views/{viewId}
6241
+ * @secure
6242
+ * @response `200` `UserTableView` OK
6243
+ * @response `401` `ProblemDetails` Unauthorized
6244
+ * @response `404` `ProblemDetails` Not Found
6245
+ * @response `409` `ProblemDetails` Conflict
6246
+ * @response `422` `ProblemDetails` Unprocessable Content
6247
+ */
6248
+ updateMyTableView: (tableKey, viewId, data, params = {}) => this.request(Object.assign({ path: `/api/users/me/table-settings/${tableKey}/views/${viewId}`, method: "PUT", body: data, secure: true, type: "application/json", format: "json" }, params)),
6249
+ /**
6250
+ * @description Deletes the view. When it was the open tab saved in the table settings, the settings fall back to the default tab.
6251
+ *
6252
+ * @tags UsersMe
6253
+ * @name DeleteMyTableView
6254
+ * @summary Delete Table View
6255
+ * @request DELETE:/api/users/me/table-settings/{tableKey}/views/{viewId}
6256
+ * @secure
6257
+ * @response `204` `void` No Content
6258
+ * @response `401` `ProblemDetails` Unauthorized
6259
+ * @response `404` `ProblemDetails` Not Found
6260
+ */
6261
+ deleteMyTableView: (tableKey, viewId, params = {}) => this.request(Object.assign({ path: `/api/users/me/table-settings/${tableKey}/views/${viewId}`, method: "DELETE", secure: true }, params)),
6262
+ /**
6263
+ * @description Sets the tab order. The body names every one of the caller's views on the table exactly once; a list that no longer matches them is refused with 409. Two reorders sent at once do not mix: the last to save wins as a whole.
6264
+ *
6265
+ * @tags UsersMe
6266
+ * @name ReorderMyTableViews
6267
+ * @summary Reorder Table Views
6268
+ * @request PUT:/api/users/me/table-settings/{tableKey}/views/order
6269
+ * @secure
6270
+ * @response `204` `void` No Content
6271
+ * @response `401` `ProblemDetails` Unauthorized
6272
+ * @response `409` `ProblemDetails` Conflict
6273
+ * @response `422` `ProblemDetails` Unprocessable Content
6274
+ */
6275
+ reorderMyTableViews: (tableKey, data, params = {}) => this.request(Object.assign({ path: `/api/users/me/table-settings/${tableKey}/views/order`, method: "PUT", body: data, secure: true, type: "application/json" }, params)),
6155
6276
  /**
6156
6277
  * @description Update the phone number If changed will send a verification code to the new number
6157
6278
  *