@firela/api-types 0.0.0-canary.5639ea2d → 0.0.0-canary.614ff760

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,88 @@ 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
+
564
+ export type CorrectTransactionDto = {
565
+ /**
566
+ * Transaction date (ISO 8601 format)
567
+ */
568
+ date: string;
569
+ /**
570
+ * Transaction flag: * (cleared), ! (pending)
571
+ */
572
+ flag?: '*' | '!';
573
+ /**
574
+ * Payee name
575
+ */
576
+ payee?: string;
577
+ /**
578
+ * Transaction narration/description
579
+ */
580
+ narration: string;
581
+ /**
582
+ * Transaction tags (without # prefix)
583
+ */
584
+ tags?: Array<string>;
585
+ /**
586
+ * Transaction links (without ^ prefix)
587
+ */
588
+ links?: Array<string>;
589
+ /**
590
+ * Transaction postings (minimum 1, typically 2 for double-entry)
591
+ */
592
+ postings: Array<CreatePostingDto>;
593
+ /**
594
+ * Transaction-level metadata
595
+ */
596
+ meta?: {
597
+ [key: string]: unknown;
598
+ };
599
+ /**
600
+ * Unique key for idempotent transaction creation. If provided, duplicate requests with the same key will return the existing transaction.
601
+ */
602
+ idempotencyKey?: string;
603
+ /**
604
+ * Auto-create accounts if not found. When true, missing accounts will be automatically created. When false (default for API), missing accounts will cause a validation error. Set to true for quick entry scenarios where you want to create accounts on-the-fly.
605
+ */
606
+ autoCreateAccounts?: boolean;
607
+ /**
608
+ * Reason for correcting/superseding the original transaction
609
+ */
610
+ correctionReason?: string;
611
+ };
612
+
442
613
  export type PostingDetailDto = {
443
614
  /**
444
615
  * Posting ID
@@ -453,7 +624,7 @@ export type PostingDetailDto = {
453
624
  */
454
625
  accountName: string;
455
626
  /**
456
- * Amount (may be null if interpolated)
627
+ * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
457
628
  */
458
629
  units?: string;
459
630
  /**
@@ -542,9 +713,9 @@ export type TransactionDetailDto = {
542
713
  */
543
714
  status: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
544
715
  /**
545
- * Source type (how the transaction was created)
716
+ * Source type (free-form string from transaction metadata, e.g. import, api)
546
717
  */
547
- sourceType?: 'NLP' | 'CSV' | 'OCR' | 'API';
718
+ sourceType?: string;
548
719
  /**
549
720
  * Source platform (e.g., alipay, wechat)
550
721
  */
@@ -569,6 +740,14 @@ export type TransactionDetailDto = {
569
740
  * Correction reason (if voided or superseded)
570
741
  */
571
742
  correctionReason?: string;
743
+ /**
744
+ * ID of the transaction that supersedes this one (set when status=SUPERSEDED)
745
+ */
746
+ supersededBy?: string;
747
+ /**
748
+ * ID of the transaction this one corrected/replaced (back-link on the replacement)
749
+ */
750
+ originalTxn?: string;
572
751
  };
573
752
 
574
753
  /**
@@ -587,11 +766,6 @@ export type flag2 =
587
766
  */
588
767
  export type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
589
768
 
590
- /**
591
- * Source type (how the transaction was created)
592
- */
593
- export type sourceType = 'NLP' | 'CSV' | 'OCR' | 'API';
594
-
595
769
  export type TransactionListResponseDto = {
596
770
  /**
597
771
  * List of transactions
@@ -611,6 +785,24 @@ export type TransactionListResponseDto = {
611
785
  offset: number;
612
786
  };
613
787
 
788
+ export type TagSuggestionDto = {
789
+ /**
790
+ * Tag name
791
+ */
792
+ tag: string;
793
+ /**
794
+ * Usage count across ACTIVE transactions
795
+ */
796
+ count: number;
797
+ };
798
+
799
+ export type TagSuggestionsResponseDto = {
800
+ /**
801
+ * Tag suggestions sorted as requested
802
+ */
803
+ data: Array<TagSuggestionDto>;
804
+ };
805
+
614
806
  export type UpdateTransactionDto = {
615
807
  /**
616
808
  * Transaction flag (CLEARED, PENDING, etc.)
@@ -646,66 +838,6 @@ export type UpdateTransactionDto = {
646
838
  };
647
839
  };
648
840
 
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
841
  export type BalanceResponseDto = {
710
842
  /**
711
843
  * Account name
@@ -772,9 +904,9 @@ export type TransactionSummaryDto = {
772
904
  */
773
905
  accountName?: string;
774
906
  /**
775
- * Source type (NLP, CSV, OCR, API)
907
+ * Source type (free-form string from transaction metadata, e.g. import, api)
776
908
  */
777
- sourceType?: 'NLP' | 'CSV' | 'OCR' | 'API';
909
+ sourceType?: string;
778
910
  /**
779
911
  * Source platform (e.g., alipay, wechat)
780
912
  */
@@ -804,9 +936,9 @@ export type ReviewSummaryDto = {
804
936
  */
805
937
  confidence: number;
806
938
  /**
807
- * Confidence level derived from score
939
+ * Confidence level derived from score. Null for error-type reviews (ACCOUNT_VALIDATION/PIPELINE_ERROR) which carry no confidence.
808
940
  */
809
- confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW';
941
+ confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW' | null;
810
942
  /**
811
943
  * i18n message key for summary (e.g., review.summary.duplicate). Translate on frontend with summaryParams.
812
944
  */
@@ -822,7 +954,7 @@ export type ReviewSummaryDto = {
822
954
  */
823
955
  matchReasons: Array<string>;
824
956
  /**
825
- * Source type (NLP, CSV, OCR, API)
957
+ * Source type (free-form string from transaction metadata, e.g. import, api)
826
958
  */
827
959
  sourceType: string;
828
960
  /**
@@ -875,7 +1007,7 @@ export type type2 =
875
1007
  export type status3 = 'PENDING' | 'RESOLVED' | 'EXPIRED' | 'CANCELLED';
876
1008
 
877
1009
  /**
878
- * Confidence level derived from score
1010
+ * Confidence level derived from score. Null for error-type reviews (ACCOUNT_VALIDATION/PIPELINE_ERROR) which carry no confidence.
879
1011
  */
880
1012
  export type confidenceLevel = 'HIGH' | 'MEDIUM' | 'LOW';
881
1013
 
@@ -920,7 +1052,18 @@ export type DecisionOptionDto = {
920
1052
  /**
921
1053
  * The action value to submit (e.g., UPGRADE_REPLACE, ACCEPT)
922
1054
  */
923
- value: string;
1055
+ value:
1056
+ | 'UPGRADE_REPLACE'
1057
+ | 'LINK_KEEP_BOTH'
1058
+ | 'IGNORE_NEW'
1059
+ | 'CONFIRM_DIFFERENT'
1060
+ | 'ACCEPT'
1061
+ | 'REJECT'
1062
+ | 'ACCEPT_AND_LEARN'
1063
+ | 'CHOOSE_OTHER'
1064
+ | 'CANCEL'
1065
+ | 'FIX'
1066
+ | 'IGNORE';
924
1067
  /**
925
1068
  * i18n message key for display label (e.g., review.payee.accept.label)
926
1069
  */
@@ -935,6 +1078,22 @@ export type DecisionOptionDto = {
935
1078
  recommended?: boolean;
936
1079
  };
937
1080
 
1081
+ /**
1082
+ * The action value to submit (e.g., UPGRADE_REPLACE, ACCEPT)
1083
+ */
1084
+ export type value =
1085
+ | 'UPGRADE_REPLACE'
1086
+ | 'LINK_KEEP_BOTH'
1087
+ | 'IGNORE_NEW'
1088
+ | 'CONFIRM_DIFFERENT'
1089
+ | 'ACCEPT'
1090
+ | 'REJECT'
1091
+ | 'ACCEPT_AND_LEARN'
1092
+ | 'CHOOSE_OTHER'
1093
+ | 'CANCEL'
1094
+ | 'FIX'
1095
+ | 'IGNORE';
1096
+
938
1097
  export type ReviewDetailDto = {
939
1098
  /**
940
1099
  * Review item ID
@@ -958,9 +1117,9 @@ export type ReviewDetailDto = {
958
1117
  */
959
1118
  confidence: number;
960
1119
  /**
961
- * Confidence level derived from score
1120
+ * Confidence level derived from score. Null for error-type reviews (ACCOUNT_VALIDATION/PIPELINE_ERROR) which carry no confidence.
962
1121
  */
963
- confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW';
1122
+ confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW' | null;
964
1123
  /**
965
1124
  * i18n message key for summary (e.g., review.summary.duplicate). Translate on frontend with summaryParams.
966
1125
  */
@@ -976,7 +1135,7 @@ export type ReviewDetailDto = {
976
1135
  */
977
1136
  matchReasons: Array<string>;
978
1137
  /**
979
- * Source type (NLP, CSV, OCR, API)
1138
+ * Source type (free-form string from transaction metadata, e.g. import, api)
980
1139
  */
981
1140
  sourceType: string;
982
1141
  /**
@@ -1027,47 +1186,199 @@ export type ReviewDetailDto = {
1027
1186
  transactionId?: string;
1028
1187
  };
1029
1188
 
1030
- export type PayeeResponseDto = {
1189
+ export type ResolveReviewDto = {
1031
1190
  /**
1032
- * Unique identifier (UUID)
1191
+ * Decision action. Valid actions vary by review type — see DecisionOptionDto.value returned by the review detail endpoint.
1033
1192
  */
1034
- id: string;
1193
+ action:
1194
+ | 'UPGRADE_REPLACE'
1195
+ | 'LINK_KEEP_BOTH'
1196
+ | 'IGNORE_NEW'
1197
+ | 'CONFIRM_DIFFERENT'
1198
+ | 'ACCEPT'
1199
+ | 'REJECT'
1200
+ | 'ACCEPT_AND_LEARN'
1201
+ | 'CHOOSE_OTHER'
1202
+ | 'CANCEL'
1203
+ | 'FIX'
1204
+ | 'IGNORE';
1205
+ /**
1206
+ * Additional data for the decision (e.g., selected account ID)
1207
+ */
1208
+ data?: {
1209
+ [key: string]: unknown;
1210
+ };
1211
+ };
1212
+
1213
+ /**
1214
+ * Decision action. Valid actions vary by review type — see DecisionOptionDto.value returned by the review detail endpoint.
1215
+ */
1216
+ export type action =
1217
+ | 'UPGRADE_REPLACE'
1218
+ | 'LINK_KEEP_BOTH'
1219
+ | 'IGNORE_NEW'
1220
+ | 'CONFIRM_DIFFERENT'
1221
+ | 'ACCEPT'
1222
+ | 'REJECT'
1223
+ | 'ACCEPT_AND_LEARN'
1224
+ | 'CHOOSE_OTHER'
1225
+ | 'CANCEL'
1226
+ | 'FIX'
1227
+ | 'IGNORE';
1228
+
1229
+ export type ResolveResultDto = {
1035
1230
  /**
1036
- * User ID (owner of this payee mapping)
1231
+ * Whether resolution was successful
1037
1232
  */
1038
- userId: string;
1233
+ success: boolean;
1039
1234
  /**
1040
- * User's original payee name (e.g., 'Starbucks', 'McDonald')
1235
+ * i18n message key for result message (e.g., review.payee.result.mapped)
1041
1236
  */
1042
- payee: string;
1237
+ messageKey?: string;
1043
1238
  /**
1044
- * Reference to global PayeeProfile (merchant info, i18n keys, categories)
1239
+ * Parameters for message interpolation (e.g., { name: "PayeeName" })
1045
1240
  */
1046
- payeeProfileId?: {
1047
- [key: string]: unknown;
1048
- } | null;
1241
+ messageParams?: {
1242
+ [key: string]: string;
1243
+ };
1049
1244
  /**
1050
- * User's custom category (overrides PayeeProfile category if set)
1245
+ * Resolution ID for undo
1051
1246
  */
1052
- customCategory?: {
1053
- [key: string]: unknown;
1054
- } | null;
1247
+ resolutionId: string;
1055
1248
  /**
1056
- * User's custom tags (e.g., ['favorite', 'work_meal'])
1249
+ * Whether this decision can be undone
1057
1250
  */
1058
- customTags: Array<string>;
1251
+ canUndo: boolean;
1059
1252
  /**
1060
- * Usage count (number of times this payee was used in transactions)
1253
+ * Deadline for undo (24h from resolution)
1061
1254
  */
1062
- useCount: number;
1255
+ undoDeadline: string;
1063
1256
  /**
1064
- * Last used timestamp
1257
+ * Rule ID if learning was triggered (ACCEPT_AND_LEARN actions). Use this to deep-link to the rule management page.
1065
1258
  */
1066
- lastUsedAt: string;
1259
+ learnedRuleId?: string;
1260
+ };
1261
+
1262
+ export type UndoResultDto = {
1067
1263
  /**
1068
- * Extended metadata (location, notes, contact info, etc.)
1264
+ * Whether undo was successful
1069
1265
  */
1070
- meta: {
1266
+ success: boolean;
1267
+ /**
1268
+ * Message
1269
+ */
1270
+ message?: string;
1271
+ /**
1272
+ * Review item ID that was restored
1273
+ */
1274
+ reviewId: string;
1275
+ };
1276
+
1277
+ export type BatchResolveDto = {
1278
+ /**
1279
+ * Review item IDs to resolve
1280
+ */
1281
+ reviewIds: Array<string>;
1282
+ /**
1283
+ * Decision action to apply to all items
1284
+ */
1285
+ action:
1286
+ | 'UPGRADE_REPLACE'
1287
+ | 'LINK_KEEP_BOTH'
1288
+ | 'IGNORE_NEW'
1289
+ | 'CONFIRM_DIFFERENT'
1290
+ | 'ACCEPT'
1291
+ | 'REJECT'
1292
+ | 'ACCEPT_AND_LEARN'
1293
+ | 'CHOOSE_OTHER'
1294
+ | 'CANCEL'
1295
+ | 'FIX'
1296
+ | 'IGNORE';
1297
+ /**
1298
+ * Additional data for the decision
1299
+ */
1300
+ data?: {
1301
+ [key: string]: unknown;
1302
+ };
1303
+ };
1304
+
1305
+ export type BatchResolveResultDto = {
1306
+ /**
1307
+ * Number of successfully resolved items
1308
+ */
1309
+ successCount: number;
1310
+ /**
1311
+ * Number of failed items
1312
+ */
1313
+ failedCount: number;
1314
+ /**
1315
+ * Details for each item
1316
+ */
1317
+ results: Array<string>;
1318
+ };
1319
+
1320
+ export type CreatePayeeDto = {
1321
+ /**
1322
+ * User's original payee name (e.g., 'Starbucks', 'McDonald'). This is the raw payee string as entered by the user.
1323
+ */
1324
+ payee: string;
1325
+ /**
1326
+ * Optional reference to global PayeeProfile for standardized data (merchant info, i18n keys, categories)
1327
+ */
1328
+ payeeProfileId?: string;
1329
+ /**
1330
+ * User's custom category for this payee (overrides PayeeProfile category)
1331
+ */
1332
+ customCategory?: string;
1333
+ /**
1334
+ * User's custom tags for this payee (e.g., ['favorite', 'work_meal'])
1335
+ */
1336
+ customTags?: Array<string>;
1337
+ /**
1338
+ * Metadata for extended information (location, notes, contact info, etc.)
1339
+ */
1340
+ meta?: {
1341
+ [key: string]: unknown;
1342
+ };
1343
+ };
1344
+
1345
+ export type PayeeResponseDto = {
1346
+ /**
1347
+ * Unique identifier (UUID)
1348
+ */
1349
+ id: string;
1350
+ /**
1351
+ * User ID (owner of this payee mapping)
1352
+ */
1353
+ userId: string;
1354
+ /**
1355
+ * User's original payee name (e.g., 'Starbucks', 'McDonald')
1356
+ */
1357
+ payee: string;
1358
+ /**
1359
+ * Reference to global PayeeProfile (merchant info, i18n keys, categories)
1360
+ */
1361
+ payeeProfileId?: string | null;
1362
+ /**
1363
+ * User's custom category (overrides PayeeProfile category if set)
1364
+ */
1365
+ customCategory?: string | null;
1366
+ /**
1367
+ * User's custom tags (e.g., ['favorite', 'work_meal'])
1368
+ */
1369
+ customTags: Array<string>;
1370
+ /**
1371
+ * Usage count (number of times this payee was used in transactions)
1372
+ */
1373
+ useCount: number;
1374
+ /**
1375
+ * Last used timestamp
1376
+ */
1377
+ lastUsedAt: string;
1378
+ /**
1379
+ * Extended metadata (location, notes, contact info, etc.)
1380
+ */
1381
+ meta: {
1071
1382
  [key: string]: unknown;
1072
1383
  };
1073
1384
  /**
@@ -1117,6 +1428,144 @@ export type PayeeStatsResponseDto = {
1117
1428
  lastUsedAt: string;
1118
1429
  };
1119
1430
 
1431
+ export type UpdatePayeeDto = {
1432
+ /**
1433
+ * Optional reference to global PayeeProfile for standardized data (merchant info, i18n keys, categories)
1434
+ */
1435
+ payeeProfileId?: string;
1436
+ /**
1437
+ * User's custom category for this payee (overrides PayeeProfile category)
1438
+ */
1439
+ customCategory?: string;
1440
+ /**
1441
+ * User's custom tags for this payee (e.g., ['favorite', 'work_meal'])
1442
+ */
1443
+ customTags?: Array<string>;
1444
+ /**
1445
+ * Metadata for extended information (location, notes, contact info, etc.). Will merge with existing metadata.
1446
+ */
1447
+ meta?: {
1448
+ [key: string]: unknown;
1449
+ };
1450
+ /**
1451
+ * Enable or disable this payee. Disabled payees will not appear in autocomplete suggestions.
1452
+ */
1453
+ isActive?: boolean;
1454
+ };
1455
+
1456
+ export type CreatePayeeProfileDto = {
1457
+ /**
1458
+ * Canonical payee name (unique, case-insensitive). This is the primary identifier for the payee.
1459
+ */
1460
+ canonical: string;
1461
+ /**
1462
+ * Multi-language aliases for the payee. Used for matching user input in different languages.
1463
+ */
1464
+ aliases?: Array<string>;
1465
+ /**
1466
+ * Translation key for i18n integration (XLIFF translation system)
1467
+ */
1468
+ i18nKey?: string;
1469
+ /**
1470
+ * Payee category classification
1471
+ */
1472
+ category:
1473
+ | 'RESTAURANT'
1474
+ | 'CAFE'
1475
+ | 'FAST_FOOD'
1476
+ | 'BAR'
1477
+ | 'SUPERMARKET'
1478
+ | 'CONVENIENCE_STORE'
1479
+ | 'SHOPPING_MALL'
1480
+ | 'ONLINE_SHOPPING'
1481
+ | 'TAXI'
1482
+ | 'RIDE_SHARING'
1483
+ | 'PUBLIC_TRANSPORT'
1484
+ | 'PARKING'
1485
+ | 'GAS_STATION'
1486
+ | 'UTILITIES'
1487
+ | 'TELECOM'
1488
+ | 'STREAMING'
1489
+ | 'HEALTHCARE'
1490
+ | 'EDUCATION'
1491
+ | 'ENTERTAINMENT'
1492
+ | 'SPORTS'
1493
+ | 'TRAVEL'
1494
+ | 'HOTEL'
1495
+ | 'OTHER';
1496
+ /**
1497
+ * Sub-category for more specific classification
1498
+ */
1499
+ subCategory?: string;
1500
+ /**
1501
+ * Country/region codes where the payee operates (ISO 3166-1 alpha-2)
1502
+ */
1503
+ countries?: Array<string>;
1504
+ /**
1505
+ * Primary operating country (ISO 3166-1 alpha-2)
1506
+ */
1507
+ primaryCountry?: string;
1508
+ /**
1509
+ * Search keywords for fuzzy matching
1510
+ */
1511
+ keywords?: Array<string>;
1512
+ /**
1513
+ * Payee logo URL
1514
+ */
1515
+ logoUrl?: string;
1516
+ /**
1517
+ * Official website URL
1518
+ */
1519
+ website?: string;
1520
+ /**
1521
+ * Payee description
1522
+ */
1523
+ description?: string;
1524
+ /**
1525
+ * Extended metadata (business hours, contact info, additional details)
1526
+ */
1527
+ meta?: {
1528
+ [key: string]: unknown;
1529
+ };
1530
+ /**
1531
+ * Data source for this profile
1532
+ */
1533
+ dataSource?: 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1534
+ };
1535
+
1536
+ /**
1537
+ * Payee category classification
1538
+ */
1539
+ export type category =
1540
+ | 'RESTAURANT'
1541
+ | 'CAFE'
1542
+ | 'FAST_FOOD'
1543
+ | 'BAR'
1544
+ | 'SUPERMARKET'
1545
+ | 'CONVENIENCE_STORE'
1546
+ | 'SHOPPING_MALL'
1547
+ | 'ONLINE_SHOPPING'
1548
+ | 'TAXI'
1549
+ | 'RIDE_SHARING'
1550
+ | 'PUBLIC_TRANSPORT'
1551
+ | 'PARKING'
1552
+ | 'GAS_STATION'
1553
+ | 'UTILITIES'
1554
+ | 'TELECOM'
1555
+ | 'STREAMING'
1556
+ | 'HEALTHCARE'
1557
+ | 'EDUCATION'
1558
+ | 'ENTERTAINMENT'
1559
+ | 'SPORTS'
1560
+ | 'TRAVEL'
1561
+ | 'HOTEL'
1562
+ | 'OTHER';
1563
+
1564
+ /**
1565
+ * Data source for this profile
1566
+ */
1567
+ export type dataSource = 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1568
+
1120
1569
  export type PayeeProfileResponseDto = {
1121
1570
  /**
1122
1571
  * Unique identifier (UUID)
@@ -1133,9 +1582,7 @@ export type PayeeProfileResponseDto = {
1133
1582
  /**
1134
1583
  * Translation key for i18n
1135
1584
  */
1136
- i18nKey?: {
1137
- [key: string]: unknown;
1138
- } | null;
1585
+ i18nKey?: string | null;
1139
1586
  /**
1140
1587
  * Payee category
1141
1588
  */
@@ -1166,9 +1613,7 @@ export type PayeeProfileResponseDto = {
1166
1613
  /**
1167
1614
  * Sub-category
1168
1615
  */
1169
- subCategory?: {
1170
- [key: string]: unknown;
1171
- } | null;
1616
+ subCategory?: string | null;
1172
1617
  /**
1173
1618
  * Country codes where payee operates
1174
1619
  */
@@ -1176,9 +1621,7 @@ export type PayeeProfileResponseDto = {
1176
1621
  /**
1177
1622
  * Primary operating country
1178
1623
  */
1179
- primaryCountry?: {
1180
- [key: string]: unknown;
1181
- } | null;
1624
+ primaryCountry?: string | null;
1182
1625
  /**
1183
1626
  * Search keywords
1184
1627
  */
@@ -1186,21 +1629,15 @@ export type PayeeProfileResponseDto = {
1186
1629
  /**
1187
1630
  * Logo URL
1188
1631
  */
1189
- logoUrl?: {
1190
- [key: string]: unknown;
1191
- } | null;
1632
+ logoUrl?: string | null;
1192
1633
  /**
1193
1634
  * Official website
1194
1635
  */
1195
- website?: {
1196
- [key: string]: unknown;
1197
- } | null;
1636
+ website?: string | null;
1198
1637
  /**
1199
1638
  * Description
1200
1639
  */
1201
- description?: {
1202
- [key: string]: unknown;
1203
- } | null;
1640
+ description?: string | null;
1204
1641
  /**
1205
1642
  * Extended metadata
1206
1643
  */
@@ -1214,9 +1651,7 @@ export type PayeeProfileResponseDto = {
1214
1651
  /**
1215
1652
  * Verification timestamp (null if not verified)
1216
1653
  */
1217
- verifiedAt?: {
1218
- [key: string]: unknown;
1219
- } | null;
1654
+ verifiedAt?: string | null;
1220
1655
  /**
1221
1656
  * Whether the profile is active
1222
1657
  */
@@ -1231,39 +1666,6 @@ export type PayeeProfileResponseDto = {
1231
1666
  updatedAt: string;
1232
1667
  };
1233
1668
 
1234
- /**
1235
- * Payee category
1236
- */
1237
- export type category =
1238
- | 'RESTAURANT'
1239
- | 'CAFE'
1240
- | 'FAST_FOOD'
1241
- | 'BAR'
1242
- | 'SUPERMARKET'
1243
- | 'CONVENIENCE_STORE'
1244
- | 'SHOPPING_MALL'
1245
- | 'ONLINE_SHOPPING'
1246
- | 'TAXI'
1247
- | 'RIDE_SHARING'
1248
- | 'PUBLIC_TRANSPORT'
1249
- | 'PARKING'
1250
- | 'GAS_STATION'
1251
- | 'UTILITIES'
1252
- | 'TELECOM'
1253
- | 'STREAMING'
1254
- | 'HEALTHCARE'
1255
- | 'EDUCATION'
1256
- | 'ENTERTAINMENT'
1257
- | 'SPORTS'
1258
- | 'TRAVEL'
1259
- | 'HOTEL'
1260
- | 'OTHER';
1261
-
1262
- /**
1263
- * Data source
1264
- */
1265
- export type dataSource = 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1266
-
1267
1669
  export type PayeeProfileListResponseDto = {
1268
1670
  /**
1269
1671
  * List of payee profiles
@@ -1275,6 +1677,107 @@ export type PayeeProfileListResponseDto = {
1275
1677
  total: number;
1276
1678
  };
1277
1679
 
1680
+ export type UpdatePayeeProfileDto = {
1681
+ /**
1682
+ * Multi-language aliases for the payee. Used for matching user input in different languages.
1683
+ */
1684
+ aliases?: Array<string>;
1685
+ /**
1686
+ * Translation key for i18n integration (XLIFF translation system)
1687
+ */
1688
+ i18nKey?: string;
1689
+ /**
1690
+ * Payee category classification
1691
+ */
1692
+ category?:
1693
+ | 'RESTAURANT'
1694
+ | 'CAFE'
1695
+ | 'FAST_FOOD'
1696
+ | 'BAR'
1697
+ | 'SUPERMARKET'
1698
+ | 'CONVENIENCE_STORE'
1699
+ | 'SHOPPING_MALL'
1700
+ | 'ONLINE_SHOPPING'
1701
+ | 'TAXI'
1702
+ | 'RIDE_SHARING'
1703
+ | 'PUBLIC_TRANSPORT'
1704
+ | 'PARKING'
1705
+ | 'GAS_STATION'
1706
+ | 'UTILITIES'
1707
+ | 'TELECOM'
1708
+ | 'STREAMING'
1709
+ | 'HEALTHCARE'
1710
+ | 'EDUCATION'
1711
+ | 'ENTERTAINMENT'
1712
+ | 'SPORTS'
1713
+ | 'TRAVEL'
1714
+ | 'HOTEL'
1715
+ | 'OTHER';
1716
+ /**
1717
+ * Sub-category for more specific classification
1718
+ */
1719
+ subCategory?: string;
1720
+ /**
1721
+ * Country/region codes where the payee operates (ISO 3166-1 alpha-2)
1722
+ */
1723
+ countries?: Array<string>;
1724
+ /**
1725
+ * Primary operating country (ISO 3166-1 alpha-2)
1726
+ */
1727
+ primaryCountry?: string;
1728
+ /**
1729
+ * Search keywords for fuzzy matching
1730
+ */
1731
+ keywords?: Array<string>;
1732
+ /**
1733
+ * Payee logo URL
1734
+ */
1735
+ logoUrl?: string;
1736
+ /**
1737
+ * Official website URL
1738
+ */
1739
+ website?: string;
1740
+ /**
1741
+ * Payee description
1742
+ */
1743
+ description?: string;
1744
+ /**
1745
+ * Extended metadata (business hours, contact info, additional details)
1746
+ */
1747
+ meta?: {
1748
+ [key: string]: unknown;
1749
+ };
1750
+ /**
1751
+ * Data source for this profile
1752
+ */
1753
+ dataSource?: 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1754
+ /**
1755
+ * Whether the payee profile is active (soft delete)
1756
+ */
1757
+ isActive?: boolean;
1758
+ /**
1759
+ * Verification timestamp. Set to current time to verify, or null to unverify.
1760
+ */
1761
+ verifiedAt?: string | null;
1762
+ };
1763
+
1764
+ export type CreateCommodityDto = {
1765
+ /**
1766
+ * Commodity symbol (e.g., AAPL, USD, BTC) - corresponds to Beancount currency field
1767
+ */
1768
+ symbol: string;
1769
+ /**
1770
+ * Commodity definition date (ISO 8601, required per Beancount spec). Represents when this commodity was first defined in the accounting system.
1771
+ */
1772
+ date: string;
1773
+ /**
1774
+ * Metadata (corresponds to Beancount meta field). Can contain name, assetClass, precision, note, tags, etc.
1775
+ */
1776
+ metadata?: {
1777
+ [key: string]: unknown;
1778
+ };
1779
+ };
1780
+
1278
1781
  export type CommodityResponseDto = {
1279
1782
  /**
1280
1783
  * Unique identifier
@@ -1283,9 +1786,7 @@ export type CommodityResponseDto = {
1283
1786
  /**
1284
1787
  * User ID (owner of the commodity)
1285
1788
  */
1286
- userId?: {
1287
- [key: string]: unknown;
1288
- } | null;
1789
+ userId?: string | null;
1289
1790
  /**
1290
1791
  * Commodity symbol (corresponds to Beancount currency field)
1291
1792
  */
@@ -1300,12 +1801,6 @@ export type CommodityResponseDto = {
1300
1801
  metadata: {
1301
1802
  [key: string]: unknown;
1302
1803
  };
1303
- /**
1304
- * Reference to SymbolProfile (market data integration, SaaS feature)
1305
- */
1306
- symbolProfileId?: {
1307
- [key: string]: unknown;
1308
- } | null;
1309
1804
  /**
1310
1805
  * Creation timestamp
1311
1806
  */
@@ -1327,6 +1822,101 @@ export type CommodityListResponseDto = {
1327
1822
  total: number;
1328
1823
  };
1329
1824
 
1825
+ export type UpdateCommodityDto = {
1826
+ /**
1827
+ * Commodity definition date (ISO 8601). Represents when this commodity was first defined in the accounting system.
1828
+ */
1829
+ date?: string;
1830
+ /**
1831
+ * Metadata (corresponds to Beancount meta field). Will merge with existing metadata. Can contain name, assetClass, precision, note, tags, etc.
1832
+ */
1833
+ metadata?: {
1834
+ [key: string]: unknown;
1835
+ };
1836
+ };
1837
+
1838
+ export type CreateRecurringRuleDto = {
1839
+ /**
1840
+ * Rule name (unique per user)
1841
+ */
1842
+ name: string;
1843
+ /**
1844
+ * Icon emoji
1845
+ */
1846
+ icon?: string;
1847
+ /**
1848
+ * Recurring frequency
1849
+ */
1850
+ frequency:
1851
+ | 'WEEKLY'
1852
+ | 'BIWEEKLY'
1853
+ | 'MONTHLY'
1854
+ | 'BIMONTHLY'
1855
+ | 'QUARTERLY'
1856
+ | 'YEARLY'
1857
+ | 'CUSTOM';
1858
+ /**
1859
+ * Expected amount (positive number)
1860
+ */
1861
+ expectedAmount: number;
1862
+ /**
1863
+ * Expected day of month (1-31)
1864
+ */
1865
+ expectedDay?: number;
1866
+ /**
1867
+ * Custom interval in days (required for CUSTOM frequency)
1868
+ */
1869
+ customIntervalDays?: number;
1870
+ /**
1871
+ * Currency code
1872
+ */
1873
+ currency: string;
1874
+ /**
1875
+ * Payee matching pattern (supports wildcards)
1876
+ */
1877
+ matchPayeePattern?: string;
1878
+ /**
1879
+ * Amount tolerance percentage (0-1)
1880
+ */
1881
+ matchAmountTolerance: number;
1882
+ /**
1883
+ * Default expense account for auto-create
1884
+ */
1885
+ defaultExpenseAccount?: string;
1886
+ /**
1887
+ * Default payment account for auto-create
1888
+ */
1889
+ defaultPaymentAccount?: string;
1890
+ /**
1891
+ * Default payee for auto-create
1892
+ */
1893
+ defaultPayee?: string;
1894
+ /**
1895
+ * Auto-create transaction when expected date arrives
1896
+ */
1897
+ autoCreate: boolean;
1898
+ /**
1899
+ * Rule start date (ISO format)
1900
+ */
1901
+ startDate?: string;
1902
+ /**
1903
+ * Rule end date (ISO format)
1904
+ */
1905
+ endDate?: string;
1906
+ };
1907
+
1908
+ /**
1909
+ * Recurring frequency
1910
+ */
1911
+ export type frequency =
1912
+ | 'WEEKLY'
1913
+ | 'BIWEEKLY'
1914
+ | 'MONTHLY'
1915
+ | 'BIMONTHLY'
1916
+ | 'QUARTERLY'
1917
+ | 'YEARLY'
1918
+ | 'CUSTOM';
1919
+
1330
1920
  export type RecurringRuleResponseDto = {
1331
1921
  /**
1332
1922
  * Rule ID
@@ -1436,6 +2026,28 @@ export type RecurringRuleResponseDto = {
1436
2026
  updatedAt: string;
1437
2027
  };
1438
2028
 
2029
+ export type CreateRuleFromTransactionDto = {
2030
+ /**
2031
+ * Recurring frequency
2032
+ */
2033
+ frequency:
2034
+ | 'WEEKLY'
2035
+ | 'BIWEEKLY'
2036
+ | 'MONTHLY'
2037
+ | 'BIMONTHLY'
2038
+ | 'QUARTERLY'
2039
+ | 'YEARLY'
2040
+ | 'CUSTOM';
2041
+ /**
2042
+ * Optional name override (default: transaction payee)
2043
+ */
2044
+ name?: string;
2045
+ /**
2046
+ * Optional icon emoji
2047
+ */
2048
+ icon?: string;
2049
+ };
2050
+
1439
2051
  export type RecurringRuleWithStatsResponseDto = {
1440
2052
  /**
1441
2053
  * Rule ID
@@ -1591,6 +2203,76 @@ export type RecurringRuleWithStatsResponseDto = {
1591
2203
  upcomingCount: number;
1592
2204
  };
1593
2205
 
2206
+ export type UpdateRecurringRuleDto = {
2207
+ /**
2208
+ * Rule name
2209
+ */
2210
+ name?: string;
2211
+ /**
2212
+ * Icon emoji
2213
+ */
2214
+ icon?: string;
2215
+ /**
2216
+ * Recurring frequency
2217
+ */
2218
+ frequency?:
2219
+ | 'WEEKLY'
2220
+ | 'BIWEEKLY'
2221
+ | 'MONTHLY'
2222
+ | 'BIMONTHLY'
2223
+ | 'QUARTERLY'
2224
+ | 'YEARLY'
2225
+ | 'CUSTOM';
2226
+ /**
2227
+ * Expected amount
2228
+ */
2229
+ expectedAmount?: number;
2230
+ /**
2231
+ * Expected day of month (1-31)
2232
+ */
2233
+ expectedDay?: number;
2234
+ /**
2235
+ * Custom interval in days
2236
+ */
2237
+ customIntervalDays?: number;
2238
+ /**
2239
+ * Currency code
2240
+ */
2241
+ currency?: string;
2242
+ /**
2243
+ * Payee matching pattern
2244
+ */
2245
+ matchPayeePattern?: string;
2246
+ /**
2247
+ * Amount tolerance percentage (0-1)
2248
+ */
2249
+ matchAmountTolerance?: number;
2250
+ /**
2251
+ * Default expense account
2252
+ */
2253
+ defaultExpenseAccount?: string;
2254
+ /**
2255
+ * Default payment account
2256
+ */
2257
+ defaultPaymentAccount?: string;
2258
+ /**
2259
+ * Default payee
2260
+ */
2261
+ defaultPayee?: string;
2262
+ /**
2263
+ * Auto-create transaction
2264
+ */
2265
+ autoCreate?: boolean;
2266
+ /**
2267
+ * Rule active status
2268
+ */
2269
+ isActive?: boolean;
2270
+ /**
2271
+ * Rule end date (ISO format)
2272
+ */
2273
+ endDate?: string;
2274
+ };
2275
+
1594
2276
  export type ExpectedTransactionRuleDto = {
1595
2277
  /**
1596
2278
  * Rule name
@@ -1681,6 +2363,36 @@ export type ExpectedTransactionListResponseDto = {
1681
2363
  total: number;
1682
2364
  };
1683
2365
 
2366
+ export type ConfirmMatchDto = {
2367
+ /**
2368
+ * Transaction ID to match with
2369
+ */
2370
+ transactionId: string;
2371
+ };
2372
+
2373
+ export type EnterNowDto = {
2374
+ /**
2375
+ * Override expense account (uses rule default if not provided)
2376
+ */
2377
+ expenseAccount?: string;
2378
+ /**
2379
+ * Override payment account (uses rule default if not provided)
2380
+ */
2381
+ paymentAccount?: string;
2382
+ /**
2383
+ * Override amount (uses expected amount if not provided)
2384
+ */
2385
+ amount?: number;
2386
+ /**
2387
+ * Override payee (uses rule default if not provided)
2388
+ */
2389
+ payee?: string;
2390
+ /**
2391
+ * Optional narration
2392
+ */
2393
+ narration?: string;
2394
+ };
2395
+
1684
2396
  export type ForecastItemDto = {
1685
2397
  /**
1686
2398
  * Rule name
@@ -1701,9 +2413,7 @@ export type ForecastItemDto = {
1701
2413
  /**
1702
2414
  * Rule icon emoji
1703
2415
  */
1704
- icon: {
1705
- [key: string]: unknown;
1706
- } | null;
2416
+ icon: string | null;
1707
2417
  /**
1708
2418
  * Currency code
1709
2419
  */
@@ -1759,9 +2469,56 @@ export type ForecastResponseDto = {
1759
2469
  */
1760
2470
  periodStart: string;
1761
2471
  /**
1762
- * Forecast period end date
2472
+ * Forecast period end date
2473
+ */
2474
+ periodEnd: string;
2475
+ };
2476
+
2477
+ export type CreateTransactionRuleDto = {
2478
+ name: string;
2479
+ description?: string;
2480
+ narrationKeywords?: Array<unknown[]>;
2481
+ payeeKeywords?: Array<unknown[]>;
2482
+ categoryKeywords?: Array<unknown[]>;
2483
+ /**
2484
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2485
+ */
2486
+ methodKeywords?: Array<unknown[]>;
2487
+ /**
2488
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2489
+ */
2490
+ categoryAccount?: string;
2491
+ matchLogic: 'OR' | 'AND';
2492
+ /**
2493
+ * Minimum transaction amount (inclusive)
2494
+ */
2495
+ amountMin?: number;
2496
+ /**
2497
+ * Maximum transaction amount (inclusive)
2498
+ */
2499
+ amountMax?: number;
2500
+ priority: number;
2501
+ additionalTags?: Array<unknown[]>;
2502
+ additionalMetadata?: {
2503
+ [key: string]: unknown;
2504
+ };
2505
+ /**
2506
+ * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2507
+ */
2508
+ upsertByPayee?: boolean;
2509
+ };
2510
+
2511
+ export type matchLogic = 'OR' | 'AND';
2512
+
2513
+ export type AmountRangeDto = {
2514
+ /**
2515
+ * Minimum amount
2516
+ */
2517
+ min?: number;
2518
+ /**
2519
+ * Maximum amount
1763
2520
  */
1764
- periodEnd: string;
2521
+ max?: number;
1765
2522
  };
1766
2523
 
1767
2524
  export type TransactionRuleResponseDto = {
@@ -1804,9 +2561,7 @@ export type TransactionRuleResponseDto = {
1804
2561
  /**
1805
2562
  * Amount range for matching
1806
2563
  */
1807
- amountRange?: {
1808
- [key: string]: unknown;
1809
- };
2564
+ amountRange?: AmountRangeDto;
1810
2565
  /**
1811
2566
  * Rule priority (0-1000, higher = first match)
1812
2567
  */
@@ -1818,7 +2573,7 @@ export type TransactionRuleResponseDto = {
1818
2573
  /**
1819
2574
  * Learning source: NLP, REVIEW_CENTER, or null for manual
1820
2575
  */
1821
- learningSource?: 'NLP' | 'REVIEW_CENTER';
2576
+ learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
1822
2577
  /**
1823
2578
  * Whether auto-apply is enabled for this rule
1824
2579
  */
@@ -1835,7 +2590,7 @@ export type TransactionRuleResponseDto = {
1835
2590
  * Additional metadata
1836
2591
  */
1837
2592
  additionalMetadata?: {
1838
- [key: string]: unknown;
2593
+ [key: string]: string;
1839
2594
  };
1840
2595
  /**
1841
2596
  * Created timestamp
@@ -1847,11 +2602,6 @@ export type TransactionRuleResponseDto = {
1847
2602
  updatedAt: string;
1848
2603
  };
1849
2604
 
1850
- /**
1851
- * Keyword matching logic
1852
- */
1853
- export type matchLogic = 'OR' | 'AND';
1854
-
1855
2605
  /**
1856
2606
  * Learning source: NLP, REVIEW_CENTER, or null for manual
1857
2607
  */
@@ -1922,6 +2672,44 @@ export type ValidateRuleResponseDto = {
1922
2672
  warnings: Array<unknown[]>;
1923
2673
  };
1924
2674
 
2675
+ export type BulkCreateRulesDto = {
2676
+ /**
2677
+ * Array of rules to import
2678
+ */
2679
+ rules: Array<unknown[]>;
2680
+ /**
2681
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2682
+ */
2683
+ conflictStrategy: 'replace' | 'skip';
2684
+ };
2685
+
2686
+ /**
2687
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2688
+ */
2689
+ export type conflictStrategy = 'replace' | 'skip';
2690
+
2691
+ export type BulkCreateRulesResponseDto = {
2692
+ /**
2693
+ * Number of successfully created rules
2694
+ */
2695
+ successCount: number;
2696
+ /**
2697
+ * Number of failed rules
2698
+ */
2699
+ failureCount: number;
2700
+ /**
2701
+ * Error details for failed rules
2702
+ */
2703
+ errors: Array<{
2704
+ index?: number;
2705
+ message?: string;
2706
+ }>;
2707
+ /**
2708
+ * IDs of successfully created rules
2709
+ */
2710
+ createdRuleIds: Array<string>;
2711
+ };
2712
+
1925
2713
  export type ExportRulesResponseDto = {
1926
2714
  /**
1927
2715
  * Export timestamp
@@ -1978,6 +2766,40 @@ export type RuleStatisticsResponseDto = {
1978
2766
  */
1979
2767
  export type period = '7d' | '30d' | '90d';
1980
2768
 
2769
+ export type UpdateTransactionRuleDto = {
2770
+ name?: string;
2771
+ description?: string;
2772
+ narrationKeywords?: Array<unknown[]>;
2773
+ payeeKeywords?: Array<unknown[]>;
2774
+ categoryKeywords?: Array<unknown[]>;
2775
+ /**
2776
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2777
+ */
2778
+ methodKeywords?: Array<unknown[]>;
2779
+ /**
2780
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2781
+ */
2782
+ categoryAccount?: string;
2783
+ matchLogic?: 'OR' | 'AND';
2784
+ /**
2785
+ * Minimum transaction amount (inclusive)
2786
+ */
2787
+ amountMin?: number;
2788
+ /**
2789
+ * Maximum transaction amount (inclusive)
2790
+ */
2791
+ amountMax?: number;
2792
+ priority?: number;
2793
+ /**
2794
+ * Enable or disable the rule
2795
+ */
2796
+ enabled?: boolean;
2797
+ additionalTags?: Array<unknown[]>;
2798
+ additionalMetadata?: {
2799
+ [key: string]: unknown;
2800
+ };
2801
+ };
2802
+
1981
2803
  export type TestRuleDto = {
1982
2804
  narration: string;
1983
2805
  payee?: string;
@@ -2118,6 +2940,13 @@ export type colorScheme = 'DARK' | 'LIGHT';
2118
2940
  */
2119
2941
  export type viewMode = 'DEFAULT' | 'ZEN';
2120
2942
 
2943
+ export type UpdatePropertyDto = {
2944
+ /**
2945
+ * Property value
2946
+ */
2947
+ value: string;
2948
+ };
2949
+
2121
2950
  export type FileImportDto = {
2122
2951
  /**
2123
2952
  * Bill file to import (CSV, PDF, OFX, etc.)
@@ -2377,6 +3206,133 @@ export type importerId =
2377
3206
  | 'hsbc-hk-credit'
2378
3207
  | 'hsbc-hk-debit';
2379
3208
 
3209
+ export type UpdateMapperDefaultsDto = {
3210
+ /**
3211
+ * Source account for transactions (Beancount format)
3212
+ */
3213
+ sourceAccount?: string;
3214
+ /**
3215
+ * Default currency (ISO 4217 code)
3216
+ */
3217
+ currency?: string;
3218
+ /**
3219
+ * Default expense account (optional)
3220
+ */
3221
+ expenseAccount?: string;
3222
+ /**
3223
+ * Default income account (optional)
3224
+ */
3225
+ incomeAccount?: string;
3226
+ /**
3227
+ * 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).
3228
+ */
3229
+ methodAccountMapping?: {
3230
+ [key: string]: unknown;
3231
+ };
3232
+ };
3233
+
3234
+ export type UpdateConfigDataDto = {
3235
+ /**
3236
+ * Mapper defaults configuration
3237
+ */
3238
+ defaults?: UpdateMapperDefaultsDto;
3239
+ };
3240
+
3241
+ export type UpdateImporterConfigDto = {
3242
+ /**
3243
+ * Configuration data (v1 schema)
3244
+ */
3245
+ data?: UpdateConfigDataDto;
3246
+ };
3247
+
3248
+ export type CreatePlatformDto = {
3249
+ /**
3250
+ * Platform name
3251
+ */
3252
+ name: string;
3253
+ /**
3254
+ * Platform canonical identifier (lowercase, kebab-case)
3255
+ */
3256
+ canonical: string;
3257
+ /**
3258
+ * Platform aliases (multi-language names for lookup)
3259
+ */
3260
+ aliases: Array<string>;
3261
+ /**
3262
+ * Platform URL
3263
+ */
3264
+ url: string;
3265
+ /**
3266
+ * Platform type
3267
+ */
3268
+ type:
3269
+ | 'BANK'
3270
+ | 'BROKERAGE'
3271
+ | 'CRYPTO_EXCHANGE'
3272
+ | 'PAYMENT'
3273
+ | 'INVESTMENT'
3274
+ | 'INSURANCE'
3275
+ | 'OTHER';
3276
+ /**
3277
+ * Platform logo URL
3278
+ */
3279
+ logoUrl?: string;
3280
+ /**
3281
+ * Whether the platform is active
3282
+ */
3283
+ isActive?: boolean;
3284
+ };
3285
+
3286
+ /**
3287
+ * Platform type
3288
+ */
3289
+ export type type3 =
3290
+ | 'BANK'
3291
+ | 'BROKERAGE'
3292
+ | 'CRYPTO_EXCHANGE'
3293
+ | 'PAYMENT'
3294
+ | 'INVESTMENT'
3295
+ | 'INSURANCE'
3296
+ | 'OTHER';
3297
+
3298
+ export type UpdatePlatformDto = {
3299
+ /**
3300
+ * Platform name
3301
+ */
3302
+ name?: string;
3303
+ /**
3304
+ * Platform canonical identifier (lowercase, kebab-case)
3305
+ */
3306
+ canonical?: string;
3307
+ /**
3308
+ * Platform aliases (multi-language names for lookup)
3309
+ */
3310
+ aliases?: Array<string>;
3311
+ /**
3312
+ * Platform URL
3313
+ */
3314
+ url?: string;
3315
+ /**
3316
+ * Platform type
3317
+ */
3318
+ type?:
3319
+ | 'BANK'
3320
+ | 'BROKERAGE'
3321
+ | 'CRYPTO_EXCHANGE'
3322
+ | 'PAYMENT'
3323
+ | 'INVESTMENT'
3324
+ | 'INSURANCE'
3325
+ | 'OTHER';
3326
+ /**
3327
+ * Platform logo URL
3328
+ */
3329
+ logoUrl?: string;
3330
+ /**
3331
+ * Whether the platform is active
3332
+ */
3333
+ isActive?: boolean;
3334
+ };
3335
+
2380
3336
  export type ProviderSyncConfigDto = {
2381
3337
  /**
2382
3338
  * Source account for the first posting
@@ -2464,6 +3420,12 @@ export type ProcessNlpDto = {
2464
3420
  * Session ID for multi-turn conversation (auto-generated if not provided)
2465
3421
  */
2466
3422
  sessionId?: string;
3423
+ /**
3424
+ * Parsed data from previous NLP response for session recovery. Send back the parsedData received in confirm_payee/confirm responses.
3425
+ */
3426
+ parsedData?: {
3427
+ [key: string]: unknown;
3428
+ };
2467
3429
  };
2468
3430
 
2469
3431
  export type NlpTransactionInfoDto = {
@@ -2994,7 +3956,7 @@ export type status4 = 'success' | 'pending' | 'error';
2994
3956
  /**
2995
3957
  * Action taken or requested
2996
3958
  */
2997
- export type action =
3959
+ export type action2 =
2998
3960
  | 'created'
2999
3961
  | 'ask'
3000
3962
  | 'confirm'
@@ -3526,7 +4488,7 @@ export type AccountControllerCreateData = {
3526
4488
  /**
3527
4489
  * Region code for tenant context
3528
4490
  */
3529
- region: 'cn' | 'us' | 'de';
4491
+ region: 'cn' | 'us' | 'de' | 'gb';
3530
4492
  requestBody: CreateAccountDto;
3531
4493
  };
3532
4494
 
@@ -3548,7 +4510,7 @@ export type AccountControllerFindAllData = {
3548
4510
  /**
3549
4511
  * Region code for tenant context
3550
4512
  */
3551
- region: 'cn' | 'us' | 'de';
4513
+ region: 'cn' | 'us' | 'de' | 'gb';
3552
4514
  /**
3553
4515
  * Search term for path or i18nKey
3554
4516
  */
@@ -3573,7 +4535,7 @@ export type AccountControllerFindOneData = {
3573
4535
  /**
3574
4536
  * Region code for tenant context
3575
4537
  */
3576
- region: 'cn' | 'us' | 'de';
4538
+ region: 'cn' | 'us' | 'de' | 'gb';
3577
4539
  };
3578
4540
 
3579
4541
  export type AccountControllerFindOneResponse = AccountResponseDto;
@@ -3586,7 +4548,7 @@ export type AccountControllerUpdateData = {
3586
4548
  /**
3587
4549
  * Region code for tenant context
3588
4550
  */
3589
- region: 'cn' | 'us' | 'de';
4551
+ region: 'cn' | 'us' | 'de' | 'gb';
3590
4552
  requestBody: UpdateAccountDto;
3591
4553
  };
3592
4554
 
@@ -3600,7 +4562,7 @@ export type AccountControllerDeleteData = {
3600
4562
  /**
3601
4563
  * Region code for tenant context
3602
4564
  */
3603
- region: 'cn' | 'us' | 'de';
4565
+ region: 'cn' | 'us' | 'de' | 'gb';
3604
4566
  };
3605
4567
 
3606
4568
  export type AccountControllerDeleteResponse = void;
@@ -3613,7 +4575,7 @@ export type AccountControllerCloseData = {
3613
4575
  /**
3614
4576
  * Region code for tenant context
3615
4577
  */
3616
- region: 'cn' | 'us' | 'de';
4578
+ region: 'cn' | 'us' | 'de' | 'gb';
3617
4579
  requestBody: CloseAccountDto;
3618
4580
  };
3619
4581
 
@@ -3627,17 +4589,59 @@ export type AccountControllerReopenData = {
3627
4589
  /**
3628
4590
  * Region code for tenant context
3629
4591
  */
3630
- region: 'cn' | 'us' | 'de';
4592
+ region: 'cn' | 'us' | 'de' | 'gb';
3631
4593
  requestBody: ReopenAccountDto;
3632
4594
  };
3633
4595
 
3634
4596
  export type AccountControllerReopenResponse = AccountResponseDto;
3635
4597
 
4598
+ export type AccountStandardsControllerGetTemplatesData = {
4599
+ /**
4600
+ * Region code (cn, us, de)
4601
+ */
4602
+ region: 'cn' | 'us' | 'de' | 'gb';
4603
+ /**
4604
+ * Search term for path or description
4605
+ */
4606
+ search?: string;
4607
+ /**
4608
+ * Filter by account type
4609
+ */
4610
+ type?: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
4611
+ };
4612
+
4613
+ export type AccountStandardsControllerGetTemplatesResponse =
4614
+ AccountStandardListResponseDto;
4615
+
4616
+ export type AccountStandardsControllerGetTemplateMetadataData = {
4617
+ /**
4618
+ * Account path to check
4619
+ */
4620
+ path: string;
4621
+ /**
4622
+ * Region code for tenant context
4623
+ */
4624
+ region: 'cn' | 'us' | 'de' | 'gb';
4625
+ };
4626
+
4627
+ export type AccountStandardsControllerGetTemplateMetadataResponse =
4628
+ TemplateMetadataResponseDto;
4629
+
4630
+ export type AccountStandardsControllerGetRegionsData = {
4631
+ /**
4632
+ * Region code for tenant context
4633
+ */
4634
+ region: 'cn' | 'us' | 'de' | 'gb';
4635
+ };
4636
+
4637
+ export type AccountStandardsControllerGetRegionsResponse =
4638
+ RegionsMetadataResponseDto;
4639
+
3636
4640
  export type TransactionControllerCreateData = {
3637
4641
  /**
3638
4642
  * Region code for tenant context
3639
4643
  */
3640
- region: 'cn' | 'us' | 'de';
4644
+ region: 'cn' | 'us' | 'de' | 'gb';
3641
4645
  /**
3642
4646
  * Transaction data with postings
3643
4647
  */
@@ -3670,7 +4674,7 @@ export type TransactionControllerListData = {
3670
4674
  /**
3671
4675
  * Region code for tenant context
3672
4676
  */
3673
- region: 'cn' | 'us' | 'de';
4677
+ region: 'cn' | 'us' | 'de' | 'gb';
3674
4678
  /**
3675
4679
  * Search in narration and payee fields (max 200 chars)
3676
4680
  */
@@ -3683,74 +4687,95 @@ export type TransactionControllerListData = {
3683
4687
 
3684
4688
  export type TransactionControllerListResponse = TransactionListResponseDto;
3685
4689
 
3686
- export type TransactionControllerData = {
4690
+ export type TransactionControllerCreateBatchData = {
3687
4691
  /**
3688
4692
  * Region code for tenant context
3689
4693
  */
3690
- region: 'cn' | 'us' | 'de';
4694
+ region: 'cn' | 'us' | 'de' | 'gb';
4695
+ requestBody: BatchCreateTransactionDto;
3691
4696
  };
3692
4697
 
3693
- export type TransactionControllerResponse = unknown;
4698
+ export type TransactionControllerCreateBatchResponse =
4699
+ BatchTransactionResponseDto;
3694
4700
 
3695
- export type TransactionControllerGetDetailData = {
4701
+ export type TransactionControllerCorrectData = {
3696
4702
  /**
3697
- * Transaction ID
4703
+ * Original transaction ID to correct
3698
4704
  */
3699
4705
  id: string;
3700
4706
  /**
3701
4707
  * Region code for tenant context
3702
4708
  */
3703
- region: 'cn' | 'us' | 'de';
4709
+ region: 'cn' | 'us' | 'de' | 'gb';
4710
+ requestBody: CorrectTransactionDto;
3704
4711
  };
3705
4712
 
3706
- export type TransactionControllerGetDetailResponse = TransactionDetailDto;
4713
+ export type TransactionControllerCorrectResponse = TransactionDetailDto;
3707
4714
 
3708
- export type TransactionControllerUpdateData = {
4715
+ export type TransactionControllerSuggestTagsData = {
3709
4716
  /**
3710
- * Transaction ID
4717
+ * Max suggestions (1-100, default 10)
3711
4718
  */
3712
- id: string;
4719
+ limit?: number;
4720
+ /**
4721
+ * Prefix match, case-insensitive (max 50 chars)
4722
+ */
4723
+ q?: string;
3713
4724
  /**
3714
4725
  * Region code for tenant context
3715
4726
  */
3716
- region: 'cn' | 'us' | 'de';
4727
+ region: 'cn' | 'us' | 'de' | 'gb';
3717
4728
  /**
3718
- * Fields to update (all optional)
4729
+ * usage (default) or name
3719
4730
  */
3720
- requestBody: UpdateTransactionDto;
4731
+ sort?: 'usage' | 'name';
3721
4732
  };
3722
4733
 
3723
- export type TransactionControllerUpdateResponse = TransactionDetailDto;
4734
+ export type TransactionControllerSuggestTagsResponse =
4735
+ TagSuggestionsResponseDto;
3724
4736
 
3725
- export type TransactionController1Data = {
4737
+ export type TransactionControllerGetDetailData = {
4738
+ /**
4739
+ * Transaction ID
4740
+ */
4741
+ id: string;
3726
4742
  /**
3727
4743
  * Region code for tenant context
3728
4744
  */
3729
- region: 'cn' | 'us' | 'de';
4745
+ region: 'cn' | 'us' | 'de' | 'gb';
3730
4746
  };
3731
4747
 
3732
- export type TransactionController1Response = void;
4748
+ export type TransactionControllerGetDetailResponse = TransactionDetailDto;
3733
4749
 
3734
- export type AccountStandardsControllerGetTemplatesData = {
4750
+ export type TransactionControllerUpdateData = {
3735
4751
  /**
3736
- * Region code (cn, us, de)
4752
+ * Transaction ID
3737
4753
  */
3738
- region: 'cn' | 'us' | 'de';
4754
+ id: string;
3739
4755
  /**
3740
- * Search term for path or description
4756
+ * Region code for tenant context
3741
4757
  */
3742
- search?: string;
4758
+ region: 'cn' | 'us' | 'de' | 'gb';
3743
4759
  /**
3744
- * Filter by account type
4760
+ * Fields to update (all optional)
3745
4761
  */
3746
- type?: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
4762
+ requestBody: UpdateTransactionDto;
3747
4763
  };
3748
4764
 
3749
- export type AccountStandardsControllerGetTemplatesResponse =
3750
- AccountStandardListResponseDto;
4765
+ export type TransactionControllerUpdateResponse = TransactionDetailDto;
3751
4766
 
3752
- export type AccountStandardsControllerGetRegionsResponse =
3753
- RegionsMetadataResponseDto;
4767
+ export type TransactionControllerDeleteData = {
4768
+ /**
4769
+ * Transaction ID
4770
+ */
4771
+ id: string;
4772
+ /**
4773
+ * Region code for tenant context
4774
+ */
4775
+ region: 'cn' | 'us' | 'de' | 'gb';
4776
+ };
4777
+
4778
+ export type TransactionControllerDeleteResponse = void;
3754
4779
 
3755
4780
  export type BalanceControllerGetBalanceData = {
3756
4781
  /**
@@ -3765,10 +4790,21 @@ export type BalanceControllerGetBalanceData = {
3765
4790
  * Date to calculate balance at (ISO 8601 format)
3766
4791
  */
3767
4792
  date?: string;
4793
+ /**
4794
+ * Region code for tenant context
4795
+ */
4796
+ region: 'cn' | 'us' | 'de' | 'gb';
3768
4797
  };
3769
4798
 
3770
4799
  export type BalanceControllerGetBalanceResponse = BalanceResponseDto;
3771
4800
 
4801
+ export type BalanceControllerGetMultiCurrencyBalanceData = {
4802
+ /**
4803
+ * Region code for tenant context
4804
+ */
4805
+ region: 'cn' | 'us' | 'de' | 'gb';
4806
+ };
4807
+
3772
4808
  export type BalanceControllerGetMultiCurrencyBalanceResponse =
3773
4809
  MultiCurrencyBalanceResponseDto;
3774
4810
 
@@ -3788,7 +4824,7 @@ export type ReviewControllerFindAllData = {
3788
4824
  /**
3789
4825
  * Region code for tenant context
3790
4826
  */
3791
- region: 'cn' | 'us' | 'de';
4827
+ region: 'cn' | 'us' | 'de' | 'gb';
3792
4828
  /**
3793
4829
  * Sort order
3794
4830
  */
@@ -3810,7 +4846,7 @@ export type ReviewControllerGetStatsData = {
3810
4846
  /**
3811
4847
  * Region code for tenant context
3812
4848
  */
3813
- region: 'cn' | 'us' | 'de';
4849
+ region: 'cn' | 'us' | 'de' | 'gb';
3814
4850
  };
3815
4851
 
3816
4852
  export type ReviewControllerGetStatsResponse = ReviewStatsDto;
@@ -3823,39 +4859,56 @@ export type ReviewControllerFindOneData = {
3823
4859
  /**
3824
4860
  * Region code for tenant context
3825
4861
  */
3826
- region: 'cn' | 'us' | 'de';
4862
+ region: 'cn' | 'us' | 'de' | 'gb';
4863
+ };
4864
+
4865
+ export type ReviewControllerFindOneResponse = ReviewDetailDto;
4866
+
4867
+ export type ReviewControllerResolveData = {
4868
+ /**
4869
+ * Review ID
4870
+ */
4871
+ id: string;
4872
+ /**
4873
+ * Region code for tenant context
4874
+ */
4875
+ region: 'cn' | 'us' | 'de' | 'gb';
4876
+ requestBody: ResolveReviewDto;
4877
+ };
4878
+
4879
+ export type ReviewControllerResolveResponse = ResolveResultDto;
4880
+
4881
+ export type ReviewControllerUndoData = {
4882
+ /**
4883
+ * Review ID
4884
+ */
4885
+ id: string;
4886
+ /**
4887
+ * Region code for tenant context
4888
+ */
4889
+ region: 'cn' | 'us' | 'de' | 'gb';
3827
4890
  };
3828
4891
 
3829
- export type ReviewControllerFindOneResponse = ReviewDetailDto;
4892
+ export type ReviewControllerUndoResponse = UndoResultDto;
3830
4893
 
3831
- export type ReviewControllerData = {
4894
+ export type ReviewControllerBatchResolveData = {
3832
4895
  /**
3833
4896
  * Region code for tenant context
3834
4897
  */
3835
- region: 'cn' | 'us' | 'de';
3836
- };
3837
-
3838
- export type ReviewControllerResponse = unknown;
3839
-
3840
- export type ReviewController1Data = {
4898
+ region: 'cn' | 'us' | 'de' | 'gb';
3841
4899
  /**
3842
- * Region code for tenant context
4900
+ * Batch resolution request containing review IDs and action
3843
4901
  */
3844
- region: 'cn' | 'us' | 'de';
4902
+ requestBody: BatchResolveDto;
3845
4903
  };
3846
4904
 
3847
- export type ReviewController1Response = unknown;
4905
+ export type ReviewControllerBatchResolveResponse = BatchResolveResultDto;
3848
4906
 
3849
- export type ReviewController2Data = {
3850
- /**
3851
- * Region code for tenant context
3852
- */
3853
- region: 'cn' | 'us' | 'de';
4907
+ export type PayeeControllerCreateData = {
4908
+ requestBody: CreatePayeeDto;
3854
4909
  };
3855
4910
 
3856
- export type ReviewController2Response = unknown;
3857
-
3858
- export type PayeeControllerResponse = unknown;
4911
+ export type PayeeControllerCreateResponse = PayeeResponseDto;
3859
4912
 
3860
4913
  export type PayeeControllerFindAllData = {
3861
4914
  /**
@@ -3913,11 +4966,30 @@ export type PayeeControllerFindOneData = {
3913
4966
 
3914
4967
  export type PayeeControllerFindOneResponse = PayeeResponseDto;
3915
4968
 
3916
- export type PayeeController1Response = unknown;
4969
+ export type PayeeControllerUpdateData = {
4970
+ /**
4971
+ * Payee UUID
4972
+ */
4973
+ id: string;
4974
+ requestBody: UpdatePayeeDto;
4975
+ };
4976
+
4977
+ export type PayeeControllerUpdateResponse = PayeeResponseDto;
4978
+
4979
+ export type PayeeControllerDeleteData = {
4980
+ /**
4981
+ * Payee UUID
4982
+ */
4983
+ id: string;
4984
+ };
4985
+
4986
+ export type PayeeControllerDeleteResponse = void;
3917
4987
 
3918
- export type PayeeController2Response = void;
4988
+ export type PayeeProfileAdminControllerCreateData = {
4989
+ requestBody: CreatePayeeProfileDto;
4990
+ };
3919
4991
 
3920
- export type PayeeProfileAdminControllerResponse = unknown;
4992
+ export type PayeeProfileAdminControllerCreateResponse = PayeeProfileResponseDto;
3921
4993
 
3922
4994
  export type PayeeProfileAdminControllerFindAllData = {
3923
4995
  /**
@@ -3982,28 +5054,59 @@ export type PayeeProfileAdminControllerFindOneData = {
3982
5054
  export type PayeeProfileAdminControllerFindOneResponse =
3983
5055
  PayeeProfileResponseDto;
3984
5056
 
3985
- export type PayeeProfileAdminController1Response = unknown;
5057
+ export type PayeeProfileAdminControllerUpdateData = {
5058
+ /**
5059
+ * Payee profile ID (UUID)
5060
+ */
5061
+ id: string;
5062
+ requestBody: UpdatePayeeProfileDto;
5063
+ };
5064
+
5065
+ export type PayeeProfileAdminControllerUpdateResponse = PayeeProfileResponseDto;
5066
+
5067
+ export type PayeeProfileAdminControllerDeleteData = {
5068
+ /**
5069
+ * Payee profile ID (UUID)
5070
+ */
5071
+ id: string;
5072
+ };
5073
+
5074
+ export type PayeeProfileAdminControllerDeleteResponse = void;
5075
+
5076
+ export type PayeeProfileAdminControllerVerifyData = {
5077
+ /**
5078
+ * Payee profile ID (UUID)
5079
+ */
5080
+ id: string;
5081
+ };
3986
5082
 
3987
- export type PayeeProfileAdminController2Response = void;
5083
+ export type PayeeProfileAdminControllerVerifyResponse = PayeeProfileResponseDto;
3988
5084
 
3989
- export type PayeeProfileAdminController3Response = unknown;
5085
+ export type PayeeProfileAdminControllerUnverifyData = {
5086
+ /**
5087
+ * Payee profile ID (UUID)
5088
+ */
5089
+ id: string;
5090
+ };
3990
5091
 
3991
- export type PayeeProfileAdminController4Response = unknown;
5092
+ export type PayeeProfileAdminControllerUnverifyResponse =
5093
+ PayeeProfileResponseDto;
3992
5094
 
3993
- export type CommodityControllerData = {
5095
+ export type CommodityControllerCreateData = {
3994
5096
  /**
3995
5097
  * Region code for tenant context
3996
5098
  */
3997
- region: 'cn' | 'us' | 'de';
5099
+ region: 'cn' | 'us' | 'de' | 'gb';
5100
+ requestBody: CreateCommodityDto;
3998
5101
  };
3999
5102
 
4000
- export type CommodityControllerResponse = unknown;
5103
+ export type CommodityControllerCreateResponse = CommodityResponseDto;
4001
5104
 
4002
5105
  export type CommodityControllerFindAllData = {
4003
5106
  /**
4004
5107
  * Region code for tenant context
4005
5108
  */
4006
- region: 'cn' | 'us' | 'de';
5109
+ region: 'cn' | 'us' | 'de' | 'gb';
4007
5110
  /**
4008
5111
  * Search term for symbol or metadata fields (partial match). Searches symbol and metadata.name.
4009
5112
  */
@@ -4020,7 +5123,7 @@ export type CommodityControllerFindOneData = {
4020
5123
  /**
4021
5124
  * Region code for tenant context
4022
5125
  */
4023
- region: 'cn' | 'us' | 'de';
5126
+ region: 'cn' | 'us' | 'de' | 'gb';
4024
5127
  /**
4025
5128
  * Commodity symbol
4026
5129
  */
@@ -4029,50 +5132,64 @@ export type CommodityControllerFindOneData = {
4029
5132
 
4030
5133
  export type CommodityControllerFindOneResponse = CommodityResponseDto;
4031
5134
 
4032
- export type CommodityController1Data = {
5135
+ export type CommodityControllerUpdateData = {
4033
5136
  /**
4034
5137
  * Region code for tenant context
4035
5138
  */
4036
- region: 'cn' | 'us' | 'de';
5139
+ region: 'cn' | 'us' | 'de' | 'gb';
5140
+ requestBody: UpdateCommodityDto;
5141
+ /**
5142
+ * Commodity symbol
5143
+ */
5144
+ symbol: string;
4037
5145
  };
4038
5146
 
4039
- export type CommodityController1Response = unknown;
5147
+ export type CommodityControllerUpdateResponse = CommodityResponseDto;
4040
5148
 
4041
- export type CommodityController2Data = {
5149
+ export type CommodityControllerDeleteData = {
4042
5150
  /**
4043
5151
  * Region code for tenant context
4044
5152
  */
4045
- region: 'cn' | 'us' | 'de';
5153
+ region: 'cn' | 'us' | 'de' | 'gb';
5154
+ /**
5155
+ * Commodity symbol
5156
+ */
5157
+ symbol: string;
4046
5158
  };
4047
5159
 
4048
- export type CommodityController2Response = void;
5160
+ export type CommodityControllerDeleteResponse = void;
4049
5161
 
4050
- export type CommodityController3Data = {
5162
+ export type CommodityControllerGetOrCreateData = {
4051
5163
  /**
4052
5164
  * Region code for tenant context
4053
5165
  */
4054
- region: 'cn' | 'us' | 'de';
5166
+ region: 'cn' | 'us' | 'de' | 'gb';
5167
+ /**
5168
+ * Commodity symbol
5169
+ */
5170
+ symbol: string;
4055
5171
  };
4056
5172
 
4057
- export type CommodityController3Response = unknown;
5173
+ export type CommodityControllerGetOrCreateResponse = CommodityResponseDto;
4058
5174
 
4059
- export type CommodityController4Data = {
5175
+ export type CommodityControllerBulkCreateData = {
4060
5176
  /**
4061
5177
  * Region code for tenant context
4062
5178
  */
4063
- region: 'cn' | 'us' | 'de';
5179
+ region: 'cn' | 'us' | 'de' | 'gb';
4064
5180
  };
4065
5181
 
4066
- export type CommodityController4Response = unknown;
5182
+ export type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
4067
5183
 
4068
- export type RecurringRuleControllerData = {
5184
+ export type RecurringRuleControllerCreateData = {
4069
5185
  /**
4070
5186
  * Region code for tenant context
4071
5187
  */
4072
- region: 'cn' | 'us' | 'de';
5188
+ region: 'cn' | 'us' | 'de' | 'gb';
5189
+ requestBody: CreateRecurringRuleDto;
4073
5190
  };
4074
5191
 
4075
- export type RecurringRuleControllerResponse = unknown;
5192
+ export type RecurringRuleControllerCreateResponse = RecurringRuleResponseDto;
4076
5193
 
4077
5194
  export type RecurringRuleControllerFindAllData = {
4078
5195
  /**
@@ -4090,20 +5207,26 @@ export type RecurringRuleControllerFindAllData = {
4090
5207
  /**
4091
5208
  * Region code for tenant context
4092
5209
  */
4093
- region: 'cn' | 'us' | 'de';
5210
+ region: 'cn' | 'us' | 'de' | 'gb';
4094
5211
  };
4095
5212
 
4096
5213
  export type RecurringRuleControllerFindAllResponse =
4097
5214
  Array<RecurringRuleResponseDto>;
4098
5215
 
4099
- export type RecurringRuleController1Data = {
5216
+ export type RecurringRuleControllerCreateFromTransactionData = {
4100
5217
  /**
4101
5218
  * Region code for tenant context
4102
5219
  */
4103
- region: 'cn' | 'us' | 'de';
5220
+ region: 'cn' | 'us' | 'de' | 'gb';
5221
+ requestBody: CreateRuleFromTransactionDto;
5222
+ /**
5223
+ * Source transaction ID
5224
+ */
5225
+ transactionId: string;
4104
5226
  };
4105
5227
 
4106
- export type RecurringRuleController1Response = unknown;
5228
+ export type RecurringRuleControllerCreateFromTransactionResponse =
5229
+ RecurringRuleResponseDto;
4107
5230
 
4108
5231
  export type RecurringRuleControllerFindOneData = {
4109
5232
  /**
@@ -4113,28 +5236,37 @@ export type RecurringRuleControllerFindOneData = {
4113
5236
  /**
4114
5237
  * Region code for tenant context
4115
5238
  */
4116
- region: 'cn' | 'us' | 'de';
5239
+ region: 'cn' | 'us' | 'de' | 'gb';
4117
5240
  };
4118
5241
 
4119
5242
  export type RecurringRuleControllerFindOneResponse = RecurringRuleResponseDto;
4120
5243
 
4121
- export type RecurringRuleController2Data = {
5244
+ export type RecurringRuleControllerUpdateData = {
5245
+ /**
5246
+ * Rule ID
5247
+ */
5248
+ id: string;
4122
5249
  /**
4123
5250
  * Region code for tenant context
4124
5251
  */
4125
- region: 'cn' | 'us' | 'de';
5252
+ region: 'cn' | 'us' | 'de' | 'gb';
5253
+ requestBody: UpdateRecurringRuleDto;
4126
5254
  };
4127
5255
 
4128
- export type RecurringRuleController2Response = unknown;
5256
+ export type RecurringRuleControllerUpdateResponse = RecurringRuleResponseDto;
4129
5257
 
4130
- export type RecurringRuleController3Data = {
5258
+ export type RecurringRuleControllerDeleteData = {
5259
+ /**
5260
+ * Rule ID
5261
+ */
5262
+ id: string;
4131
5263
  /**
4132
5264
  * Region code for tenant context
4133
5265
  */
4134
- region: 'cn' | 'us' | 'de';
5266
+ region: 'cn' | 'us' | 'de' | 'gb';
4135
5267
  };
4136
5268
 
4137
- export type RecurringRuleController3Response = void;
5269
+ export type RecurringRuleControllerDeleteResponse = void;
4138
5270
 
4139
5271
  export type RecurringRuleControllerGetWithStatsData = {
4140
5272
  /**
@@ -4144,7 +5276,7 @@ export type RecurringRuleControllerGetWithStatsData = {
4144
5276
  /**
4145
5277
  * Region code for tenant context
4146
5278
  */
4147
- region: 'cn' | 'us' | 'de';
5279
+ region: 'cn' | 'us' | 'de' | 'gb';
4148
5280
  };
4149
5281
 
4150
5282
  export type RecurringRuleControllerGetWithStatsResponse =
@@ -4158,7 +5290,7 @@ export type ExpectedTransactionControllerFindAllData = {
4158
5290
  /**
4159
5291
  * Region code for tenant context
4160
5292
  */
4161
- region: 'cn' | 'us' | 'de';
5293
+ region: 'cn' | 'us' | 'de' | 'gb';
4162
5294
  /**
4163
5295
  * Filter by recurring rule ID
4164
5296
  */
@@ -4180,7 +5312,7 @@ export type ExpectedTransactionControllerFindOverdueData = {
4180
5312
  /**
4181
5313
  * Region code for tenant context
4182
5314
  */
4183
- region: 'cn' | 'us' | 'de';
5315
+ region: 'cn' | 'us' | 'de' | 'gb';
4184
5316
  };
4185
5317
 
4186
5318
  export type ExpectedTransactionControllerFindOverdueResponse =
@@ -4194,74 +5326,104 @@ export type ExpectedTransactionControllerFindOneData = {
4194
5326
  /**
4195
5327
  * Region code for tenant context
4196
5328
  */
4197
- region: 'cn' | 'us' | 'de';
5329
+ region: 'cn' | 'us' | 'de' | 'gb';
4198
5330
  };
4199
5331
 
4200
5332
  export type ExpectedTransactionControllerFindOneResponse =
4201
5333
  ExpectedTransactionResponseDto;
4202
5334
 
4203
- export type ExpectedTransactionControllerData = {
5335
+ export type ExpectedTransactionControllerSkipData = {
5336
+ /**
5337
+ * Expected transaction ID
5338
+ */
5339
+ id: string;
4204
5340
  /**
4205
5341
  * Region code for tenant context
4206
5342
  */
4207
- region: 'cn' | 'us' | 'de';
5343
+ region: 'cn' | 'us' | 'de' | 'gb';
4208
5344
  };
4209
5345
 
4210
- export type ExpectedTransactionControllerResponse = unknown;
5346
+ export type ExpectedTransactionControllerSkipResponse =
5347
+ ExpectedTransactionResponseDto;
4211
5348
 
4212
- export type ExpectedTransactionController1Data = {
5349
+ export type ExpectedTransactionControllerUndoSkipData = {
5350
+ /**
5351
+ * Expected transaction ID
5352
+ */
5353
+ id: string;
4213
5354
  /**
4214
5355
  * Region code for tenant context
4215
5356
  */
4216
- region: 'cn' | 'us' | 'de';
5357
+ region: 'cn' | 'us' | 'de' | 'gb';
4217
5358
  };
4218
5359
 
4219
- export type ExpectedTransactionController1Response = unknown;
5360
+ export type ExpectedTransactionControllerUndoSkipResponse =
5361
+ ExpectedTransactionResponseDto;
4220
5362
 
4221
- export type ExpectedTransactionController2Data = {
5363
+ export type ExpectedTransactionControllerConfirmMatchData = {
5364
+ /**
5365
+ * Expected transaction ID
5366
+ */
5367
+ id: string;
4222
5368
  /**
4223
5369
  * Region code for tenant context
4224
5370
  */
4225
- region: 'cn' | 'us' | 'de';
5371
+ region: 'cn' | 'us' | 'de' | 'gb';
5372
+ requestBody: ConfirmMatchDto;
4226
5373
  };
4227
5374
 
4228
- export type ExpectedTransactionController2Response = unknown;
5375
+ export type ExpectedTransactionControllerConfirmMatchResponse = unknown;
4229
5376
 
4230
- export type ExpectedTransactionController3Data = {
5377
+ export type ExpectedTransactionControllerUnmatchData = {
5378
+ /**
5379
+ * Expected transaction ID
5380
+ */
5381
+ id: string;
4231
5382
  /**
4232
5383
  * Region code for tenant context
4233
5384
  */
4234
- region: 'cn' | 'us' | 'de';
5385
+ region: 'cn' | 'us' | 'de' | 'gb';
4235
5386
  };
4236
5387
 
4237
- export type ExpectedTransactionController3Response = unknown;
5388
+ export type ExpectedTransactionControllerUnmatchResponse = unknown;
4238
5389
 
4239
- export type ExpectedTransactionController4Data = {
5390
+ export type ExpectedTransactionControllerEnterNowData = {
5391
+ /**
5392
+ * Expected transaction ID
5393
+ */
5394
+ id: string;
4240
5395
  /**
4241
5396
  * Region code for tenant context
4242
5397
  */
4243
- region: 'cn' | 'us' | 'de';
5398
+ region: 'cn' | 'us' | 'de' | 'gb';
5399
+ requestBody: EnterNowDto;
4244
5400
  };
4245
5401
 
4246
- export type ExpectedTransactionController4Response = unknown;
5402
+ export type ExpectedTransactionControllerEnterNowResponse = unknown;
4247
5403
 
4248
5404
  export type ForecastControllerGetForecastData = {
4249
5405
  /**
4250
5406
  * Number of months to forecast (1-12, default 3)
4251
5407
  */
4252
5408
  months?: number;
5409
+ /**
5410
+ * Region code for tenant context
5411
+ */
5412
+ region: 'cn' | 'us' | 'de' | 'gb';
4253
5413
  };
4254
5414
 
4255
5415
  export type ForecastControllerGetForecastResponse = ForecastResponseDto;
4256
5416
 
4257
- export type TransactionRuleControllerData = {
5417
+ export type TransactionRuleControllerCreateData = {
4258
5418
  /**
4259
5419
  * Region code for tenant context
4260
5420
  */
4261
- region: 'cn' | 'us' | 'de';
5421
+ region: 'cn' | 'us' | 'de' | 'gb';
5422
+ requestBody: CreateTransactionRuleDto;
4262
5423
  };
4263
5424
 
4264
- export type TransactionRuleControllerResponse = unknown;
5425
+ export type TransactionRuleControllerCreateResponse =
5426
+ TransactionRuleResponseDto;
4265
5427
 
4266
5428
  export type TransactionRuleControllerListData = {
4267
5429
  /**
@@ -4287,7 +5449,7 @@ export type TransactionRuleControllerListData = {
4287
5449
  /**
4288
5450
  * Region code for tenant context
4289
5451
  */
4290
- region: 'cn' | 'us' | 'de';
5452
+ region: 'cn' | 'us' | 'de' | 'gb';
4291
5453
  };
4292
5454
 
4293
5455
  export type TransactionRuleControllerListResponse =
@@ -4297,20 +5459,22 @@ export type TransactionRuleControllerValidateData = {
4297
5459
  /**
4298
5460
  * Region code for tenant context
4299
5461
  */
4300
- region: 'cn' | 'us' | 'de';
5462
+ region: 'cn' | 'us' | 'de' | 'gb';
4301
5463
  requestBody: ValidateRuleDto;
4302
5464
  };
4303
5465
 
4304
5466
  export type TransactionRuleControllerValidateResponse = ValidateRuleResponseDto;
4305
5467
 
4306
- export type TransactionRuleController1Data = {
5468
+ export type TransactionRuleControllerBulkCreateData = {
4307
5469
  /**
4308
5470
  * Region code for tenant context
4309
5471
  */
4310
- region: 'cn' | 'us' | 'de';
5472
+ region: 'cn' | 'us' | 'de' | 'gb';
5473
+ requestBody: BulkCreateRulesDto;
4311
5474
  };
4312
5475
 
4313
- export type TransactionRuleController1Response = unknown;
5476
+ export type TransactionRuleControllerBulkCreateResponse =
5477
+ BulkCreateRulesResponseDto;
4314
5478
 
4315
5479
  export type TransactionRuleControllerExportData = {
4316
5480
  /**
@@ -4320,7 +5484,7 @@ export type TransactionRuleControllerExportData = {
4320
5484
  /**
4321
5485
  * Region code for tenant context
4322
5486
  */
4323
- region: 'cn' | 'us' | 'de';
5487
+ region: 'cn' | 'us' | 'de' | 'gb';
4324
5488
  };
4325
5489
 
4326
5490
  export type TransactionRuleControllerExportResponse = ExportRulesResponseDto;
@@ -4333,7 +5497,7 @@ export type TransactionRuleControllerGetStatisticsData = {
4333
5497
  /**
4334
5498
  * Region code for tenant context
4335
5499
  */
4336
- region: 'cn' | 'us' | 'de';
5500
+ region: 'cn' | 'us' | 'de' | 'gb';
4337
5501
  };
4338
5502
 
4339
5503
  export type TransactionRuleControllerGetStatisticsResponse =
@@ -4343,7 +5507,7 @@ export type TransactionRuleControllerGetDetailData = {
4343
5507
  /**
4344
5508
  * Region code for tenant context
4345
5509
  */
4346
- region: 'cn' | 'us' | 'de';
5510
+ region: 'cn' | 'us' | 'de' | 'gb';
4347
5511
  /**
4348
5512
  * Rule ID
4349
5513
  */
@@ -4353,29 +5517,39 @@ export type TransactionRuleControllerGetDetailData = {
4353
5517
  export type TransactionRuleControllerGetDetailResponse =
4354
5518
  TransactionRuleResponseDto;
4355
5519
 
4356
- export type TransactionRuleController2Data = {
5520
+ export type TransactionRuleControllerUpdateData = {
4357
5521
  /**
4358
5522
  * Region code for tenant context
4359
5523
  */
4360
- region: 'cn' | 'us' | 'de';
5524
+ region: 'cn' | 'us' | 'de' | 'gb';
5525
+ requestBody: UpdateTransactionRuleDto;
5526
+ /**
5527
+ * Rule ID to update
5528
+ */
5529
+ ruleId: string;
4361
5530
  };
4362
5531
 
4363
- export type TransactionRuleController2Response = unknown;
5532
+ export type TransactionRuleControllerUpdateResponse =
5533
+ TransactionRuleResponseDto;
4364
5534
 
4365
- export type TransactionRuleController3Data = {
5535
+ export type TransactionRuleControllerDeleteData = {
4366
5536
  /**
4367
5537
  * Region code for tenant context
4368
5538
  */
4369
- region: 'cn' | 'us' | 'de';
5539
+ region: 'cn' | 'us' | 'de' | 'gb';
5540
+ /**
5541
+ * Rule ID to delete
5542
+ */
5543
+ ruleId: string;
4370
5544
  };
4371
5545
 
4372
- export type TransactionRuleController3Response = void;
5546
+ export type TransactionRuleControllerDeleteResponse = void;
4373
5547
 
4374
5548
  export type TransactionRuleControllerTestData = {
4375
5549
  /**
4376
5550
  * Region code for tenant context
4377
5551
  */
4378
- region: 'cn' | 'us' | 'de';
5552
+ region: 'cn' | 'us' | 'de' | 'gb';
4379
5553
  requestBody: TestRuleDto;
4380
5554
  /**
4381
5555
  * Rule ID to test
@@ -4453,15 +5627,36 @@ export type PropertyControllerGetByKeyData = {
4453
5627
 
4454
5628
  export type PropertyControllerGetByKeyResponse = unknown;
4455
5629
 
4456
- export type PropertyControllerResponse = unknown;
5630
+ export type PropertyControllerUpdateData = {
5631
+ /**
5632
+ * Property key
5633
+ */
5634
+ key: string;
5635
+ requestBody: UpdatePropertyDto;
5636
+ };
5637
+
5638
+ export type PropertyControllerUpdateResponse = unknown;
5639
+
5640
+ export type PropertyControllerDeleteData = {
5641
+ /**
5642
+ * Property key
5643
+ */
5644
+ key: string;
5645
+ };
5646
+
5647
+ export type PropertyControllerDeleteResponse = void;
4457
5648
 
4458
- export type PropertyController1Response = void;
5649
+ export type ExportControllerExportBeancountResponse = unknown;
4459
5650
 
4460
5651
  export type FileImportControllerImportFileData = {
4461
5652
  /**
4462
5653
  * Bill file to import
4463
5654
  */
4464
5655
  formData: FileImportDto;
5656
+ /**
5657
+ * Region code for tenant context
5658
+ */
5659
+ region: 'cn' | 'us' | 'de' | 'gb';
4465
5660
  };
4466
5661
 
4467
5662
  export type FileImportControllerImportFileResponse = ImportResultDto;
@@ -4471,10 +5666,35 @@ export type FileImportControllerIdentifyFileData = {
4471
5666
  * File to identify
4472
5667
  */
4473
5668
  formData: FileImportDto;
5669
+ /**
5670
+ * Region code for tenant context
5671
+ */
5672
+ region: 'cn' | 'us' | 'de' | 'gb';
4474
5673
  };
4475
5674
 
4476
5675
  export type FileImportControllerIdentifyFileResponse = IdentifyResultDto;
4477
5676
 
5677
+ export type FileImportControllerImportBeancountData = {
5678
+ /**
5679
+ * Beancount file to import
5680
+ */
5681
+ formData: FileImportDto;
5682
+ /**
5683
+ * Region code for tenant context
5684
+ */
5685
+ region: 'cn' | 'us' | 'de' | 'gb';
5686
+ };
5687
+
5688
+ export type FileImportControllerImportBeancountResponse = {
5689
+ imported?: number;
5690
+ skipped?: number;
5691
+ failed?: number;
5692
+ accountsCreated?: number;
5693
+ errors?: Array<{
5694
+ [key: string]: unknown;
5695
+ }>;
5696
+ };
5697
+
4478
5698
  export type ImporterConfigControllerGetConfigData = {
4479
5699
  /**
4480
5700
  * 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
@@ -4483,28 +5703,82 @@ export type ImporterConfigControllerGetConfigData = {
4483
5703
  /**
4484
5704
  * Region code for tenant context
4485
5705
  */
4486
- region: 'cn' | 'us' | 'de';
5706
+ region: 'cn' | 'us' | 'de' | 'gb';
4487
5707
  };
4488
5708
 
4489
5709
  export type ImporterConfigControllerGetConfigResponse = ImporterConfigDto;
4490
5710
 
4491
- export type ImporterConfigControllerData = {
5711
+ export type ImporterConfigControllerUpdateConfigData = {
5712
+ /**
5713
+ * 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
5714
+ */
5715
+ importerId: string;
4492
5716
  /**
4493
5717
  * Region code for tenant context
4494
5718
  */
4495
- region: 'cn' | 'us' | 'de';
5719
+ region: 'cn' | 'us' | 'de' | 'gb';
5720
+ /**
5721
+ * Partial configuration update. Only provided fields will be updated.
5722
+ */
5723
+ requestBody: UpdateImporterConfigDto;
4496
5724
  };
4497
5725
 
4498
- export type ImporterConfigControllerResponse = unknown;
5726
+ export type ImporterConfigControllerUpdateConfigResponse = ImporterConfigDto;
4499
5727
 
4500
- export type ImporterConfigController1Data = {
5728
+ export type ImporterConfigControllerResetConfigData = {
5729
+ /**
5730
+ * 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
5731
+ */
5732
+ importerId: string;
4501
5733
  /**
4502
5734
  * Region code for tenant context
4503
5735
  */
4504
- region: 'cn' | 'us' | 'de';
5736
+ region: 'cn' | 'us' | 'de' | 'gb';
5737
+ };
5738
+
5739
+ export type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
5740
+
5741
+ export type PlatformControllerFindAllResponse = unknown;
5742
+
5743
+ export type PlatformControllerCreateData = {
5744
+ requestBody: CreatePlatformDto;
5745
+ };
5746
+
5747
+ export type PlatformControllerCreateResponse = unknown;
5748
+
5749
+ export type PlatformControllerGetPlatformListResponse = unknown;
5750
+
5751
+ export type PlatformControllerMatchPlatformsData = {
5752
+ /**
5753
+ * Search query — Chinese name, English name, or abbreviation
5754
+ */
5755
+ q: string;
5756
+ /**
5757
+ * Region code for category override lookup
5758
+ */
5759
+ region?: string;
4505
5760
  };
4506
5761
 
4507
- export type ImporterConfigController1Response = unknown;
5762
+ export type PlatformControllerMatchPlatformsResponse = unknown;
5763
+
5764
+ export type PlatformControllerUpdateData = {
5765
+ /**
5766
+ * Platform ID
5767
+ */
5768
+ id: string;
5769
+ requestBody: UpdatePlatformDto;
5770
+ };
5771
+
5772
+ export type PlatformControllerUpdateResponse = unknown;
5773
+
5774
+ export type PlatformControllerDeleteData = {
5775
+ /**
5776
+ * Platform ID
5777
+ */
5778
+ id: string;
5779
+ };
5780
+
5781
+ export type PlatformControllerDeleteResponse = void;
4508
5782
 
4509
5783
  export type ProviderSyncControllerSyncData = {
4510
5784
  /**
@@ -4528,6 +5802,13 @@ export type ProviderSyncControllerSyncData = {
4528
5802
 
4529
5803
  export type ProviderSyncControllerSyncResponse = ProviderSyncResponseDto;
4530
5804
 
5805
+ export type ProviderSyncControllerGetSupportedProvidersData = {
5806
+ /**
5807
+ * Region code for tenant context
5808
+ */
5809
+ region: 'cn' | 'us' | 'de' | 'gb';
5810
+ };
5811
+
4531
5812
  export type ProviderSyncControllerGetSupportedProvidersResponse =
4532
5813
  SupportedProvidersResponseDto;
4533
5814
 
@@ -4536,17 +5817,29 @@ export type ProviderSyncControllerIsProviderSupportedData = {
4536
5817
  * Provider name to check
4537
5818
  */
4538
5819
  providerName: string;
5820
+ /**
5821
+ * Region code for tenant context
5822
+ */
5823
+ region: 'cn' | 'us' | 'de' | 'gb';
4539
5824
  };
4540
5825
 
4541
5826
  export type ProviderSyncControllerIsProviderSupportedResponse = unknown;
4542
5827
 
4543
5828
  export type TelemetryControllerReportTelemetryData = {
5829
+ /**
5830
+ * Region code for tenant context
5831
+ */
5832
+ region: 'cn' | 'us' | 'de' | 'gb';
4544
5833
  requestBody: ParserTelemetryReportDto;
4545
5834
  };
4546
5835
 
4547
5836
  export type TelemetryControllerReportTelemetryResponse = unknown;
4548
5837
 
4549
5838
  export type NlpControllerProcessNaturalLanguageData = {
5839
+ /**
5840
+ * Region code for tenant context
5841
+ */
5842
+ region: 'cn' | 'us' | 'de' | 'gb';
4550
5843
  /**
4551
5844
  * Natural language transaction input with optional session ID
4552
5845
  */
@@ -4556,6 +5849,10 @@ export type NlpControllerProcessNaturalLanguageData = {
4556
5849
  export type NlpControllerProcessNaturalLanguageResponse = NlpResponseDto;
4557
5850
 
4558
5851
  export type NlpControllerClearSessionData = {
5852
+ /**
5853
+ * Region code for tenant context
5854
+ */
5855
+ region: 'cn' | 'us' | 'de' | 'gb';
4559
5856
  /**
4560
5857
  * Specific session ID to clear (defaults to user session)
4561
5858
  */
@@ -4565,6 +5862,10 @@ export type NlpControllerClearSessionData = {
4565
5862
  export type NlpControllerClearSessionResponse = void;
4566
5863
 
4567
5864
  export type NlpControllerGetSessionData = {
5865
+ /**
5866
+ * Region code for tenant context
5867
+ */
5868
+ region: 'cn' | 'us' | 'de' | 'gb';
4568
5869
  /**
4569
5870
  * Specific session ID to get (defaults to user session)
4570
5871
  */
@@ -4573,108 +5874,15 @@ export type NlpControllerGetSessionData = {
4573
5874
 
4574
5875
  export type NlpControllerGetSessionResponse = unknown;
4575
5876
 
4576
- export type PlatformControllerFindAllResponse = unknown;
4577
-
4578
- export type PlatformControllerResponse = unknown;
4579
-
4580
- export type PlatformControllerGetPlatformListResponse = unknown;
4581
-
4582
- export type PlatformController1Response = unknown;
4583
-
4584
- export type PlatformController2Response = void;
4585
-
4586
- export type SymbolControllerLookupSymbolData = {
4587
- /**
4588
- * Geographic area filter (e.g., CN, US)
4589
- */
4590
- area?: unknown;
4591
- /**
4592
- * Asset class filter
4593
- */
4594
- assetClass?: unknown;
4595
- /**
4596
- * Asset sub-class filter
4597
- */
4598
- assetSubClass?: unknown;
4599
- /**
4600
- * Include index symbols in results
4601
- */
4602
- includeIndices?: unknown;
4603
- /**
4604
- * Search query string
4605
- */
4606
- query?: unknown;
4607
- };
4608
-
4609
- export type SymbolControllerLookupSymbolResponse = unknown;
4610
-
4611
- export type SymbolControllerGetSymbolDataData = {
4612
- /**
4613
- * Data source provider
4614
- */
4615
- dataSource:
4616
- | 'ALPHA_VANTAGE'
4617
- | 'EOD_HISTORICAL_DATA'
4618
- | 'FINANCIAL_MODELING_PREP'
4619
- | 'MANUAL'
4620
- | 'RAPID_API'
4621
- | 'YAHOO'
4622
- | 'COINGECKO'
4623
- | 'TUSHARE'
4624
- | 'BLOOMBERG'
4625
- | 'CSI'
4626
- | 'STOOQ'
4627
- | 'TRADING_VIEW';
4628
- /**
4629
- * Include historical price data (0 or 1)
4630
- */
4631
- includeHistoricalData?: unknown;
4632
- /**
4633
- * Symbol identifier (e.g., ticker code)
4634
- */
4635
- symbol: string;
4636
- };
4637
-
4638
- export type SymbolControllerGetSymbolDataResponse = unknown;
4639
-
4640
- export type SymbolControllerGatherSymbolForDateData = {
4641
- /**
4642
- * Data source provider
4643
- */
4644
- dataSource:
4645
- | 'ALPHA_VANTAGE'
4646
- | 'EOD_HISTORICAL_DATA'
4647
- | 'FINANCIAL_MODELING_PREP'
4648
- | 'MANUAL'
4649
- | 'RAPID_API'
4650
- | 'YAHOO'
4651
- | 'COINGECKO'
4652
- | 'TUSHARE'
4653
- | 'BLOOMBERG'
4654
- | 'CSI'
4655
- | 'STOOQ'
4656
- | 'TRADING_VIEW';
4657
- /**
4658
- * Date in ISO 8601 format (YYYY-MM-DD)
4659
- */
4660
- dateString: string;
4661
- /**
4662
- * Symbol identifier (e.g., ticker code)
4663
- */
4664
- symbol: string;
4665
- };
4666
-
4667
- export type SymbolControllerGatherSymbolForDateResponse = unknown;
4668
-
4669
- export type SymbolControllerResponse = unknown;
4670
-
4671
- export type CacheControllerFlushCacheResponse = unknown;
4672
-
4673
5877
  export type DashboardControllerGetNetWorthData = {
4674
5878
  /**
4675
5879
  * Date for balance calculation (ISO 8601 format)
4676
5880
  */
4677
5881
  date?: string;
5882
+ /**
5883
+ * Region code for tenant context
5884
+ */
5885
+ region: 'cn' | 'us' | 'de' | 'gb';
4678
5886
  };
4679
5887
 
4680
5888
  export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
@@ -4688,6 +5896,10 @@ export type DashboardControllerGetAccountsData = {
4688
5896
  * Grouping strategy
4689
5897
  */
4690
5898
  groupBy?: 'platform' | 'assetClass';
5899
+ /**
5900
+ * Region code for tenant context
5901
+ */
5902
+ region: 'cn' | 'us' | 'de' | 'gb';
4691
5903
  };
4692
5904
 
4693
5905
  export type DashboardControllerGetAccountsResponse =
@@ -4699,6 +5911,10 @@ export type DashboardControllerGetCashFlowData = {
4699
5911
  * Period in YYYY-MM format
4700
5912
  */
4701
5913
  period: string;
5914
+ /**
5915
+ * Region code for tenant context
5916
+ */
5917
+ region: 'cn' | 'us' | 'de' | 'gb';
4702
5918
  };
4703
5919
 
4704
5920
  export type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
@@ -4712,12 +5928,20 @@ export type ReportingControllerGetPortfolioTrendsData = {
4712
5928
  * Time period
4713
5929
  */
4714
5930
  period?: '1m' | '3m' | '6m' | '1y';
5931
+ /**
5932
+ * Region code for tenant context
5933
+ */
5934
+ region: 'cn' | 'us' | 'de' | 'gb';
4715
5935
  };
4716
5936
 
4717
5937
  export type ReportingControllerGetPortfolioTrendsResponse =
4718
5938
  PortfolioTrendsResponseDto;
4719
5939
 
4720
5940
  export type ReportingControllerGenerateSnapshotData = {
5941
+ /**
5942
+ * Region code for tenant context
5943
+ */
5944
+ region: 'cn' | 'us' | 'de' | 'gb';
4721
5945
  /**
4722
5946
  * Optional date (defaults to today)
4723
5947
  */
@@ -4728,13 +5952,17 @@ export type ReportingControllerGenerateSnapshotResponse =
4728
5952
  GenerateSnapshotResponse;
4729
5953
 
4730
5954
  export type ReportingControllerBackfillSnapshotsData = {
5955
+ /**
5956
+ * Region code for tenant context
5957
+ */
5958
+ region: 'cn' | 'us' | 'de' | 'gb';
4731
5959
  requestBody: BackfillSnapshotsBody;
4732
5960
  };
4733
5961
 
4734
5962
  export type ReportingControllerBackfillSnapshotsResponse =
4735
5963
  BackfillSnapshotsResponse;
4736
5964
 
4737
- export type ApiKeysControllerResponse = unknown;
5965
+ export type ApiKeysControllerCreateApiKeyResponse = unknown;
4738
5966
 
4739
5967
  export type AuthControllerAccessTokenLoginData = {
4740
5968
  requestBody: AnonymousLoginDto;
@@ -4742,6 +5970,8 @@ export type AuthControllerAccessTokenLoginData = {
4742
5970
 
4743
5971
  export type AuthControllerAccessTokenLoginResponse = unknown;
4744
5972
 
5973
+ export type CacheControllerFlushCacheResponse = unknown;
5974
+
4745
5975
  export type ExchangeRateControllerGetExchangeRateData = {
4746
5976
  /**
4747
5977
  * Date in ISO format (YYYY-MM-DD)
@@ -4759,6 +5989,8 @@ export type HealthControllerGetHealthResponse = unknown;
4759
5989
 
4760
5990
  export type HealthControllerCheckDatabaseResponse = unknown;
4761
5991
 
5992
+ export type HealthControllerCheckOpenBbResponse = unknown;
5993
+
4762
5994
  export type HealthControllerCheckRedisResponse = unknown;
4763
5995
 
4764
5996
  export type HealthControllerGetCircuitBreakersHealthResponse = unknown;
@@ -4774,77 +6006,8 @@ export type HealthControllerResetCircuitBreakerResponse = unknown;
4774
6006
 
4775
6007
  export type HealthControllerGetMetricsResponse = unknown;
4776
6008
 
4777
- export type HealthControllerGetHealthOfDataEnhancerData = {
4778
- /**
4779
- * Data enhancer name
4780
- */
4781
- name: string;
4782
- };
4783
-
4784
- export type HealthControllerGetHealthOfDataEnhancerResponse = unknown;
4785
-
4786
- export type HealthControllerCheckDataProvidersResponse = unknown;
4787
-
4788
- export type HealthControllerGetHealthOfDataProviderData = {
4789
- /**
4790
- * Data source identifier
4791
- */
4792
- dataSource: string;
4793
- };
4794
-
4795
- export type HealthControllerGetHealthOfDataProviderResponse = unknown;
4796
-
4797
6009
  export type InfoControllerGetInfoResponse = unknown;
4798
6010
 
4799
- export type LogoControllerGetLogoByDataSourceAndSymbolData = {
4800
- /**
4801
- * Data source identifier (e.g., YAHOO, COINGECKO)
4802
- */
4803
- dataSource: string;
4804
- /**
4805
- * Asset symbol (e.g., AAPL, BTC)
4806
- */
4807
- symbol: string;
4808
- };
4809
-
4810
- export type LogoControllerGetLogoByDataSourceAndSymbolResponse = unknown;
4811
-
4812
- export type LogoControllerGetLogoByUrlData = {
4813
- /**
4814
- * Website URL to fetch favicon from
4815
- */
4816
- url: string;
4817
- };
4818
-
4819
- export type LogoControllerGetLogoByUrlResponse = unknown;
4820
-
4821
- export type MarketDataControllerGetMarketDataBySymbolData = {
4822
- /**
4823
- * Data source provider
4824
- */
4825
- dataSource:
4826
- | 'ALPHA_VANTAGE'
4827
- | 'EOD_HISTORICAL_DATA'
4828
- | 'FINANCIAL_MODELING_PREP'
4829
- | 'MANUAL'
4830
- | 'RAPID_API'
4831
- | 'YAHOO'
4832
- | 'COINGECKO'
4833
- | 'TUSHARE'
4834
- | 'BLOOMBERG'
4835
- | 'CSI'
4836
- | 'STOOQ'
4837
- | 'TRADING_VIEW';
4838
- /**
4839
- * Symbol code
4840
- */
4841
- symbol: string;
4842
- };
4843
-
4844
- export type MarketDataControllerGetMarketDataBySymbolResponse = unknown;
4845
-
4846
- export type MarketDataControllerResponse = unknown;
4847
-
4848
6011
  export type $OpenApiTs = {
4849
6012
  '/api/v1/{region}/bean/accounts': {
4850
6013
  post: {
@@ -4953,6 +6116,39 @@ export type $OpenApiTs = {
4953
6116
  };
4954
6117
  };
4955
6118
  };
6119
+ '/api/v1/{region}/bean/account-standards': {
6120
+ get: {
6121
+ req: AccountStandardsControllerGetTemplatesData;
6122
+ res: {
6123
+ /**
6124
+ * Account templates retrieved successfully
6125
+ */
6126
+ 200: AccountStandardListResponseDto;
6127
+ };
6128
+ };
6129
+ };
6130
+ '/api/v1/{region}/bean/account-standards/template-metadata': {
6131
+ get: {
6132
+ req: AccountStandardsControllerGetTemplateMetadataData;
6133
+ res: {
6134
+ /**
6135
+ * Template metadata retrieved successfully
6136
+ */
6137
+ 200: TemplateMetadataResponseDto;
6138
+ };
6139
+ };
6140
+ };
6141
+ '/api/v1/{region}/bean/account-standards/regions': {
6142
+ get: {
6143
+ req: AccountStandardsControllerGetRegionsData;
6144
+ res: {
6145
+ /**
6146
+ * Regions metadata retrieved successfully
6147
+ */
6148
+ 200: RegionsMetadataResponseDto;
6149
+ };
6150
+ };
6151
+ };
4956
6152
  '/api/v1/{region}/bean/transactions': {
4957
6153
  post: {
4958
6154
  req: TransactionControllerCreateData;
@@ -4986,6 +6182,10 @@ export type $OpenApiTs = {
4986
6182
  * Transaction list
4987
6183
  */
4988
6184
  200: TransactionListResponseDto;
6185
+ /**
6186
+ * Validation failed
6187
+ */
6188
+ 400: ApiProblemResponseDto;
4989
6189
  /**
4990
6190
  * Authentication required
4991
6191
  */
@@ -4995,9 +6195,62 @@ export type $OpenApiTs = {
4995
6195
  };
4996
6196
  '/api/v1/{region}/bean/transactions/batch': {
4997
6197
  post: {
4998
- req: TransactionControllerData;
6198
+ req: TransactionControllerCreateBatchData;
4999
6199
  res: {
5000
- 201: unknown;
6200
+ /**
6201
+ * Transactions processed
6202
+ */
6203
+ 201: BatchTransactionResponseDto;
6204
+ /**
6205
+ * Invalid input
6206
+ */
6207
+ 400: ApiProblemResponseDto;
6208
+ /**
6209
+ * Authentication required
6210
+ */
6211
+ 401: ApiProblemResponseDto;
6212
+ };
6213
+ };
6214
+ };
6215
+ '/api/v1/{region}/bean/transactions/{id}/correct': {
6216
+ post: {
6217
+ req: TransactionControllerCorrectData;
6218
+ res: {
6219
+ /**
6220
+ * Corrected transaction created
6221
+ */
6222
+ 201: TransactionDetailDto;
6223
+ /**
6224
+ * Original transaction not found
6225
+ */
6226
+ 404: ApiProblemResponseDto;
6227
+ /**
6228
+ * Original no longer ACTIVE (concurrent modification)
6229
+ */
6230
+ 409: ApiProblemResponseDto;
6231
+ /**
6232
+ * Pipeline validation failed (does not balance, invalid accounts)
6233
+ */
6234
+ 422: ApiProblemResponseDto;
6235
+ };
6236
+ };
6237
+ };
6238
+ '/api/v1/{region}/bean/transactions/tags': {
6239
+ get: {
6240
+ req: TransactionControllerSuggestTagsData;
6241
+ res: {
6242
+ /**
6243
+ * Tag suggestions
6244
+ */
6245
+ 200: TagSuggestionsResponseDto;
6246
+ /**
6247
+ * Validation failed
6248
+ */
6249
+ 400: ApiProblemResponseDto;
6250
+ /**
6251
+ * Authentication required
6252
+ */
6253
+ 401: ApiProblemResponseDto;
5001
6254
  };
5002
6255
  };
5003
6256
  };
@@ -5041,30 +6294,24 @@ export type $OpenApiTs = {
5041
6294
  };
5042
6295
  };
5043
6296
  delete: {
5044
- req: TransactionController1Data;
6297
+ req: TransactionControllerDeleteData;
5045
6298
  res: {
6299
+ /**
6300
+ * Transaction voided successfully
6301
+ */
5046
6302
  204: void;
5047
- };
5048
- };
5049
- };
5050
- '/api/v1/{region}/bean/account-standards': {
5051
- get: {
5052
- req: AccountStandardsControllerGetTemplatesData;
5053
- res: {
5054
6303
  /**
5055
- * Account templates retrieved successfully
6304
+ * Transaction already voided
5056
6305
  */
5057
- 200: AccountStandardListResponseDto;
5058
- };
5059
- };
5060
- };
5061
- '/api/v1/{region}/bean/account-standards/regions': {
5062
- get: {
5063
- res: {
6306
+ 400: ApiProblemResponseDto;
5064
6307
  /**
5065
- * Regions metadata retrieved successfully
6308
+ * Authentication required
5066
6309
  */
5067
- 200: RegionsMetadataResponseDto;
6310
+ 401: ApiProblemResponseDto;
6311
+ /**
6312
+ * Transaction not found
6313
+ */
6314
+ 404: ApiProblemResponseDto;
5068
6315
  };
5069
6316
  };
5070
6317
  };
@@ -5089,6 +6336,7 @@ export type $OpenApiTs = {
5089
6336
  };
5090
6337
  '/api/v1/{region}/bean/balances/multi-currency': {
5091
6338
  get: {
6339
+ req: BalanceControllerGetMultiCurrencyBalanceData;
5092
6340
  res: {
5093
6341
  /**
5094
6342
  * Balances calculated successfully
@@ -5131,32 +6379,44 @@ export type $OpenApiTs = {
5131
6379
  };
5132
6380
  '/api/v1/{region}/bean/reviews/{id}/resolve': {
5133
6381
  post: {
5134
- req: ReviewControllerData;
6382
+ req: ReviewControllerResolveData;
5135
6383
  res: {
5136
- 201: unknown;
6384
+ 200: ResolveResultDto;
5137
6385
  };
5138
6386
  };
5139
6387
  };
5140
6388
  '/api/v1/{region}/bean/reviews/{id}/undo': {
5141
6389
  post: {
5142
- req: ReviewController1Data;
6390
+ req: ReviewControllerUndoData;
5143
6391
  res: {
5144
- 201: unknown;
6392
+ 200: UndoResultDto;
5145
6393
  };
5146
6394
  };
5147
6395
  };
5148
6396
  '/api/v1/{region}/bean/reviews/batch-resolve': {
5149
6397
  post: {
5150
- req: ReviewController2Data;
6398
+ req: ReviewControllerBatchResolveData;
5151
6399
  res: {
5152
- 201: unknown;
6400
+ 200: BatchResolveResultDto;
5153
6401
  };
5154
6402
  };
5155
6403
  };
5156
6404
  '/api/v1/bean/payees': {
5157
6405
  post: {
6406
+ req: PayeeControllerCreateData;
5158
6407
  res: {
5159
- 201: unknown;
6408
+ /**
6409
+ * Payee created successfully
6410
+ */
6411
+ 201: PayeeResponseDto;
6412
+ /**
6413
+ * Invalid input data
6414
+ */
6415
+ 400: ApiProblemResponseDto;
6416
+ /**
6417
+ * Payee already exists
6418
+ */
6419
+ 409: ApiProblemResponseDto;
5160
6420
  };
5161
6421
  };
5162
6422
  get: {
@@ -5210,20 +6470,56 @@ export type $OpenApiTs = {
5210
6470
  };
5211
6471
  };
5212
6472
  put: {
6473
+ req: PayeeControllerUpdateData;
5213
6474
  res: {
5214
- 200: unknown;
6475
+ /**
6476
+ * Payee updated successfully
6477
+ */
6478
+ 200: PayeeResponseDto;
6479
+ /**
6480
+ * Invalid input data
6481
+ */
6482
+ 400: ApiProblemResponseDto;
6483
+ /**
6484
+ * Payee not found
6485
+ */
6486
+ 404: ApiProblemResponseDto;
5215
6487
  };
5216
6488
  };
5217
6489
  delete: {
6490
+ req: PayeeControllerDeleteData;
5218
6491
  res: {
6492
+ /**
6493
+ * Payee deleted successfully
6494
+ */
5219
6495
  204: void;
6496
+ /**
6497
+ * Payee not found
6498
+ */
6499
+ 404: ApiProblemResponseDto;
5220
6500
  };
5221
6501
  };
5222
6502
  };
5223
6503
  '/api/v1/admin/payee-profiles': {
5224
6504
  post: {
6505
+ req: PayeeProfileAdminControllerCreateData;
5225
6506
  res: {
5226
- 201: unknown;
6507
+ /**
6508
+ * Payee profile created successfully
6509
+ */
6510
+ 201: PayeeProfileResponseDto;
6511
+ /**
6512
+ * Validation failed
6513
+ */
6514
+ 400: ApiProblemResponseDto;
6515
+ /**
6516
+ * Admin access required
6517
+ */
6518
+ 403: ApiProblemResponseDto;
6519
+ /**
6520
+ * Payee profile already exists
6521
+ */
6522
+ 409: ApiProblemResponseDto;
5227
6523
  };
5228
6524
  };
5229
6525
  get: {
@@ -5259,33 +6555,96 @@ export type $OpenApiTs = {
5259
6555
  };
5260
6556
  };
5261
6557
  put: {
6558
+ req: PayeeProfileAdminControllerUpdateData;
5262
6559
  res: {
5263
- 200: unknown;
6560
+ /**
6561
+ * Payee profile updated successfully
6562
+ */
6563
+ 200: PayeeProfileResponseDto;
6564
+ /**
6565
+ * Admin access required
6566
+ */
6567
+ 403: ApiProblemResponseDto;
6568
+ /**
6569
+ * Payee profile not found
6570
+ */
6571
+ 404: ApiProblemResponseDto;
5264
6572
  };
5265
6573
  };
5266
6574
  delete: {
6575
+ req: PayeeProfileAdminControllerDeleteData;
5267
6576
  res: {
6577
+ /**
6578
+ * Payee profile deleted successfully
6579
+ */
5268
6580
  204: void;
6581
+ /**
6582
+ * Admin access required
6583
+ */
6584
+ 403: ApiProblemResponseDto;
6585
+ /**
6586
+ * Payee profile not found
6587
+ */
6588
+ 404: ApiProblemResponseDto;
6589
+ /**
6590
+ * Payee profile is in use and cannot be deleted
6591
+ */
6592
+ 409: ApiProblemResponseDto;
5269
6593
  };
5270
6594
  };
5271
6595
  };
5272
6596
  '/api/v1/admin/payee-profiles/{id}/verify': {
5273
6597
  post: {
6598
+ req: PayeeProfileAdminControllerVerifyData;
5274
6599
  res: {
5275
- 201: unknown;
6600
+ /**
6601
+ * Payee profile verified successfully
6602
+ */
6603
+ 201: PayeeProfileResponseDto;
6604
+ /**
6605
+ * Admin access required
6606
+ */
6607
+ 403: ApiProblemResponseDto;
6608
+ /**
6609
+ * Payee profile not found
6610
+ */
6611
+ 404: ApiProblemResponseDto;
5276
6612
  };
5277
6613
  };
5278
6614
  delete: {
6615
+ req: PayeeProfileAdminControllerUnverifyData;
5279
6616
  res: {
5280
- 200: unknown;
6617
+ /**
6618
+ * Payee profile unverified successfully
6619
+ */
6620
+ 200: PayeeProfileResponseDto;
6621
+ /**
6622
+ * Admin access required
6623
+ */
6624
+ 403: ApiProblemResponseDto;
6625
+ /**
6626
+ * Payee profile not found
6627
+ */
6628
+ 404: ApiProblemResponseDto;
5281
6629
  };
5282
6630
  };
5283
6631
  };
5284
6632
  '/api/v1/{region}/bean/commodities': {
5285
6633
  post: {
5286
- req: CommodityControllerData;
6634
+ req: CommodityControllerCreateData;
5287
6635
  res: {
5288
- 201: unknown;
6636
+ /**
6637
+ * Commodity created successfully
6638
+ */
6639
+ 201: CommodityResponseDto;
6640
+ /**
6641
+ * Invalid input data
6642
+ */
6643
+ 400: ApiProblemResponseDto;
6644
+ /**
6645
+ * Commodity already exists
6646
+ */
6647
+ 409: ApiProblemResponseDto;
5289
6648
  };
5290
6649
  };
5291
6650
  get: {
@@ -5313,39 +6672,74 @@ export type $OpenApiTs = {
5313
6672
  };
5314
6673
  };
5315
6674
  put: {
5316
- req: CommodityController1Data;
6675
+ req: CommodityControllerUpdateData;
5317
6676
  res: {
5318
- 200: unknown;
6677
+ /**
6678
+ * Commodity updated successfully
6679
+ */
6680
+ 200: CommodityResponseDto;
6681
+ /**
6682
+ * Invalid input data
6683
+ */
6684
+ 400: ApiProblemResponseDto;
6685
+ /**
6686
+ * Commodity not found
6687
+ */
6688
+ 404: ApiProblemResponseDto;
5319
6689
  };
5320
6690
  };
5321
6691
  delete: {
5322
- req: CommodityController2Data;
6692
+ req: CommodityControllerDeleteData;
5323
6693
  res: {
6694
+ /**
6695
+ * Commodity deleted successfully
6696
+ */
5324
6697
  204: void;
6698
+ /**
6699
+ * Commodity not found
6700
+ */
6701
+ 404: ApiProblemResponseDto;
5325
6702
  };
5326
6703
  };
5327
6704
  };
5328
6705
  '/api/v1/{region}/bean/commodities/{symbol}/ensure': {
5329
6706
  post: {
5330
- req: CommodityController3Data;
6707
+ req: CommodityControllerGetOrCreateData;
5331
6708
  res: {
5332
- 201: unknown;
6709
+ /**
6710
+ * Commodity retrieved or created
6711
+ */
6712
+ 200: CommodityResponseDto;
5333
6713
  };
5334
6714
  };
5335
6715
  };
5336
6716
  '/api/v1/{region}/bean/commodities/bulk': {
5337
6717
  post: {
5338
- req: CommodityController4Data;
6718
+ req: CommodityControllerBulkCreateData;
5339
6719
  res: {
5340
- 201: unknown;
6720
+ /**
6721
+ * Commodities created successfully
6722
+ */
6723
+ 201: Array<CommodityResponseDto>;
5341
6724
  };
5342
6725
  };
5343
6726
  };
5344
6727
  '/api/v1/{region}/bean/recurring-rules': {
5345
6728
  post: {
5346
- req: RecurringRuleControllerData;
6729
+ req: RecurringRuleControllerCreateData;
5347
6730
  res: {
5348
- 201: unknown;
6731
+ /**
6732
+ * Rule created successfully
6733
+ */
6734
+ 201: RecurringRuleResponseDto;
6735
+ /**
6736
+ * Invalid input data (e.g., autoCreate without accounts)
6737
+ */
6738
+ 400: unknown;
6739
+ /**
6740
+ * Rule with same name already exists
6741
+ */
6742
+ 409: unknown;
5349
6743
  };
5350
6744
  };
5351
6745
  get: {
@@ -5360,9 +6754,20 @@ export type $OpenApiTs = {
5360
6754
  };
5361
6755
  '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}': {
5362
6756
  post: {
5363
- req: RecurringRuleController1Data;
6757
+ req: RecurringRuleControllerCreateFromTransactionData;
5364
6758
  res: {
5365
- 201: unknown;
6759
+ /**
6760
+ * Rule created successfully
6761
+ */
6762
+ 201: RecurringRuleResponseDto;
6763
+ /**
6764
+ * Transaction not found
6765
+ */
6766
+ 404: ApiProblemResponseDto;
6767
+ /**
6768
+ * Rule with same name already exists or transaction already linked
6769
+ */
6770
+ 409: ApiProblemResponseDto;
5366
6771
  };
5367
6772
  };
5368
6773
  };
@@ -5381,15 +6786,33 @@ export type $OpenApiTs = {
5381
6786
  };
5382
6787
  };
5383
6788
  patch: {
5384
- req: RecurringRuleController2Data;
6789
+ req: RecurringRuleControllerUpdateData;
5385
6790
  res: {
5386
- 200: unknown;
6791
+ /**
6792
+ * Rule updated successfully
6793
+ */
6794
+ 200: RecurringRuleResponseDto;
6795
+ /**
6796
+ * Invalid input data
6797
+ */
6798
+ 400: unknown;
6799
+ /**
6800
+ * Rule not found
6801
+ */
6802
+ 404: unknown;
5387
6803
  };
5388
6804
  };
5389
6805
  delete: {
5390
- req: RecurringRuleController3Data;
6806
+ req: RecurringRuleControllerDeleteData;
5391
6807
  res: {
6808
+ /**
6809
+ * Rule deleted successfully
6810
+ */
5392
6811
  204: void;
6812
+ /**
6813
+ * Rule not found
6814
+ */
6815
+ 404: unknown;
5393
6816
  };
5394
6817
  };
5395
6818
  };
@@ -5447,37 +6870,96 @@ export type $OpenApiTs = {
5447
6870
  };
5448
6871
  '/api/v1/{region}/bean/expected-transactions/{id}/skip': {
5449
6872
  post: {
5450
- req: ExpectedTransactionControllerData;
6873
+ req: ExpectedTransactionControllerSkipData;
5451
6874
  res: {
5452
- 200: unknown;
6875
+ /**
6876
+ * Expected transaction skipped successfully
6877
+ */
6878
+ 200: ExpectedTransactionResponseDto;
6879
+ /**
6880
+ * Cannot skip - not in PENDING status
6881
+ */
6882
+ 400: unknown;
6883
+ /**
6884
+ * Expected transaction not found
6885
+ */
6886
+ 404: unknown;
5453
6887
  };
5454
6888
  };
5455
6889
  delete: {
5456
- req: ExpectedTransactionController1Data;
6890
+ req: ExpectedTransactionControllerUndoSkipData;
5457
6891
  res: {
5458
- 200: unknown;
6892
+ /**
6893
+ * Skip undone successfully
6894
+ */
6895
+ 200: ExpectedTransactionResponseDto;
6896
+ /**
6897
+ * Cannot undo - not in SKIPPED status
6898
+ */
6899
+ 400: unknown;
6900
+ /**
6901
+ * Expected transaction not found
6902
+ */
6903
+ 404: unknown;
5459
6904
  };
5460
6905
  };
5461
6906
  };
5462
6907
  '/api/v1/{region}/bean/expected-transactions/{id}/match': {
5463
6908
  post: {
5464
- req: ExpectedTransactionController2Data;
6909
+ req: ExpectedTransactionControllerConfirmMatchData;
5465
6910
  res: {
6911
+ /**
6912
+ * Match confirmed successfully
6913
+ */
5466
6914
  200: unknown;
6915
+ /**
6916
+ * Cannot match - not in PENDING status
6917
+ */
6918
+ 400: unknown;
6919
+ /**
6920
+ * Expected or actual transaction not found
6921
+ */
6922
+ 404: unknown;
6923
+ /**
6924
+ * Actual transaction already matched to another rule
6925
+ */
6926
+ 409: unknown;
5467
6927
  };
5468
6928
  };
5469
6929
  delete: {
5470
- req: ExpectedTransactionController3Data;
6930
+ req: ExpectedTransactionControllerUnmatchData;
5471
6931
  res: {
6932
+ /**
6933
+ * Match removed successfully
6934
+ */
5472
6935
  200: unknown;
6936
+ /**
6937
+ * Cannot unmatch - not in COMPLETED status
6938
+ */
6939
+ 400: unknown;
6940
+ /**
6941
+ * Expected transaction not found
6942
+ */
6943
+ 404: unknown;
5473
6944
  };
5474
6945
  };
5475
6946
  };
5476
6947
  '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
5477
6948
  post: {
5478
- req: ExpectedTransactionController4Data;
6949
+ req: ExpectedTransactionControllerEnterNowData;
5479
6950
  res: {
6951
+ /**
6952
+ * Transaction created successfully
6953
+ */
5480
6954
  201: unknown;
6955
+ /**
6956
+ * Cannot enter - not in PENDING status or missing accounts
6957
+ */
6958
+ 400: unknown;
6959
+ /**
6960
+ * Expected transaction or accounts not found
6961
+ */
6962
+ 404: unknown;
5481
6963
  };
5482
6964
  };
5483
6965
  };
@@ -5494,9 +6976,24 @@ export type $OpenApiTs = {
5494
6976
  };
5495
6977
  '/api/v1/{region}/bean/transaction-rules': {
5496
6978
  post: {
5497
- req: TransactionRuleControllerData;
6979
+ req: TransactionRuleControllerCreateData;
5498
6980
  res: {
5499
- 201: unknown;
6981
+ /**
6982
+ * Rule updated successfully (upsert mode)
6983
+ */
6984
+ 200: TransactionRuleResponseDto;
6985
+ /**
6986
+ * Validation failed
6987
+ */
6988
+ 400: ApiProblemResponseDto;
6989
+ /**
6990
+ * Unauthorized
6991
+ */
6992
+ 401: ApiProblemResponseDto;
6993
+ /**
6994
+ * Resource conflict - another process is updating this rule
6995
+ */
6996
+ 409: ApiProblemResponseDto;
5500
6997
  };
5501
6998
  };
5502
6999
  get: {
@@ -5521,6 +7018,10 @@ export type $OpenApiTs = {
5521
7018
  * Validation result
5522
7019
  */
5523
7020
  200: ValidateRuleResponseDto;
7021
+ /**
7022
+ * Validation failed
7023
+ */
7024
+ 400: ApiProblemResponseDto;
5524
7025
  /**
5525
7026
  * Unauthorized
5526
7027
  */
@@ -5530,9 +7031,20 @@ export type $OpenApiTs = {
5530
7031
  };
5531
7032
  '/api/v1/{region}/bean/transaction-rules/bulk': {
5532
7033
  post: {
5533
- req: TransactionRuleController1Data;
7034
+ req: TransactionRuleControllerBulkCreateData;
5534
7035
  res: {
5535
- 201: unknown;
7036
+ /**
7037
+ * Bulk create completed
7038
+ */
7039
+ 201: BulkCreateRulesResponseDto;
7040
+ /**
7041
+ * Invalid bulk create data
7042
+ */
7043
+ 400: ApiProblemResponseDto;
7044
+ /**
7045
+ * Unauthorized
7046
+ */
7047
+ 401: ApiProblemResponseDto;
5536
7048
  };
5537
7049
  };
5538
7050
  };
@@ -5593,15 +7105,57 @@ export type $OpenApiTs = {
5593
7105
  };
5594
7106
  };
5595
7107
  put: {
5596
- req: TransactionRuleController2Data;
7108
+ req: TransactionRuleControllerUpdateData;
5597
7109
  res: {
5598
- 200: unknown;
7110
+ /**
7111
+ * Rule updated successfully
7112
+ */
7113
+ 200: TransactionRuleResponseDto;
7114
+ /**
7115
+ * Validation failed
7116
+ */
7117
+ 400: ApiProblemResponseDto;
7118
+ /**
7119
+ * Unauthorized
7120
+ */
7121
+ 401: ApiProblemResponseDto;
7122
+ /**
7123
+ * Forbidden - not owner of rule
7124
+ */
7125
+ 403: ApiProblemResponseDto;
7126
+ /**
7127
+ * Rule not found
7128
+ */
7129
+ 404: ApiProblemResponseDto;
7130
+ /**
7131
+ * Resource conflict - rule is being modified by another process
7132
+ */
7133
+ 409: ApiProblemResponseDto;
5599
7134
  };
5600
7135
  };
5601
7136
  delete: {
5602
- req: TransactionRuleController3Data;
7137
+ req: TransactionRuleControllerDeleteData;
5603
7138
  res: {
7139
+ /**
7140
+ * Rule deleted successfully
7141
+ */
5604
7142
  204: void;
7143
+ /**
7144
+ * Unauthorized
7145
+ */
7146
+ 401: ApiProblemResponseDto;
7147
+ /**
7148
+ * Forbidden - not owner of rule
7149
+ */
7150
+ 403: ApiProblemResponseDto;
7151
+ /**
7152
+ * Rule not found
7153
+ */
7154
+ 404: ApiProblemResponseDto;
7155
+ /**
7156
+ * Resource conflict - rule is being modified by another process
7157
+ */
7158
+ 409: ApiProblemResponseDto;
5605
7159
  };
5606
7160
  };
5607
7161
  };
@@ -5776,13 +7330,48 @@ export type $OpenApiTs = {
5776
7330
  };
5777
7331
  };
5778
7332
  put: {
7333
+ req: PropertyControllerUpdateData;
5779
7334
  res: {
7335
+ /**
7336
+ * Property updated successfully
7337
+ */
5780
7338
  200: unknown;
7339
+ /**
7340
+ * Unauthorized
7341
+ */
7342
+ 401: unknown;
7343
+ /**
7344
+ * Forbidden - insufficient permissions
7345
+ */
7346
+ 403: unknown;
5781
7347
  };
5782
7348
  };
5783
7349
  delete: {
7350
+ req: PropertyControllerDeleteData;
5784
7351
  res: {
7352
+ /**
7353
+ * Property deleted successfully
7354
+ */
5785
7355
  204: void;
7356
+ /**
7357
+ * Unauthorized
7358
+ */
7359
+ 401: unknown;
7360
+ /**
7361
+ * Forbidden - insufficient permissions
7362
+ */
7363
+ 403: unknown;
7364
+ /**
7365
+ * Property not found
7366
+ */
7367
+ 404: unknown;
7368
+ };
7369
+ };
7370
+ };
7371
+ '/api/v1/{region}/bean/export/beancount': {
7372
+ get: {
7373
+ res: {
7374
+ 200: unknown;
5786
7375
  };
5787
7376
  };
5788
7377
  };
@@ -5855,36 +7444,149 @@ export type $OpenApiTs = {
5855
7444
  };
5856
7445
  };
5857
7446
  };
5858
- '/api/v1/{region}/bean/import/config/{importerId}': {
7447
+ '/api/v1/{region}/bean/import/beancount': {
7448
+ post: {
7449
+ req: FileImportControllerImportBeancountData;
7450
+ res: {
7451
+ /**
7452
+ * Beancount file imported successfully
7453
+ */
7454
+ 200: {
7455
+ imported?: number;
7456
+ skipped?: number;
7457
+ failed?: number;
7458
+ accountsCreated?: number;
7459
+ errors?: Array<{
7460
+ [key: string]: unknown;
7461
+ }>;
7462
+ };
7463
+ /**
7464
+ * Bad request - invalid file or no file uploaded
7465
+ */
7466
+ 400: ApiProblemResponseDto;
7467
+ };
7468
+ };
7469
+ };
7470
+ '/api/v1/{region}/bean/import/config/{importerId}': {
7471
+ get: {
7472
+ req: ImporterConfigControllerGetConfigData;
7473
+ res: {
7474
+ /**
7475
+ * Configuration retrieved successfully
7476
+ */
7477
+ 200: ImporterConfigDto;
7478
+ /**
7479
+ * Invalid input - Unsupported importer
7480
+ */
7481
+ 400: ApiProblemResponseDto;
7482
+ /**
7483
+ * Unauthorized - Authentication required
7484
+ */
7485
+ 401: ApiProblemResponseDto;
7486
+ };
7487
+ };
7488
+ put: {
7489
+ req: ImporterConfigControllerUpdateConfigData;
7490
+ res: {
7491
+ /**
7492
+ * Configuration updated successfully
7493
+ */
7494
+ 200: ImporterConfigDto;
7495
+ /**
7496
+ * Invalid input - Validation failed
7497
+ */
7498
+ 400: ApiProblemResponseDto;
7499
+ /**
7500
+ * Configuration not found
7501
+ */
7502
+ 404: ApiProblemResponseDto;
7503
+ };
7504
+ };
7505
+ };
7506
+ '/api/v1/{region}/bean/import/config/{importerId}/reset': {
7507
+ post: {
7508
+ req: ImporterConfigControllerResetConfigData;
7509
+ res: {
7510
+ /**
7511
+ * Configuration reset successfully
7512
+ */
7513
+ 200: ImporterConfigDto;
7514
+ /**
7515
+ * Invalid input - Unsupported importer
7516
+ */
7517
+ 400: ApiProblemResponseDto;
7518
+ };
7519
+ };
7520
+ };
7521
+ '/api/v1/bean/platforms': {
7522
+ get: {
7523
+ res: {
7524
+ /**
7525
+ * List of platforms with binding and account counts
7526
+ */
7527
+ 200: unknown;
7528
+ };
7529
+ };
7530
+ post: {
7531
+ req: PlatformControllerCreateData;
7532
+ res: {
7533
+ /**
7534
+ * Platform created successfully
7535
+ */
7536
+ 201: unknown;
7537
+ /**
7538
+ * Platform already exists
7539
+ */
7540
+ 409: unknown;
7541
+ };
7542
+ };
7543
+ };
7544
+ '/api/v1/bean/platforms/list': {
5859
7545
  get: {
5860
- req: ImporterConfigControllerGetConfigData;
5861
7546
  res: {
5862
7547
  /**
5863
- * Configuration retrieved successfully
5864
- */
5865
- 200: ImporterConfigDto;
5866
- /**
5867
- * Invalid input - Unsupported importer
7548
+ * List of platforms with user binding status
5868
7549
  */
5869
- 400: ApiProblemResponseDto;
7550
+ 200: unknown;
7551
+ };
7552
+ };
7553
+ };
7554
+ '/api/v1/bean/platforms/match': {
7555
+ get: {
7556
+ req: PlatformControllerMatchPlatformsData;
7557
+ res: {
5870
7558
  /**
5871
- * Unauthorized - Authentication required
7559
+ * List of matching platforms with suggested segment names
5872
7560
  */
5873
- 401: ApiProblemResponseDto;
7561
+ 200: unknown;
5874
7562
  };
5875
7563
  };
7564
+ };
7565
+ '/api/v1/bean/platforms/{id}': {
5876
7566
  put: {
5877
- req: ImporterConfigControllerData;
7567
+ req: PlatformControllerUpdateData;
5878
7568
  res: {
7569
+ /**
7570
+ * Platform updated successfully
7571
+ */
5879
7572
  200: unknown;
7573
+ /**
7574
+ * Platform not found
7575
+ */
7576
+ 404: unknown;
5880
7577
  };
5881
7578
  };
5882
- };
5883
- '/api/v1/{region}/bean/import/config/{importerId}/reset': {
5884
- post: {
5885
- req: ImporterConfigController1Data;
7579
+ delete: {
7580
+ req: PlatformControllerDeleteData;
5886
7581
  res: {
5887
- 201: unknown;
7582
+ /**
7583
+ * Platform deleted successfully
7584
+ */
7585
+ 204: void;
7586
+ /**
7587
+ * Platform not found
7588
+ */
7589
+ 404: unknown;
5888
7590
  };
5889
7591
  };
5890
7592
  };
@@ -5913,6 +7615,7 @@ export type $OpenApiTs = {
5913
7615
  };
5914
7616
  '/api/v1/{region}/bean/import/provider/supported': {
5915
7617
  get: {
7618
+ req: ProviderSyncControllerGetSupportedProvidersData;
5916
7619
  res: {
5917
7620
  /**
5918
7621
  * List of supported providers
@@ -6002,110 +7705,6 @@ export type $OpenApiTs = {
6002
7705
  };
6003
7706
  };
6004
7707
  };
6005
- '/api/v1/bean/platforms': {
6006
- get: {
6007
- res: {
6008
- /**
6009
- * List of platforms with binding and account counts
6010
- */
6011
- 200: unknown;
6012
- };
6013
- };
6014
- post: {
6015
- res: {
6016
- 201: unknown;
6017
- };
6018
- };
6019
- };
6020
- '/api/v1/bean/platforms/list': {
6021
- get: {
6022
- res: {
6023
- /**
6024
- * List of platforms with user binding status
6025
- */
6026
- 200: unknown;
6027
- };
6028
- };
6029
- };
6030
- '/api/v1/bean/platforms/{id}': {
6031
- put: {
6032
- res: {
6033
- 200: unknown;
6034
- };
6035
- };
6036
- delete: {
6037
- res: {
6038
- 204: void;
6039
- };
6040
- };
6041
- };
6042
- '/api/v1/market/symbols/lookup': {
6043
- get: {
6044
- req: SymbolControllerLookupSymbolData;
6045
- res: {
6046
- /**
6047
- * Symbols found successfully
6048
- */
6049
- 200: unknown;
6050
- /**
6051
- * Invalid query parameters
6052
- */
6053
- 400: unknown;
6054
- };
6055
- };
6056
- };
6057
- '/api/v1/market/symbols/{dataSource}/{symbol}': {
6058
- get: {
6059
- req: SymbolControllerGetSymbolDataData;
6060
- res: {
6061
- /**
6062
- * Symbol data retrieved successfully
6063
- */
6064
- 200: unknown;
6065
- /**
6066
- * Invalid data source
6067
- */
6068
- 400: unknown;
6069
- /**
6070
- * Symbol not found
6071
- */
6072
- 404: unknown;
6073
- };
6074
- };
6075
- };
6076
- '/api/v1/market/symbols/{dataSource}/{symbol}/{dateString}': {
6077
- get: {
6078
- req: SymbolControllerGatherSymbolForDateData;
6079
- res: {
6080
- /**
6081
- * Historical data retrieved successfully
6082
- */
6083
- 200: unknown;
6084
- /**
6085
- * Invalid date format
6086
- */
6087
- 400: unknown;
6088
- /**
6089
- * Symbol data not found for specified date
6090
- */
6091
- 404: unknown;
6092
- };
6093
- };
6094
- };
6095
- '/api/v1/market/symbols/yahoo/batch-update': {
6096
- put: {
6097
- res: {
6098
- 200: unknown;
6099
- };
6100
- };
6101
- };
6102
- '/api/v1/cache/flush': {
6103
- post: {
6104
- res: {
6105
- 201: unknown;
6106
- };
6107
- };
6108
- };
6109
7708
  '/api/v1/{region}/dashboard/net-worth': {
6110
7709
  get: {
6111
7710
  req: DashboardControllerGetNetWorthData;
@@ -6215,7 +7814,14 @@ export type $OpenApiTs = {
6215
7814
  '/api/v1/auth/api-keys': {
6216
7815
  post: {
6217
7816
  res: {
7817
+ /**
7818
+ * API key created successfully
7819
+ */
6218
7820
  201: unknown;
7821
+ /**
7822
+ * Insufficient permissions to create API key
7823
+ */
7824
+ 403: unknown;
6219
7825
  };
6220
7826
  };
6221
7827
  };
@@ -6234,6 +7840,13 @@ export type $OpenApiTs = {
6234
7840
  };
6235
7841
  };
6236
7842
  };
7843
+ '/api/v1/cache/flush': {
7844
+ post: {
7845
+ res: {
7846
+ 201: unknown;
7847
+ };
7848
+ };
7849
+ };
6237
7850
  '/api/v1/market/exchange-rates/{symbol}/{dateString}': {
6238
7851
  get: {
6239
7852
  req: ExchangeRateControllerGetExchangeRateData;
@@ -6277,6 +7890,20 @@ export type $OpenApiTs = {
6277
7890
  };
6278
7891
  };
6279
7892
  };
7893
+ '/api/v1/health/openbb': {
7894
+ get: {
7895
+ res: {
7896
+ /**
7897
+ * OpenBB status
7898
+ */
7899
+ 200: unknown;
7900
+ /**
7901
+ * OpenBB unavailable
7902
+ */
7903
+ 503: unknown;
7904
+ };
7905
+ };
7906
+ };
6280
7907
  '/api/v1/health/redis': {
6281
7908
  get: {
6282
7909
  res: {
@@ -6342,66 +7969,6 @@ export type $OpenApiTs = {
6342
7969
  };
6343
7970
  };
6344
7971
  };
6345
- '/api/v1/health/data-enhancer/{name}': {
6346
- get: {
6347
- req: HealthControllerGetHealthOfDataEnhancerData;
6348
- res: {
6349
- /**
6350
- * Data enhancer is healthy
6351
- */
6352
- 200: unknown;
6353
- /**
6354
- * Unauthorized
6355
- */
6356
- 401: unknown;
6357
- /**
6358
- * Data enhancer unavailable
6359
- */
6360
- 503: unknown;
6361
- };
6362
- };
6363
- };
6364
- '/api/v1/health/data-providers': {
6365
- get: {
6366
- res: {
6367
- /**
6368
- * Data providers health status
6369
- */
6370
- 200: unknown;
6371
- /**
6372
- * Unauthorized
6373
- */
6374
- 401: unknown;
6375
- /**
6376
- * Data providers check failed
6377
- */
6378
- 503: unknown;
6379
- };
6380
- };
6381
- };
6382
- '/api/v1/health/data-provider/{dataSource}': {
6383
- get: {
6384
- req: HealthControllerGetHealthOfDataProviderData;
6385
- res: {
6386
- /**
6387
- * Data provider is healthy
6388
- */
6389
- 200: unknown;
6390
- /**
6391
- * Invalid data source
6392
- */
6393
- 400: unknown;
6394
- /**
6395
- * Unauthorized
6396
- */
6397
- 401: unknown;
6398
- /**
6399
- * Data provider unavailable
6400
- */
6401
- 503: unknown;
6402
- };
6403
- };
6404
- };
6405
7972
  '/api/v1/system/info': {
6406
7973
  get: {
6407
7974
  res: {
@@ -6412,70 +7979,4 @@ export type $OpenApiTs = {
6412
7979
  };
6413
7980
  };
6414
7981
  };
6415
- '/api/v1/market/logos/{dataSource}/{symbol}': {
6416
- get: {
6417
- req: LogoControllerGetLogoByDataSourceAndSymbolData;
6418
- res: {
6419
- /**
6420
- * Logo image stream (favicon)
6421
- */
6422
- 200: unknown;
6423
- /**
6424
- * Unauthorized
6425
- */
6426
- 401: unknown;
6427
- /**
6428
- * Logo not found for the specified asset
6429
- */
6430
- 404: unknown;
6431
- /**
6432
- * Service unavailable
6433
- */
6434
- 503: unknown;
6435
- };
6436
- };
6437
- };
6438
- '/api/v1/market/logos': {
6439
- get: {
6440
- req: LogoControllerGetLogoByUrlData;
6441
- res: {
6442
- /**
6443
- * Logo image stream (favicon)
6444
- */
6445
- 200: unknown;
6446
- /**
6447
- * Unauthorized
6448
- */
6449
- 401: unknown;
6450
- /**
6451
- * Service unavailable
6452
- */
6453
- 503: unknown;
6454
- };
6455
- };
6456
- };
6457
- '/api/v1/market-data/{dataSource}/{symbol}': {
6458
- get: {
6459
- req: MarketDataControllerGetMarketDataBySymbolData;
6460
- res: {
6461
- /**
6462
- * Market data retrieved successfully
6463
- */
6464
- 200: unknown;
6465
- /**
6466
- * Insufficient permissions to read market data
6467
- */
6468
- 403: unknown;
6469
- /**
6470
- * Market data not found
6471
- */
6472
- 404: unknown;
6473
- };
6474
- };
6475
- post: {
6476
- res: {
6477
- 201: unknown;
6478
- };
6479
- };
6480
- };
6481
7982
  };