@firela/api-types 0.0.0-canary.209967 → 0.0.0-canary.32edff08

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)
@@ -304,7 +393,7 @@ export type PostingResponseDto = {
304
393
  */
305
394
  account: string;
306
395
  /**
307
- * Amount (may be null if interpolated)
396
+ * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
308
397
  */
309
398
  units?: string;
310
399
  /**
@@ -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
@@ -453,7 +575,7 @@ export type PostingDetailDto = {
453
575
  */
454
576
  accountName: string;
455
577
  /**
456
- * Amount (may be null if interpolated)
578
+ * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
457
579
  */
458
580
  units?: string;
459
581
  /**
@@ -542,9 +664,9 @@ export type TransactionDetailDto = {
542
664
  */
543
665
  status: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
544
666
  /**
545
- * Source type (how the transaction was created)
667
+ * Source type (free-form string from transaction metadata, e.g. import, api)
546
668
  */
547
- sourceType?: 'NLP' | 'CSV' | 'OCR' | 'API';
669
+ sourceType?: string;
548
670
  /**
549
671
  * Source platform (e.g., alipay, wechat)
550
672
  */
@@ -587,11 +709,6 @@ export type flag2 =
587
709
  */
588
710
  export type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
589
711
 
590
- /**
591
- * Source type (how the transaction was created)
592
- */
593
- export type sourceType = 'NLP' | 'CSV' | 'OCR' | 'API';
594
-
595
712
  export type TransactionListResponseDto = {
596
713
  /**
597
714
  * List of transactions
@@ -611,6 +728,24 @@ export type TransactionListResponseDto = {
611
728
  offset: number;
612
729
  };
613
730
 
731
+ export type TagSuggestionDto = {
732
+ /**
733
+ * Tag name
734
+ */
735
+ tag: string;
736
+ /**
737
+ * Usage count across ACTIVE transactions
738
+ */
739
+ count: number;
740
+ };
741
+
742
+ export type TagSuggestionsResponseDto = {
743
+ /**
744
+ * Tag suggestions sorted as requested
745
+ */
746
+ data: Array<TagSuggestionDto>;
747
+ };
748
+
614
749
  export type UpdateTransactionDto = {
615
750
  /**
616
751
  * Transaction flag (CLEARED, PENDING, etc.)
@@ -646,66 +781,6 @@ export type UpdateTransactionDto = {
646
781
  };
647
782
  };
648
783
 
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
784
  export type BalanceResponseDto = {
710
785
  /**
711
786
  * Account name
@@ -772,9 +847,9 @@ export type TransactionSummaryDto = {
772
847
  */
773
848
  accountName?: string;
774
849
  /**
775
- * Source type (NLP, CSV, OCR, API)
850
+ * Source type (free-form string from transaction metadata, e.g. import, api)
776
851
  */
777
- sourceType?: 'NLP' | 'CSV' | 'OCR' | 'API';
852
+ sourceType?: string;
778
853
  /**
779
854
  * Source platform (e.g., alipay, wechat)
780
855
  */
@@ -804,19 +879,25 @@ export type ReviewSummaryDto = {
804
879
  */
805
880
  confidence: number;
806
881
  /**
807
- * Confidence level derived from score
882
+ * Confidence level derived from score. Null for error-type reviews (ACCOUNT_VALIDATION/PIPELINE_ERROR) which carry no confidence.
883
+ */
884
+ confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW' | null;
885
+ /**
886
+ * i18n message key for summary (e.g., review.summary.duplicate). Translate on frontend with summaryParams.
808
887
  */
809
- confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW';
888
+ summaryKey: string;
810
889
  /**
811
- * Human-readable summary of the review item
890
+ * Parameters for summary message interpolation (e.g., { date: "2024-01-15", amount: "50" })
812
891
  */
813
- summary: string;
892
+ summaryParams?: {
893
+ [key: string]: string;
894
+ };
814
895
  /**
815
896
  * Human-readable reasons for branching
816
897
  */
817
898
  matchReasons: Array<string>;
818
899
  /**
819
- * Source type (NLP, CSV, OCR, API)
900
+ * Source type (free-form string from transaction metadata, e.g. import, api)
820
901
  */
821
902
  sourceType: string;
822
903
  /**
@@ -869,7 +950,7 @@ export type type2 =
869
950
  export type status3 = 'PENDING' | 'RESOLVED' | 'EXPIRED' | 'CANCELLED';
870
951
 
871
952
  /**
872
- * Confidence level derived from score
953
+ * Confidence level derived from score. Null for error-type reviews (ACCOUNT_VALIDATION/PIPELINE_ERROR) which carry no confidence.
873
954
  */
874
955
  export type confidenceLevel = 'HIGH' | 'MEDIUM' | 'LOW';
875
956
 
@@ -914,7 +995,18 @@ export type DecisionOptionDto = {
914
995
  /**
915
996
  * The action value to submit (e.g., UPGRADE_REPLACE, ACCEPT)
916
997
  */
917
- value: string;
998
+ value:
999
+ | 'UPGRADE_REPLACE'
1000
+ | 'LINK_KEEP_BOTH'
1001
+ | 'IGNORE_NEW'
1002
+ | 'CONFIRM_DIFFERENT'
1003
+ | 'ACCEPT'
1004
+ | 'REJECT'
1005
+ | 'ACCEPT_AND_LEARN'
1006
+ | 'CHOOSE_OTHER'
1007
+ | 'CANCEL'
1008
+ | 'FIX'
1009
+ | 'IGNORE';
918
1010
  /**
919
1011
  * i18n message key for display label (e.g., review.payee.accept.label)
920
1012
  */
@@ -929,6 +1021,22 @@ export type DecisionOptionDto = {
929
1021
  recommended?: boolean;
930
1022
  };
931
1023
 
1024
+ /**
1025
+ * The action value to submit (e.g., UPGRADE_REPLACE, ACCEPT)
1026
+ */
1027
+ export type value =
1028
+ | 'UPGRADE_REPLACE'
1029
+ | 'LINK_KEEP_BOTH'
1030
+ | 'IGNORE_NEW'
1031
+ | 'CONFIRM_DIFFERENT'
1032
+ | 'ACCEPT'
1033
+ | 'REJECT'
1034
+ | 'ACCEPT_AND_LEARN'
1035
+ | 'CHOOSE_OTHER'
1036
+ | 'CANCEL'
1037
+ | 'FIX'
1038
+ | 'IGNORE';
1039
+
932
1040
  export type ReviewDetailDto = {
933
1041
  /**
934
1042
  * Review item ID
@@ -952,19 +1060,25 @@ export type ReviewDetailDto = {
952
1060
  */
953
1061
  confidence: number;
954
1062
  /**
955
- * Confidence level derived from score
1063
+ * Confidence level derived from score. Null for error-type reviews (ACCOUNT_VALIDATION/PIPELINE_ERROR) which carry no confidence.
1064
+ */
1065
+ confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW' | null;
1066
+ /**
1067
+ * i18n message key for summary (e.g., review.summary.duplicate). Translate on frontend with summaryParams.
956
1068
  */
957
- confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW';
1069
+ summaryKey: string;
958
1070
  /**
959
- * Human-readable summary of the review item
1071
+ * Parameters for summary message interpolation (e.g., { date: "2024-01-15", amount: "50" })
960
1072
  */
961
- summary: string;
1073
+ summaryParams?: {
1074
+ [key: string]: string;
1075
+ };
962
1076
  /**
963
1077
  * Human-readable reasons for branching
964
1078
  */
965
1079
  matchReasons: Array<string>;
966
1080
  /**
967
- * Source type (NLP, CSV, OCR, API)
1081
+ * Source type (free-form string from transaction metadata, e.g. import, api)
968
1082
  */
969
1083
  sourceType: string;
970
1084
  /**
@@ -1015,6 +1129,162 @@ export type ReviewDetailDto = {
1015
1129
  transactionId?: string;
1016
1130
  };
1017
1131
 
1132
+ export type ResolveReviewDto = {
1133
+ /**
1134
+ * Decision action. Valid actions vary by review type — see DecisionOptionDto.value returned by the review detail endpoint.
1135
+ */
1136
+ action:
1137
+ | 'UPGRADE_REPLACE'
1138
+ | 'LINK_KEEP_BOTH'
1139
+ | 'IGNORE_NEW'
1140
+ | 'CONFIRM_DIFFERENT'
1141
+ | 'ACCEPT'
1142
+ | 'REJECT'
1143
+ | 'ACCEPT_AND_LEARN'
1144
+ | 'CHOOSE_OTHER'
1145
+ | 'CANCEL'
1146
+ | 'FIX'
1147
+ | 'IGNORE';
1148
+ /**
1149
+ * Additional data for the decision (e.g., selected account ID)
1150
+ */
1151
+ data?: {
1152
+ [key: string]: unknown;
1153
+ };
1154
+ };
1155
+
1156
+ /**
1157
+ * Decision action. Valid actions vary by review type — see DecisionOptionDto.value returned by the review detail endpoint.
1158
+ */
1159
+ export type action =
1160
+ | 'UPGRADE_REPLACE'
1161
+ | 'LINK_KEEP_BOTH'
1162
+ | 'IGNORE_NEW'
1163
+ | 'CONFIRM_DIFFERENT'
1164
+ | 'ACCEPT'
1165
+ | 'REJECT'
1166
+ | 'ACCEPT_AND_LEARN'
1167
+ | 'CHOOSE_OTHER'
1168
+ | 'CANCEL'
1169
+ | 'FIX'
1170
+ | 'IGNORE';
1171
+
1172
+ export type ResolveResultDto = {
1173
+ /**
1174
+ * Whether resolution was successful
1175
+ */
1176
+ success: boolean;
1177
+ /**
1178
+ * i18n message key for result message (e.g., review.payee.result.mapped)
1179
+ */
1180
+ messageKey?: string;
1181
+ /**
1182
+ * Parameters for message interpolation (e.g., { name: "PayeeName" })
1183
+ */
1184
+ messageParams?: {
1185
+ [key: string]: string;
1186
+ };
1187
+ /**
1188
+ * Resolution ID for undo
1189
+ */
1190
+ resolutionId: string;
1191
+ /**
1192
+ * Whether this decision can be undone
1193
+ */
1194
+ canUndo: boolean;
1195
+ /**
1196
+ * Deadline for undo (24h from resolution)
1197
+ */
1198
+ undoDeadline: string;
1199
+ /**
1200
+ * Rule ID if learning was triggered (ACCEPT_AND_LEARN actions). Use this to deep-link to the rule management page.
1201
+ */
1202
+ learnedRuleId?: string;
1203
+ };
1204
+
1205
+ export type UndoResultDto = {
1206
+ /**
1207
+ * Whether undo was successful
1208
+ */
1209
+ success: boolean;
1210
+ /**
1211
+ * Message
1212
+ */
1213
+ message?: string;
1214
+ /**
1215
+ * Review item ID that was restored
1216
+ */
1217
+ reviewId: string;
1218
+ };
1219
+
1220
+ export type BatchResolveDto = {
1221
+ /**
1222
+ * Review item IDs to resolve
1223
+ */
1224
+ reviewIds: Array<string>;
1225
+ /**
1226
+ * Decision action to apply to all items
1227
+ */
1228
+ action:
1229
+ | 'UPGRADE_REPLACE'
1230
+ | 'LINK_KEEP_BOTH'
1231
+ | 'IGNORE_NEW'
1232
+ | 'CONFIRM_DIFFERENT'
1233
+ | 'ACCEPT'
1234
+ | 'REJECT'
1235
+ | 'ACCEPT_AND_LEARN'
1236
+ | 'CHOOSE_OTHER'
1237
+ | 'CANCEL'
1238
+ | 'FIX'
1239
+ | 'IGNORE';
1240
+ /**
1241
+ * Additional data for the decision
1242
+ */
1243
+ data?: {
1244
+ [key: string]: unknown;
1245
+ };
1246
+ };
1247
+
1248
+ export type BatchResolveResultDto = {
1249
+ /**
1250
+ * Number of successfully resolved items
1251
+ */
1252
+ successCount: number;
1253
+ /**
1254
+ * Number of failed items
1255
+ */
1256
+ failedCount: number;
1257
+ /**
1258
+ * Details for each item
1259
+ */
1260
+ results: Array<string>;
1261
+ };
1262
+
1263
+ export type CreatePayeeDto = {
1264
+ /**
1265
+ * User's original payee name (e.g., 'Starbucks', 'McDonald'). This is the raw payee string as entered by the user.
1266
+ */
1267
+ payee: string;
1268
+ /**
1269
+ * Optional reference to global PayeeProfile for standardized data (merchant info, i18n keys, categories)
1270
+ */
1271
+ payeeProfileId?: string;
1272
+ /**
1273
+ * User's custom category for this payee (overrides PayeeProfile category)
1274
+ */
1275
+ customCategory?: string;
1276
+ /**
1277
+ * User's custom tags for this payee (e.g., ['favorite', 'work_meal'])
1278
+ */
1279
+ customTags?: Array<string>;
1280
+ /**
1281
+ * Metadata for extended information (location, notes, contact info, etc.)
1282
+ */
1283
+ meta?: {
1284
+ [key: string]: unknown;
1285
+ };
1286
+ };
1287
+
1018
1288
  export type PayeeResponseDto = {
1019
1289
  /**
1020
1290
  * Unique identifier (UUID)
@@ -1031,15 +1301,11 @@ export type PayeeResponseDto = {
1031
1301
  /**
1032
1302
  * Reference to global PayeeProfile (merchant info, i18n keys, categories)
1033
1303
  */
1034
- payeeProfileId?: {
1035
- [key: string]: unknown;
1036
- } | null;
1304
+ payeeProfileId?: string | null;
1037
1305
  /**
1038
1306
  * User's custom category (overrides PayeeProfile category if set)
1039
1307
  */
1040
- customCategory?: {
1041
- [key: string]: unknown;
1042
- } | null;
1308
+ customCategory?: string | null;
1043
1309
  /**
1044
1310
  * User's custom tags (e.g., ['favorite', 'work_meal'])
1045
1311
  */
@@ -1105,27 +1371,46 @@ export type PayeeStatsResponseDto = {
1105
1371
  lastUsedAt: string;
1106
1372
  };
1107
1373
 
1108
- export type PayeeProfileResponseDto = {
1374
+ export type UpdatePayeeDto = {
1109
1375
  /**
1110
- * Unique identifier (UUID)
1376
+ * Optional reference to global PayeeProfile for standardized data (merchant info, i18n keys, categories)
1111
1377
  */
1112
- id: string;
1378
+ payeeProfileId?: string;
1113
1379
  /**
1114
- * Canonical payee name (unique, case-insensitive)
1380
+ * User's custom category for this payee (overrides PayeeProfile category)
1115
1381
  */
1116
- canonical: string;
1382
+ customCategory?: string;
1117
1383
  /**
1118
- * Multi-language aliases
1384
+ * User's custom tags for this payee (e.g., ['favorite', 'work_meal'])
1119
1385
  */
1120
- aliases: Array<string>;
1386
+ customTags?: Array<string>;
1121
1387
  /**
1122
- * Translation key for i18n
1388
+ * Metadata for extended information (location, notes, contact info, etc.). Will merge with existing metadata.
1123
1389
  */
1124
- i18nKey?: {
1390
+ meta?: {
1125
1391
  [key: string]: unknown;
1126
- } | null;
1392
+ };
1127
1393
  /**
1128
- * Payee category
1394
+ * Enable or disable this payee. Disabled payees will not appear in autocomplete suggestions.
1395
+ */
1396
+ isActive?: boolean;
1397
+ };
1398
+
1399
+ export type CreatePayeeProfileDto = {
1400
+ /**
1401
+ * Canonical payee name (unique, case-insensitive). This is the primary identifier for the payee.
1402
+ */
1403
+ canonical: string;
1404
+ /**
1405
+ * Multi-language aliases for the payee. Used for matching user input in different languages.
1406
+ */
1407
+ aliases?: Array<string>;
1408
+ /**
1409
+ * Translation key for i18n integration (XLIFF translation system)
1410
+ */
1411
+ i18nKey?: string;
1412
+ /**
1413
+ * Payee category classification
1129
1414
  */
1130
1415
  category:
1131
1416
  | 'RESTAURANT'
@@ -1152,75 +1437,47 @@ export type PayeeProfileResponseDto = {
1152
1437
  | 'HOTEL'
1153
1438
  | 'OTHER';
1154
1439
  /**
1155
- * Sub-category
1440
+ * Sub-category for more specific classification
1156
1441
  */
1157
- subCategory?: {
1158
- [key: string]: unknown;
1159
- } | null;
1442
+ subCategory?: string;
1160
1443
  /**
1161
- * Country codes where payee operates
1444
+ * Country/region codes where the payee operates (ISO 3166-1 alpha-2)
1162
1445
  */
1163
- countries: Array<string>;
1446
+ countries?: Array<string>;
1164
1447
  /**
1165
- * Primary operating country
1448
+ * Primary operating country (ISO 3166-1 alpha-2)
1166
1449
  */
1167
- primaryCountry?: {
1168
- [key: string]: unknown;
1169
- } | null;
1450
+ primaryCountry?: string;
1170
1451
  /**
1171
- * Search keywords
1452
+ * Search keywords for fuzzy matching
1172
1453
  */
1173
- keywords: Array<string>;
1454
+ keywords?: Array<string>;
1174
1455
  /**
1175
- * Logo URL
1456
+ * Payee logo URL
1176
1457
  */
1177
- logoUrl?: {
1178
- [key: string]: unknown;
1179
- } | null;
1458
+ logoUrl?: string;
1180
1459
  /**
1181
- * Official website
1460
+ * Official website URL
1182
1461
  */
1183
- website?: {
1184
- [key: string]: unknown;
1185
- } | null;
1462
+ website?: string;
1186
1463
  /**
1187
- * Description
1464
+ * Payee description
1188
1465
  */
1189
- description?: {
1190
- [key: string]: unknown;
1191
- } | null;
1466
+ description?: string;
1192
1467
  /**
1193
- * Extended metadata
1468
+ * Extended metadata (business hours, contact info, additional details)
1194
1469
  */
1195
- meta: {
1470
+ meta?: {
1196
1471
  [key: string]: unknown;
1197
1472
  };
1198
1473
  /**
1199
- * Data source
1200
- */
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
1474
+ * Data source for this profile
1218
1475
  */
1219
- updatedAt: string;
1476
+ dataSource?: 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1220
1477
  };
1221
1478
 
1222
1479
  /**
1223
- * Payee category
1480
+ * Payee category classification
1224
1481
  */
1225
1482
  export type category =
1226
1483
  | 'RESTAURANT'
@@ -1248,52 +1505,100 @@ export type category =
1248
1505
  | 'OTHER';
1249
1506
 
1250
1507
  /**
1251
- * Data source
1508
+ * Data source for this profile
1252
1509
  */
1253
1510
  export type dataSource = 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1254
1511
 
1255
- export type PayeeProfileListResponseDto = {
1512
+ export type PayeeProfileResponseDto = {
1256
1513
  /**
1257
- * List of payee profiles
1514
+ * Unique identifier (UUID)
1258
1515
  */
1259
- items: Array<PayeeProfileResponseDto>;
1516
+ id: string;
1260
1517
  /**
1261
- * Total count of matching records
1518
+ * Canonical payee name (unique, case-insensitive)
1262
1519
  */
1263
- total: number;
1264
- };
1265
-
1266
- export type CommodityResponseDto = {
1520
+ canonical: string;
1267
1521
  /**
1268
- * Unique identifier
1522
+ * Multi-language aliases
1269
1523
  */
1270
- id: string;
1524
+ aliases: Array<string>;
1271
1525
  /**
1272
- * User ID (owner of the commodity)
1526
+ * Translation key for i18n
1273
1527
  */
1274
- userId?: {
1275
- [key: string]: unknown;
1276
- } | null;
1528
+ i18nKey?: string | null;
1277
1529
  /**
1278
- * Commodity symbol (corresponds to Beancount currency field)
1530
+ * Payee category
1279
1531
  */
1280
- symbol: string;
1532
+ category:
1533
+ | 'RESTAURANT'
1534
+ | 'CAFE'
1535
+ | 'FAST_FOOD'
1536
+ | 'BAR'
1537
+ | 'SUPERMARKET'
1538
+ | 'CONVENIENCE_STORE'
1539
+ | 'SHOPPING_MALL'
1540
+ | 'ONLINE_SHOPPING'
1541
+ | 'TAXI'
1542
+ | 'RIDE_SHARING'
1543
+ | 'PUBLIC_TRANSPORT'
1544
+ | 'PARKING'
1545
+ | 'GAS_STATION'
1546
+ | 'UTILITIES'
1547
+ | 'TELECOM'
1548
+ | 'STREAMING'
1549
+ | 'HEALTHCARE'
1550
+ | 'EDUCATION'
1551
+ | 'ENTERTAINMENT'
1552
+ | 'SPORTS'
1553
+ | 'TRAVEL'
1554
+ | 'HOTEL'
1555
+ | 'OTHER';
1281
1556
  /**
1282
- * Commodity definition date (required per Beancount spec). Represents when this commodity was first defined in the accounting system.
1557
+ * Sub-category
1283
1558
  */
1284
- date: string;
1559
+ subCategory?: string | null;
1285
1560
  /**
1286
- * Metadata (corresponds to Beancount meta field). Contains name, assetClass, precision, note, tags, etc.
1561
+ * Country codes where payee operates
1287
1562
  */
1288
- metadata: {
1563
+ countries: Array<string>;
1564
+ /**
1565
+ * Primary operating country
1566
+ */
1567
+ primaryCountry?: string | null;
1568
+ /**
1569
+ * Search keywords
1570
+ */
1571
+ keywords: Array<string>;
1572
+ /**
1573
+ * Logo URL
1574
+ */
1575
+ logoUrl?: string | null;
1576
+ /**
1577
+ * Official website
1578
+ */
1579
+ website?: string | null;
1580
+ /**
1581
+ * Description
1582
+ */
1583
+ description?: string | null;
1584
+ /**
1585
+ * Extended metadata
1586
+ */
1587
+ meta: {
1289
1588
  [key: string]: unknown;
1290
1589
  };
1291
1590
  /**
1292
- * Reference to SymbolProfile (market data integration, SaaS feature)
1591
+ * Data source
1293
1592
  */
1294
- symbolProfileId?: {
1295
- [key: string]: unknown;
1296
- } | null;
1593
+ dataSource: 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1594
+ /**
1595
+ * Verification timestamp (null if not verified)
1596
+ */
1597
+ verifiedAt?: string | null;
1598
+ /**
1599
+ * Whether the profile is active
1600
+ */
1601
+ isActive: boolean;
1297
1602
  /**
1298
1603
  * Creation timestamp
1299
1604
  */
@@ -1304,116 +1609,356 @@ export type CommodityResponseDto = {
1304
1609
  updatedAt: string;
1305
1610
  };
1306
1611
 
1307
- export type CommodityListResponseDto = {
1612
+ export type PayeeProfileListResponseDto = {
1308
1613
  /**
1309
- * List of commodities
1614
+ * List of payee profiles
1310
1615
  */
1311
- items: Array<CommodityResponseDto>;
1616
+ items: Array<PayeeProfileResponseDto>;
1312
1617
  /**
1313
- * Total number of commodities
1618
+ * Total count of matching records
1314
1619
  */
1315
1620
  total: number;
1316
1621
  };
1317
1622
 
1318
- export type RecurringRuleResponseDto = {
1623
+ export type UpdatePayeeProfileDto = {
1319
1624
  /**
1320
- * Rule ID
1625
+ * Multi-language aliases for the payee. Used for matching user input in different languages.
1321
1626
  */
1322
- id: string;
1627
+ aliases?: Array<string>;
1323
1628
  /**
1324
- * User ID
1629
+ * Translation key for i18n integration (XLIFF translation system)
1325
1630
  */
1326
- userId: string;
1631
+ i18nKey?: string;
1327
1632
  /**
1328
- * Rule name
1633
+ * Payee category classification
1329
1634
  */
1330
- name: string;
1635
+ category?:
1636
+ | 'RESTAURANT'
1637
+ | 'CAFE'
1638
+ | 'FAST_FOOD'
1639
+ | 'BAR'
1640
+ | 'SUPERMARKET'
1641
+ | 'CONVENIENCE_STORE'
1642
+ | 'SHOPPING_MALL'
1643
+ | 'ONLINE_SHOPPING'
1644
+ | 'TAXI'
1645
+ | 'RIDE_SHARING'
1646
+ | 'PUBLIC_TRANSPORT'
1647
+ | 'PARKING'
1648
+ | 'GAS_STATION'
1649
+ | 'UTILITIES'
1650
+ | 'TELECOM'
1651
+ | 'STREAMING'
1652
+ | 'HEALTHCARE'
1653
+ | 'EDUCATION'
1654
+ | 'ENTERTAINMENT'
1655
+ | 'SPORTS'
1656
+ | 'TRAVEL'
1657
+ | 'HOTEL'
1658
+ | 'OTHER';
1331
1659
  /**
1332
- * Icon emoji
1660
+ * Sub-category for more specific classification
1333
1661
  */
1334
- icon?: {
1335
- [key: string]: unknown;
1336
- };
1662
+ subCategory?: string;
1337
1663
  /**
1338
- * Recurring frequency
1664
+ * Country/region codes where the payee operates (ISO 3166-1 alpha-2)
1339
1665
  */
1340
- frequency: string;
1666
+ countries?: Array<string>;
1341
1667
  /**
1342
- * Expected amount
1668
+ * Primary operating country (ISO 3166-1 alpha-2)
1343
1669
  */
1344
- expectedAmount: number;
1670
+ primaryCountry?: string;
1345
1671
  /**
1346
- * Expected day of month
1672
+ * Search keywords for fuzzy matching
1347
1673
  */
1348
- expectedDay?: {
1349
- [key: string]: unknown;
1350
- };
1674
+ keywords?: Array<string>;
1351
1675
  /**
1352
- * Custom interval in days
1676
+ * Payee logo URL
1353
1677
  */
1354
- customIntervalDays?: {
1355
- [key: string]: unknown;
1356
- };
1678
+ logoUrl?: string;
1357
1679
  /**
1358
- * Currency code
1680
+ * Official website URL
1359
1681
  */
1360
- currency: string;
1682
+ website?: string;
1361
1683
  /**
1362
- * Payee matching pattern
1684
+ * Payee description
1363
1685
  */
1364
- matchPayeePattern?: {
1686
+ description?: string;
1687
+ /**
1688
+ * Extended metadata (business hours, contact info, additional details)
1689
+ */
1690
+ meta?: {
1365
1691
  [key: string]: unknown;
1366
1692
  };
1367
1693
  /**
1368
- * Amount tolerance percentage
1694
+ * Data source for this profile
1369
1695
  */
1370
- matchAmountTolerance: number;
1696
+ dataSource?: 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1371
1697
  /**
1372
- * Default expense account
1698
+ * Whether the payee profile is active (soft delete)
1373
1699
  */
1374
- defaultExpenseAccount?: {
1375
- [key: string]: unknown;
1376
- };
1700
+ isActive?: boolean;
1377
1701
  /**
1378
- * Default payment account
1702
+ * Verification timestamp. Set to current time to verify, or null to unverify.
1379
1703
  */
1380
- defaultPaymentAccount?: {
1381
- [key: string]: unknown;
1382
- };
1704
+ verifiedAt?: string | null;
1705
+ };
1706
+
1707
+ export type CreateCommodityDto = {
1383
1708
  /**
1384
- * Default payee
1709
+ * Commodity symbol (e.g., AAPL, USD, BTC) - corresponds to Beancount currency field
1385
1710
  */
1386
- defaultPayee?: {
1711
+ symbol: string;
1712
+ /**
1713
+ * Commodity definition date (ISO 8601, required per Beancount spec). Represents when this commodity was first defined in the accounting system.
1714
+ */
1715
+ date: string;
1716
+ /**
1717
+ * Metadata (corresponds to Beancount meta field). Can contain name, assetClass, precision, note, tags, etc.
1718
+ */
1719
+ metadata?: {
1387
1720
  [key: string]: unknown;
1388
1721
  };
1722
+ };
1723
+
1724
+ export type CommodityResponseDto = {
1389
1725
  /**
1390
- * Whether rule is active
1726
+ * Unique identifier
1391
1727
  */
1392
- isActive: boolean;
1728
+ id: string;
1393
1729
  /**
1394
- * Rule start date (YYYY-MM-DD)
1730
+ * User ID (owner of the commodity)
1395
1731
  */
1396
- startDate: string;
1732
+ userId?: string | null;
1397
1733
  /**
1398
- * Rule end date (YYYY-MM-DD)
1734
+ * Commodity symbol (corresponds to Beancount currency field)
1399
1735
  */
1400
- endDate?: {
1401
- [key: string]: unknown;
1402
- };
1736
+ symbol: string;
1403
1737
  /**
1404
- * Auto-create transaction on expected date
1738
+ * Commodity definition date (required per Beancount spec). Represents when this commodity was first defined in the accounting system.
1405
1739
  */
1406
- autoCreate: boolean;
1740
+ date: string;
1407
1741
  /**
1408
- * Last matched occurrence date (YYYY-MM-DD)
1742
+ * Metadata (corresponds to Beancount meta field). Contains name, assetClass, precision, note, tags, etc.
1409
1743
  */
1410
- lastOccurrence?: {
1744
+ metadata: {
1411
1745
  [key: string]: unknown;
1412
1746
  };
1413
1747
  /**
1414
- * Total matched transactions count
1748
+ * Creation timestamp
1415
1749
  */
1416
- totalCount: number;
1750
+ createdAt: string;
1751
+ /**
1752
+ * Last update timestamp
1753
+ */
1754
+ updatedAt: string;
1755
+ };
1756
+
1757
+ export type CommodityListResponseDto = {
1758
+ /**
1759
+ * List of commodities
1760
+ */
1761
+ items: Array<CommodityResponseDto>;
1762
+ /**
1763
+ * Total number of commodities
1764
+ */
1765
+ total: number;
1766
+ };
1767
+
1768
+ export type UpdateCommodityDto = {
1769
+ /**
1770
+ * Commodity definition date (ISO 8601). Represents when this commodity was first defined in the accounting system.
1771
+ */
1772
+ date?: string;
1773
+ /**
1774
+ * Metadata (corresponds to Beancount meta field). Will merge with existing metadata. Can contain name, assetClass, precision, note, tags, etc.
1775
+ */
1776
+ metadata?: {
1777
+ [key: string]: unknown;
1778
+ };
1779
+ };
1780
+
1781
+ export type CreateRecurringRuleDto = {
1782
+ /**
1783
+ * Rule name (unique per user)
1784
+ */
1785
+ name: string;
1786
+ /**
1787
+ * Icon emoji
1788
+ */
1789
+ icon?: string;
1790
+ /**
1791
+ * Recurring frequency
1792
+ */
1793
+ frequency:
1794
+ | 'WEEKLY'
1795
+ | 'BIWEEKLY'
1796
+ | 'MONTHLY'
1797
+ | 'BIMONTHLY'
1798
+ | 'QUARTERLY'
1799
+ | 'YEARLY'
1800
+ | 'CUSTOM';
1801
+ /**
1802
+ * Expected amount (positive number)
1803
+ */
1804
+ expectedAmount: number;
1805
+ /**
1806
+ * Expected day of month (1-31)
1807
+ */
1808
+ expectedDay?: number;
1809
+ /**
1810
+ * Custom interval in days (required for CUSTOM frequency)
1811
+ */
1812
+ customIntervalDays?: number;
1813
+ /**
1814
+ * Currency code
1815
+ */
1816
+ currency: string;
1817
+ /**
1818
+ * Payee matching pattern (supports wildcards)
1819
+ */
1820
+ matchPayeePattern?: string;
1821
+ /**
1822
+ * Amount tolerance percentage (0-1)
1823
+ */
1824
+ matchAmountTolerance: number;
1825
+ /**
1826
+ * Default expense account for auto-create
1827
+ */
1828
+ defaultExpenseAccount?: string;
1829
+ /**
1830
+ * Default payment account for auto-create
1831
+ */
1832
+ defaultPaymentAccount?: string;
1833
+ /**
1834
+ * Default payee for auto-create
1835
+ */
1836
+ defaultPayee?: string;
1837
+ /**
1838
+ * Auto-create transaction when expected date arrives
1839
+ */
1840
+ autoCreate: boolean;
1841
+ /**
1842
+ * Rule start date (ISO format)
1843
+ */
1844
+ startDate?: string;
1845
+ /**
1846
+ * Rule end date (ISO format)
1847
+ */
1848
+ endDate?: string;
1849
+ };
1850
+
1851
+ /**
1852
+ * Recurring frequency
1853
+ */
1854
+ export type frequency =
1855
+ | 'WEEKLY'
1856
+ | 'BIWEEKLY'
1857
+ | 'MONTHLY'
1858
+ | 'BIMONTHLY'
1859
+ | 'QUARTERLY'
1860
+ | 'YEARLY'
1861
+ | 'CUSTOM';
1862
+
1863
+ export type RecurringRuleResponseDto = {
1864
+ /**
1865
+ * Rule ID
1866
+ */
1867
+ id: string;
1868
+ /**
1869
+ * User ID
1870
+ */
1871
+ userId: string;
1872
+ /**
1873
+ * Rule name
1874
+ */
1875
+ name: string;
1876
+ /**
1877
+ * Icon emoji
1878
+ */
1879
+ icon?: {
1880
+ [key: string]: unknown;
1881
+ };
1882
+ /**
1883
+ * Recurring frequency
1884
+ */
1885
+ frequency: string;
1886
+ /**
1887
+ * Expected amount
1888
+ */
1889
+ expectedAmount: number;
1890
+ /**
1891
+ * Expected day of month
1892
+ */
1893
+ expectedDay?: {
1894
+ [key: string]: unknown;
1895
+ };
1896
+ /**
1897
+ * Custom interval in days
1898
+ */
1899
+ customIntervalDays?: {
1900
+ [key: string]: unknown;
1901
+ };
1902
+ /**
1903
+ * Currency code
1904
+ */
1905
+ currency: string;
1906
+ /**
1907
+ * Payee matching pattern
1908
+ */
1909
+ matchPayeePattern?: {
1910
+ [key: string]: unknown;
1911
+ };
1912
+ /**
1913
+ * Amount tolerance percentage
1914
+ */
1915
+ matchAmountTolerance: number;
1916
+ /**
1917
+ * Default expense account
1918
+ */
1919
+ defaultExpenseAccount?: {
1920
+ [key: string]: unknown;
1921
+ };
1922
+ /**
1923
+ * Default payment account
1924
+ */
1925
+ defaultPaymentAccount?: {
1926
+ [key: string]: unknown;
1927
+ };
1928
+ /**
1929
+ * Default payee
1930
+ */
1931
+ defaultPayee?: {
1932
+ [key: string]: unknown;
1933
+ };
1934
+ /**
1935
+ * Whether rule is active
1936
+ */
1937
+ isActive: boolean;
1938
+ /**
1939
+ * Rule start date (YYYY-MM-DD)
1940
+ */
1941
+ startDate: string;
1942
+ /**
1943
+ * Rule end date (YYYY-MM-DD)
1944
+ */
1945
+ endDate?: {
1946
+ [key: string]: unknown;
1947
+ };
1948
+ /**
1949
+ * Auto-create transaction on expected date
1950
+ */
1951
+ autoCreate: boolean;
1952
+ /**
1953
+ * Last matched occurrence date (YYYY-MM-DD)
1954
+ */
1955
+ lastOccurrence?: {
1956
+ [key: string]: unknown;
1957
+ };
1958
+ /**
1959
+ * Total matched transactions count
1960
+ */
1961
+ totalCount: number;
1417
1962
  /**
1418
1963
  * Created at timestamp
1419
1964
  */
@@ -1424,6 +1969,28 @@ export type RecurringRuleResponseDto = {
1424
1969
  updatedAt: string;
1425
1970
  };
1426
1971
 
1972
+ export type CreateRuleFromTransactionDto = {
1973
+ /**
1974
+ * Recurring frequency
1975
+ */
1976
+ frequency:
1977
+ | 'WEEKLY'
1978
+ | 'BIWEEKLY'
1979
+ | 'MONTHLY'
1980
+ | 'BIMONTHLY'
1981
+ | 'QUARTERLY'
1982
+ | 'YEARLY'
1983
+ | 'CUSTOM';
1984
+ /**
1985
+ * Optional name override (default: transaction payee)
1986
+ */
1987
+ name?: string;
1988
+ /**
1989
+ * Optional icon emoji
1990
+ */
1991
+ icon?: string;
1992
+ };
1993
+
1427
1994
  export type RecurringRuleWithStatsResponseDto = {
1428
1995
  /**
1429
1996
  * Rule ID
@@ -1579,6 +2146,76 @@ export type RecurringRuleWithStatsResponseDto = {
1579
2146
  upcomingCount: number;
1580
2147
  };
1581
2148
 
2149
+ export type UpdateRecurringRuleDto = {
2150
+ /**
2151
+ * Rule name
2152
+ */
2153
+ name?: string;
2154
+ /**
2155
+ * Icon emoji
2156
+ */
2157
+ icon?: string;
2158
+ /**
2159
+ * Recurring frequency
2160
+ */
2161
+ frequency?:
2162
+ | 'WEEKLY'
2163
+ | 'BIWEEKLY'
2164
+ | 'MONTHLY'
2165
+ | 'BIMONTHLY'
2166
+ | 'QUARTERLY'
2167
+ | 'YEARLY'
2168
+ | 'CUSTOM';
2169
+ /**
2170
+ * Expected amount
2171
+ */
2172
+ expectedAmount?: number;
2173
+ /**
2174
+ * Expected day of month (1-31)
2175
+ */
2176
+ expectedDay?: number;
2177
+ /**
2178
+ * Custom interval in days
2179
+ */
2180
+ customIntervalDays?: number;
2181
+ /**
2182
+ * Currency code
2183
+ */
2184
+ currency?: string;
2185
+ /**
2186
+ * Payee matching pattern
2187
+ */
2188
+ matchPayeePattern?: string;
2189
+ /**
2190
+ * Amount tolerance percentage (0-1)
2191
+ */
2192
+ matchAmountTolerance?: number;
2193
+ /**
2194
+ * Default expense account
2195
+ */
2196
+ defaultExpenseAccount?: string;
2197
+ /**
2198
+ * Default payment account
2199
+ */
2200
+ defaultPaymentAccount?: string;
2201
+ /**
2202
+ * Default payee
2203
+ */
2204
+ defaultPayee?: string;
2205
+ /**
2206
+ * Auto-create transaction
2207
+ */
2208
+ autoCreate?: boolean;
2209
+ /**
2210
+ * Rule active status
2211
+ */
2212
+ isActive?: boolean;
2213
+ /**
2214
+ * Rule end date (ISO format)
2215
+ */
2216
+ endDate?: string;
2217
+ };
2218
+
1582
2219
  export type ExpectedTransactionRuleDto = {
1583
2220
  /**
1584
2221
  * Rule name
@@ -1669,12 +2306,42 @@ export type ExpectedTransactionListResponseDto = {
1669
2306
  total: number;
1670
2307
  };
1671
2308
 
1672
- export type ForecastItemDto = {
2309
+ export type ConfirmMatchDto = {
1673
2310
  /**
1674
- * Rule name
2311
+ * Transaction ID to match with
1675
2312
  */
1676
- rule: string;
1677
- /**
2313
+ transactionId: string;
2314
+ };
2315
+
2316
+ export type EnterNowDto = {
2317
+ /**
2318
+ * Override expense account (uses rule default if not provided)
2319
+ */
2320
+ expenseAccount?: string;
2321
+ /**
2322
+ * Override payment account (uses rule default if not provided)
2323
+ */
2324
+ paymentAccount?: string;
2325
+ /**
2326
+ * Override amount (uses expected amount if not provided)
2327
+ */
2328
+ amount?: number;
2329
+ /**
2330
+ * Override payee (uses rule default if not provided)
2331
+ */
2332
+ payee?: string;
2333
+ /**
2334
+ * Optional narration
2335
+ */
2336
+ narration?: string;
2337
+ };
2338
+
2339
+ export type ForecastItemDto = {
2340
+ /**
2341
+ * Rule name
2342
+ */
2343
+ rule: string;
2344
+ /**
1678
2345
  * Rule ID
1679
2346
  */
1680
2347
  ruleId: string;
@@ -1689,9 +2356,7 @@ export type ForecastItemDto = {
1689
2356
  /**
1690
2357
  * Rule icon emoji
1691
2358
  */
1692
- icon: {
1693
- [key: string]: unknown;
1694
- } | null;
2359
+ icon: string | null;
1695
2360
  /**
1696
2361
  * Currency code
1697
2362
  */
@@ -1752,6 +2417,53 @@ export type ForecastResponseDto = {
1752
2417
  periodEnd: string;
1753
2418
  };
1754
2419
 
2420
+ export type CreateTransactionRuleDto = {
2421
+ name: string;
2422
+ description?: string;
2423
+ narrationKeywords?: Array<unknown[]>;
2424
+ payeeKeywords?: Array<unknown[]>;
2425
+ categoryKeywords?: Array<unknown[]>;
2426
+ /**
2427
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2428
+ */
2429
+ methodKeywords?: Array<unknown[]>;
2430
+ /**
2431
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2432
+ */
2433
+ categoryAccount?: string;
2434
+ matchLogic: 'OR' | 'AND';
2435
+ /**
2436
+ * Minimum transaction amount (inclusive)
2437
+ */
2438
+ amountMin?: number;
2439
+ /**
2440
+ * Maximum transaction amount (inclusive)
2441
+ */
2442
+ amountMax?: number;
2443
+ priority: number;
2444
+ additionalTags?: Array<unknown[]>;
2445
+ additionalMetadata?: {
2446
+ [key: string]: unknown;
2447
+ };
2448
+ /**
2449
+ * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2450
+ */
2451
+ upsertByPayee?: boolean;
2452
+ };
2453
+
2454
+ export type matchLogic = 'OR' | 'AND';
2455
+
2456
+ export type AmountRangeDto = {
2457
+ /**
2458
+ * Minimum amount
2459
+ */
2460
+ min?: number;
2461
+ /**
2462
+ * Maximum amount
2463
+ */
2464
+ max?: number;
2465
+ };
2466
+
1755
2467
  export type TransactionRuleResponseDto = {
1756
2468
  /**
1757
2469
  * Rule ID
@@ -1792,9 +2504,7 @@ export type TransactionRuleResponseDto = {
1792
2504
  /**
1793
2505
  * Amount range for matching
1794
2506
  */
1795
- amountRange?: {
1796
- [key: string]: unknown;
1797
- };
2507
+ amountRange?: AmountRangeDto;
1798
2508
  /**
1799
2509
  * Rule priority (0-1000, higher = first match)
1800
2510
  */
@@ -1806,7 +2516,7 @@ export type TransactionRuleResponseDto = {
1806
2516
  /**
1807
2517
  * Learning source: NLP, REVIEW_CENTER, or null for manual
1808
2518
  */
1809
- learningSource?: 'NLP' | 'REVIEW_CENTER';
2519
+ learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
1810
2520
  /**
1811
2521
  * Whether auto-apply is enabled for this rule
1812
2522
  */
@@ -1823,7 +2533,7 @@ export type TransactionRuleResponseDto = {
1823
2533
  * Additional metadata
1824
2534
  */
1825
2535
  additionalMetadata?: {
1826
- [key: string]: unknown;
2536
+ [key: string]: string;
1827
2537
  };
1828
2538
  /**
1829
2539
  * Created timestamp
@@ -1835,11 +2545,6 @@ export type TransactionRuleResponseDto = {
1835
2545
  updatedAt: string;
1836
2546
  };
1837
2547
 
1838
- /**
1839
- * Keyword matching logic
1840
- */
1841
- export type matchLogic = 'OR' | 'AND';
1842
-
1843
2548
  /**
1844
2549
  * Learning source: NLP, REVIEW_CENTER, or null for manual
1845
2550
  */
@@ -1910,6 +2615,44 @@ export type ValidateRuleResponseDto = {
1910
2615
  warnings: Array<unknown[]>;
1911
2616
  };
1912
2617
 
2618
+ export type BulkCreateRulesDto = {
2619
+ /**
2620
+ * Array of rules to import
2621
+ */
2622
+ rules: Array<unknown[]>;
2623
+ /**
2624
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2625
+ */
2626
+ conflictStrategy: 'replace' | 'skip';
2627
+ };
2628
+
2629
+ /**
2630
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2631
+ */
2632
+ export type conflictStrategy = 'replace' | 'skip';
2633
+
2634
+ export type BulkCreateRulesResponseDto = {
2635
+ /**
2636
+ * Number of successfully created rules
2637
+ */
2638
+ successCount: number;
2639
+ /**
2640
+ * Number of failed rules
2641
+ */
2642
+ failureCount: number;
2643
+ /**
2644
+ * Error details for failed rules
2645
+ */
2646
+ errors: Array<{
2647
+ index?: number;
2648
+ message?: string;
2649
+ }>;
2650
+ /**
2651
+ * IDs of successfully created rules
2652
+ */
2653
+ createdRuleIds: Array<string>;
2654
+ };
2655
+
1913
2656
  export type ExportRulesResponseDto = {
1914
2657
  /**
1915
2658
  * Export timestamp
@@ -1966,6 +2709,40 @@ export type RuleStatisticsResponseDto = {
1966
2709
  */
1967
2710
  export type period = '7d' | '30d' | '90d';
1968
2711
 
2712
+ export type UpdateTransactionRuleDto = {
2713
+ name?: string;
2714
+ description?: string;
2715
+ narrationKeywords?: Array<unknown[]>;
2716
+ payeeKeywords?: Array<unknown[]>;
2717
+ categoryKeywords?: Array<unknown[]>;
2718
+ /**
2719
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2720
+ */
2721
+ methodKeywords?: Array<unknown[]>;
2722
+ /**
2723
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2724
+ */
2725
+ categoryAccount?: string;
2726
+ matchLogic?: 'OR' | 'AND';
2727
+ /**
2728
+ * Minimum transaction amount (inclusive)
2729
+ */
2730
+ amountMin?: number;
2731
+ /**
2732
+ * Maximum transaction amount (inclusive)
2733
+ */
2734
+ amountMax?: number;
2735
+ priority?: number;
2736
+ /**
2737
+ * Enable or disable the rule
2738
+ */
2739
+ enabled?: boolean;
2740
+ additionalTags?: Array<unknown[]>;
2741
+ additionalMetadata?: {
2742
+ [key: string]: unknown;
2743
+ };
2744
+ };
2745
+
1969
2746
  export type TestRuleDto = {
1970
2747
  narration: string;
1971
2748
  payee?: string;
@@ -2106,6 +2883,13 @@ export type colorScheme = 'DARK' | 'LIGHT';
2106
2883
  */
2107
2884
  export type viewMode = 'DEFAULT' | 'ZEN';
2108
2885
 
2886
+ export type UpdatePropertyDto = {
2887
+ /**
2888
+ * Property value
2889
+ */
2890
+ value: string;
2891
+ };
2892
+
2109
2893
  export type FileImportDto = {
2110
2894
  /**
2111
2895
  * Bill file to import (CSV, PDF, OFX, etc.)
@@ -2321,7 +3105,8 @@ export type ImporterConfigDto = {
2321
3105
  | 'cmbc-credit'
2322
3106
  | 'icbc'
2323
3107
  | 'icbc-credit'
2324
- | 'hsbc-hk';
3108
+ | 'hsbc-hk-credit'
3109
+ | 'hsbc-hk-debit';
2325
3110
  /**
2326
3111
  * Configuration version (semver)
2327
3112
  */
@@ -2361,7 +3146,135 @@ export type importerId =
2361
3146
  | 'cmbc-credit'
2362
3147
  | 'icbc'
2363
3148
  | 'icbc-credit'
2364
- | 'hsbc-hk';
3149
+ | 'hsbc-hk-credit'
3150
+ | 'hsbc-hk-debit';
3151
+
3152
+ export type UpdateMapperDefaultsDto = {
3153
+ /**
3154
+ * Source account for transactions (Beancount format)
3155
+ */
3156
+ sourceAccount?: string;
3157
+ /**
3158
+ * Default currency (ISO 4217 code)
3159
+ */
3160
+ currency?: string;
3161
+ /**
3162
+ * Default expense account (optional)
3163
+ */
3164
+ expenseAccount?: string;
3165
+ /**
3166
+ * Default income account (optional)
3167
+ */
3168
+ incomeAccount?: string;
3169
+ /**
3170
+ * 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).
3171
+ */
3172
+ methodAccountMapping?: {
3173
+ [key: string]: unknown;
3174
+ };
3175
+ };
3176
+
3177
+ export type UpdateConfigDataDto = {
3178
+ /**
3179
+ * Mapper defaults configuration
3180
+ */
3181
+ defaults?: UpdateMapperDefaultsDto;
3182
+ };
3183
+
3184
+ export type UpdateImporterConfigDto = {
3185
+ /**
3186
+ * Configuration data (v1 schema)
3187
+ */
3188
+ data?: UpdateConfigDataDto;
3189
+ };
3190
+
3191
+ export type CreatePlatformDto = {
3192
+ /**
3193
+ * Platform name
3194
+ */
3195
+ name: string;
3196
+ /**
3197
+ * Platform canonical identifier (lowercase, kebab-case)
3198
+ */
3199
+ canonical: string;
3200
+ /**
3201
+ * Platform aliases (multi-language names for lookup)
3202
+ */
3203
+ aliases: Array<string>;
3204
+ /**
3205
+ * Platform URL
3206
+ */
3207
+ url: string;
3208
+ /**
3209
+ * Platform type
3210
+ */
3211
+ type:
3212
+ | 'BANK'
3213
+ | 'BROKERAGE'
3214
+ | 'CRYPTO_EXCHANGE'
3215
+ | 'PAYMENT'
3216
+ | 'INVESTMENT'
3217
+ | 'INSURANCE'
3218
+ | 'OTHER';
3219
+ /**
3220
+ * Platform logo URL
3221
+ */
3222
+ logoUrl?: string;
3223
+ /**
3224
+ * Whether the platform is active
3225
+ */
3226
+ isActive?: boolean;
3227
+ };
3228
+
3229
+ /**
3230
+ * Platform type
3231
+ */
3232
+ export type type3 =
3233
+ | 'BANK'
3234
+ | 'BROKERAGE'
3235
+ | 'CRYPTO_EXCHANGE'
3236
+ | 'PAYMENT'
3237
+ | 'INVESTMENT'
3238
+ | 'INSURANCE'
3239
+ | 'OTHER';
3240
+
3241
+ export type UpdatePlatformDto = {
3242
+ /**
3243
+ * Platform name
3244
+ */
3245
+ name?: string;
3246
+ /**
3247
+ * Platform canonical identifier (lowercase, kebab-case)
3248
+ */
3249
+ canonical?: string;
3250
+ /**
3251
+ * Platform aliases (multi-language names for lookup)
3252
+ */
3253
+ aliases?: Array<string>;
3254
+ /**
3255
+ * Platform URL
3256
+ */
3257
+ url?: string;
3258
+ /**
3259
+ * Platform type
3260
+ */
3261
+ type?:
3262
+ | 'BANK'
3263
+ | 'BROKERAGE'
3264
+ | 'CRYPTO_EXCHANGE'
3265
+ | 'PAYMENT'
3266
+ | 'INVESTMENT'
3267
+ | 'INSURANCE'
3268
+ | 'OTHER';
3269
+ /**
3270
+ * Platform logo URL
3271
+ */
3272
+ logoUrl?: string;
3273
+ /**
3274
+ * Whether the platform is active
3275
+ */
3276
+ isActive?: boolean;
3277
+ };
2365
3278
 
2366
3279
  export type ProviderSyncConfigDto = {
2367
3280
  /**
@@ -2439,6 +3352,8 @@ export type SupportedProvidersResponseDto = {
2439
3352
  providers: Array<string>;
2440
3353
  };
2441
3354
 
3355
+ export type ParserTelemetryReportDto = unknown;
3356
+
2442
3357
  export type ProcessNlpDto = {
2443
3358
  /**
2444
3359
  * Natural language text describing a transaction (Chinese)
@@ -2448,6 +3363,12 @@ export type ProcessNlpDto = {
2448
3363
  * Session ID for multi-turn conversation (auto-generated if not provided)
2449
3364
  */
2450
3365
  sessionId?: string;
3366
+ /**
3367
+ * Parsed data from previous NLP response for session recovery. Send back the parsedData received in confirm_payee/confirm responses.
3368
+ */
3369
+ parsedData?: {
3370
+ [key: string]: unknown;
3371
+ };
2451
3372
  };
2452
3373
 
2453
3374
  export type NlpTransactionInfoDto = {
@@ -2978,7 +3899,7 @@ export type status4 = 'success' | 'pending' | 'error';
2978
3899
  /**
2979
3900
  * Action taken or requested
2980
3901
  */
2981
- export type action =
3902
+ export type action2 =
2982
3903
  | 'created'
2983
3904
  | 'ask'
2984
3905
  | 'confirm'
@@ -3510,7 +4431,7 @@ export type AccountControllerCreateData = {
3510
4431
  /**
3511
4432
  * Region code for tenant context
3512
4433
  */
3513
- region: 'cn' | 'us' | 'de';
4434
+ region: 'cn' | 'us' | 'de' | 'gb';
3514
4435
  requestBody: CreateAccountDto;
3515
4436
  };
3516
4437
 
@@ -3532,7 +4453,7 @@ export type AccountControllerFindAllData = {
3532
4453
  /**
3533
4454
  * Region code for tenant context
3534
4455
  */
3535
- region: 'cn' | 'us' | 'de';
4456
+ region: 'cn' | 'us' | 'de' | 'gb';
3536
4457
  /**
3537
4458
  * Search term for path or i18nKey
3538
4459
  */
@@ -3557,7 +4478,7 @@ export type AccountControllerFindOneData = {
3557
4478
  /**
3558
4479
  * Region code for tenant context
3559
4480
  */
3560
- region: 'cn' | 'us' | 'de';
4481
+ region: 'cn' | 'us' | 'de' | 'gb';
3561
4482
  };
3562
4483
 
3563
4484
  export type AccountControllerFindOneResponse = AccountResponseDto;
@@ -3570,7 +4491,7 @@ export type AccountControllerUpdateData = {
3570
4491
  /**
3571
4492
  * Region code for tenant context
3572
4493
  */
3573
- region: 'cn' | 'us' | 'de';
4494
+ region: 'cn' | 'us' | 'de' | 'gb';
3574
4495
  requestBody: UpdateAccountDto;
3575
4496
  };
3576
4497
 
@@ -3584,7 +4505,7 @@ export type AccountControllerDeleteData = {
3584
4505
  /**
3585
4506
  * Region code for tenant context
3586
4507
  */
3587
- region: 'cn' | 'us' | 'de';
4508
+ region: 'cn' | 'us' | 'de' | 'gb';
3588
4509
  };
3589
4510
 
3590
4511
  export type AccountControllerDeleteResponse = void;
@@ -3597,7 +4518,7 @@ export type AccountControllerCloseData = {
3597
4518
  /**
3598
4519
  * Region code for tenant context
3599
4520
  */
3600
- region: 'cn' | 'us' | 'de';
4521
+ region: 'cn' | 'us' | 'de' | 'gb';
3601
4522
  requestBody: CloseAccountDto;
3602
4523
  };
3603
4524
 
@@ -3611,17 +4532,59 @@ export type AccountControllerReopenData = {
3611
4532
  /**
3612
4533
  * Region code for tenant context
3613
4534
  */
3614
- region: 'cn' | 'us' | 'de';
4535
+ region: 'cn' | 'us' | 'de' | 'gb';
3615
4536
  requestBody: ReopenAccountDto;
3616
4537
  };
3617
4538
 
3618
4539
  export type AccountControllerReopenResponse = AccountResponseDto;
3619
4540
 
4541
+ export type AccountStandardsControllerGetTemplatesData = {
4542
+ /**
4543
+ * Region code (cn, us, de)
4544
+ */
4545
+ region: 'cn' | 'us' | 'de' | 'gb';
4546
+ /**
4547
+ * Search term for path or description
4548
+ */
4549
+ search?: string;
4550
+ /**
4551
+ * Filter by account type
4552
+ */
4553
+ type?: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
4554
+ };
4555
+
4556
+ export type AccountStandardsControllerGetTemplatesResponse =
4557
+ AccountStandardListResponseDto;
4558
+
4559
+ export type AccountStandardsControllerGetTemplateMetadataData = {
4560
+ /**
4561
+ * Account path to check
4562
+ */
4563
+ path: string;
4564
+ /**
4565
+ * Region code for tenant context
4566
+ */
4567
+ region: 'cn' | 'us' | 'de' | 'gb';
4568
+ };
4569
+
4570
+ export type AccountStandardsControllerGetTemplateMetadataResponse =
4571
+ TemplateMetadataResponseDto;
4572
+
4573
+ export type AccountStandardsControllerGetRegionsData = {
4574
+ /**
4575
+ * Region code for tenant context
4576
+ */
4577
+ region: 'cn' | 'us' | 'de' | 'gb';
4578
+ };
4579
+
4580
+ export type AccountStandardsControllerGetRegionsResponse =
4581
+ RegionsMetadataResponseDto;
4582
+
3620
4583
  export type TransactionControllerCreateData = {
3621
4584
  /**
3622
4585
  * Region code for tenant context
3623
4586
  */
3624
- region: 'cn' | 'us' | 'de';
4587
+ region: 'cn' | 'us' | 'de' | 'gb';
3625
4588
  /**
3626
4589
  * Transaction data with postings
3627
4590
  */
@@ -3654,7 +4617,7 @@ export type TransactionControllerListData = {
3654
4617
  /**
3655
4618
  * Region code for tenant context
3656
4619
  */
3657
- region: 'cn' | 'us' | 'de';
4620
+ region: 'cn' | 'us' | 'de' | 'gb';
3658
4621
  /**
3659
4622
  * Search in narration and payee fields (max 200 chars)
3660
4623
  */
@@ -3667,29 +4630,40 @@ export type TransactionControllerListData = {
3667
4630
 
3668
4631
  export type TransactionControllerListResponse = TransactionListResponseDto;
3669
4632
 
3670
- export type TransactionControllerData = {
4633
+ export type TransactionControllerCreateBatchData = {
3671
4634
  /**
3672
4635
  * Region code for tenant context
3673
4636
  */
3674
- region: 'cn' | 'us' | 'de';
4637
+ region: 'cn' | 'us' | 'de' | 'gb';
4638
+ requestBody: BatchCreateTransactionDto;
3675
4639
  };
3676
4640
 
3677
- export type TransactionControllerResponse = unknown;
4641
+ export type TransactionControllerCreateBatchResponse =
4642
+ BatchTransactionResponseDto;
3678
4643
 
3679
- export type TransactionControllerGetDetailData = {
4644
+ export type TransactionControllerSuggestTagsData = {
3680
4645
  /**
3681
- * Transaction ID
4646
+ * Max suggestions (1-100, default 10)
3682
4647
  */
3683
- id: string;
4648
+ limit?: number;
4649
+ /**
4650
+ * Prefix match, case-insensitive (max 50 chars)
4651
+ */
4652
+ q?: string;
3684
4653
  /**
3685
4654
  * Region code for tenant context
3686
4655
  */
3687
- region: 'cn' | 'us' | 'de';
3688
- };
4656
+ region: 'cn' | 'us' | 'de' | 'gb';
4657
+ /**
4658
+ * usage (default) or name
4659
+ */
4660
+ sort?: 'usage' | 'name';
4661
+ };
3689
4662
 
3690
- export type TransactionControllerGetDetailResponse = TransactionDetailDto;
4663
+ export type TransactionControllerSuggestTagsResponse =
4664
+ TagSuggestionsResponseDto;
3691
4665
 
3692
- export type TransactionControllerUpdateData = {
4666
+ export type TransactionControllerGetDetailData = {
3693
4667
  /**
3694
4668
  * Transaction ID
3695
4669
  */
@@ -3697,51 +4671,40 @@ export type TransactionControllerUpdateData = {
3697
4671
  /**
3698
4672
  * Region code for tenant context
3699
4673
  */
3700
- region: 'cn' | 'us' | 'de';
3701
- /**
3702
- * Fields to update (all optional)
3703
- */
3704
- requestBody: UpdateTransactionDto;
3705
- };
3706
-
3707
- export type TransactionControllerUpdateResponse = TransactionDetailDto;
3708
-
3709
- export type TransactionController1Data = {
3710
- /**
3711
- * Region code for tenant context
3712
- */
3713
- region: 'cn' | 'us' | 'de';
4674
+ region: 'cn' | 'us' | 'de' | 'gb';
3714
4675
  };
3715
4676
 
3716
- export type TransactionController1Response = void;
4677
+ export type TransactionControllerGetDetailResponse = TransactionDetailDto;
3717
4678
 
3718
- export type AccountStandardsControllerGetTemplatesData = {
4679
+ export type TransactionControllerUpdateData = {
3719
4680
  /**
3720
- * Region code (cn, us, de)
4681
+ * Transaction ID
3721
4682
  */
3722
- region: 'cn' | 'us' | 'de';
4683
+ id: string;
3723
4684
  /**
3724
- * Search term for path or description
4685
+ * Region code for tenant context
3725
4686
  */
3726
- search?: string;
4687
+ region: 'cn' | 'us' | 'de' | 'gb';
3727
4688
  /**
3728
- * Filter by account type
4689
+ * Fields to update (all optional)
3729
4690
  */
3730
- type?: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
4691
+ requestBody: UpdateTransactionDto;
3731
4692
  };
3732
4693
 
3733
- export type AccountStandardsControllerGetTemplatesResponse =
3734
- AccountStandardListResponseDto;
4694
+ export type TransactionControllerUpdateResponse = TransactionDetailDto;
3735
4695
 
3736
- export type AccountStandardsControllerGetRegionsData = {
4696
+ export type TransactionControllerDeleteData = {
3737
4697
  /**
3738
- * Region code (cn, us, de)
4698
+ * Transaction ID
4699
+ */
4700
+ id: string;
4701
+ /**
4702
+ * Region code for tenant context
3739
4703
  */
3740
- region: 'cn' | 'us' | 'de';
4704
+ region: 'cn' | 'us' | 'de' | 'gb';
3741
4705
  };
3742
4706
 
3743
- export type AccountStandardsControllerGetRegionsResponse =
3744
- RegionsMetadataResponseDto;
4707
+ export type TransactionControllerDeleteResponse = void;
3745
4708
 
3746
4709
  export type BalanceControllerGetBalanceData = {
3747
4710
  /**
@@ -3757,18 +4720,18 @@ export type BalanceControllerGetBalanceData = {
3757
4720
  */
3758
4721
  date?: string;
3759
4722
  /**
3760
- * Region code (cn, us, de)
4723
+ * Region code for tenant context
3761
4724
  */
3762
- region: 'cn' | 'us' | 'de';
4725
+ region: 'cn' | 'us' | 'de' | 'gb';
3763
4726
  };
3764
4727
 
3765
4728
  export type BalanceControllerGetBalanceResponse = BalanceResponseDto;
3766
4729
 
3767
4730
  export type BalanceControllerGetMultiCurrencyBalanceData = {
3768
4731
  /**
3769
- * Region code (cn, us, de)
4732
+ * Region code for tenant context
3770
4733
  */
3771
- region: 'cn' | 'us' | 'de';
4734
+ region: 'cn' | 'us' | 'de' | 'gb';
3772
4735
  };
3773
4736
 
3774
4737
  export type BalanceControllerGetMultiCurrencyBalanceResponse =
@@ -3788,9 +4751,9 @@ export type ReviewControllerFindAllData = {
3788
4751
  */
3789
4752
  page?: number;
3790
4753
  /**
3791
- * Region code (cn, us, de)
4754
+ * Region code for tenant context
3792
4755
  */
3793
- region: 'cn' | 'us' | 'de';
4756
+ region: 'cn' | 'us' | 'de' | 'gb';
3794
4757
  /**
3795
4758
  * Sort order
3796
4759
  */
@@ -3810,9 +4773,9 @@ export type ReviewControllerFindAllResponse = ReviewListResponseDto;
3810
4773
 
3811
4774
  export type ReviewControllerGetStatsData = {
3812
4775
  /**
3813
- * Region code (cn, us, de)
4776
+ * Region code for tenant context
3814
4777
  */
3815
- region: 'cn' | 'us' | 'de';
4778
+ region: 'cn' | 'us' | 'de' | 'gb';
3816
4779
  };
3817
4780
 
3818
4781
  export type ReviewControllerGetStatsResponse = ReviewStatsDto;
@@ -3823,48 +4786,58 @@ export type ReviewControllerFindOneData = {
3823
4786
  */
3824
4787
  id: string;
3825
4788
  /**
3826
- * Region code (cn, us, de)
4789
+ * Region code for tenant context
3827
4790
  */
3828
- region: 'cn' | 'us' | 'de';
4791
+ region: 'cn' | 'us' | 'de' | 'gb';
3829
4792
  };
3830
4793
 
3831
4794
  export type ReviewControllerFindOneResponse = ReviewDetailDto;
3832
4795
 
3833
- export type ReviewControllerData = {
4796
+ export type ReviewControllerResolveData = {
3834
4797
  /**
3835
- * Region code (cn, us, de)
4798
+ * Review ID
4799
+ */
4800
+ id: string;
4801
+ /**
4802
+ * Region code for tenant context
3836
4803
  */
3837
- region: 'cn' | 'us' | 'de';
4804
+ region: 'cn' | 'us' | 'de' | 'gb';
4805
+ requestBody: ResolveReviewDto;
3838
4806
  };
3839
4807
 
3840
- export type ReviewControllerResponse = unknown;
4808
+ export type ReviewControllerResolveResponse = ResolveResultDto;
3841
4809
 
3842
- export type ReviewController1Data = {
4810
+ export type ReviewControllerUndoData = {
3843
4811
  /**
3844
- * Region code (cn, us, de)
4812
+ * Review ID
4813
+ */
4814
+ id: string;
4815
+ /**
4816
+ * Region code for tenant context
3845
4817
  */
3846
- region: 'cn' | 'us' | 'de';
4818
+ region: 'cn' | 'us' | 'de' | 'gb';
3847
4819
  };
3848
4820
 
3849
- export type ReviewController1Response = unknown;
4821
+ export type ReviewControllerUndoResponse = UndoResultDto;
3850
4822
 
3851
- export type ReviewController2Data = {
4823
+ export type ReviewControllerBatchResolveData = {
3852
4824
  /**
3853
- * Region code (cn, us, de)
4825
+ * Region code for tenant context
4826
+ */
4827
+ region: 'cn' | 'us' | 'de' | 'gb';
4828
+ /**
4829
+ * Batch resolution request containing review IDs and action
3854
4830
  */
3855
- region: 'cn' | 'us' | 'de';
4831
+ requestBody: BatchResolveDto;
3856
4832
  };
3857
4833
 
3858
- export type ReviewController2Response = unknown;
4834
+ export type ReviewControllerBatchResolveResponse = BatchResolveResultDto;
3859
4835
 
3860
- export type PayeeControllerData = {
3861
- /**
3862
- * Region code (cn, us, de)
3863
- */
3864
- region: 'cn' | 'us' | 'de';
4836
+ export type PayeeControllerCreateData = {
4837
+ requestBody: CreatePayeeDto;
3865
4838
  };
3866
4839
 
3867
- export type PayeeControllerResponse = unknown;
4840
+ export type PayeeControllerCreateResponse = PayeeResponseDto;
3868
4841
 
3869
4842
  export type PayeeControllerFindAllData = {
3870
4843
  /**
@@ -3879,10 +4852,6 @@ export type PayeeControllerFindAllData = {
3879
4852
  * Filter by exact payee name match
3880
4853
  */
3881
4854
  payee?: string;
3882
- /**
3883
- * Region code (cn, us, de)
3884
- */
3885
- region: 'cn' | 'us' | 'de';
3886
4855
  /**
3887
4856
  * Search term for payee name (partial match, case-insensitive). Useful for autocomplete.
3888
4857
  */
@@ -3904,10 +4873,6 @@ export type PayeeControllerAutocompleteData = {
3904
4873
  * Search query for payee name (partial match, case-insensitive)
3905
4874
  */
3906
4875
  q: string;
3907
- /**
3908
- * Region code (cn, us, de)
3909
- */
3910
- region: 'cn' | 'us' | 'de';
3911
4876
  };
3912
4877
 
3913
4878
  export type PayeeControllerAutocompleteResponse = PayeeAutocompleteResponseDto;
@@ -3917,10 +4882,6 @@ export type PayeeControllerGetTopPayeesData = {
3917
4882
  * Maximum number of results
3918
4883
  */
3919
4884
  limit?: number;
3920
- /**
3921
- * Region code (cn, us, de)
3922
- */
3923
- region: 'cn' | 'us' | 'de';
3924
4885
  };
3925
4886
 
3926
4887
  export type PayeeControllerGetTopPayeesResponse = Array<PayeeStatsResponseDto>;
@@ -3930,40 +4891,34 @@ export type PayeeControllerFindOneData = {
3930
4891
  * Payee UUID
3931
4892
  */
3932
4893
  id: string;
3933
- /**
3934
- * Region code (cn, us, de)
3935
- */
3936
- region: 'cn' | 'us' | 'de';
3937
4894
  };
3938
4895
 
3939
4896
  export type PayeeControllerFindOneResponse = PayeeResponseDto;
3940
4897
 
3941
- export type PayeeController1Data = {
4898
+ export type PayeeControllerUpdateData = {
3942
4899
  /**
3943
- * Region code (cn, us, de)
4900
+ * Payee UUID
3944
4901
  */
3945
- region: 'cn' | 'us' | 'de';
4902
+ id: string;
4903
+ requestBody: UpdatePayeeDto;
3946
4904
  };
3947
4905
 
3948
- export type PayeeController1Response = unknown;
4906
+ export type PayeeControllerUpdateResponse = PayeeResponseDto;
3949
4907
 
3950
- export type PayeeController2Data = {
4908
+ export type PayeeControllerDeleteData = {
3951
4909
  /**
3952
- * Region code (cn, us, de)
4910
+ * Payee UUID
3953
4911
  */
3954
- region: 'cn' | 'us' | 'de';
4912
+ id: string;
3955
4913
  };
3956
4914
 
3957
- export type PayeeController2Response = void;
4915
+ export type PayeeControllerDeleteResponse = void;
3958
4916
 
3959
- export type PayeeProfileAdminControllerData = {
3960
- /**
3961
- * Region code (cn, us, de)
3962
- */
3963
- region: 'cn' | 'us' | 'de';
4917
+ export type PayeeProfileAdminControllerCreateData = {
4918
+ requestBody: CreatePayeeProfileDto;
3964
4919
  };
3965
4920
 
3966
- export type PayeeProfileAdminControllerResponse = unknown;
4921
+ export type PayeeProfileAdminControllerCreateResponse = PayeeProfileResponseDto;
3967
4922
 
3968
4923
  export type PayeeProfileAdminControllerFindAllData = {
3969
4924
  /**
@@ -4005,10 +4960,6 @@ export type PayeeProfileAdminControllerFindAllData = {
4005
4960
  * Filter by active status (default: true - show only active)
4006
4961
  */
4007
4962
  isActive?: boolean;
4008
- /**
4009
- * Region code (cn, us, de)
4010
- */
4011
- region: 'cn' | 'us' | 'de';
4012
4963
  /**
4013
4964
  * Search term for canonical name and aliases (case-insensitive)
4014
4965
  */
@@ -4027,65 +4978,64 @@ export type PayeeProfileAdminControllerFindOneData = {
4027
4978
  * Payee profile ID (UUID)
4028
4979
  */
4029
4980
  id: string;
4030
- /**
4031
- * Region code (cn, us, de)
4032
- */
4033
- region: 'cn' | 'us' | 'de';
4034
4981
  };
4035
4982
 
4036
4983
  export type PayeeProfileAdminControllerFindOneResponse =
4037
4984
  PayeeProfileResponseDto;
4038
4985
 
4039
- export type PayeeProfileAdminController1Data = {
4986
+ export type PayeeProfileAdminControllerUpdateData = {
4040
4987
  /**
4041
- * Region code (cn, us, de)
4988
+ * Payee profile ID (UUID)
4042
4989
  */
4043
- region: 'cn' | 'us' | 'de';
4990
+ id: string;
4991
+ requestBody: UpdatePayeeProfileDto;
4044
4992
  };
4045
4993
 
4046
- export type PayeeProfileAdminController1Response = unknown;
4994
+ export type PayeeProfileAdminControllerUpdateResponse = PayeeProfileResponseDto;
4047
4995
 
4048
- export type PayeeProfileAdminController2Data = {
4996
+ export type PayeeProfileAdminControllerDeleteData = {
4049
4997
  /**
4050
- * Region code (cn, us, de)
4998
+ * Payee profile ID (UUID)
4051
4999
  */
4052
- region: 'cn' | 'us' | 'de';
5000
+ id: string;
4053
5001
  };
4054
5002
 
4055
- export type PayeeProfileAdminController2Response = void;
5003
+ export type PayeeProfileAdminControllerDeleteResponse = void;
4056
5004
 
4057
- export type PayeeProfileAdminController3Data = {
5005
+ export type PayeeProfileAdminControllerVerifyData = {
4058
5006
  /**
4059
- * Region code (cn, us, de)
5007
+ * Payee profile ID (UUID)
4060
5008
  */
4061
- region: 'cn' | 'us' | 'de';
5009
+ id: string;
4062
5010
  };
4063
5011
 
4064
- export type PayeeProfileAdminController3Response = unknown;
5012
+ export type PayeeProfileAdminControllerVerifyResponse = PayeeProfileResponseDto;
4065
5013
 
4066
- export type PayeeProfileAdminController4Data = {
5014
+ export type PayeeProfileAdminControllerUnverifyData = {
4067
5015
  /**
4068
- * Region code (cn, us, de)
5016
+ * Payee profile ID (UUID)
4069
5017
  */
4070
- region: 'cn' | 'us' | 'de';
5018
+ id: string;
4071
5019
  };
4072
5020
 
4073
- export type PayeeProfileAdminController4Response = unknown;
5021
+ export type PayeeProfileAdminControllerUnverifyResponse =
5022
+ PayeeProfileResponseDto;
4074
5023
 
4075
- export type CommodityControllerData = {
5024
+ export type CommodityControllerCreateData = {
4076
5025
  /**
4077
- * Region code (cn, us, de)
5026
+ * Region code for tenant context
4078
5027
  */
4079
- region: 'cn' | 'us' | 'de';
5028
+ region: 'cn' | 'us' | 'de' | 'gb';
5029
+ requestBody: CreateCommodityDto;
4080
5030
  };
4081
5031
 
4082
- export type CommodityControllerResponse = unknown;
5032
+ export type CommodityControllerCreateResponse = CommodityResponseDto;
4083
5033
 
4084
5034
  export type CommodityControllerFindAllData = {
4085
5035
  /**
4086
- * Region code (cn, us, de)
5036
+ * Region code for tenant context
4087
5037
  */
4088
- region: 'cn' | 'us' | 'de';
5038
+ region: 'cn' | 'us' | 'de' | 'gb';
4089
5039
  /**
4090
5040
  * Search term for symbol or metadata fields (partial match). Searches symbol and metadata.name.
4091
5041
  */
@@ -4100,9 +5050,9 @@ export type CommodityControllerFindAllResponse = CommodityListResponseDto;
4100
5050
 
4101
5051
  export type CommodityControllerFindOneData = {
4102
5052
  /**
4103
- * Region code (cn, us, de)
5053
+ * Region code for tenant context
4104
5054
  */
4105
- region: 'cn' | 'us' | 'de';
5055
+ region: 'cn' | 'us' | 'de' | 'gb';
4106
5056
  /**
4107
5057
  * Commodity symbol
4108
5058
  */
@@ -4111,50 +5061,64 @@ export type CommodityControllerFindOneData = {
4111
5061
 
4112
5062
  export type CommodityControllerFindOneResponse = CommodityResponseDto;
4113
5063
 
4114
- export type CommodityController1Data = {
5064
+ export type CommodityControllerUpdateData = {
4115
5065
  /**
4116
- * Region code (cn, us, de)
5066
+ * Region code for tenant context
5067
+ */
5068
+ region: 'cn' | 'us' | 'de' | 'gb';
5069
+ requestBody: UpdateCommodityDto;
5070
+ /**
5071
+ * Commodity symbol
4117
5072
  */
4118
- region: 'cn' | 'us' | 'de';
5073
+ symbol: string;
4119
5074
  };
4120
5075
 
4121
- export type CommodityController1Response = unknown;
5076
+ export type CommodityControllerUpdateResponse = CommodityResponseDto;
4122
5077
 
4123
- export type CommodityController2Data = {
5078
+ export type CommodityControllerDeleteData = {
4124
5079
  /**
4125
- * Region code (cn, us, de)
5080
+ * Region code for tenant context
5081
+ */
5082
+ region: 'cn' | 'us' | 'de' | 'gb';
5083
+ /**
5084
+ * Commodity symbol
4126
5085
  */
4127
- region: 'cn' | 'us' | 'de';
5086
+ symbol: string;
4128
5087
  };
4129
5088
 
4130
- export type CommodityController2Response = void;
5089
+ export type CommodityControllerDeleteResponse = void;
4131
5090
 
4132
- export type CommodityController3Data = {
5091
+ export type CommodityControllerGetOrCreateData = {
4133
5092
  /**
4134
- * Region code (cn, us, de)
5093
+ * Region code for tenant context
5094
+ */
5095
+ region: 'cn' | 'us' | 'de' | 'gb';
5096
+ /**
5097
+ * Commodity symbol
4135
5098
  */
4136
- region: 'cn' | 'us' | 'de';
5099
+ symbol: string;
4137
5100
  };
4138
5101
 
4139
- export type CommodityController3Response = unknown;
5102
+ export type CommodityControllerGetOrCreateResponse = CommodityResponseDto;
4140
5103
 
4141
- export type CommodityController4Data = {
5104
+ export type CommodityControllerBulkCreateData = {
4142
5105
  /**
4143
- * Region code (cn, us, de)
5106
+ * Region code for tenant context
4144
5107
  */
4145
- region: 'cn' | 'us' | 'de';
5108
+ region: 'cn' | 'us' | 'de' | 'gb';
4146
5109
  };
4147
5110
 
4148
- export type CommodityController4Response = unknown;
5111
+ export type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
4149
5112
 
4150
- export type RecurringRuleControllerData = {
5113
+ export type RecurringRuleControllerCreateData = {
4151
5114
  /**
4152
- * Region code (cn, us, de)
5115
+ * Region code for tenant context
4153
5116
  */
4154
- region: 'cn' | 'us' | 'de';
5117
+ region: 'cn' | 'us' | 'de' | 'gb';
5118
+ requestBody: CreateRecurringRuleDto;
4155
5119
  };
4156
5120
 
4157
- export type RecurringRuleControllerResponse = unknown;
5121
+ export type RecurringRuleControllerCreateResponse = RecurringRuleResponseDto;
4158
5122
 
4159
5123
  export type RecurringRuleControllerFindAllData = {
4160
5124
  /**
@@ -4170,22 +5134,28 @@ export type RecurringRuleControllerFindAllData = {
4170
5134
  */
4171
5135
  isActive?: boolean;
4172
5136
  /**
4173
- * Region code (cn, us, de)
5137
+ * Region code for tenant context
4174
5138
  */
4175
- region: 'cn' | 'us' | 'de';
5139
+ region: 'cn' | 'us' | 'de' | 'gb';
4176
5140
  };
4177
5141
 
4178
5142
  export type RecurringRuleControllerFindAllResponse =
4179
5143
  Array<RecurringRuleResponseDto>;
4180
5144
 
4181
- export type RecurringRuleController1Data = {
5145
+ export type RecurringRuleControllerCreateFromTransactionData = {
4182
5146
  /**
4183
- * Region code (cn, us, de)
5147
+ * Region code for tenant context
5148
+ */
5149
+ region: 'cn' | 'us' | 'de' | 'gb';
5150
+ requestBody: CreateRuleFromTransactionDto;
5151
+ /**
5152
+ * Source transaction ID
4184
5153
  */
4185
- region: 'cn' | 'us' | 'de';
5154
+ transactionId: string;
4186
5155
  };
4187
5156
 
4188
- export type RecurringRuleController1Response = unknown;
5157
+ export type RecurringRuleControllerCreateFromTransactionResponse =
5158
+ RecurringRuleResponseDto;
4189
5159
 
4190
5160
  export type RecurringRuleControllerFindOneData = {
4191
5161
  /**
@@ -4193,30 +5163,39 @@ export type RecurringRuleControllerFindOneData = {
4193
5163
  */
4194
5164
  id: string;
4195
5165
  /**
4196
- * Region code (cn, us, de)
5166
+ * Region code for tenant context
4197
5167
  */
4198
- region: 'cn' | 'us' | 'de';
5168
+ region: 'cn' | 'us' | 'de' | 'gb';
4199
5169
  };
4200
5170
 
4201
5171
  export type RecurringRuleControllerFindOneResponse = RecurringRuleResponseDto;
4202
5172
 
4203
- export type RecurringRuleController2Data = {
5173
+ export type RecurringRuleControllerUpdateData = {
4204
5174
  /**
4205
- * Region code (cn, us, de)
5175
+ * Rule ID
5176
+ */
5177
+ id: string;
5178
+ /**
5179
+ * Region code for tenant context
4206
5180
  */
4207
- region: 'cn' | 'us' | 'de';
5181
+ region: 'cn' | 'us' | 'de' | 'gb';
5182
+ requestBody: UpdateRecurringRuleDto;
4208
5183
  };
4209
5184
 
4210
- export type RecurringRuleController2Response = unknown;
5185
+ export type RecurringRuleControllerUpdateResponse = RecurringRuleResponseDto;
4211
5186
 
4212
- export type RecurringRuleController3Data = {
5187
+ export type RecurringRuleControllerDeleteData = {
4213
5188
  /**
4214
- * Region code (cn, us, de)
5189
+ * Rule ID
5190
+ */
5191
+ id: string;
5192
+ /**
5193
+ * Region code for tenant context
4215
5194
  */
4216
- region: 'cn' | 'us' | 'de';
5195
+ region: 'cn' | 'us' | 'de' | 'gb';
4217
5196
  };
4218
5197
 
4219
- export type RecurringRuleController3Response = void;
5198
+ export type RecurringRuleControllerDeleteResponse = void;
4220
5199
 
4221
5200
  export type RecurringRuleControllerGetWithStatsData = {
4222
5201
  /**
@@ -4224,9 +5203,9 @@ export type RecurringRuleControllerGetWithStatsData = {
4224
5203
  */
4225
5204
  id: string;
4226
5205
  /**
4227
- * Region code (cn, us, de)
5206
+ * Region code for tenant context
4228
5207
  */
4229
- region: 'cn' | 'us' | 'de';
5208
+ region: 'cn' | 'us' | 'de' | 'gb';
4230
5209
  };
4231
5210
 
4232
5211
  export type RecurringRuleControllerGetWithStatsResponse =
@@ -4238,9 +5217,9 @@ export type ExpectedTransactionControllerFindAllData = {
4238
5217
  */
4239
5218
  fromDate?: string;
4240
5219
  /**
4241
- * Region code (cn, us, de)
5220
+ * Region code for tenant context
4242
5221
  */
4243
- region: 'cn' | 'us' | 'de';
5222
+ region: 'cn' | 'us' | 'de' | 'gb';
4244
5223
  /**
4245
5224
  * Filter by recurring rule ID
4246
5225
  */
@@ -4260,9 +5239,9 @@ export type ExpectedTransactionControllerFindAllResponse =
4260
5239
 
4261
5240
  export type ExpectedTransactionControllerFindOverdueData = {
4262
5241
  /**
4263
- * Region code (cn, us, de)
5242
+ * Region code for tenant context
4264
5243
  */
4265
- region: 'cn' | 'us' | 'de';
5244
+ region: 'cn' | 'us' | 'de' | 'gb';
4266
5245
  };
4267
5246
 
4268
5247
  export type ExpectedTransactionControllerFindOverdueResponse =
@@ -4274,58 +5253,82 @@ export type ExpectedTransactionControllerFindOneData = {
4274
5253
  */
4275
5254
  id: string;
4276
5255
  /**
4277
- * Region code (cn, us, de)
5256
+ * Region code for tenant context
4278
5257
  */
4279
- region: 'cn' | 'us' | 'de';
5258
+ region: 'cn' | 'us' | 'de' | 'gb';
4280
5259
  };
4281
5260
 
4282
5261
  export type ExpectedTransactionControllerFindOneResponse =
4283
5262
  ExpectedTransactionResponseDto;
4284
5263
 
4285
- export type ExpectedTransactionControllerData = {
5264
+ export type ExpectedTransactionControllerSkipData = {
4286
5265
  /**
4287
- * Region code (cn, us, de)
5266
+ * Expected transaction ID
5267
+ */
5268
+ id: string;
5269
+ /**
5270
+ * Region code for tenant context
4288
5271
  */
4289
- region: 'cn' | 'us' | 'de';
5272
+ region: 'cn' | 'us' | 'de' | 'gb';
4290
5273
  };
4291
5274
 
4292
- export type ExpectedTransactionControllerResponse = unknown;
5275
+ export type ExpectedTransactionControllerSkipResponse =
5276
+ ExpectedTransactionResponseDto;
4293
5277
 
4294
- export type ExpectedTransactionController1Data = {
5278
+ export type ExpectedTransactionControllerUndoSkipData = {
4295
5279
  /**
4296
- * Region code (cn, us, de)
5280
+ * Expected transaction ID
5281
+ */
5282
+ id: string;
5283
+ /**
5284
+ * Region code for tenant context
4297
5285
  */
4298
- region: 'cn' | 'us' | 'de';
5286
+ region: 'cn' | 'us' | 'de' | 'gb';
4299
5287
  };
4300
5288
 
4301
- export type ExpectedTransactionController1Response = unknown;
5289
+ export type ExpectedTransactionControllerUndoSkipResponse =
5290
+ ExpectedTransactionResponseDto;
4302
5291
 
4303
- export type ExpectedTransactionController2Data = {
5292
+ export type ExpectedTransactionControllerConfirmMatchData = {
4304
5293
  /**
4305
- * Region code (cn, us, de)
5294
+ * Expected transaction ID
4306
5295
  */
4307
- region: 'cn' | 'us' | 'de';
5296
+ id: string;
5297
+ /**
5298
+ * Region code for tenant context
5299
+ */
5300
+ region: 'cn' | 'us' | 'de' | 'gb';
5301
+ requestBody: ConfirmMatchDto;
4308
5302
  };
4309
5303
 
4310
- export type ExpectedTransactionController2Response = unknown;
5304
+ export type ExpectedTransactionControllerConfirmMatchResponse = unknown;
4311
5305
 
4312
- export type ExpectedTransactionController3Data = {
5306
+ export type ExpectedTransactionControllerUnmatchData = {
4313
5307
  /**
4314
- * Region code (cn, us, de)
5308
+ * Expected transaction ID
5309
+ */
5310
+ id: string;
5311
+ /**
5312
+ * Region code for tenant context
4315
5313
  */
4316
- region: 'cn' | 'us' | 'de';
5314
+ region: 'cn' | 'us' | 'de' | 'gb';
4317
5315
  };
4318
5316
 
4319
- export type ExpectedTransactionController3Response = unknown;
5317
+ export type ExpectedTransactionControllerUnmatchResponse = unknown;
4320
5318
 
4321
- export type ExpectedTransactionController4Data = {
5319
+ export type ExpectedTransactionControllerEnterNowData = {
4322
5320
  /**
4323
- * Region code (cn, us, de)
5321
+ * Expected transaction ID
5322
+ */
5323
+ id: string;
5324
+ /**
5325
+ * Region code for tenant context
4324
5326
  */
4325
- region: 'cn' | 'us' | 'de';
5327
+ region: 'cn' | 'us' | 'de' | 'gb';
5328
+ requestBody: EnterNowDto;
4326
5329
  };
4327
5330
 
4328
- export type ExpectedTransactionController4Response = unknown;
5331
+ export type ExpectedTransactionControllerEnterNowResponse = unknown;
4329
5332
 
4330
5333
  export type ForecastControllerGetForecastData = {
4331
5334
  /**
@@ -4333,21 +5336,23 @@ export type ForecastControllerGetForecastData = {
4333
5336
  */
4334
5337
  months?: number;
4335
5338
  /**
4336
- * Region code (cn, us, de)
5339
+ * Region code for tenant context
4337
5340
  */
4338
- region: 'cn' | 'us' | 'de';
5341
+ region: 'cn' | 'us' | 'de' | 'gb';
4339
5342
  };
4340
5343
 
4341
5344
  export type ForecastControllerGetForecastResponse = ForecastResponseDto;
4342
5345
 
4343
- export type TransactionRuleControllerData = {
5346
+ export type TransactionRuleControllerCreateData = {
4344
5347
  /**
4345
- * Region code (cn, us, de)
5348
+ * Region code for tenant context
4346
5349
  */
4347
- region: 'cn' | 'us' | 'de';
5350
+ region: 'cn' | 'us' | 'de' | 'gb';
5351
+ requestBody: CreateTransactionRuleDto;
4348
5352
  };
4349
5353
 
4350
- export type TransactionRuleControllerResponse = unknown;
5354
+ export type TransactionRuleControllerCreateResponse =
5355
+ TransactionRuleResponseDto;
4351
5356
 
4352
5357
  export type TransactionRuleControllerListData = {
4353
5358
  /**
@@ -4371,9 +5376,9 @@ export type TransactionRuleControllerListData = {
4371
5376
  */
4372
5377
  offset?: number;
4373
5378
  /**
4374
- * Region code (cn, us, de)
5379
+ * Region code for tenant context
4375
5380
  */
4376
- region: 'cn' | 'us' | 'de';
5381
+ region: 'cn' | 'us' | 'de' | 'gb';
4377
5382
  };
4378
5383
 
4379
5384
  export type TransactionRuleControllerListResponse =
@@ -4381,22 +5386,24 @@ export type TransactionRuleControllerListResponse =
4381
5386
 
4382
5387
  export type TransactionRuleControllerValidateData = {
4383
5388
  /**
4384
- * Region code (cn, us, de)
5389
+ * Region code for tenant context
4385
5390
  */
4386
- region: 'cn' | 'us' | 'de';
5391
+ region: 'cn' | 'us' | 'de' | 'gb';
4387
5392
  requestBody: ValidateRuleDto;
4388
5393
  };
4389
5394
 
4390
5395
  export type TransactionRuleControllerValidateResponse = ValidateRuleResponseDto;
4391
5396
 
4392
- export type TransactionRuleController1Data = {
5397
+ export type TransactionRuleControllerBulkCreateData = {
4393
5398
  /**
4394
- * Region code (cn, us, de)
5399
+ * Region code for tenant context
4395
5400
  */
4396
- region: 'cn' | 'us' | 'de';
5401
+ region: 'cn' | 'us' | 'de' | 'gb';
5402
+ requestBody: BulkCreateRulesDto;
4397
5403
  };
4398
5404
 
4399
- export type TransactionRuleController1Response = unknown;
5405
+ export type TransactionRuleControllerBulkCreateResponse =
5406
+ BulkCreateRulesResponseDto;
4400
5407
 
4401
5408
  export type TransactionRuleControllerExportData = {
4402
5409
  /**
@@ -4404,9 +5411,9 @@ export type TransactionRuleControllerExportData = {
4404
5411
  */
4405
5412
  format: 'json';
4406
5413
  /**
4407
- * Region code (cn, us, de)
5414
+ * Region code for tenant context
4408
5415
  */
4409
- region: 'cn' | 'us' | 'de';
5416
+ region: 'cn' | 'us' | 'de' | 'gb';
4410
5417
  };
4411
5418
 
4412
5419
  export type TransactionRuleControllerExportResponse = ExportRulesResponseDto;
@@ -4417,9 +5424,9 @@ export type TransactionRuleControllerGetStatisticsData = {
4417
5424
  */
4418
5425
  period: '7d' | '30d' | '90d';
4419
5426
  /**
4420
- * Region code (cn, us, de)
5427
+ * Region code for tenant context
4421
5428
  */
4422
- region: 'cn' | 'us' | 'de';
5429
+ region: 'cn' | 'us' | 'de' | 'gb';
4423
5430
  };
4424
5431
 
4425
5432
  export type TransactionRuleControllerGetStatisticsResponse =
@@ -4427,9 +5434,9 @@ export type TransactionRuleControllerGetStatisticsResponse =
4427
5434
 
4428
5435
  export type TransactionRuleControllerGetDetailData = {
4429
5436
  /**
4430
- * Region code (cn, us, de)
5437
+ * Region code for tenant context
4431
5438
  */
4432
- region: 'cn' | 'us' | 'de';
5439
+ region: 'cn' | 'us' | 'de' | 'gb';
4433
5440
  /**
4434
5441
  * Rule ID
4435
5442
  */
@@ -4439,29 +5446,39 @@ export type TransactionRuleControllerGetDetailData = {
4439
5446
  export type TransactionRuleControllerGetDetailResponse =
4440
5447
  TransactionRuleResponseDto;
4441
5448
 
4442
- export type TransactionRuleController2Data = {
5449
+ export type TransactionRuleControllerUpdateData = {
4443
5450
  /**
4444
- * Region code (cn, us, de)
5451
+ * Region code for tenant context
5452
+ */
5453
+ region: 'cn' | 'us' | 'de' | 'gb';
5454
+ requestBody: UpdateTransactionRuleDto;
5455
+ /**
5456
+ * Rule ID to update
4445
5457
  */
4446
- region: 'cn' | 'us' | 'de';
5458
+ ruleId: string;
4447
5459
  };
4448
5460
 
4449
- export type TransactionRuleController2Response = unknown;
5461
+ export type TransactionRuleControllerUpdateResponse =
5462
+ TransactionRuleResponseDto;
4450
5463
 
4451
- export type TransactionRuleController3Data = {
5464
+ export type TransactionRuleControllerDeleteData = {
4452
5465
  /**
4453
- * Region code (cn, us, de)
5466
+ * Region code for tenant context
5467
+ */
5468
+ region: 'cn' | 'us' | 'de' | 'gb';
5469
+ /**
5470
+ * Rule ID to delete
4454
5471
  */
4455
- region: 'cn' | 'us' | 'de';
5472
+ ruleId: string;
4456
5473
  };
4457
5474
 
4458
- export type TransactionRuleController3Response = void;
5475
+ export type TransactionRuleControllerDeleteResponse = void;
4459
5476
 
4460
5477
  export type TransactionRuleControllerTestData = {
4461
5478
  /**
4462
- * Region code (cn, us, de)
5479
+ * Region code for tenant context
4463
5480
  */
4464
- region: 'cn' | 'us' | 'de';
5481
+ region: 'cn' | 'us' | 'de' | 'gb';
4465
5482
  requestBody: TestRuleDto;
4466
5483
  /**
4467
5484
  * Rule ID to test
@@ -4472,10 +5489,6 @@ export type TransactionRuleControllerTestData = {
4472
5489
  export type TransactionRuleControllerTestResponse = TestRuleResponseDto;
4473
5490
 
4474
5491
  export type UserControllerDeleteOwnUserData = {
4475
- /**
4476
- * Region code (cn, us, de)
4477
- */
4478
- region: 'cn' | 'us' | 'de';
4479
5492
  requestBody: DeleteOwnUserDto;
4480
5493
  };
4481
5494
 
@@ -4483,19 +5496,11 @@ export type UserControllerDeleteOwnUserResponse = void;
4483
5496
 
4484
5497
  export type UserControllerGetUserData = {
4485
5498
  acceptLanguage: string;
4486
- /**
4487
- * Region code (cn, us, de)
4488
- */
4489
- region: 'cn' | 'us' | 'de';
4490
5499
  };
4491
5500
 
4492
5501
  export type UserControllerGetUserResponse = unknown;
4493
5502
 
4494
5503
  export type UserControllerSignupUserData = {
4495
- /**
4496
- * Region code (cn, us, de)
4497
- */
4498
- region: 'cn' | 'us' | 'de';
4499
5504
  requestBody: SignupDto;
4500
5505
  };
4501
5506
 
@@ -4506,10 +5511,6 @@ export type UserControllerDeleteUserData = {
4506
5511
  * User ID to delete
4507
5512
  */
4508
5513
  id: string;
4509
- /**
4510
- * Region code (cn, us, de)
4511
- */
4512
- region: 'cn' | 'us' | 'de';
4513
5514
  };
4514
5515
 
4515
5516
  export type UserControllerDeleteUserResponse = void;
@@ -4519,19 +5520,11 @@ export type UserControllerGetUserInfoData = {
4519
5520
  * User ID
4520
5521
  */
4521
5522
  id: string;
4522
- /**
4523
- * Region code (cn, us, de)
4524
- */
4525
- region: 'cn' | 'us' | 'de';
4526
5523
  };
4527
5524
 
4528
5525
  export type UserControllerGetUserInfoResponse = unknown;
4529
5526
 
4530
5527
  export type UserControllerUpdateUserSettingData = {
4531
- /**
4532
- * Region code (cn, us, de)
4533
- */
4534
- region: 'cn' | 'us' | 'de';
4535
5528
  requestBody: UpdateUserSettingDto;
4536
5529
  };
4537
5530
 
@@ -4546,30 +5539,12 @@ export type UserControllerGetAllUserSettingsByPageData = {
4546
5539
  * Page size
4547
5540
  */
4548
5541
  pageSize: number;
4549
- /**
4550
- * Region code (cn, us, de)
4551
- */
4552
- region: 'cn' | 'us' | 'de';
4553
5542
  };
4554
5543
 
4555
5544
  export type UserControllerGetAllUserSettingsByPageResponse = unknown;
4556
5545
 
4557
- export type UserControllerGetAssetLiabilitySummaryData = {
4558
- /**
4559
- * Region code (cn, us, de)
4560
- */
4561
- region: 'cn' | 'us' | 'de';
4562
- };
4563
-
4564
5546
  export type UserControllerGetAssetLiabilitySummaryResponse = unknown;
4565
5547
 
4566
- export type PropertyControllerGetAllData = {
4567
- /**
4568
- * Region code (cn, us, de)
4569
- */
4570
- region: 'cn' | 'us' | 'de';
4571
- };
4572
-
4573
5548
  export type PropertyControllerGetAllResponse = unknown;
4574
5549
 
4575
5550
  export type PropertyControllerGetByKeyData = {
@@ -4577,31 +5552,30 @@ export type PropertyControllerGetByKeyData = {
4577
5552
  * Property key
4578
5553
  */
4579
5554
  key: string;
4580
- /**
4581
- * Region code (cn, us, de)
4582
- */
4583
- region: 'cn' | 'us' | 'de';
4584
5555
  };
4585
5556
 
4586
5557
  export type PropertyControllerGetByKeyResponse = unknown;
4587
5558
 
4588
- export type PropertyControllerData = {
5559
+ export type PropertyControllerUpdateData = {
4589
5560
  /**
4590
- * Region code (cn, us, de)
5561
+ * Property key
4591
5562
  */
4592
- region: 'cn' | 'us' | 'de';
5563
+ key: string;
5564
+ requestBody: UpdatePropertyDto;
4593
5565
  };
4594
5566
 
4595
- export type PropertyControllerResponse = unknown;
5567
+ export type PropertyControllerUpdateResponse = unknown;
4596
5568
 
4597
- export type PropertyController1Data = {
5569
+ export type PropertyControllerDeleteData = {
4598
5570
  /**
4599
- * Region code (cn, us, de)
5571
+ * Property key
4600
5572
  */
4601
- region: 'cn' | 'us' | 'de';
5573
+ key: string;
4602
5574
  };
4603
5575
 
4604
- export type PropertyController1Response = void;
5576
+ export type PropertyControllerDeleteResponse = void;
5577
+
5578
+ export type ExportControllerExportBeancountResponse = unknown;
4605
5579
 
4606
5580
  export type FileImportControllerImportFileData = {
4607
5581
  /**
@@ -4609,9 +5583,9 @@ export type FileImportControllerImportFileData = {
4609
5583
  */
4610
5584
  formData: FileImportDto;
4611
5585
  /**
4612
- * Region code (cn, us, de)
5586
+ * Region code for tenant context
4613
5587
  */
4614
- region: 'cn' | 'us' | 'de';
5588
+ region: 'cn' | 'us' | 'de' | 'gb';
4615
5589
  };
4616
5590
 
4617
5591
  export type FileImportControllerImportFileResponse = ImportResultDto;
@@ -4622,284 +5596,212 @@ export type FileImportControllerIdentifyFileData = {
4622
5596
  */
4623
5597
  formData: FileImportDto;
4624
5598
  /**
4625
- * Region code (cn, us, de)
5599
+ * Region code for tenant context
4626
5600
  */
4627
- region: 'cn' | 'us' | 'de';
5601
+ region: 'cn' | 'us' | 'de' | 'gb';
4628
5602
  };
4629
5603
 
4630
5604
  export type FileImportControllerIdentifyFileResponse = IdentifyResultDto;
4631
5605
 
4632
- export type ImporterConfigControllerGetConfigData = {
5606
+ export type FileImportControllerImportBeancountData = {
4633
5607
  /**
4634
- * Importer identifier. Supported importers: alipay, alipay-web, wechat, boc, boc-credit, ccb, cmb, cmbc, cmbc-credit, icbc, icbc-credit, hsbc-hk
5608
+ * Beancount file to import
4635
5609
  */
4636
- importerId: string;
4637
- /**
4638
- * Region code (cn, us, de)
4639
- */
4640
- region: 'cn' | 'us' | 'de';
4641
- };
4642
-
4643
- export type ImporterConfigControllerGetConfigResponse = ImporterConfigDto;
4644
-
4645
- export type ImporterConfigControllerData = {
5610
+ formData: FileImportDto;
4646
5611
  /**
4647
- * Region code (cn, us, de)
5612
+ * Region code for tenant context
4648
5613
  */
4649
- region: 'cn' | 'us' | 'de';
5614
+ region: 'cn' | 'us' | 'de' | 'gb';
4650
5615
  };
4651
5616
 
4652
- export type ImporterConfigControllerResponse = unknown;
4653
-
4654
- export type ImporterConfigController1Data = {
4655
- /**
4656
- * Region code (cn, us, de)
4657
- */
4658
- region: 'cn' | 'us' | 'de';
5617
+ export type FileImportControllerImportBeancountResponse = {
5618
+ imported?: number;
5619
+ skipped?: number;
5620
+ failed?: number;
5621
+ accountsCreated?: number;
5622
+ errors?: Array<{
5623
+ [key: string]: unknown;
5624
+ }>;
4659
5625
  };
4660
5626
 
4661
- export type ImporterConfigController1Response = unknown;
4662
-
4663
- export type ProviderSyncControllerSyncData = {
5627
+ export type ImporterConfigControllerGetConfigData = {
4664
5628
  /**
4665
- * Provider name
5629
+ * 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
4666
5630
  */
4667
- providerName:
4668
- | 'plaid'
4669
- | 'teller'
4670
- | 'truelayer'
4671
- | 'gocardless'
4672
- | 'simplefin'
4673
- | 'yodlee'
4674
- | 'beancount-direct';
5631
+ importerId: string;
4675
5632
  /**
4676
- * Region code
5633
+ * Region code for tenant context
4677
5634
  */
4678
- region: unknown;
4679
- requestBody: ProviderSyncDto;
5635
+ region: 'cn' | 'us' | 'de' | 'gb';
4680
5636
  };
4681
5637
 
4682
- export type ProviderSyncControllerSyncResponse = ProviderSyncResponseDto;
5638
+ export type ImporterConfigControllerGetConfigResponse = ImporterConfigDto;
4683
5639
 
4684
- export type ProviderSyncControllerGetSupportedProvidersData = {
5640
+ export type ImporterConfigControllerUpdateConfigData = {
4685
5641
  /**
4686
- * Region code (cn, us, de)
5642
+ * 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
4687
5643
  */
4688
- region: 'cn' | 'us' | 'de';
4689
- };
4690
-
4691
- export type ProviderSyncControllerGetSupportedProvidersResponse =
4692
- SupportedProvidersResponseDto;
4693
-
4694
- export type ProviderSyncControllerIsProviderSupportedData = {
5644
+ importerId: string;
4695
5645
  /**
4696
- * Provider name to check
5646
+ * Region code for tenant context
4697
5647
  */
4698
- providerName: string;
5648
+ region: 'cn' | 'us' | 'de' | 'gb';
4699
5649
  /**
4700
- * Region code (cn, us, de)
5650
+ * Partial configuration update. Only provided fields will be updated.
4701
5651
  */
4702
- region: 'cn' | 'us' | 'de';
5652
+ requestBody: UpdateImporterConfigDto;
4703
5653
  };
4704
5654
 
4705
- export type ProviderSyncControllerIsProviderSupportedResponse = unknown;
5655
+ export type ImporterConfigControllerUpdateConfigResponse = ImporterConfigDto;
4706
5656
 
4707
- export type NlpControllerProcessNaturalLanguageData = {
5657
+ export type ImporterConfigControllerResetConfigData = {
4708
5658
  /**
4709
- * Region code (cn, us, de)
5659
+ * 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
4710
5660
  */
4711
- region: 'cn' | 'us' | 'de';
5661
+ importerId: string;
4712
5662
  /**
4713
- * Natural language transaction input with optional session ID
5663
+ * Region code for tenant context
4714
5664
  */
4715
- requestBody: ProcessNlpDto;
5665
+ region: 'cn' | 'us' | 'de' | 'gb';
4716
5666
  };
4717
5667
 
4718
- export type NlpControllerProcessNaturalLanguageResponse = NlpResponseDto;
5668
+ export type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
4719
5669
 
4720
- export type NlpControllerClearSessionData = {
4721
- /**
4722
- * Region code (cn, us, de)
4723
- */
4724
- region: 'cn' | 'us' | 'de';
4725
- /**
4726
- * Specific session ID to clear (defaults to user session)
4727
- */
4728
- sessionId?: string;
5670
+ export type PlatformControllerFindAllResponse = unknown;
5671
+
5672
+ export type PlatformControllerCreateData = {
5673
+ requestBody: CreatePlatformDto;
4729
5674
  };
4730
5675
 
4731
- export type NlpControllerClearSessionResponse = void;
5676
+ export type PlatformControllerCreateResponse = unknown;
4732
5677
 
4733
- export type NlpControllerGetSessionData = {
5678
+ export type PlatformControllerGetPlatformListResponse = unknown;
5679
+
5680
+ export type PlatformControllerMatchPlatformsData = {
4734
5681
  /**
4735
- * Region code (cn, us, de)
5682
+ * Search query — Chinese name, English name, or abbreviation
4736
5683
  */
4737
- region: 'cn' | 'us' | 'de';
5684
+ q: string;
4738
5685
  /**
4739
- * Specific session ID to get (defaults to user session)
5686
+ * Region code for category override lookup
4740
5687
  */
4741
- sessionId?: string;
5688
+ region?: string;
4742
5689
  };
4743
5690
 
4744
- export type NlpControllerGetSessionResponse = unknown;
5691
+ export type PlatformControllerMatchPlatformsResponse = unknown;
4745
5692
 
4746
- export type PlatformControllerFindAllData = {
5693
+ export type PlatformControllerUpdateData = {
4747
5694
  /**
4748
- * Region code (cn, us, de)
5695
+ * Platform ID
4749
5696
  */
4750
- region: 'cn' | 'us' | 'de';
5697
+ id: string;
5698
+ requestBody: UpdatePlatformDto;
4751
5699
  };
4752
5700
 
4753
- export type PlatformControllerFindAllResponse = unknown;
5701
+ export type PlatformControllerUpdateResponse = unknown;
4754
5702
 
4755
- export type PlatformControllerData = {
5703
+ export type PlatformControllerDeleteData = {
4756
5704
  /**
4757
- * Region code (cn, us, de)
5705
+ * Platform ID
4758
5706
  */
4759
- region: 'cn' | 'us' | 'de';
5707
+ id: string;
4760
5708
  };
4761
5709
 
4762
- export type PlatformControllerResponse = unknown;
5710
+ export type PlatformControllerDeleteResponse = void;
4763
5711
 
4764
- export type PlatformControllerGetPlatformListData = {
5712
+ export type ProviderSyncControllerSyncData = {
4765
5713
  /**
4766
- * Region code (cn, us, de)
5714
+ * Provider name
4767
5715
  */
4768
- region: 'cn' | 'us' | 'de';
4769
- };
4770
-
4771
- export type PlatformControllerGetPlatformListResponse = unknown;
4772
-
4773
- export type PlatformController1Data = {
5716
+ providerName:
5717
+ | 'plaid'
5718
+ | 'teller'
5719
+ | 'truelayer'
5720
+ | 'gocardless'
5721
+ | 'simplefin'
5722
+ | 'yodlee'
5723
+ | 'beancount-direct'
5724
+ | 'parsed-bill';
4774
5725
  /**
4775
- * Region code (cn, us, de)
5726
+ * Region code
4776
5727
  */
4777
- region: 'cn' | 'us' | 'de';
5728
+ region: unknown;
5729
+ requestBody: ProviderSyncDto;
4778
5730
  };
4779
5731
 
4780
- export type PlatformController1Response = unknown;
5732
+ export type ProviderSyncControllerSyncResponse = ProviderSyncResponseDto;
4781
5733
 
4782
- export type PlatformController2Data = {
5734
+ export type ProviderSyncControllerGetSupportedProvidersData = {
4783
5735
  /**
4784
- * Region code (cn, us, de)
5736
+ * Region code for tenant context
4785
5737
  */
4786
- region: 'cn' | 'us' | 'de';
5738
+ region: 'cn' | 'us' | 'de' | 'gb';
4787
5739
  };
4788
5740
 
4789
- export type PlatformController2Response = void;
5741
+ export type ProviderSyncControllerGetSupportedProvidersResponse =
5742
+ SupportedProvidersResponseDto;
4790
5743
 
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;
5744
+ export type ProviderSyncControllerIsProviderSupportedData = {
4808
5745
  /**
4809
- * Search query string
5746
+ * Provider name to check
4810
5747
  */
4811
- query?: unknown;
5748
+ providerName: string;
4812
5749
  /**
4813
- * Region code (cn, us, de)
5750
+ * Region code for tenant context
4814
5751
  */
4815
- region: 'cn' | 'us' | 'de';
5752
+ region: 'cn' | 'us' | 'de' | 'gb';
4816
5753
  };
4817
5754
 
4818
- export type SymbolControllerLookupSymbolResponse = unknown;
5755
+ export type ProviderSyncControllerIsProviderSupportedResponse = unknown;
4819
5756
 
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;
5757
+ export type TelemetryControllerReportTelemetryData = {
4841
5758
  /**
4842
- * Region code (cn, us, de)
4843
- */
4844
- region: 'cn' | 'us' | 'de';
4845
- /**
4846
- * Symbol identifier (e.g., ticker code)
5759
+ * Region code for tenant context
4847
5760
  */
4848
- symbol: string;
5761
+ region: 'cn' | 'us' | 'de' | 'gb';
5762
+ requestBody: ParserTelemetryReportDto;
4849
5763
  };
4850
5764
 
4851
- export type SymbolControllerGetSymbolDataResponse = unknown;
5765
+ export type TelemetryControllerReportTelemetryResponse = unknown;
4852
5766
 
4853
- export type SymbolControllerGatherSymbolForDateData = {
5767
+ export type NlpControllerProcessNaturalLanguageData = {
4854
5768
  /**
4855
- * Data source provider
5769
+ * Region code for tenant context
4856
5770
  */
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';
5771
+ region: 'cn' | 'us' | 'de' | 'gb';
4870
5772
  /**
4871
- * Date in ISO 8601 format (YYYY-MM-DD)
5773
+ * Natural language transaction input with optional session ID
4872
5774
  */
4873
- dateString: string;
5775
+ requestBody: ProcessNlpDto;
5776
+ };
5777
+
5778
+ export type NlpControllerProcessNaturalLanguageResponse = NlpResponseDto;
5779
+
5780
+ export type NlpControllerClearSessionData = {
4874
5781
  /**
4875
- * Region code (cn, us, de)
5782
+ * Region code for tenant context
4876
5783
  */
4877
- region: 'cn' | 'us' | 'de';
5784
+ region: 'cn' | 'us' | 'de' | 'gb';
4878
5785
  /**
4879
- * Symbol identifier (e.g., ticker code)
5786
+ * Specific session ID to clear (defaults to user session)
4880
5787
  */
4881
- symbol: string;
5788
+ sessionId?: string;
4882
5789
  };
4883
5790
 
4884
- export type SymbolControllerGatherSymbolForDateResponse = unknown;
5791
+ export type NlpControllerClearSessionResponse = void;
4885
5792
 
4886
- export type SymbolControllerData = {
5793
+ export type NlpControllerGetSessionData = {
4887
5794
  /**
4888
- * Region code (cn, us, de)
5795
+ * Region code for tenant context
4889
5796
  */
4890
- region: 'cn' | 'us' | 'de';
4891
- };
4892
-
4893
- export type SymbolControllerResponse = unknown;
4894
-
4895
- export type CacheControllerFlushCacheData = {
5797
+ region: 'cn' | 'us' | 'de' | 'gb';
4896
5798
  /**
4897
- * Region code (cn, us, de)
5799
+ * Specific session ID to get (defaults to user session)
4898
5800
  */
4899
- region: 'cn' | 'us' | 'de';
5801
+ sessionId?: string;
4900
5802
  };
4901
5803
 
4902
- export type CacheControllerFlushCacheResponse = unknown;
5804
+ export type NlpControllerGetSessionResponse = unknown;
4903
5805
 
4904
5806
  export type DashboardControllerGetNetWorthData = {
4905
5807
  /**
@@ -4907,9 +5809,9 @@ export type DashboardControllerGetNetWorthData = {
4907
5809
  */
4908
5810
  date?: string;
4909
5811
  /**
4910
- * Region code (cn, us, de)
5812
+ * Region code for tenant context
4911
5813
  */
4912
- region: 'cn' | 'us' | 'de';
5814
+ region: 'cn' | 'us' | 'de' | 'gb';
4913
5815
  };
4914
5816
 
4915
5817
  export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
@@ -4924,9 +5826,9 @@ export type DashboardControllerGetAccountsData = {
4924
5826
  */
4925
5827
  groupBy?: 'platform' | 'assetClass';
4926
5828
  /**
4927
- * Region code (cn, us, de)
5829
+ * Region code for tenant context
4928
5830
  */
4929
- region: 'cn' | 'us' | 'de';
5831
+ region: 'cn' | 'us' | 'de' | 'gb';
4930
5832
  };
4931
5833
 
4932
5834
  export type DashboardControllerGetAccountsResponse =
@@ -4939,9 +5841,9 @@ export type DashboardControllerGetCashFlowData = {
4939
5841
  */
4940
5842
  period: string;
4941
5843
  /**
4942
- * Region code (cn, us, de)
5844
+ * Region code for tenant context
4943
5845
  */
4944
- region: 'cn' | 'us' | 'de';
5846
+ region: 'cn' | 'us' | 'de' | 'gb';
4945
5847
  };
4946
5848
 
4947
5849
  export type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
@@ -4956,244 +5858,84 @@ export type ReportingControllerGetPortfolioTrendsData = {
4956
5858
  */
4957
5859
  period?: '1m' | '3m' | '6m' | '1y';
4958
5860
  /**
4959
- * Region code (cn, us, de)
4960
- */
4961
- region: 'cn' | 'us' | 'de';
4962
- };
4963
-
4964
- export type ReportingControllerGetPortfolioTrendsResponse =
4965
- PortfolioTrendsResponseDto;
4966
-
4967
- export type ReportingControllerGenerateSnapshotData = {
4968
- /**
4969
- * Region code (cn, us, de)
4970
- */
4971
- region: 'cn' | 'us' | 'de';
4972
- /**
4973
- * Optional date (defaults to today)
4974
- */
4975
- requestBody: GenerateSnapshotBody;
4976
- };
4977
-
4978
- export type ReportingControllerGenerateSnapshotResponse =
4979
- GenerateSnapshotResponse;
4980
-
4981
- export type ReportingControllerBackfillSnapshotsData = {
4982
- /**
4983
- * Region code (cn, us, de)
4984
- */
4985
- region: 'cn' | 'us' | 'de';
4986
- requestBody: BackfillSnapshotsBody;
4987
- };
4988
-
4989
- export type ReportingControllerBackfillSnapshotsResponse =
4990
- BackfillSnapshotsResponse;
4991
-
4992
- export type ApiKeysControllerData = {
4993
- /**
4994
- * Region code (cn, us, de)
4995
- */
4996
- region: 'cn' | 'us' | 'de';
4997
- };
4998
-
4999
- export type ApiKeysControllerResponse = unknown;
5000
-
5001
- export type AuthControllerAccessTokenLoginData = {
5002
- /**
5003
- * Region code (cn, us, de)
5004
- */
5005
- region: 'cn' | 'us' | 'de';
5006
- requestBody: AnonymousLoginDto;
5007
- };
5008
-
5009
- export type AuthControllerAccessTokenLoginResponse = unknown;
5010
-
5011
- export type ExchangeRateControllerGetExchangeRateData = {
5012
- /**
5013
- * Date in ISO format (YYYY-MM-DD)
5014
- */
5015
- dateString: string;
5016
- /**
5017
- * Region code (cn, us, de)
5018
- */
5019
- region: 'cn' | 'us' | 'de';
5020
- /**
5021
- * Currency pair symbol (e.g., USDCNY, EURUSD)
5022
- */
5023
- symbol: string;
5024
- };
5025
-
5026
- export type ExchangeRateControllerGetExchangeRateResponse = unknown;
5027
-
5028
- export type HealthControllerGetHealthData = {
5029
- /**
5030
- * Region code (cn, us, de)
5031
- */
5032
- region: 'cn' | 'us' | 'de';
5033
- };
5034
-
5035
- export type HealthControllerGetHealthResponse = unknown;
5036
-
5037
- export type HealthControllerCheckDatabaseData = {
5038
- /**
5039
- * Region code (cn, us, de)
5040
- */
5041
- region: 'cn' | 'us' | 'de';
5042
- };
5043
-
5044
- export type HealthControllerCheckDatabaseResponse = unknown;
5045
-
5046
- export type HealthControllerCheckRedisData = {
5047
- /**
5048
- * Region code (cn, us, de)
5049
- */
5050
- region: 'cn' | 'us' | 'de';
5051
- };
5052
-
5053
- export type HealthControllerCheckRedisResponse = unknown;
5054
-
5055
- export type HealthControllerGetCircuitBreakersHealthData = {
5056
- /**
5057
- * Region code (cn, us, de)
5058
- */
5059
- region: 'cn' | 'us' | 'de';
5060
- };
5061
-
5062
- export type HealthControllerGetCircuitBreakersHealthResponse = unknown;
5063
-
5064
- export type HealthControllerResetCircuitBreakerData = {
5065
- /**
5066
- * Circuit breaker name to reset
5067
- */
5068
- name: string;
5069
- /**
5070
- * Region code (cn, us, de)
5071
- */
5072
- region: 'cn' | 'us' | 'de';
5073
- };
5074
-
5075
- export type HealthControllerResetCircuitBreakerResponse = unknown;
5076
-
5077
- export type HealthControllerGetMetricsData = {
5078
- /**
5079
- * Region code (cn, us, de)
5080
- */
5081
- region: 'cn' | 'us' | 'de';
5082
- };
5083
-
5084
- export type HealthControllerGetMetricsResponse = unknown;
5085
-
5086
- export type HealthControllerGetHealthOfDataEnhancerData = {
5087
- /**
5088
- * Data enhancer name
5089
- */
5090
- name: string;
5091
- /**
5092
- * Region code (cn, us, de)
5093
- */
5094
- region: 'cn' | 'us' | 'de';
5095
- };
5096
-
5097
- export type HealthControllerGetHealthOfDataEnhancerResponse = unknown;
5098
-
5099
- export type HealthControllerCheckDataProvidersData = {
5100
- /**
5101
- * Region code (cn, us, de)
5102
- */
5103
- region: 'cn' | 'us' | 'de';
5104
- };
5105
-
5106
- export type HealthControllerCheckDataProvidersResponse = unknown;
5107
-
5108
- export type HealthControllerGetHealthOfDataProviderData = {
5109
- /**
5110
- * Data source identifier
5111
- */
5112
- dataSource: string;
5113
- /**
5114
- * Region code (cn, us, de)
5115
- */
5116
- region: 'cn' | 'us' | 'de';
5117
- };
5118
-
5119
- export type HealthControllerGetHealthOfDataProviderResponse = unknown;
5120
-
5121
- export type InfoControllerGetInfoData = {
5122
- /**
5123
- * Region code (cn, us, de)
5124
- */
5125
- region: 'cn' | 'us' | 'de';
5126
- };
5127
-
5128
- export type InfoControllerGetInfoResponse = unknown;
5129
-
5130
- export type LogoControllerGetLogoByDataSourceAndSymbolData = {
5131
- /**
5132
- * Data source identifier (e.g., YAHOO, COINGECKO)
5133
- */
5134
- dataSource: string;
5135
- /**
5136
- * Region code (cn, us, de)
5137
- */
5138
- region: 'cn' | 'us' | 'de';
5139
- /**
5140
- * Asset symbol (e.g., AAPL, BTC)
5861
+ * Region code for tenant context
5141
5862
  */
5142
- symbol: string;
5863
+ region: 'cn' | 'us' | 'de' | 'gb';
5143
5864
  };
5144
5865
 
5145
- export type LogoControllerGetLogoByDataSourceAndSymbolResponse = unknown;
5866
+ export type ReportingControllerGetPortfolioTrendsResponse =
5867
+ PortfolioTrendsResponseDto;
5146
5868
 
5147
- export type LogoControllerGetLogoByUrlData = {
5869
+ export type ReportingControllerGenerateSnapshotData = {
5148
5870
  /**
5149
- * Region code (cn, us, de)
5871
+ * Region code for tenant context
5150
5872
  */
5151
- region: 'cn' | 'us' | 'de';
5873
+ region: 'cn' | 'us' | 'de' | 'gb';
5152
5874
  /**
5153
- * Website URL to fetch favicon from
5875
+ * Optional date (defaults to today)
5154
5876
  */
5155
- url: string;
5877
+ requestBody: GenerateSnapshotBody;
5156
5878
  };
5157
5879
 
5158
- export type LogoControllerGetLogoByUrlResponse = unknown;
5880
+ export type ReportingControllerGenerateSnapshotResponse =
5881
+ GenerateSnapshotResponse;
5159
5882
 
5160
- export type MarketDataControllerGetMarketDataBySymbolData = {
5883
+ export type ReportingControllerBackfillSnapshotsData = {
5161
5884
  /**
5162
- * Data source provider
5885
+ * Region code for tenant context
5163
5886
  */
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';
5887
+ region: 'cn' | 'us' | 'de' | 'gb';
5888
+ requestBody: BackfillSnapshotsBody;
5889
+ };
5890
+
5891
+ export type ReportingControllerBackfillSnapshotsResponse =
5892
+ BackfillSnapshotsResponse;
5893
+
5894
+ export type ApiKeysControllerCreateApiKeyResponse = unknown;
5895
+
5896
+ export type AuthControllerAccessTokenLoginData = {
5897
+ requestBody: AnonymousLoginDto;
5898
+ };
5899
+
5900
+ export type AuthControllerAccessTokenLoginResponse = unknown;
5901
+
5902
+ export type CacheControllerFlushCacheResponse = unknown;
5903
+
5904
+ export type ExchangeRateControllerGetExchangeRateData = {
5177
5905
  /**
5178
- * Region code (cn, us, de)
5906
+ * Date in ISO format (YYYY-MM-DD)
5179
5907
  */
5180
- region: 'cn' | 'us' | 'de';
5908
+ dateString: string;
5181
5909
  /**
5182
- * Symbol code
5910
+ * Currency pair symbol (e.g., USDCNY, EURUSD)
5183
5911
  */
5184
5912
  symbol: string;
5185
5913
  };
5186
5914
 
5187
- export type MarketDataControllerGetMarketDataBySymbolResponse = unknown;
5915
+ export type ExchangeRateControllerGetExchangeRateResponse = unknown;
5916
+
5917
+ export type HealthControllerGetHealthResponse = unknown;
5918
+
5919
+ export type HealthControllerCheckDatabaseResponse = unknown;
5920
+
5921
+ export type HealthControllerCheckOpenBbResponse = unknown;
5188
5922
 
5189
- export type MarketDataControllerData = {
5923
+ export type HealthControllerCheckRedisResponse = unknown;
5924
+
5925
+ export type HealthControllerGetCircuitBreakersHealthResponse = unknown;
5926
+
5927
+ export type HealthControllerResetCircuitBreakerData = {
5190
5928
  /**
5191
- * Region code (cn, us, de)
5929
+ * Circuit breaker name to reset
5192
5930
  */
5193
- region: 'cn' | 'us' | 'de';
5931
+ name: string;
5194
5932
  };
5195
5933
 
5196
- export type MarketDataControllerResponse = unknown;
5934
+ export type HealthControllerResetCircuitBreakerResponse = unknown;
5935
+
5936
+ export type HealthControllerGetMetricsResponse = unknown;
5937
+
5938
+ export type InfoControllerGetInfoResponse = unknown;
5197
5939
 
5198
5940
  export type $OpenApiTs = {
5199
5941
  '/api/v1/{region}/bean/accounts': {
@@ -5303,6 +6045,39 @@ export type $OpenApiTs = {
5303
6045
  };
5304
6046
  };
5305
6047
  };
6048
+ '/api/v1/{region}/bean/account-standards': {
6049
+ get: {
6050
+ req: AccountStandardsControllerGetTemplatesData;
6051
+ res: {
6052
+ /**
6053
+ * Account templates retrieved successfully
6054
+ */
6055
+ 200: AccountStandardListResponseDto;
6056
+ };
6057
+ };
6058
+ };
6059
+ '/api/v1/{region}/bean/account-standards/template-metadata': {
6060
+ get: {
6061
+ req: AccountStandardsControllerGetTemplateMetadataData;
6062
+ res: {
6063
+ /**
6064
+ * Template metadata retrieved successfully
6065
+ */
6066
+ 200: TemplateMetadataResponseDto;
6067
+ };
6068
+ };
6069
+ };
6070
+ '/api/v1/{region}/bean/account-standards/regions': {
6071
+ get: {
6072
+ req: AccountStandardsControllerGetRegionsData;
6073
+ res: {
6074
+ /**
6075
+ * Regions metadata retrieved successfully
6076
+ */
6077
+ 200: RegionsMetadataResponseDto;
6078
+ };
6079
+ };
6080
+ };
5306
6081
  '/api/v1/{region}/bean/transactions': {
5307
6082
  post: {
5308
6083
  req: TransactionControllerCreateData;
@@ -5336,6 +6111,10 @@ export type $OpenApiTs = {
5336
6111
  * Transaction list
5337
6112
  */
5338
6113
  200: TransactionListResponseDto;
6114
+ /**
6115
+ * Validation failed
6116
+ */
6117
+ 400: ApiProblemResponseDto;
5339
6118
  /**
5340
6119
  * Authentication required
5341
6120
  */
@@ -5345,9 +6124,39 @@ export type $OpenApiTs = {
5345
6124
  };
5346
6125
  '/api/v1/{region}/bean/transactions/batch': {
5347
6126
  post: {
5348
- req: TransactionControllerData;
6127
+ req: TransactionControllerCreateBatchData;
5349
6128
  res: {
5350
- 201: unknown;
6129
+ /**
6130
+ * Transactions processed
6131
+ */
6132
+ 201: BatchTransactionResponseDto;
6133
+ /**
6134
+ * Invalid input
6135
+ */
6136
+ 400: ApiProblemResponseDto;
6137
+ /**
6138
+ * Authentication required
6139
+ */
6140
+ 401: ApiProblemResponseDto;
6141
+ };
6142
+ };
6143
+ };
6144
+ '/api/v1/{region}/bean/transactions/tags': {
6145
+ get: {
6146
+ req: TransactionControllerSuggestTagsData;
6147
+ res: {
6148
+ /**
6149
+ * Tag suggestions
6150
+ */
6151
+ 200: TagSuggestionsResponseDto;
6152
+ /**
6153
+ * Validation failed
6154
+ */
6155
+ 400: ApiProblemResponseDto;
6156
+ /**
6157
+ * Authentication required
6158
+ */
6159
+ 401: ApiProblemResponseDto;
5351
6160
  };
5352
6161
  };
5353
6162
  };
@@ -5391,31 +6200,24 @@ export type $OpenApiTs = {
5391
6200
  };
5392
6201
  };
5393
6202
  delete: {
5394
- req: TransactionController1Data;
6203
+ req: TransactionControllerDeleteData;
5395
6204
  res: {
6205
+ /**
6206
+ * Transaction voided successfully
6207
+ */
5396
6208
  204: void;
5397
- };
5398
- };
5399
- };
5400
- '/api/v1/{region}/bean/account-standards': {
5401
- get: {
5402
- req: AccountStandardsControllerGetTemplatesData;
5403
- res: {
5404
6209
  /**
5405
- * Account templates retrieved successfully
6210
+ * Transaction already voided
5406
6211
  */
5407
- 200: AccountStandardListResponseDto;
5408
- };
5409
- };
5410
- };
5411
- '/api/v1/{region}/bean/account-standards/regions': {
5412
- get: {
5413
- req: AccountStandardsControllerGetRegionsData;
5414
- res: {
6212
+ 400: ApiProblemResponseDto;
5415
6213
  /**
5416
- * Regions metadata retrieved successfully
6214
+ * Authentication required
5417
6215
  */
5418
- 200: RegionsMetadataResponseDto;
6216
+ 401: ApiProblemResponseDto;
6217
+ /**
6218
+ * Transaction not found
6219
+ */
6220
+ 404: ApiProblemResponseDto;
5419
6221
  };
5420
6222
  };
5421
6223
  };
@@ -5483,33 +6285,44 @@ export type $OpenApiTs = {
5483
6285
  };
5484
6286
  '/api/v1/{region}/bean/reviews/{id}/resolve': {
5485
6287
  post: {
5486
- req: ReviewControllerData;
6288
+ req: ReviewControllerResolveData;
5487
6289
  res: {
5488
- 201: unknown;
6290
+ 200: ResolveResultDto;
5489
6291
  };
5490
6292
  };
5491
6293
  };
5492
6294
  '/api/v1/{region}/bean/reviews/{id}/undo': {
5493
6295
  post: {
5494
- req: ReviewController1Data;
6296
+ req: ReviewControllerUndoData;
5495
6297
  res: {
5496
- 201: unknown;
6298
+ 200: UndoResultDto;
5497
6299
  };
5498
6300
  };
5499
6301
  };
5500
6302
  '/api/v1/{region}/bean/reviews/batch-resolve': {
5501
6303
  post: {
5502
- req: ReviewController2Data;
6304
+ req: ReviewControllerBatchResolveData;
5503
6305
  res: {
5504
- 201: unknown;
6306
+ 200: BatchResolveResultDto;
5505
6307
  };
5506
6308
  };
5507
6309
  };
5508
6310
  '/api/v1/bean/payees': {
5509
6311
  post: {
5510
- req: PayeeControllerData;
6312
+ req: PayeeControllerCreateData;
5511
6313
  res: {
5512
- 201: unknown;
6314
+ /**
6315
+ * Payee created successfully
6316
+ */
6317
+ 201: PayeeResponseDto;
6318
+ /**
6319
+ * Invalid input data
6320
+ */
6321
+ 400: ApiProblemResponseDto;
6322
+ /**
6323
+ * Payee already exists
6324
+ */
6325
+ 409: ApiProblemResponseDto;
5513
6326
  };
5514
6327
  };
5515
6328
  get: {
@@ -5563,23 +6376,56 @@ export type $OpenApiTs = {
5563
6376
  };
5564
6377
  };
5565
6378
  put: {
5566
- req: PayeeController1Data;
6379
+ req: PayeeControllerUpdateData;
5567
6380
  res: {
5568
- 200: unknown;
6381
+ /**
6382
+ * Payee updated successfully
6383
+ */
6384
+ 200: PayeeResponseDto;
6385
+ /**
6386
+ * Invalid input data
6387
+ */
6388
+ 400: ApiProblemResponseDto;
6389
+ /**
6390
+ * Payee not found
6391
+ */
6392
+ 404: ApiProblemResponseDto;
5569
6393
  };
5570
6394
  };
5571
6395
  delete: {
5572
- req: PayeeController2Data;
6396
+ req: PayeeControllerDeleteData;
5573
6397
  res: {
6398
+ /**
6399
+ * Payee deleted successfully
6400
+ */
5574
6401
  204: void;
6402
+ /**
6403
+ * Payee not found
6404
+ */
6405
+ 404: ApiProblemResponseDto;
5575
6406
  };
5576
6407
  };
5577
6408
  };
5578
6409
  '/api/v1/admin/payee-profiles': {
5579
6410
  post: {
5580
- req: PayeeProfileAdminControllerData;
6411
+ req: PayeeProfileAdminControllerCreateData;
5581
6412
  res: {
5582
- 201: unknown;
6413
+ /**
6414
+ * Payee profile created successfully
6415
+ */
6416
+ 201: PayeeProfileResponseDto;
6417
+ /**
6418
+ * Validation failed
6419
+ */
6420
+ 400: ApiProblemResponseDto;
6421
+ /**
6422
+ * Admin access required
6423
+ */
6424
+ 403: ApiProblemResponseDto;
6425
+ /**
6426
+ * Payee profile already exists
6427
+ */
6428
+ 409: ApiProblemResponseDto;
5583
6429
  };
5584
6430
  };
5585
6431
  get: {
@@ -5615,37 +6461,96 @@ export type $OpenApiTs = {
5615
6461
  };
5616
6462
  };
5617
6463
  put: {
5618
- req: PayeeProfileAdminController1Data;
6464
+ req: PayeeProfileAdminControllerUpdateData;
5619
6465
  res: {
5620
- 200: unknown;
6466
+ /**
6467
+ * Payee profile updated successfully
6468
+ */
6469
+ 200: PayeeProfileResponseDto;
6470
+ /**
6471
+ * Admin access required
6472
+ */
6473
+ 403: ApiProblemResponseDto;
6474
+ /**
6475
+ * Payee profile not found
6476
+ */
6477
+ 404: ApiProblemResponseDto;
5621
6478
  };
5622
6479
  };
5623
6480
  delete: {
5624
- req: PayeeProfileAdminController2Data;
6481
+ req: PayeeProfileAdminControllerDeleteData;
5625
6482
  res: {
6483
+ /**
6484
+ * Payee profile deleted successfully
6485
+ */
5626
6486
  204: void;
6487
+ /**
6488
+ * Admin access required
6489
+ */
6490
+ 403: ApiProblemResponseDto;
6491
+ /**
6492
+ * Payee profile not found
6493
+ */
6494
+ 404: ApiProblemResponseDto;
6495
+ /**
6496
+ * Payee profile is in use and cannot be deleted
6497
+ */
6498
+ 409: ApiProblemResponseDto;
5627
6499
  };
5628
6500
  };
5629
6501
  };
5630
6502
  '/api/v1/admin/payee-profiles/{id}/verify': {
5631
6503
  post: {
5632
- req: PayeeProfileAdminController3Data;
6504
+ req: PayeeProfileAdminControllerVerifyData;
5633
6505
  res: {
5634
- 201: unknown;
6506
+ /**
6507
+ * Payee profile verified successfully
6508
+ */
6509
+ 201: PayeeProfileResponseDto;
6510
+ /**
6511
+ * Admin access required
6512
+ */
6513
+ 403: ApiProblemResponseDto;
6514
+ /**
6515
+ * Payee profile not found
6516
+ */
6517
+ 404: ApiProblemResponseDto;
5635
6518
  };
5636
6519
  };
5637
6520
  delete: {
5638
- req: PayeeProfileAdminController4Data;
6521
+ req: PayeeProfileAdminControllerUnverifyData;
5639
6522
  res: {
5640
- 200: unknown;
6523
+ /**
6524
+ * Payee profile unverified successfully
6525
+ */
6526
+ 200: PayeeProfileResponseDto;
6527
+ /**
6528
+ * Admin access required
6529
+ */
6530
+ 403: ApiProblemResponseDto;
6531
+ /**
6532
+ * Payee profile not found
6533
+ */
6534
+ 404: ApiProblemResponseDto;
5641
6535
  };
5642
6536
  };
5643
6537
  };
5644
6538
  '/api/v1/{region}/bean/commodities': {
5645
6539
  post: {
5646
- req: CommodityControllerData;
6540
+ req: CommodityControllerCreateData;
5647
6541
  res: {
5648
- 201: unknown;
6542
+ /**
6543
+ * Commodity created successfully
6544
+ */
6545
+ 201: CommodityResponseDto;
6546
+ /**
6547
+ * Invalid input data
6548
+ */
6549
+ 400: ApiProblemResponseDto;
6550
+ /**
6551
+ * Commodity already exists
6552
+ */
6553
+ 409: ApiProblemResponseDto;
5649
6554
  };
5650
6555
  };
5651
6556
  get: {
@@ -5673,39 +6578,74 @@ export type $OpenApiTs = {
5673
6578
  };
5674
6579
  };
5675
6580
  put: {
5676
- req: CommodityController1Data;
6581
+ req: CommodityControllerUpdateData;
5677
6582
  res: {
5678
- 200: unknown;
6583
+ /**
6584
+ * Commodity updated successfully
6585
+ */
6586
+ 200: CommodityResponseDto;
6587
+ /**
6588
+ * Invalid input data
6589
+ */
6590
+ 400: ApiProblemResponseDto;
6591
+ /**
6592
+ * Commodity not found
6593
+ */
6594
+ 404: ApiProblemResponseDto;
5679
6595
  };
5680
6596
  };
5681
6597
  delete: {
5682
- req: CommodityController2Data;
6598
+ req: CommodityControllerDeleteData;
5683
6599
  res: {
6600
+ /**
6601
+ * Commodity deleted successfully
6602
+ */
5684
6603
  204: void;
6604
+ /**
6605
+ * Commodity not found
6606
+ */
6607
+ 404: ApiProblemResponseDto;
5685
6608
  };
5686
6609
  };
5687
6610
  };
5688
6611
  '/api/v1/{region}/bean/commodities/{symbol}/ensure': {
5689
6612
  post: {
5690
- req: CommodityController3Data;
6613
+ req: CommodityControllerGetOrCreateData;
5691
6614
  res: {
5692
- 201: unknown;
6615
+ /**
6616
+ * Commodity retrieved or created
6617
+ */
6618
+ 200: CommodityResponseDto;
5693
6619
  };
5694
6620
  };
5695
6621
  };
5696
6622
  '/api/v1/{region}/bean/commodities/bulk': {
5697
6623
  post: {
5698
- req: CommodityController4Data;
6624
+ req: CommodityControllerBulkCreateData;
5699
6625
  res: {
5700
- 201: unknown;
6626
+ /**
6627
+ * Commodities created successfully
6628
+ */
6629
+ 201: Array<CommodityResponseDto>;
5701
6630
  };
5702
6631
  };
5703
6632
  };
5704
6633
  '/api/v1/{region}/bean/recurring-rules': {
5705
6634
  post: {
5706
- req: RecurringRuleControllerData;
6635
+ req: RecurringRuleControllerCreateData;
5707
6636
  res: {
5708
- 201: unknown;
6637
+ /**
6638
+ * Rule created successfully
6639
+ */
6640
+ 201: RecurringRuleResponseDto;
6641
+ /**
6642
+ * Invalid input data (e.g., autoCreate without accounts)
6643
+ */
6644
+ 400: unknown;
6645
+ /**
6646
+ * Rule with same name already exists
6647
+ */
6648
+ 409: unknown;
5709
6649
  };
5710
6650
  };
5711
6651
  get: {
@@ -5720,9 +6660,20 @@ export type $OpenApiTs = {
5720
6660
  };
5721
6661
  '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}': {
5722
6662
  post: {
5723
- req: RecurringRuleController1Data;
6663
+ req: RecurringRuleControllerCreateFromTransactionData;
5724
6664
  res: {
5725
- 201: unknown;
6665
+ /**
6666
+ * Rule created successfully
6667
+ */
6668
+ 201: RecurringRuleResponseDto;
6669
+ /**
6670
+ * Transaction not found
6671
+ */
6672
+ 404: ApiProblemResponseDto;
6673
+ /**
6674
+ * Rule with same name already exists or transaction already linked
6675
+ */
6676
+ 409: ApiProblemResponseDto;
5726
6677
  };
5727
6678
  };
5728
6679
  };
@@ -5741,15 +6692,33 @@ export type $OpenApiTs = {
5741
6692
  };
5742
6693
  };
5743
6694
  patch: {
5744
- req: RecurringRuleController2Data;
6695
+ req: RecurringRuleControllerUpdateData;
5745
6696
  res: {
5746
- 200: unknown;
6697
+ /**
6698
+ * Rule updated successfully
6699
+ */
6700
+ 200: RecurringRuleResponseDto;
6701
+ /**
6702
+ * Invalid input data
6703
+ */
6704
+ 400: unknown;
6705
+ /**
6706
+ * Rule not found
6707
+ */
6708
+ 404: unknown;
5747
6709
  };
5748
6710
  };
5749
6711
  delete: {
5750
- req: RecurringRuleController3Data;
6712
+ req: RecurringRuleControllerDeleteData;
5751
6713
  res: {
6714
+ /**
6715
+ * Rule deleted successfully
6716
+ */
5752
6717
  204: void;
6718
+ /**
6719
+ * Rule not found
6720
+ */
6721
+ 404: unknown;
5753
6722
  };
5754
6723
  };
5755
6724
  };
@@ -5807,37 +6776,96 @@ export type $OpenApiTs = {
5807
6776
  };
5808
6777
  '/api/v1/{region}/bean/expected-transactions/{id}/skip': {
5809
6778
  post: {
5810
- req: ExpectedTransactionControllerData;
6779
+ req: ExpectedTransactionControllerSkipData;
5811
6780
  res: {
5812
- 200: unknown;
6781
+ /**
6782
+ * Expected transaction skipped successfully
6783
+ */
6784
+ 200: ExpectedTransactionResponseDto;
6785
+ /**
6786
+ * Cannot skip - not in PENDING status
6787
+ */
6788
+ 400: unknown;
6789
+ /**
6790
+ * Expected transaction not found
6791
+ */
6792
+ 404: unknown;
5813
6793
  };
5814
6794
  };
5815
6795
  delete: {
5816
- req: ExpectedTransactionController1Data;
6796
+ req: ExpectedTransactionControllerUndoSkipData;
5817
6797
  res: {
5818
- 200: unknown;
6798
+ /**
6799
+ * Skip undone successfully
6800
+ */
6801
+ 200: ExpectedTransactionResponseDto;
6802
+ /**
6803
+ * Cannot undo - not in SKIPPED status
6804
+ */
6805
+ 400: unknown;
6806
+ /**
6807
+ * Expected transaction not found
6808
+ */
6809
+ 404: unknown;
5819
6810
  };
5820
6811
  };
5821
6812
  };
5822
6813
  '/api/v1/{region}/bean/expected-transactions/{id}/match': {
5823
6814
  post: {
5824
- req: ExpectedTransactionController2Data;
6815
+ req: ExpectedTransactionControllerConfirmMatchData;
5825
6816
  res: {
6817
+ /**
6818
+ * Match confirmed successfully
6819
+ */
5826
6820
  200: unknown;
6821
+ /**
6822
+ * Cannot match - not in PENDING status
6823
+ */
6824
+ 400: unknown;
6825
+ /**
6826
+ * Expected or actual transaction not found
6827
+ */
6828
+ 404: unknown;
6829
+ /**
6830
+ * Actual transaction already matched to another rule
6831
+ */
6832
+ 409: unknown;
5827
6833
  };
5828
6834
  };
5829
6835
  delete: {
5830
- req: ExpectedTransactionController3Data;
6836
+ req: ExpectedTransactionControllerUnmatchData;
5831
6837
  res: {
6838
+ /**
6839
+ * Match removed successfully
6840
+ */
5832
6841
  200: unknown;
6842
+ /**
6843
+ * Cannot unmatch - not in COMPLETED status
6844
+ */
6845
+ 400: unknown;
6846
+ /**
6847
+ * Expected transaction not found
6848
+ */
6849
+ 404: unknown;
5833
6850
  };
5834
6851
  };
5835
6852
  };
5836
6853
  '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
5837
6854
  post: {
5838
- req: ExpectedTransactionController4Data;
6855
+ req: ExpectedTransactionControllerEnterNowData;
5839
6856
  res: {
6857
+ /**
6858
+ * Transaction created successfully
6859
+ */
5840
6860
  201: unknown;
6861
+ /**
6862
+ * Cannot enter - not in PENDING status or missing accounts
6863
+ */
6864
+ 400: unknown;
6865
+ /**
6866
+ * Expected transaction or accounts not found
6867
+ */
6868
+ 404: unknown;
5841
6869
  };
5842
6870
  };
5843
6871
  };
@@ -5854,9 +6882,24 @@ export type $OpenApiTs = {
5854
6882
  };
5855
6883
  '/api/v1/{region}/bean/transaction-rules': {
5856
6884
  post: {
5857
- req: TransactionRuleControllerData;
6885
+ req: TransactionRuleControllerCreateData;
5858
6886
  res: {
5859
- 201: unknown;
6887
+ /**
6888
+ * Rule updated successfully (upsert mode)
6889
+ */
6890
+ 200: TransactionRuleResponseDto;
6891
+ /**
6892
+ * Validation failed
6893
+ */
6894
+ 400: ApiProblemResponseDto;
6895
+ /**
6896
+ * Unauthorized
6897
+ */
6898
+ 401: ApiProblemResponseDto;
6899
+ /**
6900
+ * Resource conflict - another process is updating this rule
6901
+ */
6902
+ 409: ApiProblemResponseDto;
5860
6903
  };
5861
6904
  };
5862
6905
  get: {
@@ -5881,6 +6924,10 @@ export type $OpenApiTs = {
5881
6924
  * Validation result
5882
6925
  */
5883
6926
  200: ValidateRuleResponseDto;
6927
+ /**
6928
+ * Validation failed
6929
+ */
6930
+ 400: ApiProblemResponseDto;
5884
6931
  /**
5885
6932
  * Unauthorized
5886
6933
  */
@@ -5890,9 +6937,20 @@ export type $OpenApiTs = {
5890
6937
  };
5891
6938
  '/api/v1/{region}/bean/transaction-rules/bulk': {
5892
6939
  post: {
5893
- req: TransactionRuleController1Data;
6940
+ req: TransactionRuleControllerBulkCreateData;
5894
6941
  res: {
5895
- 201: unknown;
6942
+ /**
6943
+ * Bulk create completed
6944
+ */
6945
+ 201: BulkCreateRulesResponseDto;
6946
+ /**
6947
+ * Invalid bulk create data
6948
+ */
6949
+ 400: ApiProblemResponseDto;
6950
+ /**
6951
+ * Unauthorized
6952
+ */
6953
+ 401: ApiProblemResponseDto;
5896
6954
  };
5897
6955
  };
5898
6956
  };
@@ -5953,15 +7011,57 @@ export type $OpenApiTs = {
5953
7011
  };
5954
7012
  };
5955
7013
  put: {
5956
- req: TransactionRuleController2Data;
7014
+ req: TransactionRuleControllerUpdateData;
5957
7015
  res: {
5958
- 200: unknown;
7016
+ /**
7017
+ * Rule updated successfully
7018
+ */
7019
+ 200: TransactionRuleResponseDto;
7020
+ /**
7021
+ * Validation failed
7022
+ */
7023
+ 400: ApiProblemResponseDto;
7024
+ /**
7025
+ * Unauthorized
7026
+ */
7027
+ 401: ApiProblemResponseDto;
7028
+ /**
7029
+ * Forbidden - not owner of rule
7030
+ */
7031
+ 403: ApiProblemResponseDto;
7032
+ /**
7033
+ * Rule not found
7034
+ */
7035
+ 404: ApiProblemResponseDto;
7036
+ /**
7037
+ * Resource conflict - rule is being modified by another process
7038
+ */
7039
+ 409: ApiProblemResponseDto;
5959
7040
  };
5960
7041
  };
5961
7042
  delete: {
5962
- req: TransactionRuleController3Data;
7043
+ req: TransactionRuleControllerDeleteData;
5963
7044
  res: {
7045
+ /**
7046
+ * Rule deleted successfully
7047
+ */
5964
7048
  204: void;
7049
+ /**
7050
+ * Unauthorized
7051
+ */
7052
+ 401: ApiProblemResponseDto;
7053
+ /**
7054
+ * Forbidden - not owner of rule
7055
+ */
7056
+ 403: ApiProblemResponseDto;
7057
+ /**
7058
+ * Rule not found
7059
+ */
7060
+ 404: ApiProblemResponseDto;
7061
+ /**
7062
+ * Resource conflict - rule is being modified by another process
7063
+ */
7064
+ 409: ApiProblemResponseDto;
5965
7065
  };
5966
7066
  };
5967
7067
  };
@@ -6087,7 +7187,6 @@ export type $OpenApiTs = {
6087
7187
  };
6088
7188
  '/api/v1/users/asset-liability-summary': {
6089
7189
  get: {
6090
- req: UserControllerGetAssetLiabilitySummaryData;
6091
7190
  res: {
6092
7191
  /**
6093
7192
  * Summary retrieved successfully
@@ -6098,7 +7197,6 @@ export type $OpenApiTs = {
6098
7197
  };
6099
7198
  '/api/v1/admin/properties': {
6100
7199
  get: {
6101
- req: PropertyControllerGetAllData;
6102
7200
  res: {
6103
7201
  /**
6104
7202
  * Properties retrieved successfully
@@ -6138,15 +7236,48 @@ export type $OpenApiTs = {
6138
7236
  };
6139
7237
  };
6140
7238
  put: {
6141
- req: PropertyControllerData;
7239
+ req: PropertyControllerUpdateData;
6142
7240
  res: {
7241
+ /**
7242
+ * Property updated successfully
7243
+ */
6143
7244
  200: unknown;
7245
+ /**
7246
+ * Unauthorized
7247
+ */
7248
+ 401: unknown;
7249
+ /**
7250
+ * Forbidden - insufficient permissions
7251
+ */
7252
+ 403: unknown;
6144
7253
  };
6145
7254
  };
6146
7255
  delete: {
6147
- req: PropertyController1Data;
7256
+ req: PropertyControllerDeleteData;
6148
7257
  res: {
7258
+ /**
7259
+ * Property deleted successfully
7260
+ */
6149
7261
  204: void;
7262
+ /**
7263
+ * Unauthorized
7264
+ */
7265
+ 401: unknown;
7266
+ /**
7267
+ * Forbidden - insufficient permissions
7268
+ */
7269
+ 403: unknown;
7270
+ /**
7271
+ * Property not found
7272
+ */
7273
+ 404: unknown;
7274
+ };
7275
+ };
7276
+ };
7277
+ '/api/v1/{region}/bean/export/beancount': {
7278
+ get: {
7279
+ res: {
7280
+ 200: unknown;
6150
7281
  };
6151
7282
  };
6152
7283
  };
@@ -6219,6 +7350,29 @@ export type $OpenApiTs = {
6219
7350
  };
6220
7351
  };
6221
7352
  };
7353
+ '/api/v1/{region}/bean/import/beancount': {
7354
+ post: {
7355
+ req: FileImportControllerImportBeancountData;
7356
+ res: {
7357
+ /**
7358
+ * Beancount file imported successfully
7359
+ */
7360
+ 200: {
7361
+ imported?: number;
7362
+ skipped?: number;
7363
+ failed?: number;
7364
+ accountsCreated?: number;
7365
+ errors?: Array<{
7366
+ [key: string]: unknown;
7367
+ }>;
7368
+ };
7369
+ /**
7370
+ * Bad request - invalid file or no file uploaded
7371
+ */
7372
+ 400: ApiProblemResponseDto;
7373
+ };
7374
+ };
7375
+ };
6222
7376
  '/api/v1/{region}/bean/import/config/{importerId}': {
6223
7377
  get: {
6224
7378
  req: ImporterConfigControllerGetConfigData;
@@ -6230,25 +7384,115 @@ export type $OpenApiTs = {
6230
7384
  /**
6231
7385
  * Invalid input - Unsupported importer
6232
7386
  */
6233
- 400: ApiProblemResponseDto;
7387
+ 400: ApiProblemResponseDto;
7388
+ /**
7389
+ * Unauthorized - Authentication required
7390
+ */
7391
+ 401: ApiProblemResponseDto;
7392
+ };
7393
+ };
7394
+ put: {
7395
+ req: ImporterConfigControllerUpdateConfigData;
7396
+ res: {
7397
+ /**
7398
+ * Configuration updated successfully
7399
+ */
7400
+ 200: ImporterConfigDto;
7401
+ /**
7402
+ * Invalid input - Validation failed
7403
+ */
7404
+ 400: ApiProblemResponseDto;
7405
+ /**
7406
+ * Configuration not found
7407
+ */
7408
+ 404: ApiProblemResponseDto;
7409
+ };
7410
+ };
7411
+ };
7412
+ '/api/v1/{region}/bean/import/config/{importerId}/reset': {
7413
+ post: {
7414
+ req: ImporterConfigControllerResetConfigData;
7415
+ res: {
7416
+ /**
7417
+ * Configuration reset successfully
7418
+ */
7419
+ 200: ImporterConfigDto;
7420
+ /**
7421
+ * Invalid input - Unsupported importer
7422
+ */
7423
+ 400: ApiProblemResponseDto;
7424
+ };
7425
+ };
7426
+ };
7427
+ '/api/v1/bean/platforms': {
7428
+ get: {
7429
+ res: {
7430
+ /**
7431
+ * List of platforms with binding and account counts
7432
+ */
7433
+ 200: unknown;
7434
+ };
7435
+ };
7436
+ post: {
7437
+ req: PlatformControllerCreateData;
7438
+ res: {
7439
+ /**
7440
+ * Platform created successfully
7441
+ */
7442
+ 201: unknown;
7443
+ /**
7444
+ * Platform already exists
7445
+ */
7446
+ 409: unknown;
7447
+ };
7448
+ };
7449
+ };
7450
+ '/api/v1/bean/platforms/list': {
7451
+ get: {
7452
+ res: {
7453
+ /**
7454
+ * List of platforms with user binding status
7455
+ */
7456
+ 200: unknown;
7457
+ };
7458
+ };
7459
+ };
7460
+ '/api/v1/bean/platforms/match': {
7461
+ get: {
7462
+ req: PlatformControllerMatchPlatformsData;
7463
+ res: {
6234
7464
  /**
6235
- * Unauthorized - Authentication required
7465
+ * List of matching platforms with suggested segment names
6236
7466
  */
6237
- 401: ApiProblemResponseDto;
7467
+ 200: unknown;
6238
7468
  };
6239
7469
  };
7470
+ };
7471
+ '/api/v1/bean/platforms/{id}': {
6240
7472
  put: {
6241
- req: ImporterConfigControllerData;
7473
+ req: PlatformControllerUpdateData;
6242
7474
  res: {
7475
+ /**
7476
+ * Platform updated successfully
7477
+ */
6243
7478
  200: unknown;
7479
+ /**
7480
+ * Platform not found
7481
+ */
7482
+ 404: unknown;
6244
7483
  };
6245
7484
  };
6246
- };
6247
- '/api/v1/{region}/bean/import/config/{importerId}/reset': {
6248
- post: {
6249
- req: ImporterConfigController1Data;
7485
+ delete: {
7486
+ req: PlatformControllerDeleteData;
6250
7487
  res: {
6251
- 201: unknown;
7488
+ /**
7489
+ * Platform deleted successfully
7490
+ */
7491
+ 204: void;
7492
+ /**
7493
+ * Platform not found
7494
+ */
7495
+ 404: unknown;
6252
7496
  };
6253
7497
  };
6254
7498
  };
@@ -6305,6 +7549,21 @@ export type $OpenApiTs = {
6305
7549
  };
6306
7550
  };
6307
7551
  };
7552
+ '/api/v1/{region}/bean/import/parser-telemetry': {
7553
+ post: {
7554
+ req: TelemetryControllerReportTelemetryData;
7555
+ res: {
7556
+ /**
7557
+ * Telemetry report received
7558
+ */
7559
+ 200: unknown;
7560
+ /**
7561
+ * Unauthorized
7562
+ */
7563
+ 401: unknown;
7564
+ };
7565
+ };
7566
+ };
6308
7567
  '/api/v1/{region}/bean/nlp/process': {
6309
7568
  post: {
6310
7569
  req: NlpControllerProcessNaturalLanguageData;
@@ -6352,117 +7611,6 @@ export type $OpenApiTs = {
6352
7611
  };
6353
7612
  };
6354
7613
  };
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
7614
  '/api/v1/{region}/dashboard/net-worth': {
6467
7615
  get: {
6468
7616
  req: DashboardControllerGetNetWorthData;
@@ -6571,9 +7719,15 @@ export type $OpenApiTs = {
6571
7719
  };
6572
7720
  '/api/v1/auth/api-keys': {
6573
7721
  post: {
6574
- req: ApiKeysControllerData;
6575
7722
  res: {
7723
+ /**
7724
+ * API key created successfully
7725
+ */
6576
7726
  201: unknown;
7727
+ /**
7728
+ * Insufficient permissions to create API key
7729
+ */
7730
+ 403: unknown;
6577
7731
  };
6578
7732
  };
6579
7733
  };
@@ -6592,6 +7746,13 @@ export type $OpenApiTs = {
6592
7746
  };
6593
7747
  };
6594
7748
  };
7749
+ '/api/v1/cache/flush': {
7750
+ post: {
7751
+ res: {
7752
+ 201: unknown;
7753
+ };
7754
+ };
7755
+ };
6595
7756
  '/api/v1/market/exchange-rates/{symbol}/{dateString}': {
6596
7757
  get: {
6597
7758
  req: ExchangeRateControllerGetExchangeRateData;
@@ -6609,7 +7770,6 @@ export type $OpenApiTs = {
6609
7770
  };
6610
7771
  '/api/v1/health': {
6611
7772
  get: {
6612
- req: HealthControllerGetHealthData;
6613
7773
  res: {
6614
7774
  /**
6615
7775
  * Service is healthy
@@ -6624,7 +7784,6 @@ export type $OpenApiTs = {
6624
7784
  };
6625
7785
  '/api/v1/health/database': {
6626
7786
  get: {
6627
- req: HealthControllerCheckDatabaseData;
6628
7787
  res: {
6629
7788
  /**
6630
7789
  * Database is healthy
@@ -6637,9 +7796,22 @@ export type $OpenApiTs = {
6637
7796
  };
6638
7797
  };
6639
7798
  };
7799
+ '/api/v1/health/openbb': {
7800
+ get: {
7801
+ res: {
7802
+ /**
7803
+ * OpenBB status
7804
+ */
7805
+ 200: unknown;
7806
+ /**
7807
+ * OpenBB unavailable
7808
+ */
7809
+ 503: unknown;
7810
+ };
7811
+ };
7812
+ };
6640
7813
  '/api/v1/health/redis': {
6641
7814
  get: {
6642
- req: HealthControllerCheckRedisData;
6643
7815
  res: {
6644
7816
  /**
6645
7817
  * Redis is healthy
@@ -6654,7 +7826,6 @@ export type $OpenApiTs = {
6654
7826
  };
6655
7827
  '/api/v1/health/circuit-breakers': {
6656
7828
  get: {
6657
- req: HealthControllerGetCircuitBreakersHealthData;
6658
7829
  res: {
6659
7830
  /**
6660
7831
  * Circuit breaker status
@@ -6692,7 +7863,6 @@ export type $OpenApiTs = {
6692
7863
  };
6693
7864
  '/api/v1/health/metrics': {
6694
7865
  get: {
6695
- req: HealthControllerGetMetricsData;
6696
7866
  res: {
6697
7867
  /**
6698
7868
  * Health metrics
@@ -6705,70 +7875,8 @@ export type $OpenApiTs = {
6705
7875
  };
6706
7876
  };
6707
7877
  };
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
7878
  '/api/v1/system/info': {
6770
7879
  get: {
6771
- req: InfoControllerGetInfoData;
6772
7880
  res: {
6773
7881
  /**
6774
7882
  * System information retrieved successfully
@@ -6777,71 +7885,4 @@ export type $OpenApiTs = {
6777
7885
  };
6778
7886
  };
6779
7887
  };
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
7888
  };