@firela/api-types 0.0.0-canary.209967 → 0.0.0-canary.6feee68d

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.
@@ -5,6 +5,10 @@ export type CreateAccountDto = {
5
5
  * Account path (hierarchical, colon-separated)
6
6
  */
7
7
  path: string;
8
+ /**
9
+ * Display name to distinguish accounts at the same path (default: "")
10
+ */
11
+ displayName?: string;
8
12
  /**
9
13
  * Account open date
10
14
  */
@@ -73,6 +77,10 @@ export type AccountResponseDto = {
73
77
  * Account path (hierarchical, colon-separated)
74
78
  */
75
79
  path: string;
80
+ /**
81
+ * Display name distinguishing multiple accounts at the same path
82
+ */
83
+ displayName: string;
76
84
  /**
77
85
  * Account type (root segment)
78
86
  */
@@ -170,6 +178,10 @@ export type AccountListResponseDto = {
170
178
  };
171
179
 
172
180
  export type UpdateAccountDto = {
181
+ /**
182
+ * Display name to distinguish accounts at the same path
183
+ */
184
+ displayName?: string;
173
185
  /**
174
186
  * Allowed currencies (null = no restriction)
175
187
  */
@@ -202,9 +214,7 @@ export type UpdateAccountDto = {
202
214
  /**
203
215
  * Platform ID (references Platform.id), null to clear association
204
216
  */
205
- platformId?: {
206
- [key: string]: unknown;
207
- } | null;
217
+ platformId?: string | null;
208
218
  };
209
219
 
210
220
  export type CloseAccountDto = {
@@ -227,6 +237,85 @@ export type ReopenAccountDto = {
227
237
  reopenDate?: string;
228
238
  };
229
239
 
240
+ export type AccountStandardResponseDto = {
241
+ /**
242
+ * Account path (hierarchical, colon-separated)
243
+ */
244
+ path: string;
245
+ /**
246
+ * Account type in Beancount hierarchy
247
+ */
248
+ type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
249
+ /**
250
+ * i18n key for localized display name
251
+ */
252
+ i18nKey: string;
253
+ /**
254
+ * Short localized display name
255
+ */
256
+ name?: string;
257
+ /**
258
+ * Account description (stable semantics only)
259
+ */
260
+ description: string;
261
+ /**
262
+ * Account tags for categorization
263
+ */
264
+ tags: Array<string>;
265
+ /**
266
+ * Icon identifier for UI display
267
+ */
268
+ icon: string;
269
+ };
270
+
271
+ export type AccountStandardListResponseDto = {
272
+ /**
273
+ * Array of account templates
274
+ */
275
+ items: Array<AccountStandardResponseDto>;
276
+ /**
277
+ * Total number of account templates
278
+ */
279
+ total: number;
280
+ /**
281
+ * Region code
282
+ */
283
+ region: string;
284
+ };
285
+
286
+ export type TemplateMetadataDto = {
287
+ /**
288
+ * Whether this path can be extended
289
+ */
290
+ extendable: boolean;
291
+ /**
292
+ * Root account type
293
+ */
294
+ rootType: string;
295
+ };
296
+
297
+ export type TemplateMetadataResponseDto = {
298
+ metadata?: TemplateMetadataDto;
299
+ };
300
+
301
+ export type RegionConfigDto = {
302
+ currency: string;
303
+ dateFormat: string;
304
+ locale: string;
305
+ };
306
+
307
+ export type RegionInfoDto = {
308
+ code: string;
309
+ displayName: string;
310
+ parent?: string;
311
+ chain: Array<string>;
312
+ config: RegionConfigDto;
313
+ };
314
+
315
+ export type RegionsMetadataResponseDto = {
316
+ regions: Array<RegionInfoDto>;
317
+ };
318
+
230
319
  export type CreatePostingDto = {
231
320
  /**
232
321
  * Account name in Beancount format (must start with uppercase, colon-separated)
@@ -439,6 +528,39 @@ export type ApiProblemResponseDto = {
439
528
  };
440
529
  };
441
530
 
531
+ export type BatchCreateTransactionDto = {
532
+ /**
533
+ * Array of transactions to create
534
+ */
535
+ transactions: Array<CreateTransactionDto>;
536
+ };
537
+
538
+ export type BatchTransactionErrorDto = {
539
+ /**
540
+ * Index of failed transaction in the input array
541
+ */
542
+ index: number;
543
+ /**
544
+ * Error message describing the failure
545
+ */
546
+ error: string;
547
+ /**
548
+ * Structured error code for programmatic handling
549
+ */
550
+ errorCode?: string;
551
+ };
552
+
553
+ export type BatchTransactionResponseDto = {
554
+ /**
555
+ * Successfully created transactions
556
+ */
557
+ succeeded: Array<TransactionResponseDto>;
558
+ /**
559
+ * Failed transactions with error details
560
+ */
561
+ failed: Array<BatchTransactionErrorDto>;
562
+ };
563
+
442
564
  export type PostingDetailDto = {
443
565
  /**
444
566
  * Posting ID
@@ -646,66 +768,6 @@ export type UpdateTransactionDto = {
646
768
  };
647
769
  };
648
770
 
649
- export type AccountStandardResponseDto = {
650
- /**
651
- * Account path (hierarchical, colon-separated)
652
- */
653
- path: string;
654
- /**
655
- * Account type in Beancount hierarchy
656
- */
657
- type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
658
- /**
659
- * i18n key for localized display name
660
- */
661
- i18nKey?: string;
662
- /**
663
- * Account description
664
- */
665
- description?: string;
666
- /**
667
- * Account tags for categorization
668
- */
669
- tags?: Array<string>;
670
- /**
671
- * Icon identifier for UI display
672
- */
673
- icon?: string;
674
- };
675
-
676
- export type AccountStandardListResponseDto = {
677
- /**
678
- * Array of account templates
679
- */
680
- items: Array<AccountStandardResponseDto>;
681
- /**
682
- * Total number of account templates
683
- */
684
- total: number;
685
- /**
686
- * Region code
687
- */
688
- region: string;
689
- };
690
-
691
- export type RegionConfigDto = {
692
- currency: string;
693
- dateFormat: string;
694
- locale: string;
695
- };
696
-
697
- export type RegionInfoDto = {
698
- code: string;
699
- displayName: string;
700
- parent?: string;
701
- chain: Array<string>;
702
- config: RegionConfigDto;
703
- };
704
-
705
- export type RegionsMetadataResponseDto = {
706
- regions: Array<RegionInfoDto>;
707
- };
708
-
709
771
  export type BalanceResponseDto = {
710
772
  /**
711
773
  * Account name
@@ -808,9 +870,15 @@ export type ReviewSummaryDto = {
808
870
  */
809
871
  confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW';
810
872
  /**
811
- * Human-readable summary of the review item
873
+ * i18n message key for summary (e.g., review.summary.duplicate). Translate on frontend with summaryParams.
874
+ */
875
+ summaryKey: string;
876
+ /**
877
+ * Parameters for summary message interpolation (e.g., { date: "2024-01-15", amount: "50" })
812
878
  */
813
- summary: string;
879
+ summaryParams?: {
880
+ [key: string]: string;
881
+ };
814
882
  /**
815
883
  * Human-readable reasons for branching
816
884
  */
@@ -956,9 +1024,15 @@ export type ReviewDetailDto = {
956
1024
  */
957
1025
  confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW';
958
1026
  /**
959
- * Human-readable summary of the review item
1027
+ * i18n message key for summary (e.g., review.summary.duplicate). Translate on frontend with summaryParams.
1028
+ */
1029
+ summaryKey: string;
1030
+ /**
1031
+ * Parameters for summary message interpolation (e.g., { date: "2024-01-15", amount: "50" })
960
1032
  */
961
- summary: string;
1033
+ summaryParams?: {
1034
+ [key: string]: string;
1035
+ };
962
1036
  /**
963
1037
  * Human-readable reasons for branching
964
1038
  */
@@ -1015,6 +1089,124 @@ export type ReviewDetailDto = {
1015
1089
  transactionId?: string;
1016
1090
  };
1017
1091
 
1092
+ export type ResolveReviewDto = {
1093
+ /**
1094
+ * Decision action. Available actions vary by review type: DUPLICATE: UPGRADE_REPLACE, KEEP_EXISTING, KEEP_BOTH | PAYEE_MATCH: ACCEPT, REJECT, ACCEPT_AND_LEARN | ACCOUNT_VALIDATION: FIX, REJECT | RULE_MATCH: ACCEPT, REJECT, ACCEPT_AND_LEARN
1095
+ */
1096
+ action: string;
1097
+ /**
1098
+ * Additional data for the decision (e.g., selected account ID)
1099
+ */
1100
+ data?: {
1101
+ [key: string]: unknown;
1102
+ };
1103
+ };
1104
+
1105
+ export type ResolveResultDto = {
1106
+ /**
1107
+ * Whether resolution was successful
1108
+ */
1109
+ success: boolean;
1110
+ /**
1111
+ * i18n message key for result message (e.g., review.payee.result.mapped)
1112
+ */
1113
+ messageKey?: string;
1114
+ /**
1115
+ * Parameters for message interpolation (e.g., { name: "PayeeName" })
1116
+ */
1117
+ messageParams?: {
1118
+ [key: string]: string;
1119
+ };
1120
+ /**
1121
+ * Resolution ID for undo
1122
+ */
1123
+ resolutionId: string;
1124
+ /**
1125
+ * Whether this decision can be undone
1126
+ */
1127
+ canUndo: boolean;
1128
+ /**
1129
+ * Deadline for undo (24h from resolution)
1130
+ */
1131
+ undoDeadline: string;
1132
+ /**
1133
+ * Rule ID if learning was triggered (ACCEPT_AND_LEARN actions). Use this to deep-link to the rule management page.
1134
+ */
1135
+ learnedRuleId?: string;
1136
+ };
1137
+
1138
+ export type UndoResultDto = {
1139
+ /**
1140
+ * Whether undo was successful
1141
+ */
1142
+ success: boolean;
1143
+ /**
1144
+ * Message
1145
+ */
1146
+ message?: string;
1147
+ /**
1148
+ * Review item ID that was restored
1149
+ */
1150
+ reviewId: string;
1151
+ };
1152
+
1153
+ export type BatchResolveDto = {
1154
+ /**
1155
+ * Review item IDs to resolve
1156
+ */
1157
+ reviewIds: Array<string>;
1158
+ /**
1159
+ * Decision action to apply to all items
1160
+ */
1161
+ action: string;
1162
+ /**
1163
+ * Additional data for the decision
1164
+ */
1165
+ data?: {
1166
+ [key: string]: unknown;
1167
+ };
1168
+ };
1169
+
1170
+ export type BatchResolveResultDto = {
1171
+ /**
1172
+ * Number of successfully resolved items
1173
+ */
1174
+ successCount: number;
1175
+ /**
1176
+ * Number of failed items
1177
+ */
1178
+ failedCount: number;
1179
+ /**
1180
+ * Details for each item
1181
+ */
1182
+ results: Array<string>;
1183
+ };
1184
+
1185
+ export type CreatePayeeDto = {
1186
+ /**
1187
+ * User's original payee name (e.g., 'Starbucks', 'McDonald'). This is the raw payee string as entered by the user.
1188
+ */
1189
+ payee: string;
1190
+ /**
1191
+ * Optional reference to global PayeeProfile for standardized data (merchant info, i18n keys, categories)
1192
+ */
1193
+ payeeProfileId?: string;
1194
+ /**
1195
+ * User's custom category for this payee (overrides PayeeProfile category)
1196
+ */
1197
+ customCategory?: string;
1198
+ /**
1199
+ * User's custom tags for this payee (e.g., ['favorite', 'work_meal'])
1200
+ */
1201
+ customTags?: Array<string>;
1202
+ /**
1203
+ * Metadata for extended information (location, notes, contact info, etc.)
1204
+ */
1205
+ meta?: {
1206
+ [key: string]: unknown;
1207
+ };
1208
+ };
1209
+
1018
1210
  export type PayeeResponseDto = {
1019
1211
  /**
1020
1212
  * Unique identifier (UUID)
@@ -1031,15 +1223,11 @@ export type PayeeResponseDto = {
1031
1223
  /**
1032
1224
  * Reference to global PayeeProfile (merchant info, i18n keys, categories)
1033
1225
  */
1034
- payeeProfileId?: {
1035
- [key: string]: unknown;
1036
- } | null;
1226
+ payeeProfileId?: string | null;
1037
1227
  /**
1038
1228
  * User's custom category (overrides PayeeProfile category if set)
1039
1229
  */
1040
- customCategory?: {
1041
- [key: string]: unknown;
1042
- } | null;
1230
+ customCategory?: string | null;
1043
1231
  /**
1044
1232
  * User's custom tags (e.g., ['favorite', 'work_meal'])
1045
1233
  */
@@ -1105,39 +1293,58 @@ export type PayeeStatsResponseDto = {
1105
1293
  lastUsedAt: string;
1106
1294
  };
1107
1295
 
1108
- export type PayeeProfileResponseDto = {
1296
+ export type UpdatePayeeDto = {
1109
1297
  /**
1110
- * Unique identifier (UUID)
1298
+ * Optional reference to global PayeeProfile for standardized data (merchant info, i18n keys, categories)
1111
1299
  */
1112
- id: string;
1300
+ payeeProfileId?: string;
1113
1301
  /**
1114
- * Canonical payee name (unique, case-insensitive)
1302
+ * User's custom category for this payee (overrides PayeeProfile category)
1115
1303
  */
1116
- canonical: string;
1304
+ customCategory?: string;
1117
1305
  /**
1118
- * Multi-language aliases
1306
+ * User's custom tags for this payee (e.g., ['favorite', 'work_meal'])
1119
1307
  */
1120
- aliases: Array<string>;
1308
+ customTags?: Array<string>;
1121
1309
  /**
1122
- * Translation key for i18n
1310
+ * Metadata for extended information (location, notes, contact info, etc.). Will merge with existing metadata.
1123
1311
  */
1124
- i18nKey?: {
1312
+ meta?: {
1125
1313
  [key: string]: unknown;
1126
- } | null;
1314
+ };
1127
1315
  /**
1128
- * Payee category
1316
+ * Enable or disable this payee. Disabled payees will not appear in autocomplete suggestions.
1129
1317
  */
1130
- category:
1131
- | 'RESTAURANT'
1132
- | 'CAFE'
1133
- | 'FAST_FOOD'
1134
- | 'BAR'
1135
- | 'SUPERMARKET'
1136
- | 'CONVENIENCE_STORE'
1137
- | 'SHOPPING_MALL'
1138
- | 'ONLINE_SHOPPING'
1139
- | 'TAXI'
1140
- | 'RIDE_SHARING'
1318
+ isActive?: boolean;
1319
+ };
1320
+
1321
+ export type CreatePayeeProfileDto = {
1322
+ /**
1323
+ * Canonical payee name (unique, case-insensitive). This is the primary identifier for the payee.
1324
+ */
1325
+ canonical: string;
1326
+ /**
1327
+ * Multi-language aliases for the payee. Used for matching user input in different languages.
1328
+ */
1329
+ aliases?: Array<string>;
1330
+ /**
1331
+ * Translation key for i18n integration (XLIFF translation system)
1332
+ */
1333
+ i18nKey?: string;
1334
+ /**
1335
+ * Payee category classification
1336
+ */
1337
+ category:
1338
+ | 'RESTAURANT'
1339
+ | 'CAFE'
1340
+ | 'FAST_FOOD'
1341
+ | 'BAR'
1342
+ | 'SUPERMARKET'
1343
+ | 'CONVENIENCE_STORE'
1344
+ | 'SHOPPING_MALL'
1345
+ | 'ONLINE_SHOPPING'
1346
+ | 'TAXI'
1347
+ | 'RIDE_SHARING'
1141
1348
  | 'PUBLIC_TRANSPORT'
1142
1349
  | 'PARKING'
1143
1350
  | 'GAS_STATION'
@@ -1152,75 +1359,47 @@ export type PayeeProfileResponseDto = {
1152
1359
  | 'HOTEL'
1153
1360
  | 'OTHER';
1154
1361
  /**
1155
- * Sub-category
1362
+ * Sub-category for more specific classification
1156
1363
  */
1157
- subCategory?: {
1158
- [key: string]: unknown;
1159
- } | null;
1364
+ subCategory?: string;
1160
1365
  /**
1161
- * Country codes where payee operates
1366
+ * Country/region codes where the payee operates (ISO 3166-1 alpha-2)
1162
1367
  */
1163
- countries: Array<string>;
1368
+ countries?: Array<string>;
1164
1369
  /**
1165
- * Primary operating country
1370
+ * Primary operating country (ISO 3166-1 alpha-2)
1166
1371
  */
1167
- primaryCountry?: {
1168
- [key: string]: unknown;
1169
- } | null;
1372
+ primaryCountry?: string;
1170
1373
  /**
1171
- * Search keywords
1374
+ * Search keywords for fuzzy matching
1172
1375
  */
1173
- keywords: Array<string>;
1376
+ keywords?: Array<string>;
1174
1377
  /**
1175
- * Logo URL
1378
+ * Payee logo URL
1176
1379
  */
1177
- logoUrl?: {
1178
- [key: string]: unknown;
1179
- } | null;
1380
+ logoUrl?: string;
1180
1381
  /**
1181
- * Official website
1382
+ * Official website URL
1182
1383
  */
1183
- website?: {
1184
- [key: string]: unknown;
1185
- } | null;
1384
+ website?: string;
1186
1385
  /**
1187
- * Description
1386
+ * Payee description
1188
1387
  */
1189
- description?: {
1190
- [key: string]: unknown;
1191
- } | null;
1388
+ description?: string;
1192
1389
  /**
1193
- * Extended metadata
1390
+ * Extended metadata (business hours, contact info, additional details)
1194
1391
  */
1195
- meta: {
1392
+ meta?: {
1196
1393
  [key: string]: unknown;
1197
1394
  };
1198
1395
  /**
1199
- * Data source
1396
+ * Data source for this profile
1200
1397
  */
1201
- dataSource: 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1202
- /**
1203
- * Verification timestamp (null if not verified)
1204
- */
1205
- verifiedAt?: {
1206
- [key: string]: unknown;
1207
- } | null;
1208
- /**
1209
- * Whether the profile is active
1210
- */
1211
- isActive: boolean;
1212
- /**
1213
- * Creation timestamp
1214
- */
1215
- createdAt: string;
1216
- /**
1217
- * Last update timestamp
1218
- */
1219
- updatedAt: string;
1398
+ dataSource?: 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1220
1399
  };
1221
1400
 
1222
1401
  /**
1223
- * Payee category
1402
+ * Payee category classification
1224
1403
  */
1225
1404
  export type category =
1226
1405
  | 'RESTAURANT'
@@ -1248,10 +1427,110 @@ export type category =
1248
1427
  | 'OTHER';
1249
1428
 
1250
1429
  /**
1251
- * Data source
1430
+ * Data source for this profile
1252
1431
  */
1253
1432
  export type dataSource = 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1254
1433
 
1434
+ export type PayeeProfileResponseDto = {
1435
+ /**
1436
+ * Unique identifier (UUID)
1437
+ */
1438
+ id: string;
1439
+ /**
1440
+ * Canonical payee name (unique, case-insensitive)
1441
+ */
1442
+ canonical: string;
1443
+ /**
1444
+ * Multi-language aliases
1445
+ */
1446
+ aliases: Array<string>;
1447
+ /**
1448
+ * Translation key for i18n
1449
+ */
1450
+ i18nKey?: string | null;
1451
+ /**
1452
+ * Payee category
1453
+ */
1454
+ category:
1455
+ | 'RESTAURANT'
1456
+ | 'CAFE'
1457
+ | 'FAST_FOOD'
1458
+ | 'BAR'
1459
+ | 'SUPERMARKET'
1460
+ | 'CONVENIENCE_STORE'
1461
+ | 'SHOPPING_MALL'
1462
+ | 'ONLINE_SHOPPING'
1463
+ | 'TAXI'
1464
+ | 'RIDE_SHARING'
1465
+ | 'PUBLIC_TRANSPORT'
1466
+ | 'PARKING'
1467
+ | 'GAS_STATION'
1468
+ | 'UTILITIES'
1469
+ | 'TELECOM'
1470
+ | 'STREAMING'
1471
+ | 'HEALTHCARE'
1472
+ | 'EDUCATION'
1473
+ | 'ENTERTAINMENT'
1474
+ | 'SPORTS'
1475
+ | 'TRAVEL'
1476
+ | 'HOTEL'
1477
+ | 'OTHER';
1478
+ /**
1479
+ * Sub-category
1480
+ */
1481
+ subCategory?: string | null;
1482
+ /**
1483
+ * Country codes where payee operates
1484
+ */
1485
+ countries: Array<string>;
1486
+ /**
1487
+ * Primary operating country
1488
+ */
1489
+ primaryCountry?: string | null;
1490
+ /**
1491
+ * Search keywords
1492
+ */
1493
+ keywords: Array<string>;
1494
+ /**
1495
+ * Logo URL
1496
+ */
1497
+ logoUrl?: string | null;
1498
+ /**
1499
+ * Official website
1500
+ */
1501
+ website?: string | null;
1502
+ /**
1503
+ * Description
1504
+ */
1505
+ description?: string | null;
1506
+ /**
1507
+ * Extended metadata
1508
+ */
1509
+ meta: {
1510
+ [key: string]: unknown;
1511
+ };
1512
+ /**
1513
+ * Data source
1514
+ */
1515
+ dataSource: 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1516
+ /**
1517
+ * Verification timestamp (null if not verified)
1518
+ */
1519
+ verifiedAt?: string | null;
1520
+ /**
1521
+ * Whether the profile is active
1522
+ */
1523
+ isActive: boolean;
1524
+ /**
1525
+ * Creation timestamp
1526
+ */
1527
+ createdAt: string;
1528
+ /**
1529
+ * Last update timestamp
1530
+ */
1531
+ updatedAt: string;
1532
+ };
1533
+
1255
1534
  export type PayeeProfileListResponseDto = {
1256
1535
  /**
1257
1536
  * List of payee profiles
@@ -1263,6 +1542,107 @@ export type PayeeProfileListResponseDto = {
1263
1542
  total: number;
1264
1543
  };
1265
1544
 
1545
+ export type UpdatePayeeProfileDto = {
1546
+ /**
1547
+ * Multi-language aliases for the payee. Used for matching user input in different languages.
1548
+ */
1549
+ aliases?: Array<string>;
1550
+ /**
1551
+ * Translation key for i18n integration (XLIFF translation system)
1552
+ */
1553
+ i18nKey?: string;
1554
+ /**
1555
+ * Payee category classification
1556
+ */
1557
+ category?:
1558
+ | 'RESTAURANT'
1559
+ | 'CAFE'
1560
+ | 'FAST_FOOD'
1561
+ | 'BAR'
1562
+ | 'SUPERMARKET'
1563
+ | 'CONVENIENCE_STORE'
1564
+ | 'SHOPPING_MALL'
1565
+ | 'ONLINE_SHOPPING'
1566
+ | 'TAXI'
1567
+ | 'RIDE_SHARING'
1568
+ | 'PUBLIC_TRANSPORT'
1569
+ | 'PARKING'
1570
+ | 'GAS_STATION'
1571
+ | 'UTILITIES'
1572
+ | 'TELECOM'
1573
+ | 'STREAMING'
1574
+ | 'HEALTHCARE'
1575
+ | 'EDUCATION'
1576
+ | 'ENTERTAINMENT'
1577
+ | 'SPORTS'
1578
+ | 'TRAVEL'
1579
+ | 'HOTEL'
1580
+ | 'OTHER';
1581
+ /**
1582
+ * Sub-category for more specific classification
1583
+ */
1584
+ subCategory?: string;
1585
+ /**
1586
+ * Country/region codes where the payee operates (ISO 3166-1 alpha-2)
1587
+ */
1588
+ countries?: Array<string>;
1589
+ /**
1590
+ * Primary operating country (ISO 3166-1 alpha-2)
1591
+ */
1592
+ primaryCountry?: string;
1593
+ /**
1594
+ * Search keywords for fuzzy matching
1595
+ */
1596
+ keywords?: Array<string>;
1597
+ /**
1598
+ * Payee logo URL
1599
+ */
1600
+ logoUrl?: string;
1601
+ /**
1602
+ * Official website URL
1603
+ */
1604
+ website?: string;
1605
+ /**
1606
+ * Payee description
1607
+ */
1608
+ description?: string;
1609
+ /**
1610
+ * Extended metadata (business hours, contact info, additional details)
1611
+ */
1612
+ meta?: {
1613
+ [key: string]: unknown;
1614
+ };
1615
+ /**
1616
+ * Data source for this profile
1617
+ */
1618
+ dataSource?: 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1619
+ /**
1620
+ * Whether the payee profile is active (soft delete)
1621
+ */
1622
+ isActive?: boolean;
1623
+ /**
1624
+ * Verification timestamp. Set to current time to verify, or null to unverify.
1625
+ */
1626
+ verifiedAt?: string | null;
1627
+ };
1628
+
1629
+ export type CreateCommodityDto = {
1630
+ /**
1631
+ * Commodity symbol (e.g., AAPL, USD, BTC) - corresponds to Beancount currency field
1632
+ */
1633
+ symbol: string;
1634
+ /**
1635
+ * Commodity definition date (ISO 8601, required per Beancount spec). Represents when this commodity was first defined in the accounting system.
1636
+ */
1637
+ date: string;
1638
+ /**
1639
+ * Metadata (corresponds to Beancount meta field). Can contain name, assetClass, precision, note, tags, etc.
1640
+ */
1641
+ metadata?: {
1642
+ [key: string]: unknown;
1643
+ };
1644
+ };
1645
+
1266
1646
  export type CommodityResponseDto = {
1267
1647
  /**
1268
1648
  * Unique identifier
@@ -1271,9 +1651,7 @@ export type CommodityResponseDto = {
1271
1651
  /**
1272
1652
  * User ID (owner of the commodity)
1273
1653
  */
1274
- userId?: {
1275
- [key: string]: unknown;
1276
- } | null;
1654
+ userId?: string | null;
1277
1655
  /**
1278
1656
  * Commodity symbol (corresponds to Beancount currency field)
1279
1657
  */
@@ -1288,12 +1666,6 @@ export type CommodityResponseDto = {
1288
1666
  metadata: {
1289
1667
  [key: string]: unknown;
1290
1668
  };
1291
- /**
1292
- * Reference to SymbolProfile (market data integration, SaaS feature)
1293
- */
1294
- symbolProfileId?: {
1295
- [key: string]: unknown;
1296
- } | null;
1297
1669
  /**
1298
1670
  * Creation timestamp
1299
1671
  */
@@ -1315,6 +1687,101 @@ export type CommodityListResponseDto = {
1315
1687
  total: number;
1316
1688
  };
1317
1689
 
1690
+ export type UpdateCommodityDto = {
1691
+ /**
1692
+ * Commodity definition date (ISO 8601). Represents when this commodity was first defined in the accounting system.
1693
+ */
1694
+ date?: string;
1695
+ /**
1696
+ * Metadata (corresponds to Beancount meta field). Will merge with existing metadata. Can contain name, assetClass, precision, note, tags, etc.
1697
+ */
1698
+ metadata?: {
1699
+ [key: string]: unknown;
1700
+ };
1701
+ };
1702
+
1703
+ export type CreateRecurringRuleDto = {
1704
+ /**
1705
+ * Rule name (unique per user)
1706
+ */
1707
+ name: string;
1708
+ /**
1709
+ * Icon emoji
1710
+ */
1711
+ icon?: string;
1712
+ /**
1713
+ * Recurring frequency
1714
+ */
1715
+ frequency:
1716
+ | 'WEEKLY'
1717
+ | 'BIWEEKLY'
1718
+ | 'MONTHLY'
1719
+ | 'BIMONTHLY'
1720
+ | 'QUARTERLY'
1721
+ | 'YEARLY'
1722
+ | 'CUSTOM';
1723
+ /**
1724
+ * Expected amount (positive number)
1725
+ */
1726
+ expectedAmount: number;
1727
+ /**
1728
+ * Expected day of month (1-31)
1729
+ */
1730
+ expectedDay?: number;
1731
+ /**
1732
+ * Custom interval in days (required for CUSTOM frequency)
1733
+ */
1734
+ customIntervalDays?: number;
1735
+ /**
1736
+ * Currency code
1737
+ */
1738
+ currency: string;
1739
+ /**
1740
+ * Payee matching pattern (supports wildcards)
1741
+ */
1742
+ matchPayeePattern?: string;
1743
+ /**
1744
+ * Amount tolerance percentage (0-1)
1745
+ */
1746
+ matchAmountTolerance: number;
1747
+ /**
1748
+ * Default expense account for auto-create
1749
+ */
1750
+ defaultExpenseAccount?: string;
1751
+ /**
1752
+ * Default payment account for auto-create
1753
+ */
1754
+ defaultPaymentAccount?: string;
1755
+ /**
1756
+ * Default payee for auto-create
1757
+ */
1758
+ defaultPayee?: string;
1759
+ /**
1760
+ * Auto-create transaction when expected date arrives
1761
+ */
1762
+ autoCreate: boolean;
1763
+ /**
1764
+ * Rule start date (ISO format)
1765
+ */
1766
+ startDate?: string;
1767
+ /**
1768
+ * Rule end date (ISO format)
1769
+ */
1770
+ endDate?: string;
1771
+ };
1772
+
1773
+ /**
1774
+ * Recurring frequency
1775
+ */
1776
+ export type frequency =
1777
+ | 'WEEKLY'
1778
+ | 'BIWEEKLY'
1779
+ | 'MONTHLY'
1780
+ | 'BIMONTHLY'
1781
+ | 'QUARTERLY'
1782
+ | 'YEARLY'
1783
+ | 'CUSTOM';
1784
+
1318
1785
  export type RecurringRuleResponseDto = {
1319
1786
  /**
1320
1787
  * Rule ID
@@ -1424,6 +1891,28 @@ export type RecurringRuleResponseDto = {
1424
1891
  updatedAt: string;
1425
1892
  };
1426
1893
 
1894
+ export type CreateRuleFromTransactionDto = {
1895
+ /**
1896
+ * Recurring frequency
1897
+ */
1898
+ frequency:
1899
+ | 'WEEKLY'
1900
+ | 'BIWEEKLY'
1901
+ | 'MONTHLY'
1902
+ | 'BIMONTHLY'
1903
+ | 'QUARTERLY'
1904
+ | 'YEARLY'
1905
+ | 'CUSTOM';
1906
+ /**
1907
+ * Optional name override (default: transaction payee)
1908
+ */
1909
+ name?: string;
1910
+ /**
1911
+ * Optional icon emoji
1912
+ */
1913
+ icon?: string;
1914
+ };
1915
+
1427
1916
  export type RecurringRuleWithStatsResponseDto = {
1428
1917
  /**
1429
1918
  * Rule ID
@@ -1579,6 +2068,76 @@ export type RecurringRuleWithStatsResponseDto = {
1579
2068
  upcomingCount: number;
1580
2069
  };
1581
2070
 
2071
+ export type UpdateRecurringRuleDto = {
2072
+ /**
2073
+ * Rule name
2074
+ */
2075
+ name?: string;
2076
+ /**
2077
+ * Icon emoji
2078
+ */
2079
+ icon?: string;
2080
+ /**
2081
+ * Recurring frequency
2082
+ */
2083
+ frequency?:
2084
+ | 'WEEKLY'
2085
+ | 'BIWEEKLY'
2086
+ | 'MONTHLY'
2087
+ | 'BIMONTHLY'
2088
+ | 'QUARTERLY'
2089
+ | 'YEARLY'
2090
+ | 'CUSTOM';
2091
+ /**
2092
+ * Expected amount
2093
+ */
2094
+ expectedAmount?: number;
2095
+ /**
2096
+ * Expected day of month (1-31)
2097
+ */
2098
+ expectedDay?: number;
2099
+ /**
2100
+ * Custom interval in days
2101
+ */
2102
+ customIntervalDays?: number;
2103
+ /**
2104
+ * Currency code
2105
+ */
2106
+ currency?: string;
2107
+ /**
2108
+ * Payee matching pattern
2109
+ */
2110
+ matchPayeePattern?: string;
2111
+ /**
2112
+ * Amount tolerance percentage (0-1)
2113
+ */
2114
+ matchAmountTolerance?: number;
2115
+ /**
2116
+ * Default expense account
2117
+ */
2118
+ defaultExpenseAccount?: string;
2119
+ /**
2120
+ * Default payment account
2121
+ */
2122
+ defaultPaymentAccount?: string;
2123
+ /**
2124
+ * Default payee
2125
+ */
2126
+ defaultPayee?: string;
2127
+ /**
2128
+ * Auto-create transaction
2129
+ */
2130
+ autoCreate?: boolean;
2131
+ /**
2132
+ * Rule active status
2133
+ */
2134
+ isActive?: boolean;
2135
+ /**
2136
+ * Rule end date (ISO format)
2137
+ */
2138
+ endDate?: string;
2139
+ };
2140
+
1582
2141
  export type ExpectedTransactionRuleDto = {
1583
2142
  /**
1584
2143
  * Rule name
@@ -1669,6 +2228,36 @@ export type ExpectedTransactionListResponseDto = {
1669
2228
  total: number;
1670
2229
  };
1671
2230
 
2231
+ export type ConfirmMatchDto = {
2232
+ /**
2233
+ * Transaction ID to match with
2234
+ */
2235
+ transactionId: string;
2236
+ };
2237
+
2238
+ export type EnterNowDto = {
2239
+ /**
2240
+ * Override expense account (uses rule default if not provided)
2241
+ */
2242
+ expenseAccount?: string;
2243
+ /**
2244
+ * Override payment account (uses rule default if not provided)
2245
+ */
2246
+ paymentAccount?: string;
2247
+ /**
2248
+ * Override amount (uses expected amount if not provided)
2249
+ */
2250
+ amount?: number;
2251
+ /**
2252
+ * Override payee (uses rule default if not provided)
2253
+ */
2254
+ payee?: string;
2255
+ /**
2256
+ * Optional narration
2257
+ */
2258
+ narration?: string;
2259
+ };
2260
+
1672
2261
  export type ForecastItemDto = {
1673
2262
  /**
1674
2263
  * Rule name
@@ -1689,9 +2278,7 @@ export type ForecastItemDto = {
1689
2278
  /**
1690
2279
  * Rule icon emoji
1691
2280
  */
1692
- icon: {
1693
- [key: string]: unknown;
1694
- } | null;
2281
+ icon: string | null;
1695
2282
  /**
1696
2283
  * Currency code
1697
2284
  */
@@ -1735,21 +2322,68 @@ export type ForecastResponseDto = {
1735
2322
  /**
1736
2323
  * Total by currency across all months
1737
2324
  */
1738
- totalByCurrency: {
2325
+ totalByCurrency: {
2326
+ [key: string]: unknown;
2327
+ };
2328
+ /**
2329
+ * Number of active recurring rules included
2330
+ */
2331
+ rulesCount: number;
2332
+ /**
2333
+ * Forecast period start date
2334
+ */
2335
+ periodStart: string;
2336
+ /**
2337
+ * Forecast period end date
2338
+ */
2339
+ periodEnd: string;
2340
+ };
2341
+
2342
+ export type CreateTransactionRuleDto = {
2343
+ name: string;
2344
+ description?: string;
2345
+ narrationKeywords?: Array<unknown[]>;
2346
+ payeeKeywords?: Array<unknown[]>;
2347
+ categoryKeywords?: Array<unknown[]>;
2348
+ /**
2349
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2350
+ */
2351
+ methodKeywords?: Array<unknown[]>;
2352
+ /**
2353
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2354
+ */
2355
+ categoryAccount?: string;
2356
+ matchLogic: 'OR' | 'AND';
2357
+ /**
2358
+ * Minimum transaction amount (inclusive)
2359
+ */
2360
+ amountMin?: number;
2361
+ /**
2362
+ * Maximum transaction amount (inclusive)
2363
+ */
2364
+ amountMax?: number;
2365
+ priority: number;
2366
+ additionalTags?: Array<unknown[]>;
2367
+ additionalMetadata?: {
1739
2368
  [key: string]: unknown;
1740
2369
  };
1741
2370
  /**
1742
- * Number of active recurring rules included
2371
+ * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
1743
2372
  */
1744
- rulesCount: number;
2373
+ upsertByPayee?: boolean;
2374
+ };
2375
+
2376
+ export type matchLogic = 'OR' | 'AND';
2377
+
2378
+ export type AmountRangeDto = {
1745
2379
  /**
1746
- * Forecast period start date
2380
+ * Minimum amount
1747
2381
  */
1748
- periodStart: string;
2382
+ min?: number;
1749
2383
  /**
1750
- * Forecast period end date
2384
+ * Maximum amount
1751
2385
  */
1752
- periodEnd: string;
2386
+ max?: number;
1753
2387
  };
1754
2388
 
1755
2389
  export type TransactionRuleResponseDto = {
@@ -1792,9 +2426,7 @@ export type TransactionRuleResponseDto = {
1792
2426
  /**
1793
2427
  * Amount range for matching
1794
2428
  */
1795
- amountRange?: {
1796
- [key: string]: unknown;
1797
- };
2429
+ amountRange?: AmountRangeDto;
1798
2430
  /**
1799
2431
  * Rule priority (0-1000, higher = first match)
1800
2432
  */
@@ -1806,7 +2438,7 @@ export type TransactionRuleResponseDto = {
1806
2438
  /**
1807
2439
  * Learning source: NLP, REVIEW_CENTER, or null for manual
1808
2440
  */
1809
- learningSource?: 'NLP' | 'REVIEW_CENTER';
2441
+ learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
1810
2442
  /**
1811
2443
  * Whether auto-apply is enabled for this rule
1812
2444
  */
@@ -1823,7 +2455,7 @@ export type TransactionRuleResponseDto = {
1823
2455
  * Additional metadata
1824
2456
  */
1825
2457
  additionalMetadata?: {
1826
- [key: string]: unknown;
2458
+ [key: string]: string;
1827
2459
  };
1828
2460
  /**
1829
2461
  * Created timestamp
@@ -1835,11 +2467,6 @@ export type TransactionRuleResponseDto = {
1835
2467
  updatedAt: string;
1836
2468
  };
1837
2469
 
1838
- /**
1839
- * Keyword matching logic
1840
- */
1841
- export type matchLogic = 'OR' | 'AND';
1842
-
1843
2470
  /**
1844
2471
  * Learning source: NLP, REVIEW_CENTER, or null for manual
1845
2472
  */
@@ -1910,6 +2537,44 @@ export type ValidateRuleResponseDto = {
1910
2537
  warnings: Array<unknown[]>;
1911
2538
  };
1912
2539
 
2540
+ export type BulkCreateRulesDto = {
2541
+ /**
2542
+ * Array of rules to import
2543
+ */
2544
+ rules: Array<unknown[]>;
2545
+ /**
2546
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2547
+ */
2548
+ conflictStrategy: 'replace' | 'skip';
2549
+ };
2550
+
2551
+ /**
2552
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2553
+ */
2554
+ export type conflictStrategy = 'replace' | 'skip';
2555
+
2556
+ export type BulkCreateRulesResponseDto = {
2557
+ /**
2558
+ * Number of successfully created rules
2559
+ */
2560
+ successCount: number;
2561
+ /**
2562
+ * Number of failed rules
2563
+ */
2564
+ failureCount: number;
2565
+ /**
2566
+ * Error details for failed rules
2567
+ */
2568
+ errors: Array<{
2569
+ index?: number;
2570
+ message?: string;
2571
+ }>;
2572
+ /**
2573
+ * IDs of successfully created rules
2574
+ */
2575
+ createdRuleIds: Array<string>;
2576
+ };
2577
+
1913
2578
  export type ExportRulesResponseDto = {
1914
2579
  /**
1915
2580
  * Export timestamp
@@ -1966,6 +2631,40 @@ export type RuleStatisticsResponseDto = {
1966
2631
  */
1967
2632
  export type period = '7d' | '30d' | '90d';
1968
2633
 
2634
+ export type UpdateTransactionRuleDto = {
2635
+ name?: string;
2636
+ description?: string;
2637
+ narrationKeywords?: Array<unknown[]>;
2638
+ payeeKeywords?: Array<unknown[]>;
2639
+ categoryKeywords?: Array<unknown[]>;
2640
+ /**
2641
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2642
+ */
2643
+ methodKeywords?: Array<unknown[]>;
2644
+ /**
2645
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2646
+ */
2647
+ categoryAccount?: string;
2648
+ matchLogic?: 'OR' | 'AND';
2649
+ /**
2650
+ * Minimum transaction amount (inclusive)
2651
+ */
2652
+ amountMin?: number;
2653
+ /**
2654
+ * Maximum transaction amount (inclusive)
2655
+ */
2656
+ amountMax?: number;
2657
+ priority?: number;
2658
+ /**
2659
+ * Enable or disable the rule
2660
+ */
2661
+ enabled?: boolean;
2662
+ additionalTags?: Array<unknown[]>;
2663
+ additionalMetadata?: {
2664
+ [key: string]: unknown;
2665
+ };
2666
+ };
2667
+
1969
2668
  export type TestRuleDto = {
1970
2669
  narration: string;
1971
2670
  payee?: string;
@@ -2106,6 +2805,13 @@ export type colorScheme = 'DARK' | 'LIGHT';
2106
2805
  */
2107
2806
  export type viewMode = 'DEFAULT' | 'ZEN';
2108
2807
 
2808
+ export type UpdatePropertyDto = {
2809
+ /**
2810
+ * Property value
2811
+ */
2812
+ value: string;
2813
+ };
2814
+
2109
2815
  export type FileImportDto = {
2110
2816
  /**
2111
2817
  * Bill file to import (CSV, PDF, OFX, etc.)
@@ -2321,7 +3027,8 @@ export type ImporterConfigDto = {
2321
3027
  | 'cmbc-credit'
2322
3028
  | 'icbc'
2323
3029
  | 'icbc-credit'
2324
- | 'hsbc-hk';
3030
+ | 'hsbc-hk-credit'
3031
+ | 'hsbc-hk-debit';
2325
3032
  /**
2326
3033
  * Configuration version (semver)
2327
3034
  */
@@ -2361,7 +3068,135 @@ export type importerId =
2361
3068
  | 'cmbc-credit'
2362
3069
  | 'icbc'
2363
3070
  | 'icbc-credit'
2364
- | 'hsbc-hk';
3071
+ | 'hsbc-hk-credit'
3072
+ | 'hsbc-hk-debit';
3073
+
3074
+ export type UpdateMapperDefaultsDto = {
3075
+ /**
3076
+ * Source account for transactions (Beancount format)
3077
+ */
3078
+ sourceAccount?: string;
3079
+ /**
3080
+ * Default currency (ISO 4217 code)
3081
+ */
3082
+ currency?: string;
3083
+ /**
3084
+ * Default expense account (optional)
3085
+ */
3086
+ expenseAccount?: string;
3087
+ /**
3088
+ * Default income account (optional)
3089
+ */
3090
+ incomeAccount?: string;
3091
+ /**
3092
+ * Payment method to source account mapping. Maps payment method keywords to Beancount account paths. Used by Alipay/WeChat importers to determine sourceAccount based on payment method (e.g., HuaBei, CreditCard).
3093
+ */
3094
+ methodAccountMapping?: {
3095
+ [key: string]: unknown;
3096
+ };
3097
+ };
3098
+
3099
+ export type UpdateConfigDataDto = {
3100
+ /**
3101
+ * Mapper defaults configuration
3102
+ */
3103
+ defaults?: UpdateMapperDefaultsDto;
3104
+ };
3105
+
3106
+ export type UpdateImporterConfigDto = {
3107
+ /**
3108
+ * Configuration data (v1 schema)
3109
+ */
3110
+ data?: UpdateConfigDataDto;
3111
+ };
3112
+
3113
+ export type CreatePlatformDto = {
3114
+ /**
3115
+ * Platform name
3116
+ */
3117
+ name: string;
3118
+ /**
3119
+ * Platform canonical identifier (lowercase, kebab-case)
3120
+ */
3121
+ canonical: string;
3122
+ /**
3123
+ * Platform aliases (multi-language names for lookup)
3124
+ */
3125
+ aliases: Array<string>;
3126
+ /**
3127
+ * Platform URL
3128
+ */
3129
+ url: string;
3130
+ /**
3131
+ * Platform type
3132
+ */
3133
+ type:
3134
+ | 'BANK'
3135
+ | 'BROKERAGE'
3136
+ | 'CRYPTO_EXCHANGE'
3137
+ | 'PAYMENT'
3138
+ | 'INVESTMENT'
3139
+ | 'INSURANCE'
3140
+ | 'OTHER';
3141
+ /**
3142
+ * Platform logo URL
3143
+ */
3144
+ logoUrl?: string;
3145
+ /**
3146
+ * Whether the platform is active
3147
+ */
3148
+ isActive?: boolean;
3149
+ };
3150
+
3151
+ /**
3152
+ * Platform type
3153
+ */
3154
+ export type type3 =
3155
+ | 'BANK'
3156
+ | 'BROKERAGE'
3157
+ | 'CRYPTO_EXCHANGE'
3158
+ | 'PAYMENT'
3159
+ | 'INVESTMENT'
3160
+ | 'INSURANCE'
3161
+ | 'OTHER';
3162
+
3163
+ export type UpdatePlatformDto = {
3164
+ /**
3165
+ * Platform name
3166
+ */
3167
+ name?: string;
3168
+ /**
3169
+ * Platform canonical identifier (lowercase, kebab-case)
3170
+ */
3171
+ canonical?: string;
3172
+ /**
3173
+ * Platform aliases (multi-language names for lookup)
3174
+ */
3175
+ aliases?: Array<string>;
3176
+ /**
3177
+ * Platform URL
3178
+ */
3179
+ url?: string;
3180
+ /**
3181
+ * Platform type
3182
+ */
3183
+ type?:
3184
+ | 'BANK'
3185
+ | 'BROKERAGE'
3186
+ | 'CRYPTO_EXCHANGE'
3187
+ | 'PAYMENT'
3188
+ | 'INVESTMENT'
3189
+ | 'INSURANCE'
3190
+ | 'OTHER';
3191
+ /**
3192
+ * Platform logo URL
3193
+ */
3194
+ logoUrl?: string;
3195
+ /**
3196
+ * Whether the platform is active
3197
+ */
3198
+ isActive?: boolean;
3199
+ };
2365
3200
 
2366
3201
  export type ProviderSyncConfigDto = {
2367
3202
  /**
@@ -2439,6 +3274,8 @@ export type SupportedProvidersResponseDto = {
2439
3274
  providers: Array<string>;
2440
3275
  };
2441
3276
 
3277
+ export type ParserTelemetryReportDto = unknown;
3278
+
2442
3279
  export type ProcessNlpDto = {
2443
3280
  /**
2444
3281
  * Natural language text describing a transaction (Chinese)
@@ -2448,6 +3285,12 @@ export type ProcessNlpDto = {
2448
3285
  * Session ID for multi-turn conversation (auto-generated if not provided)
2449
3286
  */
2450
3287
  sessionId?: string;
3288
+ /**
3289
+ * Parsed data from previous NLP response for session recovery. Send back the parsedData received in confirm_payee/confirm responses.
3290
+ */
3291
+ parsedData?: {
3292
+ [key: string]: unknown;
3293
+ };
2451
3294
  };
2452
3295
 
2453
3296
  export type NlpTransactionInfoDto = {
@@ -3510,7 +4353,7 @@ export type AccountControllerCreateData = {
3510
4353
  /**
3511
4354
  * Region code for tenant context
3512
4355
  */
3513
- region: 'cn' | 'us' | 'de';
4356
+ region: 'cn' | 'us' | 'de' | 'gb';
3514
4357
  requestBody: CreateAccountDto;
3515
4358
  };
3516
4359
 
@@ -3532,7 +4375,7 @@ export type AccountControllerFindAllData = {
3532
4375
  /**
3533
4376
  * Region code for tenant context
3534
4377
  */
3535
- region: 'cn' | 'us' | 'de';
4378
+ region: 'cn' | 'us' | 'de' | 'gb';
3536
4379
  /**
3537
4380
  * Search term for path or i18nKey
3538
4381
  */
@@ -3557,7 +4400,7 @@ export type AccountControllerFindOneData = {
3557
4400
  /**
3558
4401
  * Region code for tenant context
3559
4402
  */
3560
- region: 'cn' | 'us' | 'de';
4403
+ region: 'cn' | 'us' | 'de' | 'gb';
3561
4404
  };
3562
4405
 
3563
4406
  export type AccountControllerFindOneResponse = AccountResponseDto;
@@ -3570,7 +4413,7 @@ export type AccountControllerUpdateData = {
3570
4413
  /**
3571
4414
  * Region code for tenant context
3572
4415
  */
3573
- region: 'cn' | 'us' | 'de';
4416
+ region: 'cn' | 'us' | 'de' | 'gb';
3574
4417
  requestBody: UpdateAccountDto;
3575
4418
  };
3576
4419
 
@@ -3584,7 +4427,7 @@ export type AccountControllerDeleteData = {
3584
4427
  /**
3585
4428
  * Region code for tenant context
3586
4429
  */
3587
- region: 'cn' | 'us' | 'de';
4430
+ region: 'cn' | 'us' | 'de' | 'gb';
3588
4431
  };
3589
4432
 
3590
4433
  export type AccountControllerDeleteResponse = void;
@@ -3597,7 +4440,7 @@ export type AccountControllerCloseData = {
3597
4440
  /**
3598
4441
  * Region code for tenant context
3599
4442
  */
3600
- region: 'cn' | 'us' | 'de';
4443
+ region: 'cn' | 'us' | 'de' | 'gb';
3601
4444
  requestBody: CloseAccountDto;
3602
4445
  };
3603
4446
 
@@ -3611,17 +4454,59 @@ export type AccountControllerReopenData = {
3611
4454
  /**
3612
4455
  * Region code for tenant context
3613
4456
  */
3614
- region: 'cn' | 'us' | 'de';
4457
+ region: 'cn' | 'us' | 'de' | 'gb';
3615
4458
  requestBody: ReopenAccountDto;
3616
4459
  };
3617
4460
 
3618
4461
  export type AccountControllerReopenResponse = AccountResponseDto;
3619
4462
 
4463
+ export type AccountStandardsControllerGetTemplatesData = {
4464
+ /**
4465
+ * Region code (cn, us, de)
4466
+ */
4467
+ region: 'cn' | 'us' | 'de' | 'gb';
4468
+ /**
4469
+ * Search term for path or description
4470
+ */
4471
+ search?: string;
4472
+ /**
4473
+ * Filter by account type
4474
+ */
4475
+ type?: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
4476
+ };
4477
+
4478
+ export type AccountStandardsControllerGetTemplatesResponse =
4479
+ AccountStandardListResponseDto;
4480
+
4481
+ export type AccountStandardsControllerGetTemplateMetadataData = {
4482
+ /**
4483
+ * Account path to check
4484
+ */
4485
+ path: string;
4486
+ /**
4487
+ * Region code for tenant context
4488
+ */
4489
+ region: 'cn' | 'us' | 'de' | 'gb';
4490
+ };
4491
+
4492
+ export type AccountStandardsControllerGetTemplateMetadataResponse =
4493
+ TemplateMetadataResponseDto;
4494
+
4495
+ export type AccountStandardsControllerGetRegionsData = {
4496
+ /**
4497
+ * Region code for tenant context
4498
+ */
4499
+ region: 'cn' | 'us' | 'de' | 'gb';
4500
+ };
4501
+
4502
+ export type AccountStandardsControllerGetRegionsResponse =
4503
+ RegionsMetadataResponseDto;
4504
+
3620
4505
  export type TransactionControllerCreateData = {
3621
4506
  /**
3622
4507
  * Region code for tenant context
3623
4508
  */
3624
- region: 'cn' | 'us' | 'de';
4509
+ region: 'cn' | 'us' | 'de' | 'gb';
3625
4510
  /**
3626
4511
  * Transaction data with postings
3627
4512
  */
@@ -3654,7 +4539,7 @@ export type TransactionControllerListData = {
3654
4539
  /**
3655
4540
  * Region code for tenant context
3656
4541
  */
3657
- region: 'cn' | 'us' | 'de';
4542
+ region: 'cn' | 'us' | 'de' | 'gb';
3658
4543
  /**
3659
4544
  * Search in narration and payee fields (max 200 chars)
3660
4545
  */
@@ -3667,14 +4552,16 @@ export type TransactionControllerListData = {
3667
4552
 
3668
4553
  export type TransactionControllerListResponse = TransactionListResponseDto;
3669
4554
 
3670
- export type TransactionControllerData = {
4555
+ export type TransactionControllerCreateBatchData = {
3671
4556
  /**
3672
4557
  * Region code for tenant context
3673
4558
  */
3674
- region: 'cn' | 'us' | 'de';
4559
+ region: 'cn' | 'us' | 'de' | 'gb';
4560
+ requestBody: BatchCreateTransactionDto;
3675
4561
  };
3676
4562
 
3677
- export type TransactionControllerResponse = unknown;
4563
+ export type TransactionControllerCreateBatchResponse =
4564
+ BatchTransactionResponseDto;
3678
4565
 
3679
4566
  export type TransactionControllerGetDetailData = {
3680
4567
  /**
@@ -3684,7 +4571,7 @@ export type TransactionControllerGetDetailData = {
3684
4571
  /**
3685
4572
  * Region code for tenant context
3686
4573
  */
3687
- region: 'cn' | 'us' | 'de';
4574
+ region: 'cn' | 'us' | 'de' | 'gb';
3688
4575
  };
3689
4576
 
3690
4577
  export type TransactionControllerGetDetailResponse = TransactionDetailDto;
@@ -3697,7 +4584,7 @@ export type TransactionControllerUpdateData = {
3697
4584
  /**
3698
4585
  * Region code for tenant context
3699
4586
  */
3700
- region: 'cn' | 'us' | 'de';
4587
+ region: 'cn' | 'us' | 'de' | 'gb';
3701
4588
  /**
3702
4589
  * Fields to update (all optional)
3703
4590
  */
@@ -3706,42 +4593,18 @@ export type TransactionControllerUpdateData = {
3706
4593
 
3707
4594
  export type TransactionControllerUpdateResponse = TransactionDetailDto;
3708
4595
 
3709
- export type TransactionController1Data = {
3710
- /**
3711
- * Region code for tenant context
3712
- */
3713
- region: 'cn' | 'us' | 'de';
3714
- };
3715
-
3716
- export type TransactionController1Response = void;
3717
-
3718
- export type AccountStandardsControllerGetTemplatesData = {
3719
- /**
3720
- * Region code (cn, us, de)
3721
- */
3722
- region: 'cn' | 'us' | 'de';
3723
- /**
3724
- * Search term for path or description
3725
- */
3726
- search?: string;
4596
+ export type TransactionControllerDeleteData = {
3727
4597
  /**
3728
- * Filter by account type
4598
+ * Transaction ID
3729
4599
  */
3730
- type?: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
3731
- };
3732
-
3733
- export type AccountStandardsControllerGetTemplatesResponse =
3734
- AccountStandardListResponseDto;
3735
-
3736
- export type AccountStandardsControllerGetRegionsData = {
4600
+ id: string;
3737
4601
  /**
3738
- * Region code (cn, us, de)
4602
+ * Region code for tenant context
3739
4603
  */
3740
- region: 'cn' | 'us' | 'de';
4604
+ region: 'cn' | 'us' | 'de' | 'gb';
3741
4605
  };
3742
4606
 
3743
- export type AccountStandardsControllerGetRegionsResponse =
3744
- RegionsMetadataResponseDto;
4607
+ export type TransactionControllerDeleteResponse = void;
3745
4608
 
3746
4609
  export type BalanceControllerGetBalanceData = {
3747
4610
  /**
@@ -3757,18 +4620,18 @@ export type BalanceControllerGetBalanceData = {
3757
4620
  */
3758
4621
  date?: string;
3759
4622
  /**
3760
- * Region code (cn, us, de)
4623
+ * Region code for tenant context
3761
4624
  */
3762
- region: 'cn' | 'us' | 'de';
4625
+ region: 'cn' | 'us' | 'de' | 'gb';
3763
4626
  };
3764
4627
 
3765
4628
  export type BalanceControllerGetBalanceResponse = BalanceResponseDto;
3766
4629
 
3767
4630
  export type BalanceControllerGetMultiCurrencyBalanceData = {
3768
4631
  /**
3769
- * Region code (cn, us, de)
4632
+ * Region code for tenant context
3770
4633
  */
3771
- region: 'cn' | 'us' | 'de';
4634
+ region: 'cn' | 'us' | 'de' | 'gb';
3772
4635
  };
3773
4636
 
3774
4637
  export type BalanceControllerGetMultiCurrencyBalanceResponse =
@@ -3788,9 +4651,9 @@ export type ReviewControllerFindAllData = {
3788
4651
  */
3789
4652
  page?: number;
3790
4653
  /**
3791
- * Region code (cn, us, de)
4654
+ * Region code for tenant context
3792
4655
  */
3793
- region: 'cn' | 'us' | 'de';
4656
+ region: 'cn' | 'us' | 'de' | 'gb';
3794
4657
  /**
3795
4658
  * Sort order
3796
4659
  */
@@ -3810,9 +4673,9 @@ export type ReviewControllerFindAllResponse = ReviewListResponseDto;
3810
4673
 
3811
4674
  export type ReviewControllerGetStatsData = {
3812
4675
  /**
3813
- * Region code (cn, us, de)
4676
+ * Region code for tenant context
3814
4677
  */
3815
- region: 'cn' | 'us' | 'de';
4678
+ region: 'cn' | 'us' | 'de' | 'gb';
3816
4679
  };
3817
4680
 
3818
4681
  export type ReviewControllerGetStatsResponse = ReviewStatsDto;
@@ -3823,48 +4686,58 @@ export type ReviewControllerFindOneData = {
3823
4686
  */
3824
4687
  id: string;
3825
4688
  /**
3826
- * Region code (cn, us, de)
4689
+ * Region code for tenant context
3827
4690
  */
3828
- region: 'cn' | 'us' | 'de';
4691
+ region: 'cn' | 'us' | 'de' | 'gb';
3829
4692
  };
3830
4693
 
3831
4694
  export type ReviewControllerFindOneResponse = ReviewDetailDto;
3832
4695
 
3833
- export type ReviewControllerData = {
4696
+ export type ReviewControllerResolveData = {
3834
4697
  /**
3835
- * Region code (cn, us, de)
4698
+ * Review ID
4699
+ */
4700
+ id: string;
4701
+ /**
4702
+ * Region code for tenant context
3836
4703
  */
3837
- region: 'cn' | 'us' | 'de';
4704
+ region: 'cn' | 'us' | 'de' | 'gb';
4705
+ requestBody: ResolveReviewDto;
3838
4706
  };
3839
4707
 
3840
- export type ReviewControllerResponse = unknown;
4708
+ export type ReviewControllerResolveResponse = ResolveResultDto;
3841
4709
 
3842
- export type ReviewController1Data = {
4710
+ export type ReviewControllerUndoData = {
3843
4711
  /**
3844
- * Region code (cn, us, de)
4712
+ * Review ID
4713
+ */
4714
+ id: string;
4715
+ /**
4716
+ * Region code for tenant context
3845
4717
  */
3846
- region: 'cn' | 'us' | 'de';
4718
+ region: 'cn' | 'us' | 'de' | 'gb';
3847
4719
  };
3848
4720
 
3849
- export type ReviewController1Response = unknown;
4721
+ export type ReviewControllerUndoResponse = UndoResultDto;
3850
4722
 
3851
- export type ReviewController2Data = {
4723
+ export type ReviewControllerBatchResolveData = {
3852
4724
  /**
3853
- * Region code (cn, us, de)
4725
+ * Region code for tenant context
4726
+ */
4727
+ region: 'cn' | 'us' | 'de' | 'gb';
4728
+ /**
4729
+ * Batch resolution request containing review IDs and action
3854
4730
  */
3855
- region: 'cn' | 'us' | 'de';
4731
+ requestBody: BatchResolveDto;
3856
4732
  };
3857
4733
 
3858
- export type ReviewController2Response = unknown;
4734
+ export type ReviewControllerBatchResolveResponse = BatchResolveResultDto;
3859
4735
 
3860
- export type PayeeControllerData = {
3861
- /**
3862
- * Region code (cn, us, de)
3863
- */
3864
- region: 'cn' | 'us' | 'de';
4736
+ export type PayeeControllerCreateData = {
4737
+ requestBody: CreatePayeeDto;
3865
4738
  };
3866
4739
 
3867
- export type PayeeControllerResponse = unknown;
4740
+ export type PayeeControllerCreateResponse = PayeeResponseDto;
3868
4741
 
3869
4742
  export type PayeeControllerFindAllData = {
3870
4743
  /**
@@ -3879,10 +4752,6 @@ export type PayeeControllerFindAllData = {
3879
4752
  * Filter by exact payee name match
3880
4753
  */
3881
4754
  payee?: string;
3882
- /**
3883
- * Region code (cn, us, de)
3884
- */
3885
- region: 'cn' | 'us' | 'de';
3886
4755
  /**
3887
4756
  * Search term for payee name (partial match, case-insensitive). Useful for autocomplete.
3888
4757
  */
@@ -3904,10 +4773,6 @@ export type PayeeControllerAutocompleteData = {
3904
4773
  * Search query for payee name (partial match, case-insensitive)
3905
4774
  */
3906
4775
  q: string;
3907
- /**
3908
- * Region code (cn, us, de)
3909
- */
3910
- region: 'cn' | 'us' | 'de';
3911
4776
  };
3912
4777
 
3913
4778
  export type PayeeControllerAutocompleteResponse = PayeeAutocompleteResponseDto;
@@ -3917,10 +4782,6 @@ export type PayeeControllerGetTopPayeesData = {
3917
4782
  * Maximum number of results
3918
4783
  */
3919
4784
  limit?: number;
3920
- /**
3921
- * Region code (cn, us, de)
3922
- */
3923
- region: 'cn' | 'us' | 'de';
3924
4785
  };
3925
4786
 
3926
4787
  export type PayeeControllerGetTopPayeesResponse = Array<PayeeStatsResponseDto>;
@@ -3930,40 +4791,34 @@ export type PayeeControllerFindOneData = {
3930
4791
  * Payee UUID
3931
4792
  */
3932
4793
  id: string;
3933
- /**
3934
- * Region code (cn, us, de)
3935
- */
3936
- region: 'cn' | 'us' | 'de';
3937
4794
  };
3938
4795
 
3939
4796
  export type PayeeControllerFindOneResponse = PayeeResponseDto;
3940
4797
 
3941
- export type PayeeController1Data = {
4798
+ export type PayeeControllerUpdateData = {
3942
4799
  /**
3943
- * Region code (cn, us, de)
4800
+ * Payee UUID
3944
4801
  */
3945
- region: 'cn' | 'us' | 'de';
4802
+ id: string;
4803
+ requestBody: UpdatePayeeDto;
3946
4804
  };
3947
4805
 
3948
- export type PayeeController1Response = unknown;
4806
+ export type PayeeControllerUpdateResponse = PayeeResponseDto;
3949
4807
 
3950
- export type PayeeController2Data = {
4808
+ export type PayeeControllerDeleteData = {
3951
4809
  /**
3952
- * Region code (cn, us, de)
4810
+ * Payee UUID
3953
4811
  */
3954
- region: 'cn' | 'us' | 'de';
4812
+ id: string;
3955
4813
  };
3956
4814
 
3957
- export type PayeeController2Response = void;
4815
+ export type PayeeControllerDeleteResponse = void;
3958
4816
 
3959
- export type PayeeProfileAdminControllerData = {
3960
- /**
3961
- * Region code (cn, us, de)
3962
- */
3963
- region: 'cn' | 'us' | 'de';
4817
+ export type PayeeProfileAdminControllerCreateData = {
4818
+ requestBody: CreatePayeeProfileDto;
3964
4819
  };
3965
4820
 
3966
- export type PayeeProfileAdminControllerResponse = unknown;
4821
+ export type PayeeProfileAdminControllerCreateResponse = PayeeProfileResponseDto;
3967
4822
 
3968
4823
  export type PayeeProfileAdminControllerFindAllData = {
3969
4824
  /**
@@ -4005,10 +4860,6 @@ export type PayeeProfileAdminControllerFindAllData = {
4005
4860
  * Filter by active status (default: true - show only active)
4006
4861
  */
4007
4862
  isActive?: boolean;
4008
- /**
4009
- * Region code (cn, us, de)
4010
- */
4011
- region: 'cn' | 'us' | 'de';
4012
4863
  /**
4013
4864
  * Search term for canonical name and aliases (case-insensitive)
4014
4865
  */
@@ -4027,65 +4878,64 @@ export type PayeeProfileAdminControllerFindOneData = {
4027
4878
  * Payee profile ID (UUID)
4028
4879
  */
4029
4880
  id: string;
4030
- /**
4031
- * Region code (cn, us, de)
4032
- */
4033
- region: 'cn' | 'us' | 'de';
4034
4881
  };
4035
4882
 
4036
4883
  export type PayeeProfileAdminControllerFindOneResponse =
4037
4884
  PayeeProfileResponseDto;
4038
4885
 
4039
- export type PayeeProfileAdminController1Data = {
4886
+ export type PayeeProfileAdminControllerUpdateData = {
4040
4887
  /**
4041
- * Region code (cn, us, de)
4888
+ * Payee profile ID (UUID)
4042
4889
  */
4043
- region: 'cn' | 'us' | 'de';
4890
+ id: string;
4891
+ requestBody: UpdatePayeeProfileDto;
4044
4892
  };
4045
4893
 
4046
- export type PayeeProfileAdminController1Response = unknown;
4894
+ export type PayeeProfileAdminControllerUpdateResponse = PayeeProfileResponseDto;
4047
4895
 
4048
- export type PayeeProfileAdminController2Data = {
4896
+ export type PayeeProfileAdminControllerDeleteData = {
4049
4897
  /**
4050
- * Region code (cn, us, de)
4898
+ * Payee profile ID (UUID)
4051
4899
  */
4052
- region: 'cn' | 'us' | 'de';
4900
+ id: string;
4053
4901
  };
4054
4902
 
4055
- export type PayeeProfileAdminController2Response = void;
4903
+ export type PayeeProfileAdminControllerDeleteResponse = void;
4056
4904
 
4057
- export type PayeeProfileAdminController3Data = {
4905
+ export type PayeeProfileAdminControllerVerifyData = {
4058
4906
  /**
4059
- * Region code (cn, us, de)
4907
+ * Payee profile ID (UUID)
4060
4908
  */
4061
- region: 'cn' | 'us' | 'de';
4909
+ id: string;
4062
4910
  };
4063
4911
 
4064
- export type PayeeProfileAdminController3Response = unknown;
4912
+ export type PayeeProfileAdminControllerVerifyResponse = PayeeProfileResponseDto;
4065
4913
 
4066
- export type PayeeProfileAdminController4Data = {
4914
+ export type PayeeProfileAdminControllerUnverifyData = {
4067
4915
  /**
4068
- * Region code (cn, us, de)
4916
+ * Payee profile ID (UUID)
4069
4917
  */
4070
- region: 'cn' | 'us' | 'de';
4918
+ id: string;
4071
4919
  };
4072
4920
 
4073
- export type PayeeProfileAdminController4Response = unknown;
4921
+ export type PayeeProfileAdminControllerUnverifyResponse =
4922
+ PayeeProfileResponseDto;
4074
4923
 
4075
- export type CommodityControllerData = {
4924
+ export type CommodityControllerCreateData = {
4076
4925
  /**
4077
- * Region code (cn, us, de)
4926
+ * Region code for tenant context
4078
4927
  */
4079
- region: 'cn' | 'us' | 'de';
4928
+ region: 'cn' | 'us' | 'de' | 'gb';
4929
+ requestBody: CreateCommodityDto;
4080
4930
  };
4081
4931
 
4082
- export type CommodityControllerResponse = unknown;
4932
+ export type CommodityControllerCreateResponse = CommodityResponseDto;
4083
4933
 
4084
4934
  export type CommodityControllerFindAllData = {
4085
4935
  /**
4086
- * Region code (cn, us, de)
4936
+ * Region code for tenant context
4087
4937
  */
4088
- region: 'cn' | 'us' | 'de';
4938
+ region: 'cn' | 'us' | 'de' | 'gb';
4089
4939
  /**
4090
4940
  * Search term for symbol or metadata fields (partial match). Searches symbol and metadata.name.
4091
4941
  */
@@ -4100,9 +4950,9 @@ export type CommodityControllerFindAllResponse = CommodityListResponseDto;
4100
4950
 
4101
4951
  export type CommodityControllerFindOneData = {
4102
4952
  /**
4103
- * Region code (cn, us, de)
4953
+ * Region code for tenant context
4104
4954
  */
4105
- region: 'cn' | 'us' | 'de';
4955
+ region: 'cn' | 'us' | 'de' | 'gb';
4106
4956
  /**
4107
4957
  * Commodity symbol
4108
4958
  */
@@ -4111,50 +4961,64 @@ export type CommodityControllerFindOneData = {
4111
4961
 
4112
4962
  export type CommodityControllerFindOneResponse = CommodityResponseDto;
4113
4963
 
4114
- export type CommodityController1Data = {
4964
+ export type CommodityControllerUpdateData = {
4115
4965
  /**
4116
- * Region code (cn, us, de)
4966
+ * Region code for tenant context
4117
4967
  */
4118
- region: 'cn' | 'us' | 'de';
4968
+ region: 'cn' | 'us' | 'de' | 'gb';
4969
+ requestBody: UpdateCommodityDto;
4970
+ /**
4971
+ * Commodity symbol
4972
+ */
4973
+ symbol: string;
4119
4974
  };
4120
4975
 
4121
- export type CommodityController1Response = unknown;
4976
+ export type CommodityControllerUpdateResponse = CommodityResponseDto;
4122
4977
 
4123
- export type CommodityController2Data = {
4978
+ export type CommodityControllerDeleteData = {
4124
4979
  /**
4125
- * Region code (cn, us, de)
4980
+ * Region code for tenant context
4981
+ */
4982
+ region: 'cn' | 'us' | 'de' | 'gb';
4983
+ /**
4984
+ * Commodity symbol
4126
4985
  */
4127
- region: 'cn' | 'us' | 'de';
4986
+ symbol: string;
4128
4987
  };
4129
4988
 
4130
- export type CommodityController2Response = void;
4989
+ export type CommodityControllerDeleteResponse = void;
4131
4990
 
4132
- export type CommodityController3Data = {
4991
+ export type CommodityControllerGetOrCreateData = {
4133
4992
  /**
4134
- * Region code (cn, us, de)
4993
+ * Region code for tenant context
4135
4994
  */
4136
- region: 'cn' | 'us' | 'de';
4995
+ region: 'cn' | 'us' | 'de' | 'gb';
4996
+ /**
4997
+ * Commodity symbol
4998
+ */
4999
+ symbol: string;
4137
5000
  };
4138
5001
 
4139
- export type CommodityController3Response = unknown;
5002
+ export type CommodityControllerGetOrCreateResponse = CommodityResponseDto;
4140
5003
 
4141
- export type CommodityController4Data = {
5004
+ export type CommodityControllerBulkCreateData = {
4142
5005
  /**
4143
- * Region code (cn, us, de)
5006
+ * Region code for tenant context
4144
5007
  */
4145
- region: 'cn' | 'us' | 'de';
5008
+ region: 'cn' | 'us' | 'de' | 'gb';
4146
5009
  };
4147
5010
 
4148
- export type CommodityController4Response = unknown;
5011
+ export type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
4149
5012
 
4150
- export type RecurringRuleControllerData = {
5013
+ export type RecurringRuleControllerCreateData = {
4151
5014
  /**
4152
- * Region code (cn, us, de)
5015
+ * Region code for tenant context
4153
5016
  */
4154
- region: 'cn' | 'us' | 'de';
5017
+ region: 'cn' | 'us' | 'de' | 'gb';
5018
+ requestBody: CreateRecurringRuleDto;
4155
5019
  };
4156
5020
 
4157
- export type RecurringRuleControllerResponse = unknown;
5021
+ export type RecurringRuleControllerCreateResponse = RecurringRuleResponseDto;
4158
5022
 
4159
5023
  export type RecurringRuleControllerFindAllData = {
4160
5024
  /**
@@ -4170,1030 +5034,808 @@ export type RecurringRuleControllerFindAllData = {
4170
5034
  */
4171
5035
  isActive?: boolean;
4172
5036
  /**
4173
- * Region code (cn, us, de)
5037
+ * Region code for tenant context
4174
5038
  */
4175
- region: 'cn' | 'us' | 'de';
5039
+ region: 'cn' | 'us' | 'de' | 'gb';
4176
5040
  };
4177
5041
 
4178
5042
  export type RecurringRuleControllerFindAllResponse =
4179
5043
  Array<RecurringRuleResponseDto>;
4180
5044
 
4181
- export type RecurringRuleController1Data = {
4182
- /**
4183
- * Region code (cn, us, de)
4184
- */
4185
- region: 'cn' | 'us' | 'de';
4186
- };
4187
-
4188
- export type RecurringRuleController1Response = unknown;
4189
-
4190
- export type RecurringRuleControllerFindOneData = {
4191
- /**
4192
- * Rule ID
4193
- */
4194
- id: string;
4195
- /**
4196
- * Region code (cn, us, de)
4197
- */
4198
- region: 'cn' | 'us' | 'de';
4199
- };
4200
-
4201
- export type RecurringRuleControllerFindOneResponse = RecurringRuleResponseDto;
4202
-
4203
- export type RecurringRuleController2Data = {
4204
- /**
4205
- * Region code (cn, us, de)
4206
- */
4207
- region: 'cn' | 'us' | 'de';
4208
- };
4209
-
4210
- export type RecurringRuleController2Response = unknown;
4211
-
4212
- export type RecurringRuleController3Data = {
4213
- /**
4214
- * Region code (cn, us, de)
4215
- */
4216
- region: 'cn' | 'us' | 'de';
4217
- };
4218
-
4219
- export type RecurringRuleController3Response = void;
4220
-
4221
- export type RecurringRuleControllerGetWithStatsData = {
4222
- /**
4223
- * Rule ID
4224
- */
4225
- id: string;
4226
- /**
4227
- * Region code (cn, us, de)
4228
- */
4229
- region: 'cn' | 'us' | 'de';
4230
- };
4231
-
4232
- export type RecurringRuleControllerGetWithStatsResponse =
4233
- RecurringRuleWithStatsResponseDto;
4234
-
4235
- export type ExpectedTransactionControllerFindAllData = {
4236
- /**
4237
- * Filter by date range start (YYYY-MM-DD)
4238
- */
4239
- fromDate?: string;
4240
- /**
4241
- * Region code (cn, us, de)
4242
- */
4243
- region: 'cn' | 'us' | 'de';
4244
- /**
4245
- * Filter by recurring rule ID
4246
- */
4247
- ruleId?: string;
4248
- /**
4249
- * Filter by status (PENDING, COMPLETED, SKIPPED)
4250
- */
4251
- status?: string;
4252
- /**
4253
- * Filter by date range end (YYYY-MM-DD)
4254
- */
4255
- toDate?: string;
4256
- };
4257
-
4258
- export type ExpectedTransactionControllerFindAllResponse =
4259
- ExpectedTransactionListResponseDto;
4260
-
4261
- export type ExpectedTransactionControllerFindOverdueData = {
4262
- /**
4263
- * Region code (cn, us, de)
4264
- */
4265
- region: 'cn' | 'us' | 'de';
4266
- };
4267
-
4268
- export type ExpectedTransactionControllerFindOverdueResponse =
4269
- ExpectedTransactionListResponseDto;
4270
-
4271
- export type ExpectedTransactionControllerFindOneData = {
4272
- /**
4273
- * Expected transaction ID
4274
- */
4275
- id: string;
4276
- /**
4277
- * Region code (cn, us, de)
4278
- */
4279
- region: 'cn' | 'us' | 'de';
4280
- };
4281
-
4282
- export type ExpectedTransactionControllerFindOneResponse =
4283
- ExpectedTransactionResponseDto;
4284
-
4285
- export type ExpectedTransactionControllerData = {
4286
- /**
4287
- * Region code (cn, us, de)
4288
- */
4289
- region: 'cn' | 'us' | 'de';
4290
- };
4291
-
4292
- export type ExpectedTransactionControllerResponse = unknown;
4293
-
4294
- export type ExpectedTransactionController1Data = {
4295
- /**
4296
- * Region code (cn, us, de)
4297
- */
4298
- region: 'cn' | 'us' | 'de';
4299
- };
4300
-
4301
- export type ExpectedTransactionController1Response = unknown;
4302
-
4303
- export type ExpectedTransactionController2Data = {
4304
- /**
4305
- * Region code (cn, us, de)
4306
- */
4307
- region: 'cn' | 'us' | 'de';
4308
- };
4309
-
4310
- export type ExpectedTransactionController2Response = unknown;
4311
-
4312
- export type ExpectedTransactionController3Data = {
4313
- /**
4314
- * Region code (cn, us, de)
4315
- */
4316
- region: 'cn' | 'us' | 'de';
4317
- };
4318
-
4319
- export type ExpectedTransactionController3Response = unknown;
4320
-
4321
- export type ExpectedTransactionController4Data = {
4322
- /**
4323
- * Region code (cn, us, de)
4324
- */
4325
- region: 'cn' | 'us' | 'de';
4326
- };
4327
-
4328
- export type ExpectedTransactionController4Response = unknown;
4329
-
4330
- export type ForecastControllerGetForecastData = {
4331
- /**
4332
- * Number of months to forecast (1-12, default 3)
4333
- */
4334
- months?: number;
4335
- /**
4336
- * Region code (cn, us, de)
4337
- */
4338
- region: 'cn' | 'us' | 'de';
4339
- };
4340
-
4341
- export type ForecastControllerGetForecastResponse = ForecastResponseDto;
4342
-
4343
- export type TransactionRuleControllerData = {
4344
- /**
4345
- * Region code (cn, us, de)
4346
- */
4347
- region: 'cn' | 'us' | 'de';
4348
- };
4349
-
4350
- export type TransactionRuleControllerResponse = unknown;
4351
-
4352
- export type TransactionRuleControllerListData = {
4353
- /**
4354
- * Filter by auto-apply status
4355
- */
4356
- autoApplyEnabled?: boolean;
4357
- /**
4358
- * Filter by enabled status
4359
- */
4360
- enabled?: boolean;
4361
- /**
4362
- * Filter by learning source. Omit this parameter or pass empty string to get manually created rules (learningSource is null in database).
4363
- */
4364
- learningSource?: 'NLP' | 'REVIEW_CENTER';
4365
- /**
4366
- * Max results per page (default: 20, max: 100)
4367
- */
4368
- limit?: number;
4369
- /**
4370
- * Pagination offset (default: 0)
4371
- */
4372
- offset?: number;
4373
- /**
4374
- * Region code (cn, us, de)
4375
- */
4376
- region: 'cn' | 'us' | 'de';
4377
- };
4378
-
4379
- export type TransactionRuleControllerListResponse =
4380
- TransactionRuleListResponseDto;
4381
-
4382
- export type TransactionRuleControllerValidateData = {
4383
- /**
4384
- * Region code (cn, us, de)
4385
- */
4386
- region: 'cn' | 'us' | 'de';
4387
- requestBody: ValidateRuleDto;
4388
- };
4389
-
4390
- export type TransactionRuleControllerValidateResponse = ValidateRuleResponseDto;
4391
-
4392
- export type TransactionRuleController1Data = {
4393
- /**
4394
- * Region code (cn, us, de)
4395
- */
4396
- region: 'cn' | 'us' | 'de';
4397
- };
4398
-
4399
- export type TransactionRuleController1Response = unknown;
4400
-
4401
- export type TransactionRuleControllerExportData = {
5045
+ export type RecurringRuleControllerCreateFromTransactionData = {
4402
5046
  /**
4403
- * Export format (currently only JSON supported)
5047
+ * Region code for tenant context
4404
5048
  */
4405
- format: 'json';
5049
+ region: 'cn' | 'us' | 'de' | 'gb';
5050
+ requestBody: CreateRuleFromTransactionDto;
4406
5051
  /**
4407
- * Region code (cn, us, de)
5052
+ * Source transaction ID
4408
5053
  */
4409
- region: 'cn' | 'us' | 'de';
5054
+ transactionId: string;
4410
5055
  };
4411
5056
 
4412
- export type TransactionRuleControllerExportResponse = ExportRulesResponseDto;
5057
+ export type RecurringRuleControllerCreateFromTransactionResponse =
5058
+ RecurringRuleResponseDto;
4413
5059
 
4414
- export type TransactionRuleControllerGetStatisticsData = {
5060
+ export type RecurringRuleControllerFindOneData = {
4415
5061
  /**
4416
- * Statistics time period
5062
+ * Rule ID
4417
5063
  */
4418
- period: '7d' | '30d' | '90d';
5064
+ id: string;
4419
5065
  /**
4420
- * Region code (cn, us, de)
5066
+ * Region code for tenant context
4421
5067
  */
4422
- region: 'cn' | 'us' | 'de';
5068
+ region: 'cn' | 'us' | 'de' | 'gb';
4423
5069
  };
4424
5070
 
4425
- export type TransactionRuleControllerGetStatisticsResponse =
4426
- RuleStatisticsResponseDto;
5071
+ export type RecurringRuleControllerFindOneResponse = RecurringRuleResponseDto;
4427
5072
 
4428
- export type TransactionRuleControllerGetDetailData = {
5073
+ export type RecurringRuleControllerUpdateData = {
4429
5074
  /**
4430
- * Region code (cn, us, de)
5075
+ * Rule ID
4431
5076
  */
4432
- region: 'cn' | 'us' | 'de';
5077
+ id: string;
4433
5078
  /**
4434
- * Rule ID
5079
+ * Region code for tenant context
4435
5080
  */
4436
- ruleId: string;
5081
+ region: 'cn' | 'us' | 'de' | 'gb';
5082
+ requestBody: UpdateRecurringRuleDto;
4437
5083
  };
4438
5084
 
4439
- export type TransactionRuleControllerGetDetailResponse =
4440
- TransactionRuleResponseDto;
5085
+ export type RecurringRuleControllerUpdateResponse = RecurringRuleResponseDto;
4441
5086
 
4442
- export type TransactionRuleController2Data = {
5087
+ export type RecurringRuleControllerDeleteData = {
4443
5088
  /**
4444
- * Region code (cn, us, de)
5089
+ * Rule ID
4445
5090
  */
4446
- region: 'cn' | 'us' | 'de';
4447
- };
4448
-
4449
- export type TransactionRuleController2Response = unknown;
4450
-
4451
- export type TransactionRuleController3Data = {
5091
+ id: string;
4452
5092
  /**
4453
- * Region code (cn, us, de)
5093
+ * Region code for tenant context
4454
5094
  */
4455
- region: 'cn' | 'us' | 'de';
5095
+ region: 'cn' | 'us' | 'de' | 'gb';
4456
5096
  };
4457
5097
 
4458
- export type TransactionRuleController3Response = void;
5098
+ export type RecurringRuleControllerDeleteResponse = void;
4459
5099
 
4460
- export type TransactionRuleControllerTestData = {
5100
+ export type RecurringRuleControllerGetWithStatsData = {
4461
5101
  /**
4462
- * Region code (cn, us, de)
5102
+ * Rule ID
4463
5103
  */
4464
- region: 'cn' | 'us' | 'de';
4465
- requestBody: TestRuleDto;
5104
+ id: string;
4466
5105
  /**
4467
- * Rule ID to test
5106
+ * Region code for tenant context
4468
5107
  */
4469
- ruleId: string;
5108
+ region: 'cn' | 'us' | 'de' | 'gb';
4470
5109
  };
4471
5110
 
4472
- export type TransactionRuleControllerTestResponse = TestRuleResponseDto;
5111
+ export type RecurringRuleControllerGetWithStatsResponse =
5112
+ RecurringRuleWithStatsResponseDto;
4473
5113
 
4474
- export type UserControllerDeleteOwnUserData = {
5114
+ export type ExpectedTransactionControllerFindAllData = {
4475
5115
  /**
4476
- * Region code (cn, us, de)
5116
+ * Filter by date range start (YYYY-MM-DD)
4477
5117
  */
4478
- region: 'cn' | 'us' | 'de';
4479
- requestBody: DeleteOwnUserDto;
4480
- };
4481
-
4482
- export type UserControllerDeleteOwnUserResponse = void;
4483
-
4484
- export type UserControllerGetUserData = {
4485
- acceptLanguage: string;
5118
+ fromDate?: string;
4486
5119
  /**
4487
- * Region code (cn, us, de)
5120
+ * Region code for tenant context
5121
+ */
5122
+ region: 'cn' | 'us' | 'de' | 'gb';
5123
+ /**
5124
+ * Filter by recurring rule ID
5125
+ */
5126
+ ruleId?: string;
5127
+ /**
5128
+ * Filter by status (PENDING, COMPLETED, SKIPPED)
4488
5129
  */
4489
- region: 'cn' | 'us' | 'de';
5130
+ status?: string;
5131
+ /**
5132
+ * Filter by date range end (YYYY-MM-DD)
5133
+ */
5134
+ toDate?: string;
4490
5135
  };
4491
5136
 
4492
- export type UserControllerGetUserResponse = unknown;
5137
+ export type ExpectedTransactionControllerFindAllResponse =
5138
+ ExpectedTransactionListResponseDto;
4493
5139
 
4494
- export type UserControllerSignupUserData = {
5140
+ export type ExpectedTransactionControllerFindOverdueData = {
4495
5141
  /**
4496
- * Region code (cn, us, de)
5142
+ * Region code for tenant context
4497
5143
  */
4498
- region: 'cn' | 'us' | 'de';
4499
- requestBody: SignupDto;
5144
+ region: 'cn' | 'us' | 'de' | 'gb';
4500
5145
  };
4501
5146
 
4502
- export type UserControllerSignupUserResponse = unknown;
5147
+ export type ExpectedTransactionControllerFindOverdueResponse =
5148
+ ExpectedTransactionListResponseDto;
4503
5149
 
4504
- export type UserControllerDeleteUserData = {
5150
+ export type ExpectedTransactionControllerFindOneData = {
4505
5151
  /**
4506
- * User ID to delete
5152
+ * Expected transaction ID
4507
5153
  */
4508
5154
  id: string;
4509
5155
  /**
4510
- * Region code (cn, us, de)
5156
+ * Region code for tenant context
4511
5157
  */
4512
- region: 'cn' | 'us' | 'de';
5158
+ region: 'cn' | 'us' | 'de' | 'gb';
4513
5159
  };
4514
5160
 
4515
- export type UserControllerDeleteUserResponse = void;
5161
+ export type ExpectedTransactionControllerFindOneResponse =
5162
+ ExpectedTransactionResponseDto;
4516
5163
 
4517
- export type UserControllerGetUserInfoData = {
5164
+ export type ExpectedTransactionControllerSkipData = {
4518
5165
  /**
4519
- * User ID
5166
+ * Expected transaction ID
4520
5167
  */
4521
5168
  id: string;
4522
5169
  /**
4523
- * Region code (cn, us, de)
5170
+ * Region code for tenant context
4524
5171
  */
4525
- region: 'cn' | 'us' | 'de';
5172
+ region: 'cn' | 'us' | 'de' | 'gb';
4526
5173
  };
4527
5174
 
4528
- export type UserControllerGetUserInfoResponse = unknown;
5175
+ export type ExpectedTransactionControllerSkipResponse =
5176
+ ExpectedTransactionResponseDto;
4529
5177
 
4530
- export type UserControllerUpdateUserSettingData = {
5178
+ export type ExpectedTransactionControllerUndoSkipData = {
4531
5179
  /**
4532
- * Region code (cn, us, de)
5180
+ * Expected transaction ID
4533
5181
  */
4534
- region: 'cn' | 'us' | 'de';
4535
- requestBody: UpdateUserSettingDto;
5182
+ id: string;
5183
+ /**
5184
+ * Region code for tenant context
5185
+ */
5186
+ region: 'cn' | 'us' | 'de' | 'gb';
4536
5187
  };
4537
5188
 
4538
- export type UserControllerUpdateUserSettingResponse = unknown;
5189
+ export type ExpectedTransactionControllerUndoSkipResponse =
5190
+ ExpectedTransactionResponseDto;
4539
5191
 
4540
- export type UserControllerGetAllUserSettingsByPageData = {
4541
- /**
4542
- * Page number
4543
- */
4544
- pageNo: number;
5192
+ export type ExpectedTransactionControllerConfirmMatchData = {
4545
5193
  /**
4546
- * Page size
5194
+ * Expected transaction ID
4547
5195
  */
4548
- pageSize: number;
5196
+ id: string;
4549
5197
  /**
4550
- * Region code (cn, us, de)
5198
+ * Region code for tenant context
4551
5199
  */
4552
- region: 'cn' | 'us' | 'de';
5200
+ region: 'cn' | 'us' | 'de' | 'gb';
5201
+ requestBody: ConfirmMatchDto;
4553
5202
  };
4554
5203
 
4555
- export type UserControllerGetAllUserSettingsByPageResponse = unknown;
5204
+ export type ExpectedTransactionControllerConfirmMatchResponse = unknown;
4556
5205
 
4557
- export type UserControllerGetAssetLiabilitySummaryData = {
5206
+ export type ExpectedTransactionControllerUnmatchData = {
4558
5207
  /**
4559
- * Region code (cn, us, de)
5208
+ * Expected transaction ID
4560
5209
  */
4561
- region: 'cn' | 'us' | 'de';
4562
- };
4563
-
4564
- export type UserControllerGetAssetLiabilitySummaryResponse = unknown;
4565
-
4566
- export type PropertyControllerGetAllData = {
5210
+ id: string;
4567
5211
  /**
4568
- * Region code (cn, us, de)
5212
+ * Region code for tenant context
4569
5213
  */
4570
- region: 'cn' | 'us' | 'de';
5214
+ region: 'cn' | 'us' | 'de' | 'gb';
4571
5215
  };
4572
5216
 
4573
- export type PropertyControllerGetAllResponse = unknown;
5217
+ export type ExpectedTransactionControllerUnmatchResponse = unknown;
4574
5218
 
4575
- export type PropertyControllerGetByKeyData = {
5219
+ export type ExpectedTransactionControllerEnterNowData = {
4576
5220
  /**
4577
- * Property key
5221
+ * Expected transaction ID
4578
5222
  */
4579
- key: string;
5223
+ id: string;
4580
5224
  /**
4581
- * Region code (cn, us, de)
5225
+ * Region code for tenant context
4582
5226
  */
4583
- region: 'cn' | 'us' | 'de';
5227
+ region: 'cn' | 'us' | 'de' | 'gb';
5228
+ requestBody: EnterNowDto;
4584
5229
  };
4585
5230
 
4586
- export type PropertyControllerGetByKeyResponse = unknown;
5231
+ export type ExpectedTransactionControllerEnterNowResponse = unknown;
4587
5232
 
4588
- export type PropertyControllerData = {
5233
+ export type ForecastControllerGetForecastData = {
4589
5234
  /**
4590
- * Region code (cn, us, de)
5235
+ * Number of months to forecast (1-12, default 3)
5236
+ */
5237
+ months?: number;
5238
+ /**
5239
+ * Region code for tenant context
4591
5240
  */
4592
- region: 'cn' | 'us' | 'de';
5241
+ region: 'cn' | 'us' | 'de' | 'gb';
4593
5242
  };
4594
5243
 
4595
- export type PropertyControllerResponse = unknown;
5244
+ export type ForecastControllerGetForecastResponse = ForecastResponseDto;
4596
5245
 
4597
- export type PropertyController1Data = {
5246
+ export type TransactionRuleControllerCreateData = {
4598
5247
  /**
4599
- * Region code (cn, us, de)
5248
+ * Region code for tenant context
4600
5249
  */
4601
- region: 'cn' | 'us' | 'de';
5250
+ region: 'cn' | 'us' | 'de' | 'gb';
5251
+ requestBody: CreateTransactionRuleDto;
4602
5252
  };
4603
5253
 
4604
- export type PropertyController1Response = void;
5254
+ export type TransactionRuleControllerCreateResponse =
5255
+ TransactionRuleResponseDto;
4605
5256
 
4606
- export type FileImportControllerImportFileData = {
5257
+ export type TransactionRuleControllerListData = {
4607
5258
  /**
4608
- * Bill file to import
5259
+ * Filter by auto-apply status
4609
5260
  */
4610
- formData: FileImportDto;
5261
+ autoApplyEnabled?: boolean;
4611
5262
  /**
4612
- * Region code (cn, us, de)
5263
+ * Filter by enabled status
4613
5264
  */
4614
- region: 'cn' | 'us' | 'de';
4615
- };
4616
-
4617
- export type FileImportControllerImportFileResponse = ImportResultDto;
4618
-
4619
- export type FileImportControllerIdentifyFileData = {
5265
+ enabled?: boolean;
4620
5266
  /**
4621
- * File to identify
5267
+ * Filter by learning source. Omit this parameter or pass empty string to get manually created rules (learningSource is null in database).
4622
5268
  */
4623
- formData: FileImportDto;
5269
+ learningSource?: 'NLP' | 'REVIEW_CENTER';
4624
5270
  /**
4625
- * Region code (cn, us, de)
5271
+ * Max results per page (default: 20, max: 100)
4626
5272
  */
4627
- region: 'cn' | 'us' | 'de';
4628
- };
4629
-
4630
- export type FileImportControllerIdentifyFileResponse = IdentifyResultDto;
4631
-
4632
- export type ImporterConfigControllerGetConfigData = {
5273
+ limit?: number;
4633
5274
  /**
4634
- * Importer identifier. Supported importers: alipay, alipay-web, wechat, boc, boc-credit, ccb, cmb, cmbc, cmbc-credit, icbc, icbc-credit, hsbc-hk
5275
+ * Pagination offset (default: 0)
4635
5276
  */
4636
- importerId: string;
5277
+ offset?: number;
4637
5278
  /**
4638
- * Region code (cn, us, de)
5279
+ * Region code for tenant context
4639
5280
  */
4640
- region: 'cn' | 'us' | 'de';
5281
+ region: 'cn' | 'us' | 'de' | 'gb';
4641
5282
  };
4642
5283
 
4643
- export type ImporterConfigControllerGetConfigResponse = ImporterConfigDto;
5284
+ export type TransactionRuleControllerListResponse =
5285
+ TransactionRuleListResponseDto;
4644
5286
 
4645
- export type ImporterConfigControllerData = {
5287
+ export type TransactionRuleControllerValidateData = {
4646
5288
  /**
4647
- * Region code (cn, us, de)
5289
+ * Region code for tenant context
4648
5290
  */
4649
- region: 'cn' | 'us' | 'de';
5291
+ region: 'cn' | 'us' | 'de' | 'gb';
5292
+ requestBody: ValidateRuleDto;
4650
5293
  };
4651
5294
 
4652
- export type ImporterConfigControllerResponse = unknown;
5295
+ export type TransactionRuleControllerValidateResponse = ValidateRuleResponseDto;
4653
5296
 
4654
- export type ImporterConfigController1Data = {
5297
+ export type TransactionRuleControllerBulkCreateData = {
4655
5298
  /**
4656
- * Region code (cn, us, de)
5299
+ * Region code for tenant context
4657
5300
  */
4658
- region: 'cn' | 'us' | 'de';
5301
+ region: 'cn' | 'us' | 'de' | 'gb';
5302
+ requestBody: BulkCreateRulesDto;
4659
5303
  };
4660
5304
 
4661
- export type ImporterConfigController1Response = unknown;
5305
+ export type TransactionRuleControllerBulkCreateResponse =
5306
+ BulkCreateRulesResponseDto;
4662
5307
 
4663
- export type ProviderSyncControllerSyncData = {
5308
+ export type TransactionRuleControllerExportData = {
4664
5309
  /**
4665
- * Provider name
5310
+ * Export format (currently only JSON supported)
4666
5311
  */
4667
- providerName:
4668
- | 'plaid'
4669
- | 'teller'
4670
- | 'truelayer'
4671
- | 'gocardless'
4672
- | 'simplefin'
4673
- | 'yodlee'
4674
- | 'beancount-direct';
5312
+ format: 'json';
4675
5313
  /**
4676
- * Region code
5314
+ * Region code for tenant context
4677
5315
  */
4678
- region: unknown;
4679
- requestBody: ProviderSyncDto;
5316
+ region: 'cn' | 'us' | 'de' | 'gb';
4680
5317
  };
4681
5318
 
4682
- export type ProviderSyncControllerSyncResponse = ProviderSyncResponseDto;
5319
+ export type TransactionRuleControllerExportResponse = ExportRulesResponseDto;
4683
5320
 
4684
- export type ProviderSyncControllerGetSupportedProvidersData = {
5321
+ export type TransactionRuleControllerGetStatisticsData = {
4685
5322
  /**
4686
- * Region code (cn, us, de)
5323
+ * Statistics time period
5324
+ */
5325
+ period: '7d' | '30d' | '90d';
5326
+ /**
5327
+ * Region code for tenant context
4687
5328
  */
4688
- region: 'cn' | 'us' | 'de';
5329
+ region: 'cn' | 'us' | 'de' | 'gb';
4689
5330
  };
4690
5331
 
4691
- export type ProviderSyncControllerGetSupportedProvidersResponse =
4692
- SupportedProvidersResponseDto;
5332
+ export type TransactionRuleControllerGetStatisticsResponse =
5333
+ RuleStatisticsResponseDto;
4693
5334
 
4694
- export type ProviderSyncControllerIsProviderSupportedData = {
5335
+ export type TransactionRuleControllerGetDetailData = {
4695
5336
  /**
4696
- * Provider name to check
5337
+ * Region code for tenant context
4697
5338
  */
4698
- providerName: string;
5339
+ region: 'cn' | 'us' | 'de' | 'gb';
4699
5340
  /**
4700
- * Region code (cn, us, de)
5341
+ * Rule ID
4701
5342
  */
4702
- region: 'cn' | 'us' | 'de';
5343
+ ruleId: string;
4703
5344
  };
4704
5345
 
4705
- export type ProviderSyncControllerIsProviderSupportedResponse = unknown;
5346
+ export type TransactionRuleControllerGetDetailResponse =
5347
+ TransactionRuleResponseDto;
4706
5348
 
4707
- export type NlpControllerProcessNaturalLanguageData = {
5349
+ export type TransactionRuleControllerUpdateData = {
4708
5350
  /**
4709
- * Region code (cn, us, de)
5351
+ * Region code for tenant context
4710
5352
  */
4711
- region: 'cn' | 'us' | 'de';
5353
+ region: 'cn' | 'us' | 'de' | 'gb';
5354
+ requestBody: UpdateTransactionRuleDto;
4712
5355
  /**
4713
- * Natural language transaction input with optional session ID
5356
+ * Rule ID to update
4714
5357
  */
4715
- requestBody: ProcessNlpDto;
5358
+ ruleId: string;
4716
5359
  };
4717
5360
 
4718
- export type NlpControllerProcessNaturalLanguageResponse = NlpResponseDto;
5361
+ export type TransactionRuleControllerUpdateResponse =
5362
+ TransactionRuleResponseDto;
4719
5363
 
4720
- export type NlpControllerClearSessionData = {
5364
+ export type TransactionRuleControllerDeleteData = {
4721
5365
  /**
4722
- * Region code (cn, us, de)
5366
+ * Region code for tenant context
4723
5367
  */
4724
- region: 'cn' | 'us' | 'de';
5368
+ region: 'cn' | 'us' | 'de' | 'gb';
4725
5369
  /**
4726
- * Specific session ID to clear (defaults to user session)
5370
+ * Rule ID to delete
4727
5371
  */
4728
- sessionId?: string;
5372
+ ruleId: string;
4729
5373
  };
4730
5374
 
4731
- export type NlpControllerClearSessionResponse = void;
5375
+ export type TransactionRuleControllerDeleteResponse = void;
4732
5376
 
4733
- export type NlpControllerGetSessionData = {
5377
+ export type TransactionRuleControllerTestData = {
4734
5378
  /**
4735
- * Region code (cn, us, de)
5379
+ * Region code for tenant context
4736
5380
  */
4737
- region: 'cn' | 'us' | 'de';
5381
+ region: 'cn' | 'us' | 'de' | 'gb';
5382
+ requestBody: TestRuleDto;
4738
5383
  /**
4739
- * Specific session ID to get (defaults to user session)
5384
+ * Rule ID to test
4740
5385
  */
4741
- sessionId?: string;
5386
+ ruleId: string;
5387
+ };
5388
+
5389
+ export type TransactionRuleControllerTestResponse = TestRuleResponseDto;
5390
+
5391
+ export type UserControllerDeleteOwnUserData = {
5392
+ requestBody: DeleteOwnUserDto;
4742
5393
  };
4743
5394
 
4744
- export type NlpControllerGetSessionResponse = unknown;
5395
+ export type UserControllerDeleteOwnUserResponse = void;
4745
5396
 
4746
- export type PlatformControllerFindAllData = {
4747
- /**
4748
- * Region code (cn, us, de)
4749
- */
4750
- region: 'cn' | 'us' | 'de';
5397
+ export type UserControllerGetUserData = {
5398
+ acceptLanguage: string;
4751
5399
  };
4752
5400
 
4753
- export type PlatformControllerFindAllResponse = unknown;
5401
+ export type UserControllerGetUserResponse = unknown;
4754
5402
 
4755
- export type PlatformControllerData = {
4756
- /**
4757
- * Region code (cn, us, de)
4758
- */
4759
- region: 'cn' | 'us' | 'de';
5403
+ export type UserControllerSignupUserData = {
5404
+ requestBody: SignupDto;
4760
5405
  };
4761
5406
 
4762
- export type PlatformControllerResponse = unknown;
5407
+ export type UserControllerSignupUserResponse = unknown;
4763
5408
 
4764
- export type PlatformControllerGetPlatformListData = {
5409
+ export type UserControllerDeleteUserData = {
4765
5410
  /**
4766
- * Region code (cn, us, de)
5411
+ * User ID to delete
4767
5412
  */
4768
- region: 'cn' | 'us' | 'de';
5413
+ id: string;
4769
5414
  };
4770
5415
 
4771
- export type PlatformControllerGetPlatformListResponse = unknown;
5416
+ export type UserControllerDeleteUserResponse = void;
4772
5417
 
4773
- export type PlatformController1Data = {
5418
+ export type UserControllerGetUserInfoData = {
4774
5419
  /**
4775
- * Region code (cn, us, de)
5420
+ * User ID
4776
5421
  */
4777
- region: 'cn' | 'us' | 'de';
5422
+ id: string;
4778
5423
  };
4779
5424
 
4780
- export type PlatformController1Response = unknown;
5425
+ export type UserControllerGetUserInfoResponse = unknown;
4781
5426
 
4782
- export type PlatformController2Data = {
4783
- /**
4784
- * Region code (cn, us, de)
4785
- */
4786
- region: 'cn' | 'us' | 'de';
5427
+ export type UserControllerUpdateUserSettingData = {
5428
+ requestBody: UpdateUserSettingDto;
4787
5429
  };
4788
5430
 
4789
- export type PlatformController2Response = void;
5431
+ export type UserControllerUpdateUserSettingResponse = unknown;
4790
5432
 
4791
- export type SymbolControllerLookupSymbolData = {
4792
- /**
4793
- * Geographic area filter (e.g., CN, US)
4794
- */
4795
- area?: unknown;
4796
- /**
4797
- * Asset class filter
4798
- */
4799
- assetClass?: unknown;
4800
- /**
4801
- * Asset sub-class filter
4802
- */
4803
- assetSubClass?: unknown;
4804
- /**
4805
- * Include index symbols in results
4806
- */
4807
- includeIndices?: unknown;
5433
+ export type UserControllerGetAllUserSettingsByPageData = {
4808
5434
  /**
4809
- * Search query string
5435
+ * Page number
4810
5436
  */
4811
- query?: unknown;
5437
+ pageNo: number;
4812
5438
  /**
4813
- * Region code (cn, us, de)
5439
+ * Page size
4814
5440
  */
4815
- region: 'cn' | 'us' | 'de';
5441
+ pageSize: number;
4816
5442
  };
4817
5443
 
4818
- export type SymbolControllerLookupSymbolResponse = unknown;
5444
+ export type UserControllerGetAllUserSettingsByPageResponse = unknown;
4819
5445
 
4820
- export type SymbolControllerGetSymbolDataData = {
4821
- /**
4822
- * Data source provider
4823
- */
4824
- dataSource:
4825
- | 'ALPHA_VANTAGE'
4826
- | 'EOD_HISTORICAL_DATA'
4827
- | 'FINANCIAL_MODELING_PREP'
4828
- | 'MANUAL'
4829
- | 'RAPID_API'
4830
- | 'YAHOO'
4831
- | 'COINGECKO'
4832
- | 'TUSHARE'
4833
- | 'BLOOMBERG'
4834
- | 'CSI'
4835
- | 'STOOQ'
4836
- | 'TRADING_VIEW';
4837
- /**
4838
- * Include historical price data (0 or 1)
4839
- */
4840
- includeHistoricalData?: unknown;
4841
- /**
4842
- * Region code (cn, us, de)
4843
- */
4844
- region: 'cn' | 'us' | 'de';
5446
+ export type UserControllerGetAssetLiabilitySummaryResponse = unknown;
5447
+
5448
+ export type PropertyControllerGetAllResponse = unknown;
5449
+
5450
+ export type PropertyControllerGetByKeyData = {
4845
5451
  /**
4846
- * Symbol identifier (e.g., ticker code)
5452
+ * Property key
4847
5453
  */
4848
- symbol: string;
5454
+ key: string;
4849
5455
  };
4850
5456
 
4851
- export type SymbolControllerGetSymbolDataResponse = unknown;
5457
+ export type PropertyControllerGetByKeyResponse = unknown;
4852
5458
 
4853
- export type SymbolControllerGatherSymbolForDateData = {
4854
- /**
4855
- * Data source provider
4856
- */
4857
- dataSource:
4858
- | 'ALPHA_VANTAGE'
4859
- | 'EOD_HISTORICAL_DATA'
4860
- | 'FINANCIAL_MODELING_PREP'
4861
- | 'MANUAL'
4862
- | 'RAPID_API'
4863
- | 'YAHOO'
4864
- | 'COINGECKO'
4865
- | 'TUSHARE'
4866
- | 'BLOOMBERG'
4867
- | 'CSI'
4868
- | 'STOOQ'
4869
- | 'TRADING_VIEW';
4870
- /**
4871
- * Date in ISO 8601 format (YYYY-MM-DD)
4872
- */
4873
- dateString: string;
4874
- /**
4875
- * Region code (cn, us, de)
4876
- */
4877
- region: 'cn' | 'us' | 'de';
5459
+ export type PropertyControllerUpdateData = {
4878
5460
  /**
4879
- * Symbol identifier (e.g., ticker code)
5461
+ * Property key
4880
5462
  */
4881
- symbol: string;
5463
+ key: string;
5464
+ requestBody: UpdatePropertyDto;
4882
5465
  };
4883
5466
 
4884
- export type SymbolControllerGatherSymbolForDateResponse = unknown;
5467
+ export type PropertyControllerUpdateResponse = unknown;
4885
5468
 
4886
- export type SymbolControllerData = {
5469
+ export type PropertyControllerDeleteData = {
4887
5470
  /**
4888
- * Region code (cn, us, de)
5471
+ * Property key
4889
5472
  */
4890
- region: 'cn' | 'us' | 'de';
5473
+ key: string;
4891
5474
  };
4892
5475
 
4893
- export type SymbolControllerResponse = unknown;
5476
+ export type PropertyControllerDeleteResponse = void;
4894
5477
 
4895
- export type CacheControllerFlushCacheData = {
5478
+ export type ExportControllerExportBeancountResponse = unknown;
5479
+
5480
+ export type FileImportControllerImportFileData = {
4896
5481
  /**
4897
- * Region code (cn, us, de)
5482
+ * Bill file to import
5483
+ */
5484
+ formData: FileImportDto;
5485
+ /**
5486
+ * Region code for tenant context
4898
5487
  */
4899
- region: 'cn' | 'us' | 'de';
5488
+ region: 'cn' | 'us' | 'de' | 'gb';
4900
5489
  };
4901
5490
 
4902
- export type CacheControllerFlushCacheResponse = unknown;
5491
+ export type FileImportControllerImportFileResponse = ImportResultDto;
4903
5492
 
4904
- export type DashboardControllerGetNetWorthData = {
5493
+ export type FileImportControllerIdentifyFileData = {
4905
5494
  /**
4906
- * Date for balance calculation (ISO 8601 format)
5495
+ * File to identify
4907
5496
  */
4908
- date?: string;
5497
+ formData: FileImportDto;
4909
5498
  /**
4910
- * Region code (cn, us, de)
5499
+ * Region code for tenant context
4911
5500
  */
4912
- region: 'cn' | 'us' | 'de';
5501
+ region: 'cn' | 'us' | 'de' | 'gb';
4913
5502
  };
4914
5503
 
4915
- export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
5504
+ export type FileImportControllerIdentifyFileResponse = IdentifyResultDto;
4916
5505
 
4917
- export type DashboardControllerGetAccountsData = {
4918
- /**
4919
- * Date for balance calculation (ISO 8601 format)
4920
- */
4921
- date?: string;
5506
+ export type FileImportControllerImportBeancountData = {
4922
5507
  /**
4923
- * Grouping strategy
5508
+ * Beancount file to import
4924
5509
  */
4925
- groupBy?: 'platform' | 'assetClass';
5510
+ formData: FileImportDto;
4926
5511
  /**
4927
- * Region code (cn, us, de)
5512
+ * Region code for tenant context
4928
5513
  */
4929
- region: 'cn' | 'us' | 'de';
5514
+ region: 'cn' | 'us' | 'de' | 'gb';
4930
5515
  };
4931
5516
 
4932
- export type DashboardControllerGetAccountsResponse =
4933
- | AccountsResponseDto
4934
- | AssetClassAccountsResponseDto;
5517
+ export type FileImportControllerImportBeancountResponse = {
5518
+ imported?: number;
5519
+ skipped?: number;
5520
+ failed?: number;
5521
+ accountsCreated?: number;
5522
+ errors?: Array<{
5523
+ [key: string]: unknown;
5524
+ }>;
5525
+ };
4935
5526
 
4936
- export type DashboardControllerGetCashFlowData = {
5527
+ export type ImporterConfigControllerGetConfigData = {
4937
5528
  /**
4938
- * Period in YYYY-MM format
5529
+ * Importer identifier. Supported importers: alipay, alipay-web, wechat, boc, boc-credit, ccb, cmb, cmbc, cmbc-credit, icbc, icbc-credit, hsbc-hk-credit, hsbc-hk-debit
4939
5530
  */
4940
- period: string;
5531
+ importerId: string;
4941
5532
  /**
4942
- * Region code (cn, us, de)
5533
+ * Region code for tenant context
4943
5534
  */
4944
- region: 'cn' | 'us' | 'de';
5535
+ region: 'cn' | 'us' | 'de' | 'gb';
4945
5536
  };
4946
5537
 
4947
- export type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
5538
+ export type ImporterConfigControllerGetConfigResponse = ImporterConfigDto;
4948
5539
 
4949
- export type ReportingControllerGetPortfolioTrendsData = {
5540
+ export type ImporterConfigControllerUpdateConfigData = {
4950
5541
  /**
4951
- * Data granularity
5542
+ * Importer identifier. Supported importers: alipay, alipay-web, wechat, boc, boc-credit, ccb, cmb, cmbc, cmbc-credit, icbc, icbc-credit, hsbc-hk-credit, hsbc-hk-debit
4952
5543
  */
4953
- granularity?: 'day' | 'week' | 'month';
5544
+ importerId: string;
4954
5545
  /**
4955
- * Time period
5546
+ * Region code for tenant context
4956
5547
  */
4957
- period?: '1m' | '3m' | '6m' | '1y';
5548
+ region: 'cn' | 'us' | 'de' | 'gb';
4958
5549
  /**
4959
- * Region code (cn, us, de)
5550
+ * Partial configuration update. Only provided fields will be updated.
4960
5551
  */
4961
- region: 'cn' | 'us' | 'de';
5552
+ requestBody: UpdateImporterConfigDto;
4962
5553
  };
4963
5554
 
4964
- export type ReportingControllerGetPortfolioTrendsResponse =
4965
- PortfolioTrendsResponseDto;
5555
+ export type ImporterConfigControllerUpdateConfigResponse = ImporterConfigDto;
4966
5556
 
4967
- export type ReportingControllerGenerateSnapshotData = {
5557
+ export type ImporterConfigControllerResetConfigData = {
4968
5558
  /**
4969
- * Region code (cn, us, de)
5559
+ * Importer identifier. Supported importers: alipay, alipay-web, wechat, boc, boc-credit, ccb, cmb, cmbc, cmbc-credit, icbc, icbc-credit, hsbc-hk-credit, hsbc-hk-debit
4970
5560
  */
4971
- region: 'cn' | 'us' | 'de';
5561
+ importerId: string;
4972
5562
  /**
4973
- * Optional date (defaults to today)
5563
+ * Region code for tenant context
4974
5564
  */
4975
- requestBody: GenerateSnapshotBody;
5565
+ region: 'cn' | 'us' | 'de' | 'gb';
4976
5566
  };
4977
5567
 
4978
- export type ReportingControllerGenerateSnapshotResponse =
4979
- GenerateSnapshotResponse;
5568
+ export type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
4980
5569
 
4981
- export type ReportingControllerBackfillSnapshotsData = {
4982
- /**
4983
- * Region code (cn, us, de)
4984
- */
4985
- region: 'cn' | 'us' | 'de';
4986
- requestBody: BackfillSnapshotsBody;
5570
+ export type PlatformControllerFindAllResponse = unknown;
5571
+
5572
+ export type PlatformControllerCreateData = {
5573
+ requestBody: CreatePlatformDto;
4987
5574
  };
4988
5575
 
4989
- export type ReportingControllerBackfillSnapshotsResponse =
4990
- BackfillSnapshotsResponse;
5576
+ export type PlatformControllerCreateResponse = unknown;
4991
5577
 
4992
- export type ApiKeysControllerData = {
5578
+ export type PlatformControllerGetPlatformListResponse = unknown;
5579
+
5580
+ export type PlatformControllerMatchPlatformsData = {
4993
5581
  /**
4994
- * Region code (cn, us, de)
5582
+ * Search query — Chinese name, English name, or abbreviation
5583
+ */
5584
+ q: string;
5585
+ /**
5586
+ * Region code for category override lookup
4995
5587
  */
4996
- region: 'cn' | 'us' | 'de';
5588
+ region?: string;
4997
5589
  };
4998
5590
 
4999
- export type ApiKeysControllerResponse = unknown;
5591
+ export type PlatformControllerMatchPlatformsResponse = unknown;
5000
5592
 
5001
- export type AuthControllerAccessTokenLoginData = {
5593
+ export type PlatformControllerUpdateData = {
5002
5594
  /**
5003
- * Region code (cn, us, de)
5595
+ * Platform ID
5004
5596
  */
5005
- region: 'cn' | 'us' | 'de';
5006
- requestBody: AnonymousLoginDto;
5597
+ id: string;
5598
+ requestBody: UpdatePlatformDto;
5007
5599
  };
5008
5600
 
5009
- export type AuthControllerAccessTokenLoginResponse = unknown;
5601
+ export type PlatformControllerUpdateResponse = unknown;
5010
5602
 
5011
- export type ExchangeRateControllerGetExchangeRateData = {
5603
+ export type PlatformControllerDeleteData = {
5012
5604
  /**
5013
- * Date in ISO format (YYYY-MM-DD)
5605
+ * Platform ID
5014
5606
  */
5015
- dateString: string;
5607
+ id: string;
5608
+ };
5609
+
5610
+ export type PlatformControllerDeleteResponse = void;
5611
+
5612
+ export type ProviderSyncControllerSyncData = {
5016
5613
  /**
5017
- * Region code (cn, us, de)
5614
+ * Provider name
5018
5615
  */
5019
- region: 'cn' | 'us' | 'de';
5616
+ providerName:
5617
+ | 'plaid'
5618
+ | 'teller'
5619
+ | 'truelayer'
5620
+ | 'gocardless'
5621
+ | 'simplefin'
5622
+ | 'yodlee'
5623
+ | 'beancount-direct'
5624
+ | 'parsed-bill';
5020
5625
  /**
5021
- * Currency pair symbol (e.g., USDCNY, EURUSD)
5626
+ * Region code
5022
5627
  */
5023
- symbol: string;
5628
+ region: unknown;
5629
+ requestBody: ProviderSyncDto;
5024
5630
  };
5025
5631
 
5026
- export type ExchangeRateControllerGetExchangeRateResponse = unknown;
5632
+ export type ProviderSyncControllerSyncResponse = ProviderSyncResponseDto;
5027
5633
 
5028
- export type HealthControllerGetHealthData = {
5634
+ export type ProviderSyncControllerGetSupportedProvidersData = {
5029
5635
  /**
5030
- * Region code (cn, us, de)
5636
+ * Region code for tenant context
5031
5637
  */
5032
- region: 'cn' | 'us' | 'de';
5638
+ region: 'cn' | 'us' | 'de' | 'gb';
5033
5639
  };
5034
5640
 
5035
- export type HealthControllerGetHealthResponse = unknown;
5641
+ export type ProviderSyncControllerGetSupportedProvidersResponse =
5642
+ SupportedProvidersResponseDto;
5036
5643
 
5037
- export type HealthControllerCheckDatabaseData = {
5644
+ export type ProviderSyncControllerIsProviderSupportedData = {
5038
5645
  /**
5039
- * Region code (cn, us, de)
5646
+ * Provider name to check
5040
5647
  */
5041
- region: 'cn' | 'us' | 'de';
5042
- };
5043
-
5044
- export type HealthControllerCheckDatabaseResponse = unknown;
5045
-
5046
- export type HealthControllerCheckRedisData = {
5648
+ providerName: string;
5047
5649
  /**
5048
- * Region code (cn, us, de)
5650
+ * Region code for tenant context
5049
5651
  */
5050
- region: 'cn' | 'us' | 'de';
5652
+ region: 'cn' | 'us' | 'de' | 'gb';
5051
5653
  };
5052
5654
 
5053
- export type HealthControllerCheckRedisResponse = unknown;
5655
+ export type ProviderSyncControllerIsProviderSupportedResponse = unknown;
5054
5656
 
5055
- export type HealthControllerGetCircuitBreakersHealthData = {
5657
+ export type TelemetryControllerReportTelemetryData = {
5056
5658
  /**
5057
- * Region code (cn, us, de)
5659
+ * Region code for tenant context
5058
5660
  */
5059
- region: 'cn' | 'us' | 'de';
5661
+ region: 'cn' | 'us' | 'de' | 'gb';
5662
+ requestBody: ParserTelemetryReportDto;
5060
5663
  };
5061
5664
 
5062
- export type HealthControllerGetCircuitBreakersHealthResponse = unknown;
5665
+ export type TelemetryControllerReportTelemetryResponse = unknown;
5063
5666
 
5064
- export type HealthControllerResetCircuitBreakerData = {
5667
+ export type NlpControllerProcessNaturalLanguageData = {
5065
5668
  /**
5066
- * Circuit breaker name to reset
5669
+ * Region code for tenant context
5067
5670
  */
5068
- name: string;
5671
+ region: 'cn' | 'us' | 'de' | 'gb';
5069
5672
  /**
5070
- * Region code (cn, us, de)
5673
+ * Natural language transaction input with optional session ID
5071
5674
  */
5072
- region: 'cn' | 'us' | 'de';
5675
+ requestBody: ProcessNlpDto;
5073
5676
  };
5074
5677
 
5075
- export type HealthControllerResetCircuitBreakerResponse = unknown;
5678
+ export type NlpControllerProcessNaturalLanguageResponse = NlpResponseDto;
5076
5679
 
5077
- export type HealthControllerGetMetricsData = {
5680
+ export type NlpControllerClearSessionData = {
5078
5681
  /**
5079
- * Region code (cn, us, de)
5682
+ * Region code for tenant context
5683
+ */
5684
+ region: 'cn' | 'us' | 'de' | 'gb';
5685
+ /**
5686
+ * Specific session ID to clear (defaults to user session)
5080
5687
  */
5081
- region: 'cn' | 'us' | 'de';
5688
+ sessionId?: string;
5082
5689
  };
5083
5690
 
5084
- export type HealthControllerGetMetricsResponse = unknown;
5691
+ export type NlpControllerClearSessionResponse = void;
5085
5692
 
5086
- export type HealthControllerGetHealthOfDataEnhancerData = {
5693
+ export type NlpControllerGetSessionData = {
5087
5694
  /**
5088
- * Data enhancer name
5695
+ * Region code for tenant context
5089
5696
  */
5090
- name: string;
5697
+ region: 'cn' | 'us' | 'de' | 'gb';
5091
5698
  /**
5092
- * Region code (cn, us, de)
5699
+ * Specific session ID to get (defaults to user session)
5093
5700
  */
5094
- region: 'cn' | 'us' | 'de';
5701
+ sessionId?: string;
5095
5702
  };
5096
5703
 
5097
- export type HealthControllerGetHealthOfDataEnhancerResponse = unknown;
5704
+ export type NlpControllerGetSessionResponse = unknown;
5098
5705
 
5099
- export type HealthControllerCheckDataProvidersData = {
5706
+ export type DashboardControllerGetNetWorthData = {
5100
5707
  /**
5101
- * Region code (cn, us, de)
5708
+ * Date for balance calculation (ISO 8601 format)
5709
+ */
5710
+ date?: string;
5711
+ /**
5712
+ * Region code for tenant context
5102
5713
  */
5103
- region: 'cn' | 'us' | 'de';
5714
+ region: 'cn' | 'us' | 'de' | 'gb';
5104
5715
  };
5105
5716
 
5106
- export type HealthControllerCheckDataProvidersResponse = unknown;
5717
+ export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
5107
5718
 
5108
- export type HealthControllerGetHealthOfDataProviderData = {
5719
+ export type DashboardControllerGetAccountsData = {
5109
5720
  /**
5110
- * Data source identifier
5721
+ * Date for balance calculation (ISO 8601 format)
5111
5722
  */
5112
- dataSource: string;
5723
+ date?: string;
5113
5724
  /**
5114
- * Region code (cn, us, de)
5725
+ * Grouping strategy
5726
+ */
5727
+ groupBy?: 'platform' | 'assetClass';
5728
+ /**
5729
+ * Region code for tenant context
5115
5730
  */
5116
- region: 'cn' | 'us' | 'de';
5731
+ region: 'cn' | 'us' | 'de' | 'gb';
5117
5732
  };
5118
5733
 
5119
- export type HealthControllerGetHealthOfDataProviderResponse = unknown;
5734
+ export type DashboardControllerGetAccountsResponse =
5735
+ | AccountsResponseDto
5736
+ | AssetClassAccountsResponseDto;
5120
5737
 
5121
- export type InfoControllerGetInfoData = {
5738
+ export type DashboardControllerGetCashFlowData = {
5122
5739
  /**
5123
- * Region code (cn, us, de)
5740
+ * Period in YYYY-MM format
5741
+ */
5742
+ period: string;
5743
+ /**
5744
+ * Region code for tenant context
5124
5745
  */
5125
- region: 'cn' | 'us' | 'de';
5746
+ region: 'cn' | 'us' | 'de' | 'gb';
5126
5747
  };
5127
5748
 
5128
- export type InfoControllerGetInfoResponse = unknown;
5749
+ export type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
5129
5750
 
5130
- export type LogoControllerGetLogoByDataSourceAndSymbolData = {
5751
+ export type ReportingControllerGetPortfolioTrendsData = {
5131
5752
  /**
5132
- * Data source identifier (e.g., YAHOO, COINGECKO)
5753
+ * Data granularity
5133
5754
  */
5134
- dataSource: string;
5755
+ granularity?: 'day' | 'week' | 'month';
5135
5756
  /**
5136
- * Region code (cn, us, de)
5757
+ * Time period
5137
5758
  */
5138
- region: 'cn' | 'us' | 'de';
5759
+ period?: '1m' | '3m' | '6m' | '1y';
5139
5760
  /**
5140
- * Asset symbol (e.g., AAPL, BTC)
5761
+ * Region code for tenant context
5141
5762
  */
5142
- symbol: string;
5763
+ region: 'cn' | 'us' | 'de' | 'gb';
5143
5764
  };
5144
5765
 
5145
- export type LogoControllerGetLogoByDataSourceAndSymbolResponse = unknown;
5766
+ export type ReportingControllerGetPortfolioTrendsResponse =
5767
+ PortfolioTrendsResponseDto;
5146
5768
 
5147
- export type LogoControllerGetLogoByUrlData = {
5769
+ export type ReportingControllerGenerateSnapshotData = {
5148
5770
  /**
5149
- * Region code (cn, us, de)
5771
+ * Region code for tenant context
5150
5772
  */
5151
- region: 'cn' | 'us' | 'de';
5773
+ region: 'cn' | 'us' | 'de' | 'gb';
5152
5774
  /**
5153
- * Website URL to fetch favicon from
5775
+ * Optional date (defaults to today)
5154
5776
  */
5155
- url: string;
5777
+ requestBody: GenerateSnapshotBody;
5156
5778
  };
5157
5779
 
5158
- export type LogoControllerGetLogoByUrlResponse = unknown;
5780
+ export type ReportingControllerGenerateSnapshotResponse =
5781
+ GenerateSnapshotResponse;
5159
5782
 
5160
- export type MarketDataControllerGetMarketDataBySymbolData = {
5783
+ export type ReportingControllerBackfillSnapshotsData = {
5161
5784
  /**
5162
- * Data source provider
5785
+ * Region code for tenant context
5163
5786
  */
5164
- dataSource:
5165
- | 'ALPHA_VANTAGE'
5166
- | 'EOD_HISTORICAL_DATA'
5167
- | 'FINANCIAL_MODELING_PREP'
5168
- | 'MANUAL'
5169
- | 'RAPID_API'
5170
- | 'YAHOO'
5171
- | 'COINGECKO'
5172
- | 'TUSHARE'
5173
- | 'BLOOMBERG'
5174
- | 'CSI'
5175
- | 'STOOQ'
5176
- | 'TRADING_VIEW';
5787
+ region: 'cn' | 'us' | 'de' | 'gb';
5788
+ requestBody: BackfillSnapshotsBody;
5789
+ };
5790
+
5791
+ export type ReportingControllerBackfillSnapshotsResponse =
5792
+ BackfillSnapshotsResponse;
5793
+
5794
+ export type ApiKeysControllerCreateApiKeyResponse = unknown;
5795
+
5796
+ export type AuthControllerAccessTokenLoginData = {
5797
+ requestBody: AnonymousLoginDto;
5798
+ };
5799
+
5800
+ export type AuthControllerAccessTokenLoginResponse = unknown;
5801
+
5802
+ export type CacheControllerFlushCacheResponse = unknown;
5803
+
5804
+ export type ExchangeRateControllerGetExchangeRateData = {
5177
5805
  /**
5178
- * Region code (cn, us, de)
5806
+ * Date in ISO format (YYYY-MM-DD)
5179
5807
  */
5180
- region: 'cn' | 'us' | 'de';
5808
+ dateString: string;
5181
5809
  /**
5182
- * Symbol code
5810
+ * Currency pair symbol (e.g., USDCNY, EURUSD)
5183
5811
  */
5184
5812
  symbol: string;
5185
5813
  };
5186
5814
 
5187
- export type MarketDataControllerGetMarketDataBySymbolResponse = unknown;
5815
+ export type ExchangeRateControllerGetExchangeRateResponse = unknown;
5816
+
5817
+ export type HealthControllerGetHealthResponse = unknown;
5818
+
5819
+ export type HealthControllerCheckDatabaseResponse = unknown;
5820
+
5821
+ export type HealthControllerCheckOpenBbResponse = unknown;
5822
+
5823
+ export type HealthControllerCheckRedisResponse = unknown;
5824
+
5825
+ export type HealthControllerGetCircuitBreakersHealthResponse = unknown;
5188
5826
 
5189
- export type MarketDataControllerData = {
5827
+ export type HealthControllerResetCircuitBreakerData = {
5190
5828
  /**
5191
- * Region code (cn, us, de)
5829
+ * Circuit breaker name to reset
5192
5830
  */
5193
- region: 'cn' | 'us' | 'de';
5831
+ name: string;
5194
5832
  };
5195
5833
 
5196
- export type MarketDataControllerResponse = unknown;
5834
+ export type HealthControllerResetCircuitBreakerResponse = unknown;
5835
+
5836
+ export type HealthControllerGetMetricsResponse = unknown;
5837
+
5838
+ export type InfoControllerGetInfoResponse = unknown;
5197
5839
 
5198
5840
  export type $OpenApiTs = {
5199
5841
  '/api/v1/{region}/bean/accounts': {
@@ -5303,6 +5945,39 @@ export type $OpenApiTs = {
5303
5945
  };
5304
5946
  };
5305
5947
  };
5948
+ '/api/v1/{region}/bean/account-standards': {
5949
+ get: {
5950
+ req: AccountStandardsControllerGetTemplatesData;
5951
+ res: {
5952
+ /**
5953
+ * Account templates retrieved successfully
5954
+ */
5955
+ 200: AccountStandardListResponseDto;
5956
+ };
5957
+ };
5958
+ };
5959
+ '/api/v1/{region}/bean/account-standards/template-metadata': {
5960
+ get: {
5961
+ req: AccountStandardsControllerGetTemplateMetadataData;
5962
+ res: {
5963
+ /**
5964
+ * Template metadata retrieved successfully
5965
+ */
5966
+ 200: TemplateMetadataResponseDto;
5967
+ };
5968
+ };
5969
+ };
5970
+ '/api/v1/{region}/bean/account-standards/regions': {
5971
+ get: {
5972
+ req: AccountStandardsControllerGetRegionsData;
5973
+ res: {
5974
+ /**
5975
+ * Regions metadata retrieved successfully
5976
+ */
5977
+ 200: RegionsMetadataResponseDto;
5978
+ };
5979
+ };
5980
+ };
5306
5981
  '/api/v1/{region}/bean/transactions': {
5307
5982
  post: {
5308
5983
  req: TransactionControllerCreateData;
@@ -5336,6 +6011,10 @@ export type $OpenApiTs = {
5336
6011
  * Transaction list
5337
6012
  */
5338
6013
  200: TransactionListResponseDto;
6014
+ /**
6015
+ * Validation failed
6016
+ */
6017
+ 400: ApiProblemResponseDto;
5339
6018
  /**
5340
6019
  * Authentication required
5341
6020
  */
@@ -5345,9 +6024,20 @@ export type $OpenApiTs = {
5345
6024
  };
5346
6025
  '/api/v1/{region}/bean/transactions/batch': {
5347
6026
  post: {
5348
- req: TransactionControllerData;
6027
+ req: TransactionControllerCreateBatchData;
5349
6028
  res: {
5350
- 201: unknown;
6029
+ /**
6030
+ * Transactions processed
6031
+ */
6032
+ 201: BatchTransactionResponseDto;
6033
+ /**
6034
+ * Invalid input
6035
+ */
6036
+ 400: ApiProblemResponseDto;
6037
+ /**
6038
+ * Authentication required
6039
+ */
6040
+ 401: ApiProblemResponseDto;
5351
6041
  };
5352
6042
  };
5353
6043
  };
@@ -5391,31 +6081,24 @@ export type $OpenApiTs = {
5391
6081
  };
5392
6082
  };
5393
6083
  delete: {
5394
- req: TransactionController1Data;
6084
+ req: TransactionControllerDeleteData;
5395
6085
  res: {
6086
+ /**
6087
+ * Transaction voided successfully
6088
+ */
5396
6089
  204: void;
5397
- };
5398
- };
5399
- };
5400
- '/api/v1/{region}/bean/account-standards': {
5401
- get: {
5402
- req: AccountStandardsControllerGetTemplatesData;
5403
- res: {
5404
6090
  /**
5405
- * Account templates retrieved successfully
6091
+ * Transaction already voided
5406
6092
  */
5407
- 200: AccountStandardListResponseDto;
5408
- };
5409
- };
5410
- };
5411
- '/api/v1/{region}/bean/account-standards/regions': {
5412
- get: {
5413
- req: AccountStandardsControllerGetRegionsData;
5414
- res: {
6093
+ 400: ApiProblemResponseDto;
5415
6094
  /**
5416
- * Regions metadata retrieved successfully
6095
+ * Authentication required
5417
6096
  */
5418
- 200: RegionsMetadataResponseDto;
6097
+ 401: ApiProblemResponseDto;
6098
+ /**
6099
+ * Transaction not found
6100
+ */
6101
+ 404: ApiProblemResponseDto;
5419
6102
  };
5420
6103
  };
5421
6104
  };
@@ -5483,33 +6166,44 @@ export type $OpenApiTs = {
5483
6166
  };
5484
6167
  '/api/v1/{region}/bean/reviews/{id}/resolve': {
5485
6168
  post: {
5486
- req: ReviewControllerData;
6169
+ req: ReviewControllerResolveData;
5487
6170
  res: {
5488
- 201: unknown;
6171
+ 200: ResolveResultDto;
5489
6172
  };
5490
6173
  };
5491
6174
  };
5492
6175
  '/api/v1/{region}/bean/reviews/{id}/undo': {
5493
6176
  post: {
5494
- req: ReviewController1Data;
6177
+ req: ReviewControllerUndoData;
5495
6178
  res: {
5496
- 201: unknown;
6179
+ 200: UndoResultDto;
5497
6180
  };
5498
6181
  };
5499
6182
  };
5500
6183
  '/api/v1/{region}/bean/reviews/batch-resolve': {
5501
6184
  post: {
5502
- req: ReviewController2Data;
6185
+ req: ReviewControllerBatchResolveData;
5503
6186
  res: {
5504
- 201: unknown;
6187
+ 200: BatchResolveResultDto;
5505
6188
  };
5506
6189
  };
5507
6190
  };
5508
6191
  '/api/v1/bean/payees': {
5509
6192
  post: {
5510
- req: PayeeControllerData;
6193
+ req: PayeeControllerCreateData;
5511
6194
  res: {
5512
- 201: unknown;
6195
+ /**
6196
+ * Payee created successfully
6197
+ */
6198
+ 201: PayeeResponseDto;
6199
+ /**
6200
+ * Invalid input data
6201
+ */
6202
+ 400: ApiProblemResponseDto;
6203
+ /**
6204
+ * Payee already exists
6205
+ */
6206
+ 409: ApiProblemResponseDto;
5513
6207
  };
5514
6208
  };
5515
6209
  get: {
@@ -5563,23 +6257,56 @@ export type $OpenApiTs = {
5563
6257
  };
5564
6258
  };
5565
6259
  put: {
5566
- req: PayeeController1Data;
6260
+ req: PayeeControllerUpdateData;
5567
6261
  res: {
5568
- 200: unknown;
6262
+ /**
6263
+ * Payee updated successfully
6264
+ */
6265
+ 200: PayeeResponseDto;
6266
+ /**
6267
+ * Invalid input data
6268
+ */
6269
+ 400: ApiProblemResponseDto;
6270
+ /**
6271
+ * Payee not found
6272
+ */
6273
+ 404: ApiProblemResponseDto;
5569
6274
  };
5570
6275
  };
5571
6276
  delete: {
5572
- req: PayeeController2Data;
6277
+ req: PayeeControllerDeleteData;
5573
6278
  res: {
6279
+ /**
6280
+ * Payee deleted successfully
6281
+ */
5574
6282
  204: void;
6283
+ /**
6284
+ * Payee not found
6285
+ */
6286
+ 404: ApiProblemResponseDto;
5575
6287
  };
5576
6288
  };
5577
6289
  };
5578
6290
  '/api/v1/admin/payee-profiles': {
5579
6291
  post: {
5580
- req: PayeeProfileAdminControllerData;
6292
+ req: PayeeProfileAdminControllerCreateData;
5581
6293
  res: {
5582
- 201: unknown;
6294
+ /**
6295
+ * Payee profile created successfully
6296
+ */
6297
+ 201: PayeeProfileResponseDto;
6298
+ /**
6299
+ * Validation failed
6300
+ */
6301
+ 400: ApiProblemResponseDto;
6302
+ /**
6303
+ * Admin access required
6304
+ */
6305
+ 403: ApiProblemResponseDto;
6306
+ /**
6307
+ * Payee profile already exists
6308
+ */
6309
+ 409: ApiProblemResponseDto;
5583
6310
  };
5584
6311
  };
5585
6312
  get: {
@@ -5615,37 +6342,96 @@ export type $OpenApiTs = {
5615
6342
  };
5616
6343
  };
5617
6344
  put: {
5618
- req: PayeeProfileAdminController1Data;
6345
+ req: PayeeProfileAdminControllerUpdateData;
5619
6346
  res: {
5620
- 200: unknown;
6347
+ /**
6348
+ * Payee profile updated successfully
6349
+ */
6350
+ 200: PayeeProfileResponseDto;
6351
+ /**
6352
+ * Admin access required
6353
+ */
6354
+ 403: ApiProblemResponseDto;
6355
+ /**
6356
+ * Payee profile not found
6357
+ */
6358
+ 404: ApiProblemResponseDto;
5621
6359
  };
5622
6360
  };
5623
6361
  delete: {
5624
- req: PayeeProfileAdminController2Data;
6362
+ req: PayeeProfileAdminControllerDeleteData;
5625
6363
  res: {
6364
+ /**
6365
+ * Payee profile deleted successfully
6366
+ */
5626
6367
  204: void;
6368
+ /**
6369
+ * Admin access required
6370
+ */
6371
+ 403: ApiProblemResponseDto;
6372
+ /**
6373
+ * Payee profile not found
6374
+ */
6375
+ 404: ApiProblemResponseDto;
6376
+ /**
6377
+ * Payee profile is in use and cannot be deleted
6378
+ */
6379
+ 409: ApiProblemResponseDto;
5627
6380
  };
5628
6381
  };
5629
6382
  };
5630
6383
  '/api/v1/admin/payee-profiles/{id}/verify': {
5631
6384
  post: {
5632
- req: PayeeProfileAdminController3Data;
6385
+ req: PayeeProfileAdminControllerVerifyData;
5633
6386
  res: {
5634
- 201: unknown;
6387
+ /**
6388
+ * Payee profile verified successfully
6389
+ */
6390
+ 201: PayeeProfileResponseDto;
6391
+ /**
6392
+ * Admin access required
6393
+ */
6394
+ 403: ApiProblemResponseDto;
6395
+ /**
6396
+ * Payee profile not found
6397
+ */
6398
+ 404: ApiProblemResponseDto;
5635
6399
  };
5636
6400
  };
5637
6401
  delete: {
5638
- req: PayeeProfileAdminController4Data;
6402
+ req: PayeeProfileAdminControllerUnverifyData;
5639
6403
  res: {
5640
- 200: unknown;
6404
+ /**
6405
+ * Payee profile unverified successfully
6406
+ */
6407
+ 200: PayeeProfileResponseDto;
6408
+ /**
6409
+ * Admin access required
6410
+ */
6411
+ 403: ApiProblemResponseDto;
6412
+ /**
6413
+ * Payee profile not found
6414
+ */
6415
+ 404: ApiProblemResponseDto;
5641
6416
  };
5642
6417
  };
5643
6418
  };
5644
6419
  '/api/v1/{region}/bean/commodities': {
5645
6420
  post: {
5646
- req: CommodityControllerData;
6421
+ req: CommodityControllerCreateData;
5647
6422
  res: {
5648
- 201: unknown;
6423
+ /**
6424
+ * Commodity created successfully
6425
+ */
6426
+ 201: CommodityResponseDto;
6427
+ /**
6428
+ * Invalid input data
6429
+ */
6430
+ 400: ApiProblemResponseDto;
6431
+ /**
6432
+ * Commodity already exists
6433
+ */
6434
+ 409: ApiProblemResponseDto;
5649
6435
  };
5650
6436
  };
5651
6437
  get: {
@@ -5673,39 +6459,74 @@ export type $OpenApiTs = {
5673
6459
  };
5674
6460
  };
5675
6461
  put: {
5676
- req: CommodityController1Data;
6462
+ req: CommodityControllerUpdateData;
5677
6463
  res: {
5678
- 200: unknown;
6464
+ /**
6465
+ * Commodity updated successfully
6466
+ */
6467
+ 200: CommodityResponseDto;
6468
+ /**
6469
+ * Invalid input data
6470
+ */
6471
+ 400: ApiProblemResponseDto;
6472
+ /**
6473
+ * Commodity not found
6474
+ */
6475
+ 404: ApiProblemResponseDto;
5679
6476
  };
5680
6477
  };
5681
6478
  delete: {
5682
- req: CommodityController2Data;
6479
+ req: CommodityControllerDeleteData;
5683
6480
  res: {
6481
+ /**
6482
+ * Commodity deleted successfully
6483
+ */
5684
6484
  204: void;
6485
+ /**
6486
+ * Commodity not found
6487
+ */
6488
+ 404: ApiProblemResponseDto;
5685
6489
  };
5686
6490
  };
5687
6491
  };
5688
6492
  '/api/v1/{region}/bean/commodities/{symbol}/ensure': {
5689
6493
  post: {
5690
- req: CommodityController3Data;
6494
+ req: CommodityControllerGetOrCreateData;
5691
6495
  res: {
5692
- 201: unknown;
6496
+ /**
6497
+ * Commodity retrieved or created
6498
+ */
6499
+ 200: CommodityResponseDto;
5693
6500
  };
5694
6501
  };
5695
6502
  };
5696
6503
  '/api/v1/{region}/bean/commodities/bulk': {
5697
6504
  post: {
5698
- req: CommodityController4Data;
6505
+ req: CommodityControllerBulkCreateData;
5699
6506
  res: {
5700
- 201: unknown;
6507
+ /**
6508
+ * Commodities created successfully
6509
+ */
6510
+ 201: Array<CommodityResponseDto>;
5701
6511
  };
5702
6512
  };
5703
6513
  };
5704
6514
  '/api/v1/{region}/bean/recurring-rules': {
5705
6515
  post: {
5706
- req: RecurringRuleControllerData;
6516
+ req: RecurringRuleControllerCreateData;
5707
6517
  res: {
5708
- 201: unknown;
6518
+ /**
6519
+ * Rule created successfully
6520
+ */
6521
+ 201: RecurringRuleResponseDto;
6522
+ /**
6523
+ * Invalid input data (e.g., autoCreate without accounts)
6524
+ */
6525
+ 400: unknown;
6526
+ /**
6527
+ * Rule with same name already exists
6528
+ */
6529
+ 409: unknown;
5709
6530
  };
5710
6531
  };
5711
6532
  get: {
@@ -5720,9 +6541,20 @@ export type $OpenApiTs = {
5720
6541
  };
5721
6542
  '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}': {
5722
6543
  post: {
5723
- req: RecurringRuleController1Data;
6544
+ req: RecurringRuleControllerCreateFromTransactionData;
5724
6545
  res: {
5725
- 201: unknown;
6546
+ /**
6547
+ * Rule created successfully
6548
+ */
6549
+ 201: RecurringRuleResponseDto;
6550
+ /**
6551
+ * Transaction not found
6552
+ */
6553
+ 404: ApiProblemResponseDto;
6554
+ /**
6555
+ * Rule with same name already exists or transaction already linked
6556
+ */
6557
+ 409: ApiProblemResponseDto;
5726
6558
  };
5727
6559
  };
5728
6560
  };
@@ -5741,15 +6573,33 @@ export type $OpenApiTs = {
5741
6573
  };
5742
6574
  };
5743
6575
  patch: {
5744
- req: RecurringRuleController2Data;
6576
+ req: RecurringRuleControllerUpdateData;
5745
6577
  res: {
5746
- 200: unknown;
6578
+ /**
6579
+ * Rule updated successfully
6580
+ */
6581
+ 200: RecurringRuleResponseDto;
6582
+ /**
6583
+ * Invalid input data
6584
+ */
6585
+ 400: unknown;
6586
+ /**
6587
+ * Rule not found
6588
+ */
6589
+ 404: unknown;
5747
6590
  };
5748
6591
  };
5749
6592
  delete: {
5750
- req: RecurringRuleController3Data;
6593
+ req: RecurringRuleControllerDeleteData;
5751
6594
  res: {
6595
+ /**
6596
+ * Rule deleted successfully
6597
+ */
5752
6598
  204: void;
6599
+ /**
6600
+ * Rule not found
6601
+ */
6602
+ 404: unknown;
5753
6603
  };
5754
6604
  };
5755
6605
  };
@@ -5807,37 +6657,96 @@ export type $OpenApiTs = {
5807
6657
  };
5808
6658
  '/api/v1/{region}/bean/expected-transactions/{id}/skip': {
5809
6659
  post: {
5810
- req: ExpectedTransactionControllerData;
6660
+ req: ExpectedTransactionControllerSkipData;
5811
6661
  res: {
5812
- 200: unknown;
6662
+ /**
6663
+ * Expected transaction skipped successfully
6664
+ */
6665
+ 200: ExpectedTransactionResponseDto;
6666
+ /**
6667
+ * Cannot skip - not in PENDING status
6668
+ */
6669
+ 400: unknown;
6670
+ /**
6671
+ * Expected transaction not found
6672
+ */
6673
+ 404: unknown;
5813
6674
  };
5814
6675
  };
5815
6676
  delete: {
5816
- req: ExpectedTransactionController1Data;
6677
+ req: ExpectedTransactionControllerUndoSkipData;
5817
6678
  res: {
5818
- 200: unknown;
6679
+ /**
6680
+ * Skip undone successfully
6681
+ */
6682
+ 200: ExpectedTransactionResponseDto;
6683
+ /**
6684
+ * Cannot undo - not in SKIPPED status
6685
+ */
6686
+ 400: unknown;
6687
+ /**
6688
+ * Expected transaction not found
6689
+ */
6690
+ 404: unknown;
5819
6691
  };
5820
6692
  };
5821
6693
  };
5822
6694
  '/api/v1/{region}/bean/expected-transactions/{id}/match': {
5823
6695
  post: {
5824
- req: ExpectedTransactionController2Data;
6696
+ req: ExpectedTransactionControllerConfirmMatchData;
5825
6697
  res: {
6698
+ /**
6699
+ * Match confirmed successfully
6700
+ */
5826
6701
  200: unknown;
6702
+ /**
6703
+ * Cannot match - not in PENDING status
6704
+ */
6705
+ 400: unknown;
6706
+ /**
6707
+ * Expected or actual transaction not found
6708
+ */
6709
+ 404: unknown;
6710
+ /**
6711
+ * Actual transaction already matched to another rule
6712
+ */
6713
+ 409: unknown;
5827
6714
  };
5828
6715
  };
5829
6716
  delete: {
5830
- req: ExpectedTransactionController3Data;
6717
+ req: ExpectedTransactionControllerUnmatchData;
5831
6718
  res: {
6719
+ /**
6720
+ * Match removed successfully
6721
+ */
5832
6722
  200: unknown;
6723
+ /**
6724
+ * Cannot unmatch - not in COMPLETED status
6725
+ */
6726
+ 400: unknown;
6727
+ /**
6728
+ * Expected transaction not found
6729
+ */
6730
+ 404: unknown;
5833
6731
  };
5834
6732
  };
5835
6733
  };
5836
6734
  '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
5837
6735
  post: {
5838
- req: ExpectedTransactionController4Data;
6736
+ req: ExpectedTransactionControllerEnterNowData;
5839
6737
  res: {
6738
+ /**
6739
+ * Transaction created successfully
6740
+ */
5840
6741
  201: unknown;
6742
+ /**
6743
+ * Cannot enter - not in PENDING status or missing accounts
6744
+ */
6745
+ 400: unknown;
6746
+ /**
6747
+ * Expected transaction or accounts not found
6748
+ */
6749
+ 404: unknown;
5841
6750
  };
5842
6751
  };
5843
6752
  };
@@ -5854,9 +6763,24 @@ export type $OpenApiTs = {
5854
6763
  };
5855
6764
  '/api/v1/{region}/bean/transaction-rules': {
5856
6765
  post: {
5857
- req: TransactionRuleControllerData;
6766
+ req: TransactionRuleControllerCreateData;
5858
6767
  res: {
5859
- 201: unknown;
6768
+ /**
6769
+ * Rule updated successfully (upsert mode)
6770
+ */
6771
+ 200: TransactionRuleResponseDto;
6772
+ /**
6773
+ * Validation failed
6774
+ */
6775
+ 400: ApiProblemResponseDto;
6776
+ /**
6777
+ * Unauthorized
6778
+ */
6779
+ 401: ApiProblemResponseDto;
6780
+ /**
6781
+ * Resource conflict - another process is updating this rule
6782
+ */
6783
+ 409: ApiProblemResponseDto;
5860
6784
  };
5861
6785
  };
5862
6786
  get: {
@@ -5881,6 +6805,10 @@ export type $OpenApiTs = {
5881
6805
  * Validation result
5882
6806
  */
5883
6807
  200: ValidateRuleResponseDto;
6808
+ /**
6809
+ * Validation failed
6810
+ */
6811
+ 400: ApiProblemResponseDto;
5884
6812
  /**
5885
6813
  * Unauthorized
5886
6814
  */
@@ -5890,9 +6818,20 @@ export type $OpenApiTs = {
5890
6818
  };
5891
6819
  '/api/v1/{region}/bean/transaction-rules/bulk': {
5892
6820
  post: {
5893
- req: TransactionRuleController1Data;
6821
+ req: TransactionRuleControllerBulkCreateData;
5894
6822
  res: {
5895
- 201: unknown;
6823
+ /**
6824
+ * Bulk create completed
6825
+ */
6826
+ 201: BulkCreateRulesResponseDto;
6827
+ /**
6828
+ * Invalid bulk create data
6829
+ */
6830
+ 400: ApiProblemResponseDto;
6831
+ /**
6832
+ * Unauthorized
6833
+ */
6834
+ 401: ApiProblemResponseDto;
5896
6835
  };
5897
6836
  };
5898
6837
  };
@@ -5953,15 +6892,57 @@ export type $OpenApiTs = {
5953
6892
  };
5954
6893
  };
5955
6894
  put: {
5956
- req: TransactionRuleController2Data;
6895
+ req: TransactionRuleControllerUpdateData;
5957
6896
  res: {
5958
- 200: unknown;
6897
+ /**
6898
+ * Rule updated successfully
6899
+ */
6900
+ 200: TransactionRuleResponseDto;
6901
+ /**
6902
+ * Validation failed
6903
+ */
6904
+ 400: ApiProblemResponseDto;
6905
+ /**
6906
+ * Unauthorized
6907
+ */
6908
+ 401: ApiProblemResponseDto;
6909
+ /**
6910
+ * Forbidden - not owner of rule
6911
+ */
6912
+ 403: ApiProblemResponseDto;
6913
+ /**
6914
+ * Rule not found
6915
+ */
6916
+ 404: ApiProblemResponseDto;
6917
+ /**
6918
+ * Resource conflict - rule is being modified by another process
6919
+ */
6920
+ 409: ApiProblemResponseDto;
5959
6921
  };
5960
6922
  };
5961
6923
  delete: {
5962
- req: TransactionRuleController3Data;
6924
+ req: TransactionRuleControllerDeleteData;
5963
6925
  res: {
6926
+ /**
6927
+ * Rule deleted successfully
6928
+ */
5964
6929
  204: void;
6930
+ /**
6931
+ * Unauthorized
6932
+ */
6933
+ 401: ApiProblemResponseDto;
6934
+ /**
6935
+ * Forbidden - not owner of rule
6936
+ */
6937
+ 403: ApiProblemResponseDto;
6938
+ /**
6939
+ * Rule not found
6940
+ */
6941
+ 404: ApiProblemResponseDto;
6942
+ /**
6943
+ * Resource conflict - rule is being modified by another process
6944
+ */
6945
+ 409: ApiProblemResponseDto;
5965
6946
  };
5966
6947
  };
5967
6948
  };
@@ -6087,7 +7068,6 @@ export type $OpenApiTs = {
6087
7068
  };
6088
7069
  '/api/v1/users/asset-liability-summary': {
6089
7070
  get: {
6090
- req: UserControllerGetAssetLiabilitySummaryData;
6091
7071
  res: {
6092
7072
  /**
6093
7073
  * Summary retrieved successfully
@@ -6098,7 +7078,6 @@ export type $OpenApiTs = {
6098
7078
  };
6099
7079
  '/api/v1/admin/properties': {
6100
7080
  get: {
6101
- req: PropertyControllerGetAllData;
6102
7081
  res: {
6103
7082
  /**
6104
7083
  * Properties retrieved successfully
@@ -6138,15 +7117,48 @@ export type $OpenApiTs = {
6138
7117
  };
6139
7118
  };
6140
7119
  put: {
6141
- req: PropertyControllerData;
7120
+ req: PropertyControllerUpdateData;
6142
7121
  res: {
7122
+ /**
7123
+ * Property updated successfully
7124
+ */
6143
7125
  200: unknown;
7126
+ /**
7127
+ * Unauthorized
7128
+ */
7129
+ 401: unknown;
7130
+ /**
7131
+ * Forbidden - insufficient permissions
7132
+ */
7133
+ 403: unknown;
6144
7134
  };
6145
7135
  };
6146
7136
  delete: {
6147
- req: PropertyController1Data;
7137
+ req: PropertyControllerDeleteData;
6148
7138
  res: {
7139
+ /**
7140
+ * Property deleted successfully
7141
+ */
6149
7142
  204: void;
7143
+ /**
7144
+ * Unauthorized
7145
+ */
7146
+ 401: unknown;
7147
+ /**
7148
+ * Forbidden - insufficient permissions
7149
+ */
7150
+ 403: unknown;
7151
+ /**
7152
+ * Property not found
7153
+ */
7154
+ 404: unknown;
7155
+ };
7156
+ };
7157
+ };
7158
+ '/api/v1/{region}/bean/export/beancount': {
7159
+ get: {
7160
+ res: {
7161
+ 200: unknown;
6150
7162
  };
6151
7163
  };
6152
7164
  };
@@ -6219,6 +7231,29 @@ export type $OpenApiTs = {
6219
7231
  };
6220
7232
  };
6221
7233
  };
7234
+ '/api/v1/{region}/bean/import/beancount': {
7235
+ post: {
7236
+ req: FileImportControllerImportBeancountData;
7237
+ res: {
7238
+ /**
7239
+ * Beancount file imported successfully
7240
+ */
7241
+ 200: {
7242
+ imported?: number;
7243
+ skipped?: number;
7244
+ failed?: number;
7245
+ accountsCreated?: number;
7246
+ errors?: Array<{
7247
+ [key: string]: unknown;
7248
+ }>;
7249
+ };
7250
+ /**
7251
+ * Bad request - invalid file or no file uploaded
7252
+ */
7253
+ 400: ApiProblemResponseDto;
7254
+ };
7255
+ };
7256
+ };
6222
7257
  '/api/v1/{region}/bean/import/config/{importerId}': {
6223
7258
  get: {
6224
7259
  req: ImporterConfigControllerGetConfigData;
@@ -6230,25 +7265,115 @@ export type $OpenApiTs = {
6230
7265
  /**
6231
7266
  * Invalid input - Unsupported importer
6232
7267
  */
6233
- 400: ApiProblemResponseDto;
7268
+ 400: ApiProblemResponseDto;
7269
+ /**
7270
+ * Unauthorized - Authentication required
7271
+ */
7272
+ 401: ApiProblemResponseDto;
7273
+ };
7274
+ };
7275
+ put: {
7276
+ req: ImporterConfigControllerUpdateConfigData;
7277
+ res: {
7278
+ /**
7279
+ * Configuration updated successfully
7280
+ */
7281
+ 200: ImporterConfigDto;
7282
+ /**
7283
+ * Invalid input - Validation failed
7284
+ */
7285
+ 400: ApiProblemResponseDto;
7286
+ /**
7287
+ * Configuration not found
7288
+ */
7289
+ 404: ApiProblemResponseDto;
7290
+ };
7291
+ };
7292
+ };
7293
+ '/api/v1/{region}/bean/import/config/{importerId}/reset': {
7294
+ post: {
7295
+ req: ImporterConfigControllerResetConfigData;
7296
+ res: {
7297
+ /**
7298
+ * Configuration reset successfully
7299
+ */
7300
+ 200: ImporterConfigDto;
7301
+ /**
7302
+ * Invalid input - Unsupported importer
7303
+ */
7304
+ 400: ApiProblemResponseDto;
7305
+ };
7306
+ };
7307
+ };
7308
+ '/api/v1/bean/platforms': {
7309
+ get: {
7310
+ res: {
7311
+ /**
7312
+ * List of platforms with binding and account counts
7313
+ */
7314
+ 200: unknown;
7315
+ };
7316
+ };
7317
+ post: {
7318
+ req: PlatformControllerCreateData;
7319
+ res: {
7320
+ /**
7321
+ * Platform created successfully
7322
+ */
7323
+ 201: unknown;
7324
+ /**
7325
+ * Platform already exists
7326
+ */
7327
+ 409: unknown;
7328
+ };
7329
+ };
7330
+ };
7331
+ '/api/v1/bean/platforms/list': {
7332
+ get: {
7333
+ res: {
7334
+ /**
7335
+ * List of platforms with user binding status
7336
+ */
7337
+ 200: unknown;
7338
+ };
7339
+ };
7340
+ };
7341
+ '/api/v1/bean/platforms/match': {
7342
+ get: {
7343
+ req: PlatformControllerMatchPlatformsData;
7344
+ res: {
6234
7345
  /**
6235
- * Unauthorized - Authentication required
7346
+ * List of matching platforms with suggested segment names
6236
7347
  */
6237
- 401: ApiProblemResponseDto;
7348
+ 200: unknown;
6238
7349
  };
6239
7350
  };
7351
+ };
7352
+ '/api/v1/bean/platforms/{id}': {
6240
7353
  put: {
6241
- req: ImporterConfigControllerData;
7354
+ req: PlatformControllerUpdateData;
6242
7355
  res: {
7356
+ /**
7357
+ * Platform updated successfully
7358
+ */
6243
7359
  200: unknown;
7360
+ /**
7361
+ * Platform not found
7362
+ */
7363
+ 404: unknown;
6244
7364
  };
6245
7365
  };
6246
- };
6247
- '/api/v1/{region}/bean/import/config/{importerId}/reset': {
6248
- post: {
6249
- req: ImporterConfigController1Data;
7366
+ delete: {
7367
+ req: PlatformControllerDeleteData;
6250
7368
  res: {
6251
- 201: unknown;
7369
+ /**
7370
+ * Platform deleted successfully
7371
+ */
7372
+ 204: void;
7373
+ /**
7374
+ * Platform not found
7375
+ */
7376
+ 404: unknown;
6252
7377
  };
6253
7378
  };
6254
7379
  };
@@ -6305,6 +7430,21 @@ export type $OpenApiTs = {
6305
7430
  };
6306
7431
  };
6307
7432
  };
7433
+ '/api/v1/{region}/bean/import/parser-telemetry': {
7434
+ post: {
7435
+ req: TelemetryControllerReportTelemetryData;
7436
+ res: {
7437
+ /**
7438
+ * Telemetry report received
7439
+ */
7440
+ 200: unknown;
7441
+ /**
7442
+ * Unauthorized
7443
+ */
7444
+ 401: unknown;
7445
+ };
7446
+ };
7447
+ };
6308
7448
  '/api/v1/{region}/bean/nlp/process': {
6309
7449
  post: {
6310
7450
  req: NlpControllerProcessNaturalLanguageData;
@@ -6352,117 +7492,6 @@ export type $OpenApiTs = {
6352
7492
  };
6353
7493
  };
6354
7494
  };
6355
- '/api/v1/bean/platforms': {
6356
- get: {
6357
- req: PlatformControllerFindAllData;
6358
- res: {
6359
- /**
6360
- * List of platforms with binding and account counts
6361
- */
6362
- 200: unknown;
6363
- };
6364
- };
6365
- post: {
6366
- req: PlatformControllerData;
6367
- res: {
6368
- 201: unknown;
6369
- };
6370
- };
6371
- };
6372
- '/api/v1/bean/platforms/list': {
6373
- get: {
6374
- req: PlatformControllerGetPlatformListData;
6375
- res: {
6376
- /**
6377
- * List of platforms with user binding status
6378
- */
6379
- 200: unknown;
6380
- };
6381
- };
6382
- };
6383
- '/api/v1/bean/platforms/{id}': {
6384
- put: {
6385
- req: PlatformController1Data;
6386
- res: {
6387
- 200: unknown;
6388
- };
6389
- };
6390
- delete: {
6391
- req: PlatformController2Data;
6392
- res: {
6393
- 204: void;
6394
- };
6395
- };
6396
- };
6397
- '/api/v1/market/symbols/lookup': {
6398
- get: {
6399
- req: SymbolControllerLookupSymbolData;
6400
- res: {
6401
- /**
6402
- * Symbols found successfully
6403
- */
6404
- 200: unknown;
6405
- /**
6406
- * Invalid query parameters
6407
- */
6408
- 400: unknown;
6409
- };
6410
- };
6411
- };
6412
- '/api/v1/market/symbols/{dataSource}/{symbol}': {
6413
- get: {
6414
- req: SymbolControllerGetSymbolDataData;
6415
- res: {
6416
- /**
6417
- * Symbol data retrieved successfully
6418
- */
6419
- 200: unknown;
6420
- /**
6421
- * Invalid data source
6422
- */
6423
- 400: unknown;
6424
- /**
6425
- * Symbol not found
6426
- */
6427
- 404: unknown;
6428
- };
6429
- };
6430
- };
6431
- '/api/v1/market/symbols/{dataSource}/{symbol}/{dateString}': {
6432
- get: {
6433
- req: SymbolControllerGatherSymbolForDateData;
6434
- res: {
6435
- /**
6436
- * Historical data retrieved successfully
6437
- */
6438
- 200: unknown;
6439
- /**
6440
- * Invalid date format
6441
- */
6442
- 400: unknown;
6443
- /**
6444
- * Symbol data not found for specified date
6445
- */
6446
- 404: unknown;
6447
- };
6448
- };
6449
- };
6450
- '/api/v1/market/symbols/yahoo/batch-update': {
6451
- put: {
6452
- req: SymbolControllerData;
6453
- res: {
6454
- 200: unknown;
6455
- };
6456
- };
6457
- };
6458
- '/api/v1/cache/flush': {
6459
- post: {
6460
- req: CacheControllerFlushCacheData;
6461
- res: {
6462
- 201: unknown;
6463
- };
6464
- };
6465
- };
6466
7495
  '/api/v1/{region}/dashboard/net-worth': {
6467
7496
  get: {
6468
7497
  req: DashboardControllerGetNetWorthData;
@@ -6571,9 +7600,15 @@ export type $OpenApiTs = {
6571
7600
  };
6572
7601
  '/api/v1/auth/api-keys': {
6573
7602
  post: {
6574
- req: ApiKeysControllerData;
6575
7603
  res: {
7604
+ /**
7605
+ * API key created successfully
7606
+ */
6576
7607
  201: unknown;
7608
+ /**
7609
+ * Insufficient permissions to create API key
7610
+ */
7611
+ 403: unknown;
6577
7612
  };
6578
7613
  };
6579
7614
  };
@@ -6592,6 +7627,13 @@ export type $OpenApiTs = {
6592
7627
  };
6593
7628
  };
6594
7629
  };
7630
+ '/api/v1/cache/flush': {
7631
+ post: {
7632
+ res: {
7633
+ 201: unknown;
7634
+ };
7635
+ };
7636
+ };
6595
7637
  '/api/v1/market/exchange-rates/{symbol}/{dateString}': {
6596
7638
  get: {
6597
7639
  req: ExchangeRateControllerGetExchangeRateData;
@@ -6609,7 +7651,6 @@ export type $OpenApiTs = {
6609
7651
  };
6610
7652
  '/api/v1/health': {
6611
7653
  get: {
6612
- req: HealthControllerGetHealthData;
6613
7654
  res: {
6614
7655
  /**
6615
7656
  * Service is healthy
@@ -6624,7 +7665,6 @@ export type $OpenApiTs = {
6624
7665
  };
6625
7666
  '/api/v1/health/database': {
6626
7667
  get: {
6627
- req: HealthControllerCheckDatabaseData;
6628
7668
  res: {
6629
7669
  /**
6630
7670
  * Database is healthy
@@ -6637,9 +7677,22 @@ export type $OpenApiTs = {
6637
7677
  };
6638
7678
  };
6639
7679
  };
7680
+ '/api/v1/health/openbb': {
7681
+ get: {
7682
+ res: {
7683
+ /**
7684
+ * OpenBB status
7685
+ */
7686
+ 200: unknown;
7687
+ /**
7688
+ * OpenBB unavailable
7689
+ */
7690
+ 503: unknown;
7691
+ };
7692
+ };
7693
+ };
6640
7694
  '/api/v1/health/redis': {
6641
7695
  get: {
6642
- req: HealthControllerCheckRedisData;
6643
7696
  res: {
6644
7697
  /**
6645
7698
  * Redis is healthy
@@ -6654,7 +7707,6 @@ export type $OpenApiTs = {
6654
7707
  };
6655
7708
  '/api/v1/health/circuit-breakers': {
6656
7709
  get: {
6657
- req: HealthControllerGetCircuitBreakersHealthData;
6658
7710
  res: {
6659
7711
  /**
6660
7712
  * Circuit breaker status
@@ -6692,7 +7744,6 @@ export type $OpenApiTs = {
6692
7744
  };
6693
7745
  '/api/v1/health/metrics': {
6694
7746
  get: {
6695
- req: HealthControllerGetMetricsData;
6696
7747
  res: {
6697
7748
  /**
6698
7749
  * Health metrics
@@ -6705,70 +7756,8 @@ export type $OpenApiTs = {
6705
7756
  };
6706
7757
  };
6707
7758
  };
6708
- '/api/v1/health/data-enhancer/{name}': {
6709
- get: {
6710
- req: HealthControllerGetHealthOfDataEnhancerData;
6711
- res: {
6712
- /**
6713
- * Data enhancer is healthy
6714
- */
6715
- 200: unknown;
6716
- /**
6717
- * Unauthorized
6718
- */
6719
- 401: unknown;
6720
- /**
6721
- * Data enhancer unavailable
6722
- */
6723
- 503: unknown;
6724
- };
6725
- };
6726
- };
6727
- '/api/v1/health/data-providers': {
6728
- get: {
6729
- req: HealthControllerCheckDataProvidersData;
6730
- res: {
6731
- /**
6732
- * Data providers health status
6733
- */
6734
- 200: unknown;
6735
- /**
6736
- * Unauthorized
6737
- */
6738
- 401: unknown;
6739
- /**
6740
- * Data providers check failed
6741
- */
6742
- 503: unknown;
6743
- };
6744
- };
6745
- };
6746
- '/api/v1/health/data-provider/{dataSource}': {
6747
- get: {
6748
- req: HealthControllerGetHealthOfDataProviderData;
6749
- res: {
6750
- /**
6751
- * Data provider is healthy
6752
- */
6753
- 200: unknown;
6754
- /**
6755
- * Invalid data source
6756
- */
6757
- 400: unknown;
6758
- /**
6759
- * Unauthorized
6760
- */
6761
- 401: unknown;
6762
- /**
6763
- * Data provider unavailable
6764
- */
6765
- 503: unknown;
6766
- };
6767
- };
6768
- };
6769
7759
  '/api/v1/system/info': {
6770
7760
  get: {
6771
- req: InfoControllerGetInfoData;
6772
7761
  res: {
6773
7762
  /**
6774
7763
  * System information retrieved successfully
@@ -6777,71 +7766,4 @@ export type $OpenApiTs = {
6777
7766
  };
6778
7767
  };
6779
7768
  };
6780
- '/api/v1/market/logos/{dataSource}/{symbol}': {
6781
- get: {
6782
- req: LogoControllerGetLogoByDataSourceAndSymbolData;
6783
- res: {
6784
- /**
6785
- * Logo image stream (favicon)
6786
- */
6787
- 200: unknown;
6788
- /**
6789
- * Unauthorized
6790
- */
6791
- 401: unknown;
6792
- /**
6793
- * Logo not found for the specified asset
6794
- */
6795
- 404: unknown;
6796
- /**
6797
- * Service unavailable
6798
- */
6799
- 503: unknown;
6800
- };
6801
- };
6802
- };
6803
- '/api/v1/market/logos': {
6804
- get: {
6805
- req: LogoControllerGetLogoByUrlData;
6806
- res: {
6807
- /**
6808
- * Logo image stream (favicon)
6809
- */
6810
- 200: unknown;
6811
- /**
6812
- * Unauthorized
6813
- */
6814
- 401: unknown;
6815
- /**
6816
- * Service unavailable
6817
- */
6818
- 503: unknown;
6819
- };
6820
- };
6821
- };
6822
- '/api/v1/market-data/{dataSource}/{symbol}': {
6823
- get: {
6824
- req: MarketDataControllerGetMarketDataBySymbolData;
6825
- res: {
6826
- /**
6827
- * Market data retrieved successfully
6828
- */
6829
- 200: unknown;
6830
- /**
6831
- * Insufficient permissions to read market data
6832
- */
6833
- 403: unknown;
6834
- /**
6835
- * Market data not found
6836
- */
6837
- 404: unknown;
6838
- };
6839
- };
6840
- post: {
6841
- req: MarketDataControllerData;
6842
- res: {
6843
- 201: unknown;
6844
- };
6845
- };
6846
- };
6847
7769
  };