@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.
package/dist/index.d.mts CHANGED
@@ -26,6 +26,10 @@ type CreateAccountDto = {
26
26
  * Account path (hierarchical, colon-separated)
27
27
  */
28
28
  path: string;
29
+ /**
30
+ * Display name to distinguish accounts at the same path (default: "")
31
+ */
32
+ displayName?: string;
29
33
  /**
30
34
  * Account open date
31
35
  */
@@ -78,6 +82,10 @@ type AccountResponseDto = {
78
82
  * Account path (hierarchical, colon-separated)
79
83
  */
80
84
  path: string;
85
+ /**
86
+ * Display name distinguishing multiple accounts at the same path
87
+ */
88
+ displayName: string;
81
89
  /**
82
90
  * Account type (root segment)
83
91
  */
@@ -164,6 +172,10 @@ type AccountListResponseDto = {
164
172
  total: number;
165
173
  };
166
174
  type UpdateAccountDto = {
175
+ /**
176
+ * Display name to distinguish accounts at the same path
177
+ */
178
+ displayName?: string;
167
179
  /**
168
180
  * Allowed currencies (null = no restriction)
169
181
  */
@@ -189,9 +201,7 @@ type UpdateAccountDto = {
189
201
  /**
190
202
  * Platform ID (references Platform.id), null to clear association
191
203
  */
192
- platformId?: {
193
- [key: string]: unknown;
194
- } | null;
204
+ platformId?: string | null;
195
205
  };
196
206
  type CloseAccountDto = {
197
207
  /**
@@ -211,6 +221,78 @@ type ReopenAccountDto = {
211
221
  */
212
222
  reopenDate?: string;
213
223
  };
224
+ type AccountStandardResponseDto = {
225
+ /**
226
+ * Account path (hierarchical, colon-separated)
227
+ */
228
+ path: string;
229
+ /**
230
+ * Account type in Beancount hierarchy
231
+ */
232
+ type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
233
+ /**
234
+ * i18n key for localized display name
235
+ */
236
+ i18nKey: string;
237
+ /**
238
+ * Short localized display name
239
+ */
240
+ name?: string;
241
+ /**
242
+ * Account description (stable semantics only)
243
+ */
244
+ description: string;
245
+ /**
246
+ * Account tags for categorization
247
+ */
248
+ tags: Array<string>;
249
+ /**
250
+ * Icon identifier for UI display
251
+ */
252
+ icon: string;
253
+ };
254
+ type AccountStandardListResponseDto = {
255
+ /**
256
+ * Array of account templates
257
+ */
258
+ items: Array<AccountStandardResponseDto>;
259
+ /**
260
+ * Total number of account templates
261
+ */
262
+ total: number;
263
+ /**
264
+ * Region code
265
+ */
266
+ region: string;
267
+ };
268
+ type TemplateMetadataDto = {
269
+ /**
270
+ * Whether this path can be extended
271
+ */
272
+ extendable: boolean;
273
+ /**
274
+ * Root account type
275
+ */
276
+ rootType: string;
277
+ };
278
+ type TemplateMetadataResponseDto = {
279
+ metadata?: TemplateMetadataDto;
280
+ };
281
+ type RegionConfigDto = {
282
+ currency: string;
283
+ dateFormat: string;
284
+ locale: string;
285
+ };
286
+ type RegionInfoDto = {
287
+ code: string;
288
+ displayName: string;
289
+ parent?: string;
290
+ chain: Array<string>;
291
+ config: RegionConfigDto;
292
+ };
293
+ type RegionsMetadataResponseDto = {
294
+ regions: Array<RegionInfoDto>;
295
+ };
214
296
  type CreatePostingDto = {
215
297
  /**
216
298
  * Account name in Beancount format (must start with uppercase, colon-separated)
@@ -285,7 +367,7 @@ type PostingResponseDto = {
285
367
  */
286
368
  account: string;
287
369
  /**
288
- * Amount (may be null if interpolated)
370
+ * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
289
371
  */
290
372
  units?: string;
291
373
  /**
@@ -401,6 +483,84 @@ type ApiProblemResponseDto = {
401
483
  [key: string]: unknown;
402
484
  };
403
485
  };
486
+ type BatchCreateTransactionDto = {
487
+ /**
488
+ * Array of transactions to create
489
+ */
490
+ transactions: Array<CreateTransactionDto>;
491
+ };
492
+ type BatchTransactionErrorDto = {
493
+ /**
494
+ * Index of failed transaction in the input array
495
+ */
496
+ index: number;
497
+ /**
498
+ * Error message describing the failure
499
+ */
500
+ error: string;
501
+ /**
502
+ * Structured error code for programmatic handling
503
+ */
504
+ errorCode?: string;
505
+ };
506
+ type BatchTransactionResponseDto = {
507
+ /**
508
+ * Successfully created transactions
509
+ */
510
+ succeeded: Array<TransactionResponseDto>;
511
+ /**
512
+ * Failed transactions with error details
513
+ */
514
+ failed: Array<BatchTransactionErrorDto>;
515
+ };
516
+ type CorrectTransactionDto = {
517
+ /**
518
+ * Transaction date (ISO 8601 format)
519
+ */
520
+ date: string;
521
+ /**
522
+ * Transaction flag: * (cleared), ! (pending)
523
+ */
524
+ flag?: '*' | '!';
525
+ /**
526
+ * Payee name
527
+ */
528
+ payee?: string;
529
+ /**
530
+ * Transaction narration/description
531
+ */
532
+ narration: string;
533
+ /**
534
+ * Transaction tags (without # prefix)
535
+ */
536
+ tags?: Array<string>;
537
+ /**
538
+ * Transaction links (without ^ prefix)
539
+ */
540
+ links?: Array<string>;
541
+ /**
542
+ * Transaction postings (minimum 1, typically 2 for double-entry)
543
+ */
544
+ postings: Array<CreatePostingDto>;
545
+ /**
546
+ * Transaction-level metadata
547
+ */
548
+ meta?: {
549
+ [key: string]: unknown;
550
+ };
551
+ /**
552
+ * Unique key for idempotent transaction creation. If provided, duplicate requests with the same key will return the existing transaction.
553
+ */
554
+ idempotencyKey?: string;
555
+ /**
556
+ * 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.
557
+ */
558
+ autoCreateAccounts?: boolean;
559
+ /**
560
+ * Reason for correcting/superseding the original transaction
561
+ */
562
+ correctionReason?: string;
563
+ };
404
564
  type PostingDetailDto = {
405
565
  /**
406
566
  * Posting ID
@@ -415,7 +575,7 @@ type PostingDetailDto = {
415
575
  */
416
576
  accountName: string;
417
577
  /**
418
- * Amount (may be null if interpolated)
578
+ * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
419
579
  */
420
580
  units?: string;
421
581
  /**
@@ -497,9 +657,9 @@ type TransactionDetailDto = {
497
657
  */
498
658
  status: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
499
659
  /**
500
- * Source type (how the transaction was created)
660
+ * Source type (free-form string from transaction metadata, e.g. import, api)
501
661
  */
502
- sourceType?: 'NLP' | 'CSV' | 'OCR' | 'API';
662
+ sourceType?: string;
503
663
  /**
504
664
  * Source platform (e.g., alipay, wechat)
505
665
  */
@@ -524,6 +684,14 @@ type TransactionDetailDto = {
524
684
  * Correction reason (if voided or superseded)
525
685
  */
526
686
  correctionReason?: string;
687
+ /**
688
+ * ID of the transaction that supersedes this one (set when status=SUPERSEDED)
689
+ */
690
+ supersededBy?: string;
691
+ /**
692
+ * ID of the transaction this one corrected/replaced (back-link on the replacement)
693
+ */
694
+ originalTxn?: string;
527
695
  };
528
696
  /**
529
697
  * Transaction flag
@@ -533,10 +701,6 @@ type flag2 = 'CLEARED' | 'PENDING' | 'PADDING' | 'SUMMARIZE' | 'TRANSFER' | 'CON
533
701
  * Transaction status
534
702
  */
535
703
  type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
536
- /**
537
- * Source type (how the transaction was created)
538
- */
539
- type sourceType = 'NLP' | 'CSV' | 'OCR' | 'API';
540
704
  type TransactionListResponseDto = {
541
705
  /**
542
706
  * List of transactions
@@ -555,6 +719,22 @@ type TransactionListResponseDto = {
555
719
  */
556
720
  offset: number;
557
721
  };
722
+ type TagSuggestionDto = {
723
+ /**
724
+ * Tag name
725
+ */
726
+ tag: string;
727
+ /**
728
+ * Usage count across ACTIVE transactions
729
+ */
730
+ count: number;
731
+ };
732
+ type TagSuggestionsResponseDto = {
733
+ /**
734
+ * Tag suggestions sorted as requested
735
+ */
736
+ data: Array<TagSuggestionDto>;
737
+ };
558
738
  type UpdateTransactionDto = {
559
739
  /**
560
740
  * Transaction flag (CLEARED, PENDING, etc.)
@@ -583,61 +763,6 @@ type UpdateTransactionDto = {
583
763
  [key: string]: unknown;
584
764
  };
585
765
  };
586
- type AccountStandardResponseDto = {
587
- /**
588
- * Account path (hierarchical, colon-separated)
589
- */
590
- path: string;
591
- /**
592
- * Account type in Beancount hierarchy
593
- */
594
- type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
595
- /**
596
- * i18n key for localized display name
597
- */
598
- i18nKey?: string;
599
- /**
600
- * Account description
601
- */
602
- description?: string;
603
- /**
604
- * Account tags for categorization
605
- */
606
- tags?: Array<string>;
607
- /**
608
- * Icon identifier for UI display
609
- */
610
- icon?: string;
611
- };
612
- type AccountStandardListResponseDto = {
613
- /**
614
- * Array of account templates
615
- */
616
- items: Array<AccountStandardResponseDto>;
617
- /**
618
- * Total number of account templates
619
- */
620
- total: number;
621
- /**
622
- * Region code
623
- */
624
- region: string;
625
- };
626
- type RegionConfigDto = {
627
- currency: string;
628
- dateFormat: string;
629
- locale: string;
630
- };
631
- type RegionInfoDto = {
632
- code: string;
633
- displayName: string;
634
- parent?: string;
635
- chain: Array<string>;
636
- config: RegionConfigDto;
637
- };
638
- type RegionsMetadataResponseDto = {
639
- regions: Array<RegionInfoDto>;
640
- };
641
766
  type BalanceResponseDto = {
642
767
  /**
643
768
  * Account name
@@ -702,9 +827,9 @@ type TransactionSummaryDto = {
702
827
  */
703
828
  accountName?: string;
704
829
  /**
705
- * Source type (NLP, CSV, OCR, API)
830
+ * Source type (free-form string from transaction metadata, e.g. import, api)
706
831
  */
707
- sourceType?: 'NLP' | 'CSV' | 'OCR' | 'API';
832
+ sourceType?: string;
708
833
  /**
709
834
  * Source platform (e.g., alipay, wechat)
710
835
  */
@@ -728,9 +853,9 @@ type ReviewSummaryDto = {
728
853
  */
729
854
  confidence: number;
730
855
  /**
731
- * Confidence level derived from score
856
+ * Confidence level derived from score. Null for error-type reviews (ACCOUNT_VALIDATION/PIPELINE_ERROR) which carry no confidence.
732
857
  */
733
- confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW';
858
+ confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW' | null;
734
859
  /**
735
860
  * i18n message key for summary (e.g., review.summary.duplicate). Translate on frontend with summaryParams.
736
861
  */
@@ -746,7 +871,7 @@ type ReviewSummaryDto = {
746
871
  */
747
872
  matchReasons: Array<string>;
748
873
  /**
749
- * Source type (NLP, CSV, OCR, API)
874
+ * Source type (free-form string from transaction metadata, e.g. import, api)
750
875
  */
751
876
  sourceType: string;
752
877
  /**
@@ -791,7 +916,7 @@ type type2 = 'DUPLICATE' | 'RULE_MATCH' | 'PAYEE_MATCH' | 'ACCOUNT_VALIDATION' |
791
916
  */
792
917
  type status3 = 'PENDING' | 'RESOLVED' | 'EXPIRED' | 'CANCELLED';
793
918
  /**
794
- * Confidence level derived from score
919
+ * Confidence level derived from score. Null for error-type reviews (ACCOUNT_VALIDATION/PIPELINE_ERROR) which carry no confidence.
795
920
  */
796
921
  type confidenceLevel = 'HIGH' | 'MEDIUM' | 'LOW';
797
922
  type ReviewListResponseDto = {
@@ -833,7 +958,7 @@ type DecisionOptionDto = {
833
958
  /**
834
959
  * The action value to submit (e.g., UPGRADE_REPLACE, ACCEPT)
835
960
  */
836
- value: string;
961
+ value: 'UPGRADE_REPLACE' | 'LINK_KEEP_BOTH' | 'IGNORE_NEW' | 'CONFIRM_DIFFERENT' | 'ACCEPT' | 'REJECT' | 'ACCEPT_AND_LEARN' | 'CHOOSE_OTHER' | 'CANCEL' | 'FIX' | 'IGNORE';
837
962
  /**
838
963
  * i18n message key for display label (e.g., review.payee.accept.label)
839
964
  */
@@ -847,6 +972,10 @@ type DecisionOptionDto = {
847
972
  */
848
973
  recommended?: boolean;
849
974
  };
975
+ /**
976
+ * The action value to submit (e.g., UPGRADE_REPLACE, ACCEPT)
977
+ */
978
+ type value = 'UPGRADE_REPLACE' | 'LINK_KEEP_BOTH' | 'IGNORE_NEW' | 'CONFIRM_DIFFERENT' | 'ACCEPT' | 'REJECT' | 'ACCEPT_AND_LEARN' | 'CHOOSE_OTHER' | 'CANCEL' | 'FIX' | 'IGNORE';
850
979
  type ReviewDetailDto = {
851
980
  /**
852
981
  * Review item ID
@@ -865,9 +994,9 @@ type ReviewDetailDto = {
865
994
  */
866
995
  confidence: number;
867
996
  /**
868
- * Confidence level derived from score
997
+ * Confidence level derived from score. Null for error-type reviews (ACCOUNT_VALIDATION/PIPELINE_ERROR) which carry no confidence.
869
998
  */
870
- confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW';
999
+ confidenceLevel: 'HIGH' | 'MEDIUM' | 'LOW' | null;
871
1000
  /**
872
1001
  * i18n message key for summary (e.g., review.summary.duplicate). Translate on frontend with summaryParams.
873
1002
  */
@@ -883,7 +1012,7 @@ type ReviewDetailDto = {
883
1012
  */
884
1013
  matchReasons: Array<string>;
885
1014
  /**
886
- * Source type (NLP, CSV, OCR, API)
1015
+ * Source type (free-form string from transaction metadata, e.g. import, api)
887
1016
  */
888
1017
  sourceType: string;
889
1018
  /**
@@ -933,92 +1062,292 @@ type ReviewDetailDto = {
933
1062
  */
934
1063
  transactionId?: string;
935
1064
  };
936
- type PayeeResponseDto = {
1065
+ type ResolveReviewDto = {
937
1066
  /**
938
- * Unique identifier (UUID)
1067
+ * Decision action. Valid actions vary by review type — see DecisionOptionDto.value returned by the review detail endpoint.
939
1068
  */
940
- id: string;
1069
+ action: 'UPGRADE_REPLACE' | 'LINK_KEEP_BOTH' | 'IGNORE_NEW' | 'CONFIRM_DIFFERENT' | 'ACCEPT' | 'REJECT' | 'ACCEPT_AND_LEARN' | 'CHOOSE_OTHER' | 'CANCEL' | 'FIX' | 'IGNORE';
941
1070
  /**
942
- * User ID (owner of this payee mapping)
1071
+ * Additional data for the decision (e.g., selected account ID)
943
1072
  */
944
- userId: string;
1073
+ data?: {
1074
+ [key: string]: unknown;
1075
+ };
1076
+ };
1077
+ /**
1078
+ * Decision action. Valid actions vary by review type — see DecisionOptionDto.value returned by the review detail endpoint.
1079
+ */
1080
+ type action = 'UPGRADE_REPLACE' | 'LINK_KEEP_BOTH' | 'IGNORE_NEW' | 'CONFIRM_DIFFERENT' | 'ACCEPT' | 'REJECT' | 'ACCEPT_AND_LEARN' | 'CHOOSE_OTHER' | 'CANCEL' | 'FIX' | 'IGNORE';
1081
+ type ResolveResultDto = {
945
1082
  /**
946
- * User's original payee name (e.g., 'Starbucks', 'McDonald')
1083
+ * Whether resolution was successful
947
1084
  */
948
- payee: string;
1085
+ success: boolean;
949
1086
  /**
950
- * Reference to global PayeeProfile (merchant info, i18n keys, categories)
1087
+ * i18n message key for result message (e.g., review.payee.result.mapped)
951
1088
  */
952
- payeeProfileId?: {
953
- [key: string]: unknown;
954
- } | null;
1089
+ messageKey?: string;
955
1090
  /**
956
- * User's custom category (overrides PayeeProfile category if set)
1091
+ * Parameters for message interpolation (e.g., { name: "PayeeName" })
957
1092
  */
958
- customCategory?: {
959
- [key: string]: unknown;
960
- } | null;
1093
+ messageParams?: {
1094
+ [key: string]: string;
1095
+ };
961
1096
  /**
962
- * User's custom tags (e.g., ['favorite', 'work_meal'])
1097
+ * Resolution ID for undo
963
1098
  */
964
- customTags: Array<string>;
1099
+ resolutionId: string;
965
1100
  /**
966
- * Usage count (number of times this payee was used in transactions)
1101
+ * Whether this decision can be undone
967
1102
  */
968
- useCount: number;
1103
+ canUndo: boolean;
969
1104
  /**
970
- * Last used timestamp
1105
+ * Deadline for undo (24h from resolution)
971
1106
  */
972
- lastUsedAt: string;
1107
+ undoDeadline: string;
973
1108
  /**
974
- * Extended metadata (location, notes, contact info, etc.)
1109
+ * Rule ID if learning was triggered (ACCEPT_AND_LEARN actions). Use this to deep-link to the rule management page.
975
1110
  */
976
- meta: {
977
- [key: string]: unknown;
978
- };
1111
+ learnedRuleId?: string;
1112
+ };
1113
+ type UndoResultDto = {
979
1114
  /**
980
- * Active status (inactive payees hidden from autocomplete)
1115
+ * Whether undo was successful
981
1116
  */
982
- isActive: boolean;
1117
+ success: boolean;
983
1118
  /**
984
- * Creation timestamp (first time this payee was used)
1119
+ * Message
985
1120
  */
986
- createdAt: string;
1121
+ message?: string;
987
1122
  /**
988
- * Last update timestamp
1123
+ * Review item ID that was restored
989
1124
  */
990
- updatedAt: string;
1125
+ reviewId: string;
991
1126
  };
992
- type PayeeListResponseDto = {
1127
+ type BatchResolveDto = {
993
1128
  /**
994
- * List of payees
1129
+ * Review item IDs to resolve
995
1130
  */
996
- items: Array<PayeeResponseDto>;
1131
+ reviewIds: Array<string>;
997
1132
  /**
998
- * Total number of payees
1133
+ * Decision action to apply to all items
999
1134
  */
1000
- total: number;
1001
- };
1002
- type PayeeAutocompleteResponseDto = {
1135
+ action: 'UPGRADE_REPLACE' | 'LINK_KEEP_BOTH' | 'IGNORE_NEW' | 'CONFIRM_DIFFERENT' | 'ACCEPT' | 'REJECT' | 'ACCEPT_AND_LEARN' | 'CHOOSE_OTHER' | 'CANCEL' | 'FIX' | 'IGNORE';
1003
1136
  /**
1004
- * List of matching payee names
1137
+ * Additional data for the decision
1005
1138
  */
1006
- suggestions: Array<string>;
1139
+ data?: {
1140
+ [key: string]: unknown;
1141
+ };
1007
1142
  };
1008
- type PayeeStatsResponseDto = {
1143
+ type BatchResolveResultDto = {
1009
1144
  /**
1010
- * Payee name
1145
+ * Number of successfully resolved items
1011
1146
  */
1012
- payee: string;
1147
+ successCount: number;
1013
1148
  /**
1014
- * Total transaction count
1149
+ * Number of failed items
1015
1150
  */
1016
- transactionCount: number;
1151
+ failedCount: number;
1152
+ /**
1153
+ * Details for each item
1154
+ */
1155
+ results: Array<string>;
1156
+ };
1157
+ type CreatePayeeDto = {
1158
+ /**
1159
+ * User's original payee name (e.g., 'Starbucks', 'McDonald'). This is the raw payee string as entered by the user.
1160
+ */
1161
+ payee: string;
1162
+ /**
1163
+ * Optional reference to global PayeeProfile for standardized data (merchant info, i18n keys, categories)
1164
+ */
1165
+ payeeProfileId?: string;
1166
+ /**
1167
+ * User's custom category for this payee (overrides PayeeProfile category)
1168
+ */
1169
+ customCategory?: string;
1170
+ /**
1171
+ * User's custom tags for this payee (e.g., ['favorite', 'work_meal'])
1172
+ */
1173
+ customTags?: Array<string>;
1174
+ /**
1175
+ * Metadata for extended information (location, notes, contact info, etc.)
1176
+ */
1177
+ meta?: {
1178
+ [key: string]: unknown;
1179
+ };
1180
+ };
1181
+ type PayeeResponseDto = {
1182
+ /**
1183
+ * Unique identifier (UUID)
1184
+ */
1185
+ id: string;
1186
+ /**
1187
+ * User ID (owner of this payee mapping)
1188
+ */
1189
+ userId: string;
1190
+ /**
1191
+ * User's original payee name (e.g., 'Starbucks', 'McDonald')
1192
+ */
1193
+ payee: string;
1194
+ /**
1195
+ * Reference to global PayeeProfile (merchant info, i18n keys, categories)
1196
+ */
1197
+ payeeProfileId?: string | null;
1198
+ /**
1199
+ * User's custom category (overrides PayeeProfile category if set)
1200
+ */
1201
+ customCategory?: string | null;
1202
+ /**
1203
+ * User's custom tags (e.g., ['favorite', 'work_meal'])
1204
+ */
1205
+ customTags: Array<string>;
1206
+ /**
1207
+ * Usage count (number of times this payee was used in transactions)
1208
+ */
1209
+ useCount: number;
1210
+ /**
1211
+ * Last used timestamp
1212
+ */
1213
+ lastUsedAt: string;
1214
+ /**
1215
+ * Extended metadata (location, notes, contact info, etc.)
1216
+ */
1217
+ meta: {
1218
+ [key: string]: unknown;
1219
+ };
1220
+ /**
1221
+ * Active status (inactive payees hidden from autocomplete)
1222
+ */
1223
+ isActive: boolean;
1224
+ /**
1225
+ * Creation timestamp (first time this payee was used)
1226
+ */
1227
+ createdAt: string;
1228
+ /**
1229
+ * Last update timestamp
1230
+ */
1231
+ updatedAt: string;
1232
+ };
1233
+ type PayeeListResponseDto = {
1234
+ /**
1235
+ * List of payees
1236
+ */
1237
+ items: Array<PayeeResponseDto>;
1238
+ /**
1239
+ * Total number of payees
1240
+ */
1241
+ total: number;
1242
+ };
1243
+ type PayeeAutocompleteResponseDto = {
1244
+ /**
1245
+ * List of matching payee names
1246
+ */
1247
+ suggestions: Array<string>;
1248
+ };
1249
+ type PayeeStatsResponseDto = {
1250
+ /**
1251
+ * Payee name
1252
+ */
1253
+ payee: string;
1254
+ /**
1255
+ * Total transaction count
1256
+ */
1257
+ transactionCount: number;
1017
1258
  /**
1018
1259
  * Last used timestamp
1019
1260
  */
1020
1261
  lastUsedAt: string;
1021
1262
  };
1263
+ type UpdatePayeeDto = {
1264
+ /**
1265
+ * Optional reference to global PayeeProfile for standardized data (merchant info, i18n keys, categories)
1266
+ */
1267
+ payeeProfileId?: string;
1268
+ /**
1269
+ * User's custom category for this payee (overrides PayeeProfile category)
1270
+ */
1271
+ customCategory?: string;
1272
+ /**
1273
+ * User's custom tags for this payee (e.g., ['favorite', 'work_meal'])
1274
+ */
1275
+ customTags?: Array<string>;
1276
+ /**
1277
+ * Metadata for extended information (location, notes, contact info, etc.). Will merge with existing metadata.
1278
+ */
1279
+ meta?: {
1280
+ [key: string]: unknown;
1281
+ };
1282
+ /**
1283
+ * Enable or disable this payee. Disabled payees will not appear in autocomplete suggestions.
1284
+ */
1285
+ isActive?: boolean;
1286
+ };
1287
+ type CreatePayeeProfileDto = {
1288
+ /**
1289
+ * Canonical payee name (unique, case-insensitive). This is the primary identifier for the payee.
1290
+ */
1291
+ canonical: string;
1292
+ /**
1293
+ * Multi-language aliases for the payee. Used for matching user input in different languages.
1294
+ */
1295
+ aliases?: Array<string>;
1296
+ /**
1297
+ * Translation key for i18n integration (XLIFF translation system)
1298
+ */
1299
+ i18nKey?: string;
1300
+ /**
1301
+ * Payee category classification
1302
+ */
1303
+ category: 'RESTAURANT' | 'CAFE' | 'FAST_FOOD' | 'BAR' | 'SUPERMARKET' | 'CONVENIENCE_STORE' | 'SHOPPING_MALL' | 'ONLINE_SHOPPING' | 'TAXI' | 'RIDE_SHARING' | 'PUBLIC_TRANSPORT' | 'PARKING' | 'GAS_STATION' | 'UTILITIES' | 'TELECOM' | 'STREAMING' | 'HEALTHCARE' | 'EDUCATION' | 'ENTERTAINMENT' | 'SPORTS' | 'TRAVEL' | 'HOTEL' | 'OTHER';
1304
+ /**
1305
+ * Sub-category for more specific classification
1306
+ */
1307
+ subCategory?: string;
1308
+ /**
1309
+ * Country/region codes where the payee operates (ISO 3166-1 alpha-2)
1310
+ */
1311
+ countries?: Array<string>;
1312
+ /**
1313
+ * Primary operating country (ISO 3166-1 alpha-2)
1314
+ */
1315
+ primaryCountry?: string;
1316
+ /**
1317
+ * Search keywords for fuzzy matching
1318
+ */
1319
+ keywords?: Array<string>;
1320
+ /**
1321
+ * Payee logo URL
1322
+ */
1323
+ logoUrl?: string;
1324
+ /**
1325
+ * Official website URL
1326
+ */
1327
+ website?: string;
1328
+ /**
1329
+ * Payee description
1330
+ */
1331
+ description?: string;
1332
+ /**
1333
+ * Extended metadata (business hours, contact info, additional details)
1334
+ */
1335
+ meta?: {
1336
+ [key: string]: unknown;
1337
+ };
1338
+ /**
1339
+ * Data source for this profile
1340
+ */
1341
+ dataSource?: 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1342
+ };
1343
+ /**
1344
+ * Payee category classification
1345
+ */
1346
+ type category = 'RESTAURANT' | 'CAFE' | 'FAST_FOOD' | 'BAR' | 'SUPERMARKET' | 'CONVENIENCE_STORE' | 'SHOPPING_MALL' | 'ONLINE_SHOPPING' | 'TAXI' | 'RIDE_SHARING' | 'PUBLIC_TRANSPORT' | 'PARKING' | 'GAS_STATION' | 'UTILITIES' | 'TELECOM' | 'STREAMING' | 'HEALTHCARE' | 'EDUCATION' | 'ENTERTAINMENT' | 'SPORTS' | 'TRAVEL' | 'HOTEL' | 'OTHER';
1347
+ /**
1348
+ * Data source for this profile
1349
+ */
1350
+ type dataSource = 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1022
1351
  type PayeeProfileResponseDto = {
1023
1352
  /**
1024
1353
  * Unique identifier (UUID)
@@ -1035,9 +1364,7 @@ type PayeeProfileResponseDto = {
1035
1364
  /**
1036
1365
  * Translation key for i18n
1037
1366
  */
1038
- i18nKey?: {
1039
- [key: string]: unknown;
1040
- } | null;
1367
+ i18nKey?: string | null;
1041
1368
  /**
1042
1369
  * Payee category
1043
1370
  */
@@ -1045,9 +1372,7 @@ type PayeeProfileResponseDto = {
1045
1372
  /**
1046
1373
  * Sub-category
1047
1374
  */
1048
- subCategory?: {
1049
- [key: string]: unknown;
1050
- } | null;
1375
+ subCategory?: string | null;
1051
1376
  /**
1052
1377
  * Country codes where payee operates
1053
1378
  */
@@ -1055,9 +1380,7 @@ type PayeeProfileResponseDto = {
1055
1380
  /**
1056
1381
  * Primary operating country
1057
1382
  */
1058
- primaryCountry?: {
1059
- [key: string]: unknown;
1060
- } | null;
1383
+ primaryCountry?: string | null;
1061
1384
  /**
1062
1385
  * Search keywords
1063
1386
  */
@@ -1065,21 +1388,15 @@ type PayeeProfileResponseDto = {
1065
1388
  /**
1066
1389
  * Logo URL
1067
1390
  */
1068
- logoUrl?: {
1069
- [key: string]: unknown;
1070
- } | null;
1391
+ logoUrl?: string | null;
1071
1392
  /**
1072
1393
  * Official website
1073
1394
  */
1074
- website?: {
1075
- [key: string]: unknown;
1076
- } | null;
1395
+ website?: string | null;
1077
1396
  /**
1078
1397
  * Description
1079
1398
  */
1080
- description?: {
1081
- [key: string]: unknown;
1082
- } | null;
1399
+ description?: string | null;
1083
1400
  /**
1084
1401
  * Extended metadata
1085
1402
  */
@@ -1093,9 +1410,7 @@ type PayeeProfileResponseDto = {
1093
1410
  /**
1094
1411
  * Verification timestamp (null if not verified)
1095
1412
  */
1096
- verifiedAt?: {
1097
- [key: string]: unknown;
1098
- } | null;
1413
+ verifiedAt?: string | null;
1099
1414
  /**
1100
1415
  * Whether the profile is active
1101
1416
  */
@@ -1109,14 +1424,6 @@ type PayeeProfileResponseDto = {
1109
1424
  */
1110
1425
  updatedAt: string;
1111
1426
  };
1112
- /**
1113
- * Payee category
1114
- */
1115
- type category = 'RESTAURANT' | 'CAFE' | 'FAST_FOOD' | 'BAR' | 'SUPERMARKET' | 'CONVENIENCE_STORE' | 'SHOPPING_MALL' | 'ONLINE_SHOPPING' | 'TAXI' | 'RIDE_SHARING' | 'PUBLIC_TRANSPORT' | 'PARKING' | 'GAS_STATION' | 'UTILITIES' | 'TELECOM' | 'STREAMING' | 'HEALTHCARE' | 'EDUCATION' | 'ENTERTAINMENT' | 'SPORTS' | 'TRAVEL' | 'HOTEL' | 'OTHER';
1116
- /**
1117
- * Data source
1118
- */
1119
- type dataSource = 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1120
1427
  type PayeeProfileListResponseDto = {
1121
1428
  /**
1122
1429
  * List of payee profiles
@@ -1127,6 +1434,82 @@ type PayeeProfileListResponseDto = {
1127
1434
  */
1128
1435
  total: number;
1129
1436
  };
1437
+ type UpdatePayeeProfileDto = {
1438
+ /**
1439
+ * Multi-language aliases for the payee. Used for matching user input in different languages.
1440
+ */
1441
+ aliases?: Array<string>;
1442
+ /**
1443
+ * Translation key for i18n integration (XLIFF translation system)
1444
+ */
1445
+ i18nKey?: string;
1446
+ /**
1447
+ * Payee category classification
1448
+ */
1449
+ category?: 'RESTAURANT' | 'CAFE' | 'FAST_FOOD' | 'BAR' | 'SUPERMARKET' | 'CONVENIENCE_STORE' | 'SHOPPING_MALL' | 'ONLINE_SHOPPING' | 'TAXI' | 'RIDE_SHARING' | 'PUBLIC_TRANSPORT' | 'PARKING' | 'GAS_STATION' | 'UTILITIES' | 'TELECOM' | 'STREAMING' | 'HEALTHCARE' | 'EDUCATION' | 'ENTERTAINMENT' | 'SPORTS' | 'TRAVEL' | 'HOTEL' | 'OTHER';
1450
+ /**
1451
+ * Sub-category for more specific classification
1452
+ */
1453
+ subCategory?: string;
1454
+ /**
1455
+ * Country/region codes where the payee operates (ISO 3166-1 alpha-2)
1456
+ */
1457
+ countries?: Array<string>;
1458
+ /**
1459
+ * Primary operating country (ISO 3166-1 alpha-2)
1460
+ */
1461
+ primaryCountry?: string;
1462
+ /**
1463
+ * Search keywords for fuzzy matching
1464
+ */
1465
+ keywords?: Array<string>;
1466
+ /**
1467
+ * Payee logo URL
1468
+ */
1469
+ logoUrl?: string;
1470
+ /**
1471
+ * Official website URL
1472
+ */
1473
+ website?: string;
1474
+ /**
1475
+ * Payee description
1476
+ */
1477
+ description?: string;
1478
+ /**
1479
+ * Extended metadata (business hours, contact info, additional details)
1480
+ */
1481
+ meta?: {
1482
+ [key: string]: unknown;
1483
+ };
1484
+ /**
1485
+ * Data source for this profile
1486
+ */
1487
+ dataSource?: 'MANUAL' | 'IMPORT' | 'API' | 'CROWDSOURCED';
1488
+ /**
1489
+ * Whether the payee profile is active (soft delete)
1490
+ */
1491
+ isActive?: boolean;
1492
+ /**
1493
+ * Verification timestamp. Set to current time to verify, or null to unverify.
1494
+ */
1495
+ verifiedAt?: string | null;
1496
+ };
1497
+ type CreateCommodityDto = {
1498
+ /**
1499
+ * Commodity symbol (e.g., AAPL, USD, BTC) - corresponds to Beancount currency field
1500
+ */
1501
+ symbol: string;
1502
+ /**
1503
+ * Commodity definition date (ISO 8601, required per Beancount spec). Represents when this commodity was first defined in the accounting system.
1504
+ */
1505
+ date: string;
1506
+ /**
1507
+ * Metadata (corresponds to Beancount meta field). Can contain name, assetClass, precision, note, tags, etc.
1508
+ */
1509
+ metadata?: {
1510
+ [key: string]: unknown;
1511
+ };
1512
+ };
1130
1513
  type CommodityResponseDto = {
1131
1514
  /**
1132
1515
  * Unique identifier
@@ -1135,9 +1518,7 @@ type CommodityResponseDto = {
1135
1518
  /**
1136
1519
  * User ID (owner of the commodity)
1137
1520
  */
1138
- userId?: {
1139
- [key: string]: unknown;
1140
- } | null;
1521
+ userId?: string | null;
1141
1522
  /**
1142
1523
  * Commodity symbol (corresponds to Beancount currency field)
1143
1524
  */
@@ -1152,12 +1533,6 @@ type CommodityResponseDto = {
1152
1533
  metadata: {
1153
1534
  [key: string]: unknown;
1154
1535
  };
1155
- /**
1156
- * Reference to SymbolProfile (market data integration, SaaS feature)
1157
- */
1158
- symbolProfileId?: {
1159
- [key: string]: unknown;
1160
- } | null;
1161
1536
  /**
1162
1537
  * Creation timestamp
1163
1538
  */
@@ -1177,6 +1552,84 @@ type CommodityListResponseDto = {
1177
1552
  */
1178
1553
  total: number;
1179
1554
  };
1555
+ type UpdateCommodityDto = {
1556
+ /**
1557
+ * Commodity definition date (ISO 8601). Represents when this commodity was first defined in the accounting system.
1558
+ */
1559
+ date?: string;
1560
+ /**
1561
+ * Metadata (corresponds to Beancount meta field). Will merge with existing metadata. Can contain name, assetClass, precision, note, tags, etc.
1562
+ */
1563
+ metadata?: {
1564
+ [key: string]: unknown;
1565
+ };
1566
+ };
1567
+ type CreateRecurringRuleDto = {
1568
+ /**
1569
+ * Rule name (unique per user)
1570
+ */
1571
+ name: string;
1572
+ /**
1573
+ * Icon emoji
1574
+ */
1575
+ icon?: string;
1576
+ /**
1577
+ * Recurring frequency
1578
+ */
1579
+ frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1580
+ /**
1581
+ * Expected amount (positive number)
1582
+ */
1583
+ expectedAmount: number;
1584
+ /**
1585
+ * Expected day of month (1-31)
1586
+ */
1587
+ expectedDay?: number;
1588
+ /**
1589
+ * Custom interval in days (required for CUSTOM frequency)
1590
+ */
1591
+ customIntervalDays?: number;
1592
+ /**
1593
+ * Currency code
1594
+ */
1595
+ currency: string;
1596
+ /**
1597
+ * Payee matching pattern (supports wildcards)
1598
+ */
1599
+ matchPayeePattern?: string;
1600
+ /**
1601
+ * Amount tolerance percentage (0-1)
1602
+ */
1603
+ matchAmountTolerance: number;
1604
+ /**
1605
+ * Default expense account for auto-create
1606
+ */
1607
+ defaultExpenseAccount?: string;
1608
+ /**
1609
+ * Default payment account for auto-create
1610
+ */
1611
+ defaultPaymentAccount?: string;
1612
+ /**
1613
+ * Default payee for auto-create
1614
+ */
1615
+ defaultPayee?: string;
1616
+ /**
1617
+ * Auto-create transaction when expected date arrives
1618
+ */
1619
+ autoCreate: boolean;
1620
+ /**
1621
+ * Rule start date (ISO format)
1622
+ */
1623
+ startDate?: string;
1624
+ /**
1625
+ * Rule end date (ISO format)
1626
+ */
1627
+ endDate?: string;
1628
+ };
1629
+ /**
1630
+ * Recurring frequency
1631
+ */
1632
+ type frequency = 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1180
1633
  type RecurringRuleResponseDto = {
1181
1634
  /**
1182
1635
  * Rule ID
@@ -1285,6 +1738,20 @@ type RecurringRuleResponseDto = {
1285
1738
  */
1286
1739
  updatedAt: string;
1287
1740
  };
1741
+ type CreateRuleFromTransactionDto = {
1742
+ /**
1743
+ * Recurring frequency
1744
+ */
1745
+ frequency: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1746
+ /**
1747
+ * Optional name override (default: transaction payee)
1748
+ */
1749
+ name?: string;
1750
+ /**
1751
+ * Optional icon emoji
1752
+ */
1753
+ icon?: string;
1754
+ };
1288
1755
  type RecurringRuleWithStatsResponseDto = {
1289
1756
  /**
1290
1757
  * Rule ID
@@ -1403,41 +1870,103 @@ type RecurringRuleWithStatsResponseDto = {
1403
1870
  /**
1404
1871
  * Next expected date (YYYY-MM-DD)
1405
1872
  */
1406
- nextExpectedDate?: {
1407
- [key: string]: unknown;
1408
- };
1873
+ nextExpectedDate?: {
1874
+ [key: string]: unknown;
1875
+ };
1876
+ /**
1877
+ * Total amount of all matched transactions
1878
+ */
1879
+ totalAmount: number;
1880
+ /**
1881
+ * Average amount per transaction
1882
+ */
1883
+ averageAmount: number;
1884
+ /**
1885
+ * Number of matched transactions
1886
+ */
1887
+ transactionCount: number;
1888
+ /**
1889
+ * First matched transaction date (YYYY-MM-DD)
1890
+ */
1891
+ firstDate?: {
1892
+ [key: string]: unknown;
1893
+ };
1894
+ /**
1895
+ * Last matched transaction date (YYYY-MM-DD)
1896
+ */
1897
+ lastDate?: {
1898
+ [key: string]: unknown;
1899
+ };
1900
+ /**
1901
+ * Amount variance (standard deviation squared)
1902
+ */
1903
+ variance: number;
1904
+ /**
1905
+ * Number of upcoming expected transactions
1906
+ */
1907
+ upcomingCount: number;
1908
+ };
1909
+ type UpdateRecurringRuleDto = {
1910
+ /**
1911
+ * Rule name
1912
+ */
1913
+ name?: string;
1914
+ /**
1915
+ * Icon emoji
1916
+ */
1917
+ icon?: string;
1918
+ /**
1919
+ * Recurring frequency
1920
+ */
1921
+ frequency?: 'WEEKLY' | 'BIWEEKLY' | 'MONTHLY' | 'BIMONTHLY' | 'QUARTERLY' | 'YEARLY' | 'CUSTOM';
1922
+ /**
1923
+ * Expected amount
1924
+ */
1925
+ expectedAmount?: number;
1926
+ /**
1927
+ * Expected day of month (1-31)
1928
+ */
1929
+ expectedDay?: number;
1930
+ /**
1931
+ * Custom interval in days
1932
+ */
1933
+ customIntervalDays?: number;
1934
+ /**
1935
+ * Currency code
1936
+ */
1937
+ currency?: string;
1938
+ /**
1939
+ * Payee matching pattern
1940
+ */
1941
+ matchPayeePattern?: string;
1409
1942
  /**
1410
- * Total amount of all matched transactions
1943
+ * Amount tolerance percentage (0-1)
1411
1944
  */
1412
- totalAmount: number;
1945
+ matchAmountTolerance?: number;
1413
1946
  /**
1414
- * Average amount per transaction
1947
+ * Default expense account
1415
1948
  */
1416
- averageAmount: number;
1949
+ defaultExpenseAccount?: string;
1417
1950
  /**
1418
- * Number of matched transactions
1951
+ * Default payment account
1419
1952
  */
1420
- transactionCount: number;
1953
+ defaultPaymentAccount?: string;
1421
1954
  /**
1422
- * First matched transaction date (YYYY-MM-DD)
1955
+ * Default payee
1423
1956
  */
1424
- firstDate?: {
1425
- [key: string]: unknown;
1426
- };
1957
+ defaultPayee?: string;
1427
1958
  /**
1428
- * Last matched transaction date (YYYY-MM-DD)
1959
+ * Auto-create transaction
1429
1960
  */
1430
- lastDate?: {
1431
- [key: string]: unknown;
1432
- };
1961
+ autoCreate?: boolean;
1433
1962
  /**
1434
- * Amount variance (standard deviation squared)
1963
+ * Rule active status
1435
1964
  */
1436
- variance: number;
1965
+ isActive?: boolean;
1437
1966
  /**
1438
- * Number of upcoming expected transactions
1967
+ * Rule end date (ISO format)
1439
1968
  */
1440
- upcomingCount: number;
1969
+ endDate?: string;
1441
1970
  };
1442
1971
  type ExpectedTransactionRuleDto = {
1443
1972
  /**
@@ -1526,6 +2055,34 @@ type ExpectedTransactionListResponseDto = {
1526
2055
  */
1527
2056
  total: number;
1528
2057
  };
2058
+ type ConfirmMatchDto = {
2059
+ /**
2060
+ * Transaction ID to match with
2061
+ */
2062
+ transactionId: string;
2063
+ };
2064
+ type EnterNowDto = {
2065
+ /**
2066
+ * Override expense account (uses rule default if not provided)
2067
+ */
2068
+ expenseAccount?: string;
2069
+ /**
2070
+ * Override payment account (uses rule default if not provided)
2071
+ */
2072
+ paymentAccount?: string;
2073
+ /**
2074
+ * Override amount (uses expected amount if not provided)
2075
+ */
2076
+ amount?: number;
2077
+ /**
2078
+ * Override payee (uses rule default if not provided)
2079
+ */
2080
+ payee?: string;
2081
+ /**
2082
+ * Optional narration
2083
+ */
2084
+ narration?: string;
2085
+ };
1529
2086
  type ForecastItemDto = {
1530
2087
  /**
1531
2088
  * Rule name
@@ -1546,9 +2103,7 @@ type ForecastItemDto = {
1546
2103
  /**
1547
2104
  * Rule icon emoji
1548
2105
  */
1549
- icon: {
1550
- [key: string]: unknown;
1551
- } | null;
2106
+ icon: string | null;
1552
2107
  /**
1553
2108
  * Currency code
1554
2109
  */
@@ -1606,6 +2161,50 @@ type ForecastResponseDto = {
1606
2161
  */
1607
2162
  periodEnd: string;
1608
2163
  };
2164
+ type CreateTransactionRuleDto = {
2165
+ name: string;
2166
+ description?: string;
2167
+ narrationKeywords?: Array<unknown[]>;
2168
+ payeeKeywords?: Array<unknown[]>;
2169
+ categoryKeywords?: Array<unknown[]>;
2170
+ /**
2171
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2172
+ */
2173
+ methodKeywords?: Array<unknown[]>;
2174
+ /**
2175
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2176
+ */
2177
+ categoryAccount?: string;
2178
+ matchLogic: 'OR' | 'AND';
2179
+ /**
2180
+ * Minimum transaction amount (inclusive)
2181
+ */
2182
+ amountMin?: number;
2183
+ /**
2184
+ * Maximum transaction amount (inclusive)
2185
+ */
2186
+ amountMax?: number;
2187
+ priority: number;
2188
+ additionalTags?: Array<unknown[]>;
2189
+ additionalMetadata?: {
2190
+ [key: string]: unknown;
2191
+ };
2192
+ /**
2193
+ * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2194
+ */
2195
+ upsertByPayee?: boolean;
2196
+ };
2197
+ type matchLogic = 'OR' | 'AND';
2198
+ type AmountRangeDto = {
2199
+ /**
2200
+ * Minimum amount
2201
+ */
2202
+ min?: number;
2203
+ /**
2204
+ * Maximum amount
2205
+ */
2206
+ max?: number;
2207
+ };
1609
2208
  type TransactionRuleResponseDto = {
1610
2209
  /**
1611
2210
  * Rule ID
@@ -1646,9 +2245,7 @@ type TransactionRuleResponseDto = {
1646
2245
  /**
1647
2246
  * Amount range for matching
1648
2247
  */
1649
- amountRange?: {
1650
- [key: string]: unknown;
1651
- };
2248
+ amountRange?: AmountRangeDto;
1652
2249
  /**
1653
2250
  * Rule priority (0-1000, higher = first match)
1654
2251
  */
@@ -1660,7 +2257,7 @@ type TransactionRuleResponseDto = {
1660
2257
  /**
1661
2258
  * Learning source: NLP, REVIEW_CENTER, or null for manual
1662
2259
  */
1663
- learningSource?: 'NLP' | 'REVIEW_CENTER';
2260
+ learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
1664
2261
  /**
1665
2262
  * Whether auto-apply is enabled for this rule
1666
2263
  */
@@ -1677,7 +2274,7 @@ type TransactionRuleResponseDto = {
1677
2274
  * Additional metadata
1678
2275
  */
1679
2276
  additionalMetadata?: {
1680
- [key: string]: unknown;
2277
+ [key: string]: string;
1681
2278
  };
1682
2279
  /**
1683
2280
  * Created timestamp
@@ -1688,10 +2285,6 @@ type TransactionRuleResponseDto = {
1688
2285
  */
1689
2286
  updatedAt: string;
1690
2287
  };
1691
- /**
1692
- * Keyword matching logic
1693
- */
1694
- type matchLogic = 'OR' | 'AND';
1695
2288
  /**
1696
2289
  * Learning source: NLP, REVIEW_CENTER, or null for manual
1697
2290
  */
@@ -1758,6 +2351,41 @@ type ValidateRuleResponseDto = {
1758
2351
  */
1759
2352
  warnings: Array<unknown[]>;
1760
2353
  };
2354
+ type BulkCreateRulesDto = {
2355
+ /**
2356
+ * Array of rules to import
2357
+ */
2358
+ rules: Array<unknown[]>;
2359
+ /**
2360
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2361
+ */
2362
+ conflictStrategy: 'replace' | 'skip';
2363
+ };
2364
+ /**
2365
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2366
+ */
2367
+ type conflictStrategy = 'replace' | 'skip';
2368
+ type BulkCreateRulesResponseDto = {
2369
+ /**
2370
+ * Number of successfully created rules
2371
+ */
2372
+ successCount: number;
2373
+ /**
2374
+ * Number of failed rules
2375
+ */
2376
+ failureCount: number;
2377
+ /**
2378
+ * Error details for failed rules
2379
+ */
2380
+ errors: Array<{
2381
+ index?: number;
2382
+ message?: string;
2383
+ }>;
2384
+ /**
2385
+ * IDs of successfully created rules
2386
+ */
2387
+ createdRuleIds: Array<string>;
2388
+ };
1761
2389
  type ExportRulesResponseDto = {
1762
2390
  /**
1763
2391
  * Export timestamp
@@ -1811,6 +2439,39 @@ type RuleStatisticsResponseDto = {
1811
2439
  * Statistics time period
1812
2440
  */
1813
2441
  type period = '7d' | '30d' | '90d';
2442
+ type UpdateTransactionRuleDto = {
2443
+ name?: string;
2444
+ description?: string;
2445
+ narrationKeywords?: Array<unknown[]>;
2446
+ payeeKeywords?: Array<unknown[]>;
2447
+ categoryKeywords?: Array<unknown[]>;
2448
+ /**
2449
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2450
+ */
2451
+ methodKeywords?: Array<unknown[]>;
2452
+ /**
2453
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2454
+ */
2455
+ categoryAccount?: string;
2456
+ matchLogic?: 'OR' | 'AND';
2457
+ /**
2458
+ * Minimum transaction amount (inclusive)
2459
+ */
2460
+ amountMin?: number;
2461
+ /**
2462
+ * Maximum transaction amount (inclusive)
2463
+ */
2464
+ amountMax?: number;
2465
+ priority?: number;
2466
+ /**
2467
+ * Enable or disable the rule
2468
+ */
2469
+ enabled?: boolean;
2470
+ additionalTags?: Array<unknown[]>;
2471
+ additionalMetadata?: {
2472
+ [key: string]: unknown;
2473
+ };
2474
+ };
1814
2475
  type TestRuleDto = {
1815
2476
  narration: string;
1816
2477
  payee?: string;
@@ -1944,6 +2605,12 @@ type colorScheme = 'DARK' | 'LIGHT';
1944
2605
  * View mode
1945
2606
  */
1946
2607
  type viewMode = 'DEFAULT' | 'ZEN';
2608
+ type UpdatePropertyDto = {
2609
+ /**
2610
+ * Property value
2611
+ */
2612
+ value: string;
2613
+ };
1947
2614
  type FileImportDto = {
1948
2615
  /**
1949
2616
  * Bill file to import (CSV, PDF, OFX, etc.)
@@ -2152,6 +2819,106 @@ type ImporterConfigDto = {
2152
2819
  * Importer identifier
2153
2820
  */
2154
2821
  type importerId = 'alipay' | 'alipay-web' | 'alipay-yuebao' | 'wechat' | 'wechat-xlsx' | 'boc' | 'boc-credit' | 'ccb' | 'cmb' | 'cmbc' | 'cmbc-credit' | 'icbc' | 'icbc-credit' | 'hsbc-hk-credit' | 'hsbc-hk-debit';
2822
+ type UpdateMapperDefaultsDto = {
2823
+ /**
2824
+ * Source account for transactions (Beancount format)
2825
+ */
2826
+ sourceAccount?: string;
2827
+ /**
2828
+ * Default currency (ISO 4217 code)
2829
+ */
2830
+ currency?: string;
2831
+ /**
2832
+ * Default expense account (optional)
2833
+ */
2834
+ expenseAccount?: string;
2835
+ /**
2836
+ * Default income account (optional)
2837
+ */
2838
+ incomeAccount?: string;
2839
+ /**
2840
+ * 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).
2841
+ */
2842
+ methodAccountMapping?: {
2843
+ [key: string]: unknown;
2844
+ };
2845
+ };
2846
+ type UpdateConfigDataDto = {
2847
+ /**
2848
+ * Mapper defaults configuration
2849
+ */
2850
+ defaults?: UpdateMapperDefaultsDto;
2851
+ };
2852
+ type UpdateImporterConfigDto = {
2853
+ /**
2854
+ * Configuration data (v1 schema)
2855
+ */
2856
+ data?: UpdateConfigDataDto;
2857
+ };
2858
+ type CreatePlatformDto = {
2859
+ /**
2860
+ * Platform name
2861
+ */
2862
+ name: string;
2863
+ /**
2864
+ * Platform canonical identifier (lowercase, kebab-case)
2865
+ */
2866
+ canonical: string;
2867
+ /**
2868
+ * Platform aliases (multi-language names for lookup)
2869
+ */
2870
+ aliases: Array<string>;
2871
+ /**
2872
+ * Platform URL
2873
+ */
2874
+ url: string;
2875
+ /**
2876
+ * Platform type
2877
+ */
2878
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
2879
+ /**
2880
+ * Platform logo URL
2881
+ */
2882
+ logoUrl?: string;
2883
+ /**
2884
+ * Whether the platform is active
2885
+ */
2886
+ isActive?: boolean;
2887
+ };
2888
+ /**
2889
+ * Platform type
2890
+ */
2891
+ type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
2892
+ type UpdatePlatformDto = {
2893
+ /**
2894
+ * Platform name
2895
+ */
2896
+ name?: string;
2897
+ /**
2898
+ * Platform canonical identifier (lowercase, kebab-case)
2899
+ */
2900
+ canonical?: string;
2901
+ /**
2902
+ * Platform aliases (multi-language names for lookup)
2903
+ */
2904
+ aliases?: Array<string>;
2905
+ /**
2906
+ * Platform URL
2907
+ */
2908
+ url?: string;
2909
+ /**
2910
+ * Platform type
2911
+ */
2912
+ type?: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
2913
+ /**
2914
+ * Platform logo URL
2915
+ */
2916
+ logoUrl?: string;
2917
+ /**
2918
+ * Whether the platform is active
2919
+ */
2920
+ isActive?: boolean;
2921
+ };
2155
2922
  type ProviderSyncConfigDto = {
2156
2923
  /**
2157
2924
  * Source account for the first posting
@@ -2234,6 +3001,12 @@ type ProcessNlpDto = {
2234
3001
  * Session ID for multi-turn conversation (auto-generated if not provided)
2235
3002
  */
2236
3003
  sessionId?: string;
3004
+ /**
3005
+ * Parsed data from previous NLP response for session recovery. Send back the parsedData received in confirm_payee/confirm responses.
3006
+ */
3007
+ parsedData?: {
3008
+ [key: string]: unknown;
3009
+ };
2237
3010
  };
2238
3011
  type NlpTransactionInfoDto = {
2239
3012
  /**
@@ -2735,7 +3508,7 @@ type status4 = 'success' | 'pending' | 'error';
2735
3508
  /**
2736
3509
  * Action taken or requested
2737
3510
  */
2738
- type action = 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel';
3511
+ type action2 = 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel';
2739
3512
  /**
2740
3513
  * Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
2741
3514
  */
@@ -3204,7 +3977,7 @@ type AccountControllerCreateData = {
3204
3977
  /**
3205
3978
  * Region code for tenant context
3206
3979
  */
3207
- region: 'cn' | 'us' | 'de';
3980
+ region: 'cn' | 'us' | 'de' | 'gb';
3208
3981
  requestBody: CreateAccountDto;
3209
3982
  };
3210
3983
  type AccountControllerCreateResponse = AccountResponseDto;
@@ -3224,7 +3997,7 @@ type AccountControllerFindAllData = {
3224
3997
  /**
3225
3998
  * Region code for tenant context
3226
3999
  */
3227
- region: 'cn' | 'us' | 'de';
4000
+ region: 'cn' | 'us' | 'de' | 'gb';
3228
4001
  /**
3229
4002
  * Search term for path or i18nKey
3230
4003
  */
@@ -3247,7 +4020,7 @@ type AccountControllerFindOneData = {
3247
4020
  /**
3248
4021
  * Region code for tenant context
3249
4022
  */
3250
- region: 'cn' | 'us' | 'de';
4023
+ region: 'cn' | 'us' | 'de' | 'gb';
3251
4024
  };
3252
4025
  type AccountControllerFindOneResponse = AccountResponseDto;
3253
4026
  type AccountControllerUpdateData = {
@@ -3258,7 +4031,7 @@ type AccountControllerUpdateData = {
3258
4031
  /**
3259
4032
  * Region code for tenant context
3260
4033
  */
3261
- region: 'cn' | 'us' | 'de';
4034
+ region: 'cn' | 'us' | 'de' | 'gb';
3262
4035
  requestBody: UpdateAccountDto;
3263
4036
  };
3264
4037
  type AccountControllerUpdateResponse = AccountResponseDto;
@@ -3270,7 +4043,7 @@ type AccountControllerDeleteData = {
3270
4043
  /**
3271
4044
  * Region code for tenant context
3272
4045
  */
3273
- region: 'cn' | 'us' | 'de';
4046
+ region: 'cn' | 'us' | 'de' | 'gb';
3274
4047
  };
3275
4048
  type AccountControllerDeleteResponse = void;
3276
4049
  type AccountControllerCloseData = {
@@ -3281,7 +4054,7 @@ type AccountControllerCloseData = {
3281
4054
  /**
3282
4055
  * Region code for tenant context
3283
4056
  */
3284
- region: 'cn' | 'us' | 'de';
4057
+ region: 'cn' | 'us' | 'de' | 'gb';
3285
4058
  requestBody: CloseAccountDto;
3286
4059
  };
3287
4060
  type AccountControllerCloseResponse = AccountResponseDto;
@@ -3293,15 +4066,48 @@ type AccountControllerReopenData = {
3293
4066
  /**
3294
4067
  * Region code for tenant context
3295
4068
  */
3296
- region: 'cn' | 'us' | 'de';
4069
+ region: 'cn' | 'us' | 'de' | 'gb';
3297
4070
  requestBody: ReopenAccountDto;
3298
4071
  };
3299
4072
  type AccountControllerReopenResponse = AccountResponseDto;
4073
+ type AccountStandardsControllerGetTemplatesData = {
4074
+ /**
4075
+ * Region code (cn, us, de)
4076
+ */
4077
+ region: 'cn' | 'us' | 'de' | 'gb';
4078
+ /**
4079
+ * Search term for path or description
4080
+ */
4081
+ search?: string;
4082
+ /**
4083
+ * Filter by account type
4084
+ */
4085
+ type?: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
4086
+ };
4087
+ type AccountStandardsControllerGetTemplatesResponse = AccountStandardListResponseDto;
4088
+ type AccountStandardsControllerGetTemplateMetadataData = {
4089
+ /**
4090
+ * Account path to check
4091
+ */
4092
+ path: string;
4093
+ /**
4094
+ * Region code for tenant context
4095
+ */
4096
+ region: 'cn' | 'us' | 'de' | 'gb';
4097
+ };
4098
+ type AccountStandardsControllerGetTemplateMetadataResponse = TemplateMetadataResponseDto;
4099
+ type AccountStandardsControllerGetRegionsData = {
4100
+ /**
4101
+ * Region code for tenant context
4102
+ */
4103
+ region: 'cn' | 'us' | 'de' | 'gb';
4104
+ };
4105
+ type AccountStandardsControllerGetRegionsResponse = RegionsMetadataResponseDto;
3300
4106
  type TransactionControllerCreateData = {
3301
4107
  /**
3302
4108
  * Region code for tenant context
3303
4109
  */
3304
- region: 'cn' | 'us' | 'de';
4110
+ region: 'cn' | 'us' | 'de' | 'gb';
3305
4111
  /**
3306
4112
  * Transaction data with postings
3307
4113
  */
@@ -3324,32 +4130,64 @@ type TransactionControllerListData = {
3324
4130
  /**
3325
4131
  * Number of items per page (1-100, default: 20)
3326
4132
  */
3327
- limit?: number;
4133
+ limit?: number;
4134
+ /**
4135
+ * Number of items to skip (default: 0)
4136
+ */
4137
+ offset?: number;
4138
+ /**
4139
+ * Region code for tenant context
4140
+ */
4141
+ region: 'cn' | 'us' | 'de' | 'gb';
4142
+ /**
4143
+ * Search in narration and payee fields (max 200 chars)
4144
+ */
4145
+ search?: string;
4146
+ /**
4147
+ * Filter by transaction status
4148
+ */
4149
+ status?: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
4150
+ };
4151
+ type TransactionControllerListResponse = TransactionListResponseDto;
4152
+ type TransactionControllerCreateBatchData = {
4153
+ /**
4154
+ * Region code for tenant context
4155
+ */
4156
+ region: 'cn' | 'us' | 'de' | 'gb';
4157
+ requestBody: BatchCreateTransactionDto;
4158
+ };
4159
+ type TransactionControllerCreateBatchResponse = BatchTransactionResponseDto;
4160
+ type TransactionControllerCorrectData = {
3328
4161
  /**
3329
- * Number of items to skip (default: 0)
4162
+ * Original transaction ID to correct
3330
4163
  */
3331
- offset?: number;
4164
+ id: string;
3332
4165
  /**
3333
4166
  * Region code for tenant context
3334
4167
  */
3335
- region: 'cn' | 'us' | 'de';
4168
+ region: 'cn' | 'us' | 'de' | 'gb';
4169
+ requestBody: CorrectTransactionDto;
4170
+ };
4171
+ type TransactionControllerCorrectResponse = TransactionDetailDto;
4172
+ type TransactionControllerSuggestTagsData = {
3336
4173
  /**
3337
- * Search in narration and payee fields (max 200 chars)
4174
+ * Max suggestions (1-100, default 10)
3338
4175
  */
3339
- search?: string;
4176
+ limit?: number;
3340
4177
  /**
3341
- * Filter by transaction status
4178
+ * Prefix match, case-insensitive (max 50 chars)
3342
4179
  */
3343
- status?: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
3344
- };
3345
- type TransactionControllerListResponse = TransactionListResponseDto;
3346
- type TransactionControllerData = {
4180
+ q?: string;
3347
4181
  /**
3348
4182
  * Region code for tenant context
3349
4183
  */
3350
- region: 'cn' | 'us' | 'de';
4184
+ region: 'cn' | 'us' | 'de' | 'gb';
4185
+ /**
4186
+ * usage (default) or name
4187
+ */
4188
+ sort?: 'usage' | 'name';
3351
4189
  };
3352
- type TransactionControllerResponse = unknown;
4190
+ type TransactionControllerSuggestTagsResponse = TagSuggestionsResponseDto;
3353
4191
  type TransactionControllerGetDetailData = {
3354
4192
  /**
3355
4193
  * Transaction ID
@@ -3358,7 +4196,7 @@ type TransactionControllerGetDetailData = {
3358
4196
  /**
3359
4197
  * Region code for tenant context
3360
4198
  */
3361
- region: 'cn' | 'us' | 'de';
4199
+ region: 'cn' | 'us' | 'de' | 'gb';
3362
4200
  };
3363
4201
  type TransactionControllerGetDetailResponse = TransactionDetailDto;
3364
4202
  type TransactionControllerUpdateData = {
@@ -3369,36 +4207,24 @@ type TransactionControllerUpdateData = {
3369
4207
  /**
3370
4208
  * Region code for tenant context
3371
4209
  */
3372
- region: 'cn' | 'us' | 'de';
4210
+ region: 'cn' | 'us' | 'de' | 'gb';
3373
4211
  /**
3374
4212
  * Fields to update (all optional)
3375
4213
  */
3376
4214
  requestBody: UpdateTransactionDto;
3377
4215
  };
3378
4216
  type TransactionControllerUpdateResponse = TransactionDetailDto;
3379
- type TransactionController1Data = {
3380
- /**
3381
- * Region code for tenant context
3382
- */
3383
- region: 'cn' | 'us' | 'de';
3384
- };
3385
- type TransactionController1Response = void;
3386
- type AccountStandardsControllerGetTemplatesData = {
4217
+ type TransactionControllerDeleteData = {
3387
4218
  /**
3388
- * Region code (cn, us, de)
3389
- */
3390
- region: 'cn' | 'us' | 'de';
3391
- /**
3392
- * Search term for path or description
4219
+ * Transaction ID
3393
4220
  */
3394
- search?: string;
4221
+ id: string;
3395
4222
  /**
3396
- * Filter by account type
4223
+ * Region code for tenant context
3397
4224
  */
3398
- type?: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
4225
+ region: 'cn' | 'us' | 'de' | 'gb';
3399
4226
  };
3400
- type AccountStandardsControllerGetTemplatesResponse = AccountStandardListResponseDto;
3401
- type AccountStandardsControllerGetRegionsResponse = RegionsMetadataResponseDto;
4227
+ type TransactionControllerDeleteResponse = void;
3402
4228
  type BalanceControllerGetBalanceData = {
3403
4229
  /**
3404
4230
  * Account name (e.g., "Assets:Bank:Checking")
@@ -3412,8 +4238,18 @@ type BalanceControllerGetBalanceData = {
3412
4238
  * Date to calculate balance at (ISO 8601 format)
3413
4239
  */
3414
4240
  date?: string;
4241
+ /**
4242
+ * Region code for tenant context
4243
+ */
4244
+ region: 'cn' | 'us' | 'de' | 'gb';
3415
4245
  };
3416
4246
  type BalanceControllerGetBalanceResponse = BalanceResponseDto;
4247
+ type BalanceControllerGetMultiCurrencyBalanceData = {
4248
+ /**
4249
+ * Region code for tenant context
4250
+ */
4251
+ region: 'cn' | 'us' | 'de' | 'gb';
4252
+ };
3417
4253
  type BalanceControllerGetMultiCurrencyBalanceResponse = MultiCurrencyBalanceResponseDto;
3418
4254
  type ReviewControllerFindAllData = {
3419
4255
  /**
@@ -3431,7 +4267,7 @@ type ReviewControllerFindAllData = {
3431
4267
  /**
3432
4268
  * Region code for tenant context
3433
4269
  */
3434
- region: 'cn' | 'us' | 'de';
4270
+ region: 'cn' | 'us' | 'de' | 'gb';
3435
4271
  /**
3436
4272
  * Sort order
3437
4273
  */
@@ -3446,7 +4282,7 @@ type ReviewControllerGetStatsData = {
3446
4282
  /**
3447
4283
  * Region code for tenant context
3448
4284
  */
3449
- region: 'cn' | 'us' | 'de';
4285
+ region: 'cn' | 'us' | 'de' | 'gb';
3450
4286
  };
3451
4287
  type ReviewControllerGetStatsResponse = ReviewStatsDto;
3452
4288
  type ReviewControllerFindOneData = {
@@ -3457,31 +4293,47 @@ type ReviewControllerFindOneData = {
3457
4293
  /**
3458
4294
  * Region code for tenant context
3459
4295
  */
3460
- region: 'cn' | 'us' | 'de';
4296
+ region: 'cn' | 'us' | 'de' | 'gb';
3461
4297
  };
3462
4298
  type ReviewControllerFindOneResponse = ReviewDetailDto;
3463
- type ReviewControllerData = {
4299
+ type ReviewControllerResolveData = {
4300
+ /**
4301
+ * Review ID
4302
+ */
4303
+ id: string;
3464
4304
  /**
3465
4305
  * Region code for tenant context
3466
4306
  */
3467
- region: 'cn' | 'us' | 'de';
4307
+ region: 'cn' | 'us' | 'de' | 'gb';
4308
+ requestBody: ResolveReviewDto;
3468
4309
  };
3469
- type ReviewControllerResponse = unknown;
3470
- type ReviewController1Data = {
4310
+ type ReviewControllerResolveResponse = ResolveResultDto;
4311
+ type ReviewControllerUndoData = {
4312
+ /**
4313
+ * Review ID
4314
+ */
4315
+ id: string;
3471
4316
  /**
3472
4317
  * Region code for tenant context
3473
4318
  */
3474
- region: 'cn' | 'us' | 'de';
4319
+ region: 'cn' | 'us' | 'de' | 'gb';
3475
4320
  };
3476
- type ReviewController1Response = unknown;
3477
- type ReviewController2Data = {
4321
+ type ReviewControllerUndoResponse = UndoResultDto;
4322
+ type ReviewControllerBatchResolveData = {
3478
4323
  /**
3479
4324
  * Region code for tenant context
3480
4325
  */
3481
- region: 'cn' | 'us' | 'de';
4326
+ region: 'cn' | 'us' | 'de' | 'gb';
4327
+ /**
4328
+ * Batch resolution request containing review IDs and action
4329
+ */
4330
+ requestBody: BatchResolveDto;
4331
+ };
4332
+ type ReviewControllerBatchResolveResponse = BatchResolveResultDto;
4333
+ type PayeeControllerCreateData = {
4334
+ requestBody: CreatePayeeDto;
3482
4335
  };
3483
- type ReviewController2Response = unknown;
3484
- type PayeeControllerResponse = unknown;
4336
+ type PayeeControllerCreateResponse = PayeeResponseDto;
3485
4337
  type PayeeControllerFindAllData = {
3486
4338
  /**
3487
4339
  * Filter by custom category
@@ -3530,9 +4382,25 @@ type PayeeControllerFindOneData = {
3530
4382
  id: string;
3531
4383
  };
3532
4384
  type PayeeControllerFindOneResponse = PayeeResponseDto;
3533
- type PayeeController1Response = unknown;
3534
- type PayeeController2Response = void;
3535
- type PayeeProfileAdminControllerResponse = unknown;
4385
+ type PayeeControllerUpdateData = {
4386
+ /**
4387
+ * Payee UUID
4388
+ */
4389
+ id: string;
4390
+ requestBody: UpdatePayeeDto;
4391
+ };
4392
+ type PayeeControllerUpdateResponse = PayeeResponseDto;
4393
+ type PayeeControllerDeleteData = {
4394
+ /**
4395
+ * Payee UUID
4396
+ */
4397
+ id: string;
4398
+ };
4399
+ type PayeeControllerDeleteResponse = void;
4400
+ type PayeeProfileAdminControllerCreateData = {
4401
+ requestBody: CreatePayeeProfileDto;
4402
+ };
4403
+ type PayeeProfileAdminControllerCreateResponse = PayeeProfileResponseDto;
3536
4404
  type PayeeProfileAdminControllerFindAllData = {
3537
4405
  /**
3538
4406
  * Filter by category
@@ -3567,22 +4435,48 @@ type PayeeProfileAdminControllerFindOneData = {
3567
4435
  id: string;
3568
4436
  };
3569
4437
  type PayeeProfileAdminControllerFindOneResponse = PayeeProfileResponseDto;
3570
- type PayeeProfileAdminController1Response = unknown;
3571
- type PayeeProfileAdminController2Response = void;
3572
- type PayeeProfileAdminController3Response = unknown;
3573
- type PayeeProfileAdminController4Response = unknown;
3574
- type CommodityControllerData = {
4438
+ type PayeeProfileAdminControllerUpdateData = {
4439
+ /**
4440
+ * Payee profile ID (UUID)
4441
+ */
4442
+ id: string;
4443
+ requestBody: UpdatePayeeProfileDto;
4444
+ };
4445
+ type PayeeProfileAdminControllerUpdateResponse = PayeeProfileResponseDto;
4446
+ type PayeeProfileAdminControllerDeleteData = {
4447
+ /**
4448
+ * Payee profile ID (UUID)
4449
+ */
4450
+ id: string;
4451
+ };
4452
+ type PayeeProfileAdminControllerDeleteResponse = void;
4453
+ type PayeeProfileAdminControllerVerifyData = {
4454
+ /**
4455
+ * Payee profile ID (UUID)
4456
+ */
4457
+ id: string;
4458
+ };
4459
+ type PayeeProfileAdminControllerVerifyResponse = PayeeProfileResponseDto;
4460
+ type PayeeProfileAdminControllerUnverifyData = {
4461
+ /**
4462
+ * Payee profile ID (UUID)
4463
+ */
4464
+ id: string;
4465
+ };
4466
+ type PayeeProfileAdminControllerUnverifyResponse = PayeeProfileResponseDto;
4467
+ type CommodityControllerCreateData = {
3575
4468
  /**
3576
4469
  * Region code for tenant context
3577
4470
  */
3578
- region: 'cn' | 'us' | 'de';
4471
+ region: 'cn' | 'us' | 'de' | 'gb';
4472
+ requestBody: CreateCommodityDto;
3579
4473
  };
3580
- type CommodityControllerResponse = unknown;
4474
+ type CommodityControllerCreateResponse = CommodityResponseDto;
3581
4475
  type CommodityControllerFindAllData = {
3582
4476
  /**
3583
4477
  * Region code for tenant context
3584
4478
  */
3585
- region: 'cn' | 'us' | 'de';
4479
+ region: 'cn' | 'us' | 'de' | 'gb';
3586
4480
  /**
3587
4481
  * Search term for symbol or metadata fields (partial match). Searches symbol and metadata.name.
3588
4482
  */
@@ -3597,48 +4491,62 @@ type CommodityControllerFindOneData = {
3597
4491
  /**
3598
4492
  * Region code for tenant context
3599
4493
  */
3600
- region: 'cn' | 'us' | 'de';
4494
+ region: 'cn' | 'us' | 'de' | 'gb';
3601
4495
  /**
3602
4496
  * Commodity symbol
3603
4497
  */
3604
4498
  symbol: string;
3605
4499
  };
3606
4500
  type CommodityControllerFindOneResponse = CommodityResponseDto;
3607
- type CommodityController1Data = {
4501
+ type CommodityControllerUpdateData = {
3608
4502
  /**
3609
4503
  * Region code for tenant context
3610
4504
  */
3611
- region: 'cn' | 'us' | 'de';
4505
+ region: 'cn' | 'us' | 'de' | 'gb';
4506
+ requestBody: UpdateCommodityDto;
4507
+ /**
4508
+ * Commodity symbol
4509
+ */
4510
+ symbol: string;
3612
4511
  };
3613
- type CommodityController1Response = unknown;
3614
- type CommodityController2Data = {
4512
+ type CommodityControllerUpdateResponse = CommodityResponseDto;
4513
+ type CommodityControllerDeleteData = {
3615
4514
  /**
3616
4515
  * Region code for tenant context
3617
4516
  */
3618
- region: 'cn' | 'us' | 'de';
4517
+ region: 'cn' | 'us' | 'de' | 'gb';
4518
+ /**
4519
+ * Commodity symbol
4520
+ */
4521
+ symbol: string;
3619
4522
  };
3620
- type CommodityController2Response = void;
3621
- type CommodityController3Data = {
4523
+ type CommodityControllerDeleteResponse = void;
4524
+ type CommodityControllerGetOrCreateData = {
3622
4525
  /**
3623
4526
  * Region code for tenant context
3624
4527
  */
3625
- region: 'cn' | 'us' | 'de';
4528
+ region: 'cn' | 'us' | 'de' | 'gb';
4529
+ /**
4530
+ * Commodity symbol
4531
+ */
4532
+ symbol: string;
3626
4533
  };
3627
- type CommodityController3Response = unknown;
3628
- type CommodityController4Data = {
4534
+ type CommodityControllerGetOrCreateResponse = CommodityResponseDto;
4535
+ type CommodityControllerBulkCreateData = {
3629
4536
  /**
3630
4537
  * Region code for tenant context
3631
4538
  */
3632
- region: 'cn' | 'us' | 'de';
4539
+ region: 'cn' | 'us' | 'de' | 'gb';
3633
4540
  };
3634
- type CommodityController4Response = unknown;
3635
- type RecurringRuleControllerData = {
4541
+ type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
4542
+ type RecurringRuleControllerCreateData = {
3636
4543
  /**
3637
4544
  * Region code for tenant context
3638
4545
  */
3639
- region: 'cn' | 'us' | 'de';
4546
+ region: 'cn' | 'us' | 'de' | 'gb';
4547
+ requestBody: CreateRecurringRuleDto;
3640
4548
  };
3641
- type RecurringRuleControllerResponse = unknown;
4549
+ type RecurringRuleControllerCreateResponse = RecurringRuleResponseDto;
3642
4550
  type RecurringRuleControllerFindAllData = {
3643
4551
  /**
3644
4552
  * Filter by frequency (WEEKLY, MONTHLY, etc.)
@@ -3655,16 +4563,21 @@ type RecurringRuleControllerFindAllData = {
3655
4563
  /**
3656
4564
  * Region code for tenant context
3657
4565
  */
3658
- region: 'cn' | 'us' | 'de';
4566
+ region: 'cn' | 'us' | 'de' | 'gb';
3659
4567
  };
3660
4568
  type RecurringRuleControllerFindAllResponse = Array<RecurringRuleResponseDto>;
3661
- type RecurringRuleController1Data = {
4569
+ type RecurringRuleControllerCreateFromTransactionData = {
3662
4570
  /**
3663
4571
  * Region code for tenant context
3664
4572
  */
3665
- region: 'cn' | 'us' | 'de';
4573
+ region: 'cn' | 'us' | 'de' | 'gb';
4574
+ requestBody: CreateRuleFromTransactionDto;
4575
+ /**
4576
+ * Source transaction ID
4577
+ */
4578
+ transactionId: string;
3666
4579
  };
3667
- type RecurringRuleController1Response = unknown;
4580
+ type RecurringRuleControllerCreateFromTransactionResponse = RecurringRuleResponseDto;
3668
4581
  type RecurringRuleControllerFindOneData = {
3669
4582
  /**
3670
4583
  * Rule ID
@@ -3673,23 +4586,32 @@ type RecurringRuleControllerFindOneData = {
3673
4586
  /**
3674
4587
  * Region code for tenant context
3675
4588
  */
3676
- region: 'cn' | 'us' | 'de';
4589
+ region: 'cn' | 'us' | 'de' | 'gb';
3677
4590
  };
3678
4591
  type RecurringRuleControllerFindOneResponse = RecurringRuleResponseDto;
3679
- type RecurringRuleController2Data = {
4592
+ type RecurringRuleControllerUpdateData = {
4593
+ /**
4594
+ * Rule ID
4595
+ */
4596
+ id: string;
3680
4597
  /**
3681
4598
  * Region code for tenant context
3682
4599
  */
3683
- region: 'cn' | 'us' | 'de';
4600
+ region: 'cn' | 'us' | 'de' | 'gb';
4601
+ requestBody: UpdateRecurringRuleDto;
3684
4602
  };
3685
- type RecurringRuleController2Response = unknown;
3686
- type RecurringRuleController3Data = {
4603
+ type RecurringRuleControllerUpdateResponse = RecurringRuleResponseDto;
4604
+ type RecurringRuleControllerDeleteData = {
4605
+ /**
4606
+ * Rule ID
4607
+ */
4608
+ id: string;
3687
4609
  /**
3688
4610
  * Region code for tenant context
3689
4611
  */
3690
- region: 'cn' | 'us' | 'de';
4612
+ region: 'cn' | 'us' | 'de' | 'gb';
3691
4613
  };
3692
- type RecurringRuleController3Response = void;
4614
+ type RecurringRuleControllerDeleteResponse = void;
3693
4615
  type RecurringRuleControllerGetWithStatsData = {
3694
4616
  /**
3695
4617
  * Rule ID
@@ -3698,7 +4620,7 @@ type RecurringRuleControllerGetWithStatsData = {
3698
4620
  /**
3699
4621
  * Region code for tenant context
3700
4622
  */
3701
- region: 'cn' | 'us' | 'de';
4623
+ region: 'cn' | 'us' | 'de' | 'gb';
3702
4624
  };
3703
4625
  type RecurringRuleControllerGetWithStatsResponse = RecurringRuleWithStatsResponseDto;
3704
4626
  type ExpectedTransactionControllerFindAllData = {
@@ -3709,7 +4631,7 @@ type ExpectedTransactionControllerFindAllData = {
3709
4631
  /**
3710
4632
  * Region code for tenant context
3711
4633
  */
3712
- region: 'cn' | 'us' | 'de';
4634
+ region: 'cn' | 'us' | 'de' | 'gb';
3713
4635
  /**
3714
4636
  * Filter by recurring rule ID
3715
4637
  */
@@ -3728,7 +4650,7 @@ type ExpectedTransactionControllerFindOverdueData = {
3728
4650
  /**
3729
4651
  * Region code for tenant context
3730
4652
  */
3731
- region: 'cn' | 'us' | 'de';
4653
+ region: 'cn' | 'us' | 'de' | 'gb';
3732
4654
  };
3733
4655
  type ExpectedTransactionControllerFindOverdueResponse = ExpectedTransactionListResponseDto;
3734
4656
  type ExpectedTransactionControllerFindOneData = {
@@ -3739,58 +4661,85 @@ type ExpectedTransactionControllerFindOneData = {
3739
4661
  /**
3740
4662
  * Region code for tenant context
3741
4663
  */
3742
- region: 'cn' | 'us' | 'de';
4664
+ region: 'cn' | 'us' | 'de' | 'gb';
3743
4665
  };
3744
4666
  type ExpectedTransactionControllerFindOneResponse = ExpectedTransactionResponseDto;
3745
- type ExpectedTransactionControllerData = {
4667
+ type ExpectedTransactionControllerSkipData = {
4668
+ /**
4669
+ * Expected transaction ID
4670
+ */
4671
+ id: string;
3746
4672
  /**
3747
4673
  * Region code for tenant context
3748
4674
  */
3749
- region: 'cn' | 'us' | 'de';
4675
+ region: 'cn' | 'us' | 'de' | 'gb';
3750
4676
  };
3751
- type ExpectedTransactionControllerResponse = unknown;
3752
- type ExpectedTransactionController1Data = {
4677
+ type ExpectedTransactionControllerSkipResponse = ExpectedTransactionResponseDto;
4678
+ type ExpectedTransactionControllerUndoSkipData = {
4679
+ /**
4680
+ * Expected transaction ID
4681
+ */
4682
+ id: string;
3753
4683
  /**
3754
4684
  * Region code for tenant context
3755
4685
  */
3756
- region: 'cn' | 'us' | 'de';
4686
+ region: 'cn' | 'us' | 'de' | 'gb';
3757
4687
  };
3758
- type ExpectedTransactionController1Response = unknown;
3759
- type ExpectedTransactionController2Data = {
4688
+ type ExpectedTransactionControllerUndoSkipResponse = ExpectedTransactionResponseDto;
4689
+ type ExpectedTransactionControllerConfirmMatchData = {
4690
+ /**
4691
+ * Expected transaction ID
4692
+ */
4693
+ id: string;
3760
4694
  /**
3761
4695
  * Region code for tenant context
3762
4696
  */
3763
- region: 'cn' | 'us' | 'de';
4697
+ region: 'cn' | 'us' | 'de' | 'gb';
4698
+ requestBody: ConfirmMatchDto;
3764
4699
  };
3765
- type ExpectedTransactionController2Response = unknown;
3766
- type ExpectedTransactionController3Data = {
4700
+ type ExpectedTransactionControllerConfirmMatchResponse = unknown;
4701
+ type ExpectedTransactionControllerUnmatchData = {
4702
+ /**
4703
+ * Expected transaction ID
4704
+ */
4705
+ id: string;
3767
4706
  /**
3768
4707
  * Region code for tenant context
3769
4708
  */
3770
- region: 'cn' | 'us' | 'de';
4709
+ region: 'cn' | 'us' | 'de' | 'gb';
3771
4710
  };
3772
- type ExpectedTransactionController3Response = unknown;
3773
- type ExpectedTransactionController4Data = {
4711
+ type ExpectedTransactionControllerUnmatchResponse = unknown;
4712
+ type ExpectedTransactionControllerEnterNowData = {
4713
+ /**
4714
+ * Expected transaction ID
4715
+ */
4716
+ id: string;
3774
4717
  /**
3775
4718
  * Region code for tenant context
3776
4719
  */
3777
- region: 'cn' | 'us' | 'de';
4720
+ region: 'cn' | 'us' | 'de' | 'gb';
4721
+ requestBody: EnterNowDto;
3778
4722
  };
3779
- type ExpectedTransactionController4Response = unknown;
4723
+ type ExpectedTransactionControllerEnterNowResponse = unknown;
3780
4724
  type ForecastControllerGetForecastData = {
3781
4725
  /**
3782
4726
  * Number of months to forecast (1-12, default 3)
3783
4727
  */
3784
4728
  months?: number;
4729
+ /**
4730
+ * Region code for tenant context
4731
+ */
4732
+ region: 'cn' | 'us' | 'de' | 'gb';
3785
4733
  };
3786
4734
  type ForecastControllerGetForecastResponse = ForecastResponseDto;
3787
- type TransactionRuleControllerData = {
4735
+ type TransactionRuleControllerCreateData = {
3788
4736
  /**
3789
4737
  * Region code for tenant context
3790
4738
  */
3791
- region: 'cn' | 'us' | 'de';
4739
+ region: 'cn' | 'us' | 'de' | 'gb';
4740
+ requestBody: CreateTransactionRuleDto;
3792
4741
  };
3793
- type TransactionRuleControllerResponse = unknown;
4742
+ type TransactionRuleControllerCreateResponse = TransactionRuleResponseDto;
3794
4743
  type TransactionRuleControllerListData = {
3795
4744
  /**
3796
4745
  * Filter by auto-apply status
@@ -3815,24 +4764,25 @@ type TransactionRuleControllerListData = {
3815
4764
  /**
3816
4765
  * Region code for tenant context
3817
4766
  */
3818
- region: 'cn' | 'us' | 'de';
4767
+ region: 'cn' | 'us' | 'de' | 'gb';
3819
4768
  };
3820
4769
  type TransactionRuleControllerListResponse = TransactionRuleListResponseDto;
3821
4770
  type TransactionRuleControllerValidateData = {
3822
4771
  /**
3823
4772
  * Region code for tenant context
3824
4773
  */
3825
- region: 'cn' | 'us' | 'de';
4774
+ region: 'cn' | 'us' | 'de' | 'gb';
3826
4775
  requestBody: ValidateRuleDto;
3827
4776
  };
3828
4777
  type TransactionRuleControllerValidateResponse = ValidateRuleResponseDto;
3829
- type TransactionRuleController1Data = {
4778
+ type TransactionRuleControllerBulkCreateData = {
3830
4779
  /**
3831
4780
  * Region code for tenant context
3832
4781
  */
3833
- region: 'cn' | 'us' | 'de';
4782
+ region: 'cn' | 'us' | 'de' | 'gb';
4783
+ requestBody: BulkCreateRulesDto;
3834
4784
  };
3835
- type TransactionRuleController1Response = unknown;
4785
+ type TransactionRuleControllerBulkCreateResponse = BulkCreateRulesResponseDto;
3836
4786
  type TransactionRuleControllerExportData = {
3837
4787
  /**
3838
4788
  * Export format (currently only JSON supported)
@@ -3841,7 +4791,7 @@ type TransactionRuleControllerExportData = {
3841
4791
  /**
3842
4792
  * Region code for tenant context
3843
4793
  */
3844
- region: 'cn' | 'us' | 'de';
4794
+ region: 'cn' | 'us' | 'de' | 'gb';
3845
4795
  };
3846
4796
  type TransactionRuleControllerExportResponse = ExportRulesResponseDto;
3847
4797
  type TransactionRuleControllerGetStatisticsData = {
@@ -3852,39 +4802,48 @@ type TransactionRuleControllerGetStatisticsData = {
3852
4802
  /**
3853
4803
  * Region code for tenant context
3854
4804
  */
3855
- region: 'cn' | 'us' | 'de';
4805
+ region: 'cn' | 'us' | 'de' | 'gb';
3856
4806
  };
3857
4807
  type TransactionRuleControllerGetStatisticsResponse = RuleStatisticsResponseDto;
3858
4808
  type TransactionRuleControllerGetDetailData = {
3859
4809
  /**
3860
4810
  * Region code for tenant context
3861
4811
  */
3862
- region: 'cn' | 'us' | 'de';
4812
+ region: 'cn' | 'us' | 'de' | 'gb';
3863
4813
  /**
3864
4814
  * Rule ID
3865
4815
  */
3866
4816
  ruleId: string;
3867
4817
  };
3868
4818
  type TransactionRuleControllerGetDetailResponse = TransactionRuleResponseDto;
3869
- type TransactionRuleController2Data = {
4819
+ type TransactionRuleControllerUpdateData = {
3870
4820
  /**
3871
4821
  * Region code for tenant context
3872
4822
  */
3873
- region: 'cn' | 'us' | 'de';
4823
+ region: 'cn' | 'us' | 'de' | 'gb';
4824
+ requestBody: UpdateTransactionRuleDto;
4825
+ /**
4826
+ * Rule ID to update
4827
+ */
4828
+ ruleId: string;
3874
4829
  };
3875
- type TransactionRuleController2Response = unknown;
3876
- type TransactionRuleController3Data = {
4830
+ type TransactionRuleControllerUpdateResponse = TransactionRuleResponseDto;
4831
+ type TransactionRuleControllerDeleteData = {
3877
4832
  /**
3878
4833
  * Region code for tenant context
3879
4834
  */
3880
- region: 'cn' | 'us' | 'de';
4835
+ region: 'cn' | 'us' | 'de' | 'gb';
4836
+ /**
4837
+ * Rule ID to delete
4838
+ */
4839
+ ruleId: string;
3881
4840
  };
3882
- type TransactionRuleController3Response = void;
4841
+ type TransactionRuleControllerDeleteResponse = void;
3883
4842
  type TransactionRuleControllerTestData = {
3884
4843
  /**
3885
4844
  * Region code for tenant context
3886
4845
  */
3887
- region: 'cn' | 'us' | 'de';
4846
+ region: 'cn' | 'us' | 'de' | 'gb';
3888
4847
  requestBody: TestRuleDto;
3889
4848
  /**
3890
4849
  * Rule ID to test
@@ -3942,13 +4901,31 @@ type PropertyControllerGetByKeyData = {
3942
4901
  key: string;
3943
4902
  };
3944
4903
  type PropertyControllerGetByKeyResponse = unknown;
3945
- type PropertyControllerResponse = unknown;
3946
- type PropertyController1Response = void;
4904
+ type PropertyControllerUpdateData = {
4905
+ /**
4906
+ * Property key
4907
+ */
4908
+ key: string;
4909
+ requestBody: UpdatePropertyDto;
4910
+ };
4911
+ type PropertyControllerUpdateResponse = unknown;
4912
+ type PropertyControllerDeleteData = {
4913
+ /**
4914
+ * Property key
4915
+ */
4916
+ key: string;
4917
+ };
4918
+ type PropertyControllerDeleteResponse = void;
4919
+ type ExportControllerExportBeancountResponse = unknown;
3947
4920
  type FileImportControllerImportFileData = {
3948
4921
  /**
3949
4922
  * Bill file to import
3950
4923
  */
3951
4924
  formData: FileImportDto;
4925
+ /**
4926
+ * Region code for tenant context
4927
+ */
4928
+ region: 'cn' | 'us' | 'de' | 'gb';
3952
4929
  };
3953
4930
  type FileImportControllerImportFileResponse = ImportResultDto;
3954
4931
  type FileImportControllerIdentifyFileData = {
@@ -3956,8 +4933,31 @@ type FileImportControllerIdentifyFileData = {
3956
4933
  * File to identify
3957
4934
  */
3958
4935
  formData: FileImportDto;
4936
+ /**
4937
+ * Region code for tenant context
4938
+ */
4939
+ region: 'cn' | 'us' | 'de' | 'gb';
3959
4940
  };
3960
4941
  type FileImportControllerIdentifyFileResponse = IdentifyResultDto;
4942
+ type FileImportControllerImportBeancountData = {
4943
+ /**
4944
+ * Beancount file to import
4945
+ */
4946
+ formData: FileImportDto;
4947
+ /**
4948
+ * Region code for tenant context
4949
+ */
4950
+ region: 'cn' | 'us' | 'de' | 'gb';
4951
+ };
4952
+ type FileImportControllerImportBeancountResponse = {
4953
+ imported?: number;
4954
+ skipped?: number;
4955
+ failed?: number;
4956
+ accountsCreated?: number;
4957
+ errors?: Array<{
4958
+ [key: string]: unknown;
4959
+ }>;
4960
+ };
3961
4961
  type ImporterConfigControllerGetConfigData = {
3962
4962
  /**
3963
4963
  * 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
@@ -3966,23 +4966,67 @@ type ImporterConfigControllerGetConfigData = {
3966
4966
  /**
3967
4967
  * Region code for tenant context
3968
4968
  */
3969
- region: 'cn' | 'us' | 'de';
4969
+ region: 'cn' | 'us' | 'de' | 'gb';
3970
4970
  };
3971
4971
  type ImporterConfigControllerGetConfigResponse = ImporterConfigDto;
3972
- type ImporterConfigControllerData = {
4972
+ type ImporterConfigControllerUpdateConfigData = {
4973
+ /**
4974
+ * 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
4975
+ */
4976
+ importerId: string;
3973
4977
  /**
3974
4978
  * Region code for tenant context
3975
4979
  */
3976
- region: 'cn' | 'us' | 'de';
4980
+ region: 'cn' | 'us' | 'de' | 'gb';
4981
+ /**
4982
+ * Partial configuration update. Only provided fields will be updated.
4983
+ */
4984
+ requestBody: UpdateImporterConfigDto;
3977
4985
  };
3978
- type ImporterConfigControllerResponse = unknown;
3979
- type ImporterConfigController1Data = {
4986
+ type ImporterConfigControllerUpdateConfigResponse = ImporterConfigDto;
4987
+ type ImporterConfigControllerResetConfigData = {
4988
+ /**
4989
+ * 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
4990
+ */
4991
+ importerId: string;
3980
4992
  /**
3981
4993
  * Region code for tenant context
3982
4994
  */
3983
- region: 'cn' | 'us' | 'de';
4995
+ region: 'cn' | 'us' | 'de' | 'gb';
4996
+ };
4997
+ type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
4998
+ type PlatformControllerFindAllResponse = unknown;
4999
+ type PlatformControllerCreateData = {
5000
+ requestBody: CreatePlatformDto;
5001
+ };
5002
+ type PlatformControllerCreateResponse = unknown;
5003
+ type PlatformControllerGetPlatformListResponse = unknown;
5004
+ type PlatformControllerMatchPlatformsData = {
5005
+ /**
5006
+ * Search query — Chinese name, English name, or abbreviation
5007
+ */
5008
+ q: string;
5009
+ /**
5010
+ * Region code for category override lookup
5011
+ */
5012
+ region?: string;
5013
+ };
5014
+ type PlatformControllerMatchPlatformsResponse = unknown;
5015
+ type PlatformControllerUpdateData = {
5016
+ /**
5017
+ * Platform ID
5018
+ */
5019
+ id: string;
5020
+ requestBody: UpdatePlatformDto;
5021
+ };
5022
+ type PlatformControllerUpdateResponse = unknown;
5023
+ type PlatformControllerDeleteData = {
5024
+ /**
5025
+ * Platform ID
5026
+ */
5027
+ id: string;
3984
5028
  };
3985
- type ImporterConfigController1Response = unknown;
5029
+ type PlatformControllerDeleteResponse = void;
3986
5030
  type ProviderSyncControllerSyncData = {
3987
5031
  /**
3988
5032
  * Provider name
@@ -3995,19 +5039,37 @@ type ProviderSyncControllerSyncData = {
3995
5039
  requestBody: ProviderSyncDto;
3996
5040
  };
3997
5041
  type ProviderSyncControllerSyncResponse = ProviderSyncResponseDto;
5042
+ type ProviderSyncControllerGetSupportedProvidersData = {
5043
+ /**
5044
+ * Region code for tenant context
5045
+ */
5046
+ region: 'cn' | 'us' | 'de' | 'gb';
5047
+ };
3998
5048
  type ProviderSyncControllerGetSupportedProvidersResponse = SupportedProvidersResponseDto;
3999
5049
  type ProviderSyncControllerIsProviderSupportedData = {
4000
5050
  /**
4001
5051
  * Provider name to check
4002
5052
  */
4003
5053
  providerName: string;
5054
+ /**
5055
+ * Region code for tenant context
5056
+ */
5057
+ region: 'cn' | 'us' | 'de' | 'gb';
4004
5058
  };
4005
5059
  type ProviderSyncControllerIsProviderSupportedResponse = unknown;
4006
5060
  type TelemetryControllerReportTelemetryData = {
5061
+ /**
5062
+ * Region code for tenant context
5063
+ */
5064
+ region: 'cn' | 'us' | 'de' | 'gb';
4007
5065
  requestBody: ParserTelemetryReportDto;
4008
5066
  };
4009
5067
  type TelemetryControllerReportTelemetryResponse = unknown;
4010
5068
  type NlpControllerProcessNaturalLanguageData = {
5069
+ /**
5070
+ * Region code for tenant context
5071
+ */
5072
+ region: 'cn' | 'us' | 'de' | 'gb';
4011
5073
  /**
4012
5074
  * Natural language transaction input with optional session ID
4013
5075
  */
@@ -4015,6 +5077,10 @@ type NlpControllerProcessNaturalLanguageData = {
4015
5077
  };
4016
5078
  type NlpControllerProcessNaturalLanguageResponse = NlpResponseDto;
4017
5079
  type NlpControllerClearSessionData = {
5080
+ /**
5081
+ * Region code for tenant context
5082
+ */
5083
+ region: 'cn' | 'us' | 'de' | 'gb';
4018
5084
  /**
4019
5085
  * Specific session ID to clear (defaults to user session)
4020
5086
  */
@@ -4022,77 +5088,25 @@ type NlpControllerClearSessionData = {
4022
5088
  };
4023
5089
  type NlpControllerClearSessionResponse = void;
4024
5090
  type NlpControllerGetSessionData = {
5091
+ /**
5092
+ * Region code for tenant context
5093
+ */
5094
+ region: 'cn' | 'us' | 'de' | 'gb';
4025
5095
  /**
4026
5096
  * Specific session ID to get (defaults to user session)
4027
5097
  */
4028
5098
  sessionId?: string;
4029
5099
  };
4030
5100
  type NlpControllerGetSessionResponse = unknown;
4031
- type PlatformControllerFindAllResponse = unknown;
4032
- type PlatformControllerResponse = unknown;
4033
- type PlatformControllerGetPlatformListResponse = unknown;
4034
- type PlatformController1Response = unknown;
4035
- type PlatformController2Response = void;
4036
- type SymbolControllerLookupSymbolData = {
4037
- /**
4038
- * Geographic area filter (e.g., CN, US)
4039
- */
4040
- area?: unknown;
4041
- /**
4042
- * Asset class filter
4043
- */
4044
- assetClass?: unknown;
4045
- /**
4046
- * Asset sub-class filter
4047
- */
4048
- assetSubClass?: unknown;
4049
- /**
4050
- * Include index symbols in results
4051
- */
4052
- includeIndices?: unknown;
4053
- /**
4054
- * Search query string
4055
- */
4056
- query?: unknown;
4057
- };
4058
- type SymbolControllerLookupSymbolResponse = unknown;
4059
- type SymbolControllerGetSymbolDataData = {
4060
- /**
4061
- * Data source provider
4062
- */
4063
- dataSource: 'ALPHA_VANTAGE' | 'EOD_HISTORICAL_DATA' | 'FINANCIAL_MODELING_PREP' | 'MANUAL' | 'RAPID_API' | 'YAHOO' | 'COINGECKO' | 'TUSHARE' | 'BLOOMBERG' | 'CSI' | 'STOOQ' | 'TRADING_VIEW';
4064
- /**
4065
- * Include historical price data (0 or 1)
4066
- */
4067
- includeHistoricalData?: unknown;
4068
- /**
4069
- * Symbol identifier (e.g., ticker code)
4070
- */
4071
- symbol: string;
4072
- };
4073
- type SymbolControllerGetSymbolDataResponse = unknown;
4074
- type SymbolControllerGatherSymbolForDateData = {
4075
- /**
4076
- * Data source provider
4077
- */
4078
- dataSource: 'ALPHA_VANTAGE' | 'EOD_HISTORICAL_DATA' | 'FINANCIAL_MODELING_PREP' | 'MANUAL' | 'RAPID_API' | 'YAHOO' | 'COINGECKO' | 'TUSHARE' | 'BLOOMBERG' | 'CSI' | 'STOOQ' | 'TRADING_VIEW';
4079
- /**
4080
- * Date in ISO 8601 format (YYYY-MM-DD)
4081
- */
4082
- dateString: string;
4083
- /**
4084
- * Symbol identifier (e.g., ticker code)
4085
- */
4086
- symbol: string;
4087
- };
4088
- type SymbolControllerGatherSymbolForDateResponse = unknown;
4089
- type SymbolControllerResponse = unknown;
4090
- type CacheControllerFlushCacheResponse = unknown;
4091
5101
  type DashboardControllerGetNetWorthData = {
4092
5102
  /**
4093
5103
  * Date for balance calculation (ISO 8601 format)
4094
5104
  */
4095
5105
  date?: string;
5106
+ /**
5107
+ * Region code for tenant context
5108
+ */
5109
+ region: 'cn' | 'us' | 'de' | 'gb';
4096
5110
  };
4097
5111
  type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
4098
5112
  type DashboardControllerGetAccountsData = {
@@ -4104,6 +5118,10 @@ type DashboardControllerGetAccountsData = {
4104
5118
  * Grouping strategy
4105
5119
  */
4106
5120
  groupBy?: 'platform' | 'assetClass';
5121
+ /**
5122
+ * Region code for tenant context
5123
+ */
5124
+ region: 'cn' | 'us' | 'de' | 'gb';
4107
5125
  };
4108
5126
  type DashboardControllerGetAccountsResponse = AccountsResponseDto | AssetClassAccountsResponseDto;
4109
5127
  type DashboardControllerGetCashFlowData = {
@@ -4111,6 +5129,10 @@ type DashboardControllerGetCashFlowData = {
4111
5129
  * Period in YYYY-MM format
4112
5130
  */
4113
5131
  period: string;
5132
+ /**
5133
+ * Region code for tenant context
5134
+ */
5135
+ region: 'cn' | 'us' | 'de' | 'gb';
4114
5136
  };
4115
5137
  type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
4116
5138
  type ReportingControllerGetPortfolioTrendsData = {
@@ -4122,9 +5144,17 @@ type ReportingControllerGetPortfolioTrendsData = {
4122
5144
  * Time period
4123
5145
  */
4124
5146
  period?: '1m' | '3m' | '6m' | '1y';
5147
+ /**
5148
+ * Region code for tenant context
5149
+ */
5150
+ region: 'cn' | 'us' | 'de' | 'gb';
4125
5151
  };
4126
5152
  type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
4127
5153
  type ReportingControllerGenerateSnapshotData = {
5154
+ /**
5155
+ * Region code for tenant context
5156
+ */
5157
+ region: 'cn' | 'us' | 'de' | 'gb';
4128
5158
  /**
4129
5159
  * Optional date (defaults to today)
4130
5160
  */
@@ -4132,14 +5162,19 @@ type ReportingControllerGenerateSnapshotData = {
4132
5162
  };
4133
5163
  type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
4134
5164
  type ReportingControllerBackfillSnapshotsData = {
5165
+ /**
5166
+ * Region code for tenant context
5167
+ */
5168
+ region: 'cn' | 'us' | 'de' | 'gb';
4135
5169
  requestBody: BackfillSnapshotsBody;
4136
5170
  };
4137
5171
  type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
4138
- type ApiKeysControllerResponse = unknown;
5172
+ type ApiKeysControllerCreateApiKeyResponse = unknown;
4139
5173
  type AuthControllerAccessTokenLoginData = {
4140
5174
  requestBody: AnonymousLoginDto;
4141
5175
  };
4142
5176
  type AuthControllerAccessTokenLoginResponse = unknown;
5177
+ type CacheControllerFlushCacheResponse = unknown;
4143
5178
  type ExchangeRateControllerGetExchangeRateData = {
4144
5179
  /**
4145
5180
  * Date in ISO format (YYYY-MM-DD)
@@ -4153,6 +5188,7 @@ type ExchangeRateControllerGetExchangeRateData = {
4153
5188
  type ExchangeRateControllerGetExchangeRateResponse = unknown;
4154
5189
  type HealthControllerGetHealthResponse = unknown;
4155
5190
  type HealthControllerCheckDatabaseResponse = unknown;
5191
+ type HealthControllerCheckOpenBbResponse = unknown;
4156
5192
  type HealthControllerCheckRedisResponse = unknown;
4157
5193
  type HealthControllerGetCircuitBreakersHealthResponse = unknown;
4158
5194
  type HealthControllerResetCircuitBreakerData = {
@@ -4163,52 +5199,7 @@ type HealthControllerResetCircuitBreakerData = {
4163
5199
  };
4164
5200
  type HealthControllerResetCircuitBreakerResponse = unknown;
4165
5201
  type HealthControllerGetMetricsResponse = unknown;
4166
- type HealthControllerGetHealthOfDataEnhancerData = {
4167
- /**
4168
- * Data enhancer name
4169
- */
4170
- name: string;
4171
- };
4172
- type HealthControllerGetHealthOfDataEnhancerResponse = unknown;
4173
- type HealthControllerCheckDataProvidersResponse = unknown;
4174
- type HealthControllerGetHealthOfDataProviderData = {
4175
- /**
4176
- * Data source identifier
4177
- */
4178
- dataSource: string;
4179
- };
4180
- type HealthControllerGetHealthOfDataProviderResponse = unknown;
4181
5202
  type InfoControllerGetInfoResponse = unknown;
4182
- type LogoControllerGetLogoByDataSourceAndSymbolData = {
4183
- /**
4184
- * Data source identifier (e.g., YAHOO, COINGECKO)
4185
- */
4186
- dataSource: string;
4187
- /**
4188
- * Asset symbol (e.g., AAPL, BTC)
4189
- */
4190
- symbol: string;
4191
- };
4192
- type LogoControllerGetLogoByDataSourceAndSymbolResponse = unknown;
4193
- type LogoControllerGetLogoByUrlData = {
4194
- /**
4195
- * Website URL to fetch favicon from
4196
- */
4197
- url: string;
4198
- };
4199
- type LogoControllerGetLogoByUrlResponse = unknown;
4200
- type MarketDataControllerGetMarketDataBySymbolData = {
4201
- /**
4202
- * Data source provider
4203
- */
4204
- dataSource: 'ALPHA_VANTAGE' | 'EOD_HISTORICAL_DATA' | 'FINANCIAL_MODELING_PREP' | 'MANUAL' | 'RAPID_API' | 'YAHOO' | 'COINGECKO' | 'TUSHARE' | 'BLOOMBERG' | 'CSI' | 'STOOQ' | 'TRADING_VIEW';
4205
- /**
4206
- * Symbol code
4207
- */
4208
- symbol: string;
4209
- };
4210
- type MarketDataControllerGetMarketDataBySymbolResponse = unknown;
4211
- type MarketDataControllerResponse = unknown;
4212
5203
  type $OpenApiTs = {
4213
5204
  '/api/v1/{region}/bean/accounts': {
4214
5205
  post: {
@@ -4317,6 +5308,39 @@ type $OpenApiTs = {
4317
5308
  };
4318
5309
  };
4319
5310
  };
5311
+ '/api/v1/{region}/bean/account-standards': {
5312
+ get: {
5313
+ req: AccountStandardsControllerGetTemplatesData;
5314
+ res: {
5315
+ /**
5316
+ * Account templates retrieved successfully
5317
+ */
5318
+ 200: AccountStandardListResponseDto;
5319
+ };
5320
+ };
5321
+ };
5322
+ '/api/v1/{region}/bean/account-standards/template-metadata': {
5323
+ get: {
5324
+ req: AccountStandardsControllerGetTemplateMetadataData;
5325
+ res: {
5326
+ /**
5327
+ * Template metadata retrieved successfully
5328
+ */
5329
+ 200: TemplateMetadataResponseDto;
5330
+ };
5331
+ };
5332
+ };
5333
+ '/api/v1/{region}/bean/account-standards/regions': {
5334
+ get: {
5335
+ req: AccountStandardsControllerGetRegionsData;
5336
+ res: {
5337
+ /**
5338
+ * Regions metadata retrieved successfully
5339
+ */
5340
+ 200: RegionsMetadataResponseDto;
5341
+ };
5342
+ };
5343
+ };
4320
5344
  '/api/v1/{region}/bean/transactions': {
4321
5345
  post: {
4322
5346
  req: TransactionControllerCreateData;
@@ -4350,6 +5374,10 @@ type $OpenApiTs = {
4350
5374
  * Transaction list
4351
5375
  */
4352
5376
  200: TransactionListResponseDto;
5377
+ /**
5378
+ * Validation failed
5379
+ */
5380
+ 400: ApiProblemResponseDto;
4353
5381
  /**
4354
5382
  * Authentication required
4355
5383
  */
@@ -4359,9 +5387,62 @@ type $OpenApiTs = {
4359
5387
  };
4360
5388
  '/api/v1/{region}/bean/transactions/batch': {
4361
5389
  post: {
4362
- req: TransactionControllerData;
5390
+ req: TransactionControllerCreateBatchData;
4363
5391
  res: {
4364
- 201: unknown;
5392
+ /**
5393
+ * Transactions processed
5394
+ */
5395
+ 201: BatchTransactionResponseDto;
5396
+ /**
5397
+ * Invalid input
5398
+ */
5399
+ 400: ApiProblemResponseDto;
5400
+ /**
5401
+ * Authentication required
5402
+ */
5403
+ 401: ApiProblemResponseDto;
5404
+ };
5405
+ };
5406
+ };
5407
+ '/api/v1/{region}/bean/transactions/{id}/correct': {
5408
+ post: {
5409
+ req: TransactionControllerCorrectData;
5410
+ res: {
5411
+ /**
5412
+ * Corrected transaction created
5413
+ */
5414
+ 201: TransactionDetailDto;
5415
+ /**
5416
+ * Original transaction not found
5417
+ */
5418
+ 404: ApiProblemResponseDto;
5419
+ /**
5420
+ * Original no longer ACTIVE (concurrent modification)
5421
+ */
5422
+ 409: ApiProblemResponseDto;
5423
+ /**
5424
+ * Pipeline validation failed (does not balance, invalid accounts)
5425
+ */
5426
+ 422: ApiProblemResponseDto;
5427
+ };
5428
+ };
5429
+ };
5430
+ '/api/v1/{region}/bean/transactions/tags': {
5431
+ get: {
5432
+ req: TransactionControllerSuggestTagsData;
5433
+ res: {
5434
+ /**
5435
+ * Tag suggestions
5436
+ */
5437
+ 200: TagSuggestionsResponseDto;
5438
+ /**
5439
+ * Validation failed
5440
+ */
5441
+ 400: ApiProblemResponseDto;
5442
+ /**
5443
+ * Authentication required
5444
+ */
5445
+ 401: ApiProblemResponseDto;
4365
5446
  };
4366
5447
  };
4367
5448
  };
@@ -4405,30 +5486,24 @@ type $OpenApiTs = {
4405
5486
  };
4406
5487
  };
4407
5488
  delete: {
4408
- req: TransactionController1Data;
5489
+ req: TransactionControllerDeleteData;
4409
5490
  res: {
5491
+ /**
5492
+ * Transaction voided successfully
5493
+ */
4410
5494
  204: void;
4411
- };
4412
- };
4413
- };
4414
- '/api/v1/{region}/bean/account-standards': {
4415
- get: {
4416
- req: AccountStandardsControllerGetTemplatesData;
4417
- res: {
4418
5495
  /**
4419
- * Account templates retrieved successfully
5496
+ * Transaction already voided
4420
5497
  */
4421
- 200: AccountStandardListResponseDto;
4422
- };
4423
- };
4424
- };
4425
- '/api/v1/{region}/bean/account-standards/regions': {
4426
- get: {
4427
- res: {
5498
+ 400: ApiProblemResponseDto;
4428
5499
  /**
4429
- * Regions metadata retrieved successfully
5500
+ * Authentication required
4430
5501
  */
4431
- 200: RegionsMetadataResponseDto;
5502
+ 401: ApiProblemResponseDto;
5503
+ /**
5504
+ * Transaction not found
5505
+ */
5506
+ 404: ApiProblemResponseDto;
4432
5507
  };
4433
5508
  };
4434
5509
  };
@@ -4453,6 +5528,7 @@ type $OpenApiTs = {
4453
5528
  };
4454
5529
  '/api/v1/{region}/bean/balances/multi-currency': {
4455
5530
  get: {
5531
+ req: BalanceControllerGetMultiCurrencyBalanceData;
4456
5532
  res: {
4457
5533
  /**
4458
5534
  * Balances calculated successfully
@@ -4495,32 +5571,44 @@ type $OpenApiTs = {
4495
5571
  };
4496
5572
  '/api/v1/{region}/bean/reviews/{id}/resolve': {
4497
5573
  post: {
4498
- req: ReviewControllerData;
5574
+ req: ReviewControllerResolveData;
4499
5575
  res: {
4500
- 201: unknown;
5576
+ 200: ResolveResultDto;
4501
5577
  };
4502
5578
  };
4503
5579
  };
4504
5580
  '/api/v1/{region}/bean/reviews/{id}/undo': {
4505
5581
  post: {
4506
- req: ReviewController1Data;
5582
+ req: ReviewControllerUndoData;
4507
5583
  res: {
4508
- 201: unknown;
5584
+ 200: UndoResultDto;
4509
5585
  };
4510
5586
  };
4511
5587
  };
4512
5588
  '/api/v1/{region}/bean/reviews/batch-resolve': {
4513
5589
  post: {
4514
- req: ReviewController2Data;
5590
+ req: ReviewControllerBatchResolveData;
4515
5591
  res: {
4516
- 201: unknown;
5592
+ 200: BatchResolveResultDto;
4517
5593
  };
4518
5594
  };
4519
5595
  };
4520
5596
  '/api/v1/bean/payees': {
4521
5597
  post: {
5598
+ req: PayeeControllerCreateData;
4522
5599
  res: {
4523
- 201: unknown;
5600
+ /**
5601
+ * Payee created successfully
5602
+ */
5603
+ 201: PayeeResponseDto;
5604
+ /**
5605
+ * Invalid input data
5606
+ */
5607
+ 400: ApiProblemResponseDto;
5608
+ /**
5609
+ * Payee already exists
5610
+ */
5611
+ 409: ApiProblemResponseDto;
4524
5612
  };
4525
5613
  };
4526
5614
  get: {
@@ -4574,20 +5662,56 @@ type $OpenApiTs = {
4574
5662
  };
4575
5663
  };
4576
5664
  put: {
5665
+ req: PayeeControllerUpdateData;
4577
5666
  res: {
4578
- 200: unknown;
5667
+ /**
5668
+ * Payee updated successfully
5669
+ */
5670
+ 200: PayeeResponseDto;
5671
+ /**
5672
+ * Invalid input data
5673
+ */
5674
+ 400: ApiProblemResponseDto;
5675
+ /**
5676
+ * Payee not found
5677
+ */
5678
+ 404: ApiProblemResponseDto;
4579
5679
  };
4580
5680
  };
4581
5681
  delete: {
5682
+ req: PayeeControllerDeleteData;
4582
5683
  res: {
5684
+ /**
5685
+ * Payee deleted successfully
5686
+ */
4583
5687
  204: void;
5688
+ /**
5689
+ * Payee not found
5690
+ */
5691
+ 404: ApiProblemResponseDto;
4584
5692
  };
4585
5693
  };
4586
5694
  };
4587
5695
  '/api/v1/admin/payee-profiles': {
4588
5696
  post: {
5697
+ req: PayeeProfileAdminControllerCreateData;
4589
5698
  res: {
4590
- 201: unknown;
5699
+ /**
5700
+ * Payee profile created successfully
5701
+ */
5702
+ 201: PayeeProfileResponseDto;
5703
+ /**
5704
+ * Validation failed
5705
+ */
5706
+ 400: ApiProblemResponseDto;
5707
+ /**
5708
+ * Admin access required
5709
+ */
5710
+ 403: ApiProblemResponseDto;
5711
+ /**
5712
+ * Payee profile already exists
5713
+ */
5714
+ 409: ApiProblemResponseDto;
4591
5715
  };
4592
5716
  };
4593
5717
  get: {
@@ -4623,33 +5747,96 @@ type $OpenApiTs = {
4623
5747
  };
4624
5748
  };
4625
5749
  put: {
5750
+ req: PayeeProfileAdminControllerUpdateData;
4626
5751
  res: {
4627
- 200: unknown;
5752
+ /**
5753
+ * Payee profile updated successfully
5754
+ */
5755
+ 200: PayeeProfileResponseDto;
5756
+ /**
5757
+ * Admin access required
5758
+ */
5759
+ 403: ApiProblemResponseDto;
5760
+ /**
5761
+ * Payee profile not found
5762
+ */
5763
+ 404: ApiProblemResponseDto;
4628
5764
  };
4629
5765
  };
4630
5766
  delete: {
5767
+ req: PayeeProfileAdminControllerDeleteData;
4631
5768
  res: {
5769
+ /**
5770
+ * Payee profile deleted successfully
5771
+ */
4632
5772
  204: void;
5773
+ /**
5774
+ * Admin access required
5775
+ */
5776
+ 403: ApiProblemResponseDto;
5777
+ /**
5778
+ * Payee profile not found
5779
+ */
5780
+ 404: ApiProblemResponseDto;
5781
+ /**
5782
+ * Payee profile is in use and cannot be deleted
5783
+ */
5784
+ 409: ApiProblemResponseDto;
4633
5785
  };
4634
5786
  };
4635
5787
  };
4636
5788
  '/api/v1/admin/payee-profiles/{id}/verify': {
4637
5789
  post: {
5790
+ req: PayeeProfileAdminControllerVerifyData;
4638
5791
  res: {
4639
- 201: unknown;
5792
+ /**
5793
+ * Payee profile verified successfully
5794
+ */
5795
+ 201: PayeeProfileResponseDto;
5796
+ /**
5797
+ * Admin access required
5798
+ */
5799
+ 403: ApiProblemResponseDto;
5800
+ /**
5801
+ * Payee profile not found
5802
+ */
5803
+ 404: ApiProblemResponseDto;
4640
5804
  };
4641
5805
  };
4642
5806
  delete: {
5807
+ req: PayeeProfileAdminControllerUnverifyData;
4643
5808
  res: {
4644
- 200: unknown;
5809
+ /**
5810
+ * Payee profile unverified successfully
5811
+ */
5812
+ 200: PayeeProfileResponseDto;
5813
+ /**
5814
+ * Admin access required
5815
+ */
5816
+ 403: ApiProblemResponseDto;
5817
+ /**
5818
+ * Payee profile not found
5819
+ */
5820
+ 404: ApiProblemResponseDto;
4645
5821
  };
4646
5822
  };
4647
5823
  };
4648
5824
  '/api/v1/{region}/bean/commodities': {
4649
5825
  post: {
4650
- req: CommodityControllerData;
5826
+ req: CommodityControllerCreateData;
4651
5827
  res: {
4652
- 201: unknown;
5828
+ /**
5829
+ * Commodity created successfully
5830
+ */
5831
+ 201: CommodityResponseDto;
5832
+ /**
5833
+ * Invalid input data
5834
+ */
5835
+ 400: ApiProblemResponseDto;
5836
+ /**
5837
+ * Commodity already exists
5838
+ */
5839
+ 409: ApiProblemResponseDto;
4653
5840
  };
4654
5841
  };
4655
5842
  get: {
@@ -4677,39 +5864,74 @@ type $OpenApiTs = {
4677
5864
  };
4678
5865
  };
4679
5866
  put: {
4680
- req: CommodityController1Data;
5867
+ req: CommodityControllerUpdateData;
4681
5868
  res: {
4682
- 200: unknown;
5869
+ /**
5870
+ * Commodity updated successfully
5871
+ */
5872
+ 200: CommodityResponseDto;
5873
+ /**
5874
+ * Invalid input data
5875
+ */
5876
+ 400: ApiProblemResponseDto;
5877
+ /**
5878
+ * Commodity not found
5879
+ */
5880
+ 404: ApiProblemResponseDto;
4683
5881
  };
4684
5882
  };
4685
5883
  delete: {
4686
- req: CommodityController2Data;
5884
+ req: CommodityControllerDeleteData;
4687
5885
  res: {
5886
+ /**
5887
+ * Commodity deleted successfully
5888
+ */
4688
5889
  204: void;
5890
+ /**
5891
+ * Commodity not found
5892
+ */
5893
+ 404: ApiProblemResponseDto;
4689
5894
  };
4690
5895
  };
4691
5896
  };
4692
5897
  '/api/v1/{region}/bean/commodities/{symbol}/ensure': {
4693
5898
  post: {
4694
- req: CommodityController3Data;
5899
+ req: CommodityControllerGetOrCreateData;
4695
5900
  res: {
4696
- 201: unknown;
5901
+ /**
5902
+ * Commodity retrieved or created
5903
+ */
5904
+ 200: CommodityResponseDto;
4697
5905
  };
4698
5906
  };
4699
5907
  };
4700
5908
  '/api/v1/{region}/bean/commodities/bulk': {
4701
5909
  post: {
4702
- req: CommodityController4Data;
5910
+ req: CommodityControllerBulkCreateData;
4703
5911
  res: {
4704
- 201: unknown;
5912
+ /**
5913
+ * Commodities created successfully
5914
+ */
5915
+ 201: Array<CommodityResponseDto>;
4705
5916
  };
4706
5917
  };
4707
5918
  };
4708
5919
  '/api/v1/{region}/bean/recurring-rules': {
4709
5920
  post: {
4710
- req: RecurringRuleControllerData;
5921
+ req: RecurringRuleControllerCreateData;
4711
5922
  res: {
4712
- 201: unknown;
5923
+ /**
5924
+ * Rule created successfully
5925
+ */
5926
+ 201: RecurringRuleResponseDto;
5927
+ /**
5928
+ * Invalid input data (e.g., autoCreate without accounts)
5929
+ */
5930
+ 400: unknown;
5931
+ /**
5932
+ * Rule with same name already exists
5933
+ */
5934
+ 409: unknown;
4713
5935
  };
4714
5936
  };
4715
5937
  get: {
@@ -4724,9 +5946,20 @@ type $OpenApiTs = {
4724
5946
  };
4725
5947
  '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}': {
4726
5948
  post: {
4727
- req: RecurringRuleController1Data;
5949
+ req: RecurringRuleControllerCreateFromTransactionData;
4728
5950
  res: {
4729
- 201: unknown;
5951
+ /**
5952
+ * Rule created successfully
5953
+ */
5954
+ 201: RecurringRuleResponseDto;
5955
+ /**
5956
+ * Transaction not found
5957
+ */
5958
+ 404: ApiProblemResponseDto;
5959
+ /**
5960
+ * Rule with same name already exists or transaction already linked
5961
+ */
5962
+ 409: ApiProblemResponseDto;
4730
5963
  };
4731
5964
  };
4732
5965
  };
@@ -4745,15 +5978,33 @@ type $OpenApiTs = {
4745
5978
  };
4746
5979
  };
4747
5980
  patch: {
4748
- req: RecurringRuleController2Data;
5981
+ req: RecurringRuleControllerUpdateData;
4749
5982
  res: {
4750
- 200: unknown;
5983
+ /**
5984
+ * Rule updated successfully
5985
+ */
5986
+ 200: RecurringRuleResponseDto;
5987
+ /**
5988
+ * Invalid input data
5989
+ */
5990
+ 400: unknown;
5991
+ /**
5992
+ * Rule not found
5993
+ */
5994
+ 404: unknown;
4751
5995
  };
4752
5996
  };
4753
5997
  delete: {
4754
- req: RecurringRuleController3Data;
5998
+ req: RecurringRuleControllerDeleteData;
4755
5999
  res: {
6000
+ /**
6001
+ * Rule deleted successfully
6002
+ */
4756
6003
  204: void;
6004
+ /**
6005
+ * Rule not found
6006
+ */
6007
+ 404: unknown;
4757
6008
  };
4758
6009
  };
4759
6010
  };
@@ -4811,37 +6062,96 @@ type $OpenApiTs = {
4811
6062
  };
4812
6063
  '/api/v1/{region}/bean/expected-transactions/{id}/skip': {
4813
6064
  post: {
4814
- req: ExpectedTransactionControllerData;
6065
+ req: ExpectedTransactionControllerSkipData;
4815
6066
  res: {
4816
- 200: unknown;
6067
+ /**
6068
+ * Expected transaction skipped successfully
6069
+ */
6070
+ 200: ExpectedTransactionResponseDto;
6071
+ /**
6072
+ * Cannot skip - not in PENDING status
6073
+ */
6074
+ 400: unknown;
6075
+ /**
6076
+ * Expected transaction not found
6077
+ */
6078
+ 404: unknown;
4817
6079
  };
4818
6080
  };
4819
6081
  delete: {
4820
- req: ExpectedTransactionController1Data;
6082
+ req: ExpectedTransactionControllerUndoSkipData;
4821
6083
  res: {
4822
- 200: unknown;
6084
+ /**
6085
+ * Skip undone successfully
6086
+ */
6087
+ 200: ExpectedTransactionResponseDto;
6088
+ /**
6089
+ * Cannot undo - not in SKIPPED status
6090
+ */
6091
+ 400: unknown;
6092
+ /**
6093
+ * Expected transaction not found
6094
+ */
6095
+ 404: unknown;
4823
6096
  };
4824
6097
  };
4825
6098
  };
4826
6099
  '/api/v1/{region}/bean/expected-transactions/{id}/match': {
4827
6100
  post: {
4828
- req: ExpectedTransactionController2Data;
6101
+ req: ExpectedTransactionControllerConfirmMatchData;
4829
6102
  res: {
6103
+ /**
6104
+ * Match confirmed successfully
6105
+ */
4830
6106
  200: unknown;
6107
+ /**
6108
+ * Cannot match - not in PENDING status
6109
+ */
6110
+ 400: unknown;
6111
+ /**
6112
+ * Expected or actual transaction not found
6113
+ */
6114
+ 404: unknown;
6115
+ /**
6116
+ * Actual transaction already matched to another rule
6117
+ */
6118
+ 409: unknown;
4831
6119
  };
4832
6120
  };
4833
6121
  delete: {
4834
- req: ExpectedTransactionController3Data;
6122
+ req: ExpectedTransactionControllerUnmatchData;
4835
6123
  res: {
6124
+ /**
6125
+ * Match removed successfully
6126
+ */
4836
6127
  200: unknown;
6128
+ /**
6129
+ * Cannot unmatch - not in COMPLETED status
6130
+ */
6131
+ 400: unknown;
6132
+ /**
6133
+ * Expected transaction not found
6134
+ */
6135
+ 404: unknown;
4837
6136
  };
4838
6137
  };
4839
6138
  };
4840
6139
  '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
4841
6140
  post: {
4842
- req: ExpectedTransactionController4Data;
6141
+ req: ExpectedTransactionControllerEnterNowData;
4843
6142
  res: {
6143
+ /**
6144
+ * Transaction created successfully
6145
+ */
4844
6146
  201: unknown;
6147
+ /**
6148
+ * Cannot enter - not in PENDING status or missing accounts
6149
+ */
6150
+ 400: unknown;
6151
+ /**
6152
+ * Expected transaction or accounts not found
6153
+ */
6154
+ 404: unknown;
4845
6155
  };
4846
6156
  };
4847
6157
  };
@@ -4858,9 +6168,24 @@ type $OpenApiTs = {
4858
6168
  };
4859
6169
  '/api/v1/{region}/bean/transaction-rules': {
4860
6170
  post: {
4861
- req: TransactionRuleControllerData;
6171
+ req: TransactionRuleControllerCreateData;
4862
6172
  res: {
4863
- 201: unknown;
6173
+ /**
6174
+ * Rule updated successfully (upsert mode)
6175
+ */
6176
+ 200: TransactionRuleResponseDto;
6177
+ /**
6178
+ * Validation failed
6179
+ */
6180
+ 400: ApiProblemResponseDto;
6181
+ /**
6182
+ * Unauthorized
6183
+ */
6184
+ 401: ApiProblemResponseDto;
6185
+ /**
6186
+ * Resource conflict - another process is updating this rule
6187
+ */
6188
+ 409: ApiProblemResponseDto;
4864
6189
  };
4865
6190
  };
4866
6191
  get: {
@@ -4885,6 +6210,10 @@ type $OpenApiTs = {
4885
6210
  * Validation result
4886
6211
  */
4887
6212
  200: ValidateRuleResponseDto;
6213
+ /**
6214
+ * Validation failed
6215
+ */
6216
+ 400: ApiProblemResponseDto;
4888
6217
  /**
4889
6218
  * Unauthorized
4890
6219
  */
@@ -4894,9 +6223,20 @@ type $OpenApiTs = {
4894
6223
  };
4895
6224
  '/api/v1/{region}/bean/transaction-rules/bulk': {
4896
6225
  post: {
4897
- req: TransactionRuleController1Data;
6226
+ req: TransactionRuleControllerBulkCreateData;
4898
6227
  res: {
4899
- 201: unknown;
6228
+ /**
6229
+ * Bulk create completed
6230
+ */
6231
+ 201: BulkCreateRulesResponseDto;
6232
+ /**
6233
+ * Invalid bulk create data
6234
+ */
6235
+ 400: ApiProblemResponseDto;
6236
+ /**
6237
+ * Unauthorized
6238
+ */
6239
+ 401: ApiProblemResponseDto;
4900
6240
  };
4901
6241
  };
4902
6242
  };
@@ -4957,15 +6297,57 @@ type $OpenApiTs = {
4957
6297
  };
4958
6298
  };
4959
6299
  put: {
4960
- req: TransactionRuleController2Data;
6300
+ req: TransactionRuleControllerUpdateData;
4961
6301
  res: {
4962
- 200: unknown;
6302
+ /**
6303
+ * Rule updated successfully
6304
+ */
6305
+ 200: TransactionRuleResponseDto;
6306
+ /**
6307
+ * Validation failed
6308
+ */
6309
+ 400: ApiProblemResponseDto;
6310
+ /**
6311
+ * Unauthorized
6312
+ */
6313
+ 401: ApiProblemResponseDto;
6314
+ /**
6315
+ * Forbidden - not owner of rule
6316
+ */
6317
+ 403: ApiProblemResponseDto;
6318
+ /**
6319
+ * Rule not found
6320
+ */
6321
+ 404: ApiProblemResponseDto;
6322
+ /**
6323
+ * Resource conflict - rule is being modified by another process
6324
+ */
6325
+ 409: ApiProblemResponseDto;
4963
6326
  };
4964
6327
  };
4965
6328
  delete: {
4966
- req: TransactionRuleController3Data;
6329
+ req: TransactionRuleControllerDeleteData;
4967
6330
  res: {
6331
+ /**
6332
+ * Rule deleted successfully
6333
+ */
4968
6334
  204: void;
6335
+ /**
6336
+ * Unauthorized
6337
+ */
6338
+ 401: ApiProblemResponseDto;
6339
+ /**
6340
+ * Forbidden - not owner of rule
6341
+ */
6342
+ 403: ApiProblemResponseDto;
6343
+ /**
6344
+ * Rule not found
6345
+ */
6346
+ 404: ApiProblemResponseDto;
6347
+ /**
6348
+ * Resource conflict - rule is being modified by another process
6349
+ */
6350
+ 409: ApiProblemResponseDto;
4969
6351
  };
4970
6352
  };
4971
6353
  };
@@ -5140,13 +6522,48 @@ type $OpenApiTs = {
5140
6522
  };
5141
6523
  };
5142
6524
  put: {
6525
+ req: PropertyControllerUpdateData;
5143
6526
  res: {
6527
+ /**
6528
+ * Property updated successfully
6529
+ */
5144
6530
  200: unknown;
6531
+ /**
6532
+ * Unauthorized
6533
+ */
6534
+ 401: unknown;
6535
+ /**
6536
+ * Forbidden - insufficient permissions
6537
+ */
6538
+ 403: unknown;
5145
6539
  };
5146
6540
  };
5147
6541
  delete: {
6542
+ req: PropertyControllerDeleteData;
5148
6543
  res: {
6544
+ /**
6545
+ * Property deleted successfully
6546
+ */
5149
6547
  204: void;
6548
+ /**
6549
+ * Unauthorized
6550
+ */
6551
+ 401: unknown;
6552
+ /**
6553
+ * Forbidden - insufficient permissions
6554
+ */
6555
+ 403: unknown;
6556
+ /**
6557
+ * Property not found
6558
+ */
6559
+ 404: unknown;
6560
+ };
6561
+ };
6562
+ };
6563
+ '/api/v1/{region}/bean/export/beancount': {
6564
+ get: {
6565
+ res: {
6566
+ 200: unknown;
5150
6567
  };
5151
6568
  };
5152
6569
  };
@@ -5219,6 +6636,29 @@ type $OpenApiTs = {
5219
6636
  };
5220
6637
  };
5221
6638
  };
6639
+ '/api/v1/{region}/bean/import/beancount': {
6640
+ post: {
6641
+ req: FileImportControllerImportBeancountData;
6642
+ res: {
6643
+ /**
6644
+ * Beancount file imported successfully
6645
+ */
6646
+ 200: {
6647
+ imported?: number;
6648
+ skipped?: number;
6649
+ failed?: number;
6650
+ accountsCreated?: number;
6651
+ errors?: Array<{
6652
+ [key: string]: unknown;
6653
+ }>;
6654
+ };
6655
+ /**
6656
+ * Bad request - invalid file or no file uploaded
6657
+ */
6658
+ 400: ApiProblemResponseDto;
6659
+ };
6660
+ };
6661
+ };
5222
6662
  '/api/v1/{region}/bean/import/config/{importerId}': {
5223
6663
  get: {
5224
6664
  req: ImporterConfigControllerGetConfigData;
@@ -5238,17 +6678,107 @@ type $OpenApiTs = {
5238
6678
  };
5239
6679
  };
5240
6680
  put: {
5241
- req: ImporterConfigControllerData;
6681
+ req: ImporterConfigControllerUpdateConfigData;
5242
6682
  res: {
5243
- 200: unknown;
6683
+ /**
6684
+ * Configuration updated successfully
6685
+ */
6686
+ 200: ImporterConfigDto;
6687
+ /**
6688
+ * Invalid input - Validation failed
6689
+ */
6690
+ 400: ApiProblemResponseDto;
6691
+ /**
6692
+ * Configuration not found
6693
+ */
6694
+ 404: ApiProblemResponseDto;
5244
6695
  };
5245
6696
  };
5246
6697
  };
5247
6698
  '/api/v1/{region}/bean/import/config/{importerId}/reset': {
5248
6699
  post: {
5249
- req: ImporterConfigController1Data;
6700
+ req: ImporterConfigControllerResetConfigData;
6701
+ res: {
6702
+ /**
6703
+ * Configuration reset successfully
6704
+ */
6705
+ 200: ImporterConfigDto;
6706
+ /**
6707
+ * Invalid input - Unsupported importer
6708
+ */
6709
+ 400: ApiProblemResponseDto;
6710
+ };
6711
+ };
6712
+ };
6713
+ '/api/v1/bean/platforms': {
6714
+ get: {
6715
+ res: {
6716
+ /**
6717
+ * List of platforms with binding and account counts
6718
+ */
6719
+ 200: unknown;
6720
+ };
6721
+ };
6722
+ post: {
6723
+ req: PlatformControllerCreateData;
5250
6724
  res: {
6725
+ /**
6726
+ * Platform created successfully
6727
+ */
5251
6728
  201: unknown;
6729
+ /**
6730
+ * Platform already exists
6731
+ */
6732
+ 409: unknown;
6733
+ };
6734
+ };
6735
+ };
6736
+ '/api/v1/bean/platforms/list': {
6737
+ get: {
6738
+ res: {
6739
+ /**
6740
+ * List of platforms with user binding status
6741
+ */
6742
+ 200: unknown;
6743
+ };
6744
+ };
6745
+ };
6746
+ '/api/v1/bean/platforms/match': {
6747
+ get: {
6748
+ req: PlatformControllerMatchPlatformsData;
6749
+ res: {
6750
+ /**
6751
+ * List of matching platforms with suggested segment names
6752
+ */
6753
+ 200: unknown;
6754
+ };
6755
+ };
6756
+ };
6757
+ '/api/v1/bean/platforms/{id}': {
6758
+ put: {
6759
+ req: PlatformControllerUpdateData;
6760
+ res: {
6761
+ /**
6762
+ * Platform updated successfully
6763
+ */
6764
+ 200: unknown;
6765
+ /**
6766
+ * Platform not found
6767
+ */
6768
+ 404: unknown;
6769
+ };
6770
+ };
6771
+ delete: {
6772
+ req: PlatformControllerDeleteData;
6773
+ res: {
6774
+ /**
6775
+ * Platform deleted successfully
6776
+ */
6777
+ 204: void;
6778
+ /**
6779
+ * Platform not found
6780
+ */
6781
+ 404: unknown;
5252
6782
  };
5253
6783
  };
5254
6784
  };
@@ -5277,6 +6807,7 @@ type $OpenApiTs = {
5277
6807
  };
5278
6808
  '/api/v1/{region}/bean/import/provider/supported': {
5279
6809
  get: {
6810
+ req: ProviderSyncControllerGetSupportedProvidersData;
5280
6811
  res: {
5281
6812
  /**
5282
6813
  * List of supported providers
@@ -5366,110 +6897,6 @@ type $OpenApiTs = {
5366
6897
  };
5367
6898
  };
5368
6899
  };
5369
- '/api/v1/bean/platforms': {
5370
- get: {
5371
- res: {
5372
- /**
5373
- * List of platforms with binding and account counts
5374
- */
5375
- 200: unknown;
5376
- };
5377
- };
5378
- post: {
5379
- res: {
5380
- 201: unknown;
5381
- };
5382
- };
5383
- };
5384
- '/api/v1/bean/platforms/list': {
5385
- get: {
5386
- res: {
5387
- /**
5388
- * List of platforms with user binding status
5389
- */
5390
- 200: unknown;
5391
- };
5392
- };
5393
- };
5394
- '/api/v1/bean/platforms/{id}': {
5395
- put: {
5396
- res: {
5397
- 200: unknown;
5398
- };
5399
- };
5400
- delete: {
5401
- res: {
5402
- 204: void;
5403
- };
5404
- };
5405
- };
5406
- '/api/v1/market/symbols/lookup': {
5407
- get: {
5408
- req: SymbolControllerLookupSymbolData;
5409
- res: {
5410
- /**
5411
- * Symbols found successfully
5412
- */
5413
- 200: unknown;
5414
- /**
5415
- * Invalid query parameters
5416
- */
5417
- 400: unknown;
5418
- };
5419
- };
5420
- };
5421
- '/api/v1/market/symbols/{dataSource}/{symbol}': {
5422
- get: {
5423
- req: SymbolControllerGetSymbolDataData;
5424
- res: {
5425
- /**
5426
- * Symbol data retrieved successfully
5427
- */
5428
- 200: unknown;
5429
- /**
5430
- * Invalid data source
5431
- */
5432
- 400: unknown;
5433
- /**
5434
- * Symbol not found
5435
- */
5436
- 404: unknown;
5437
- };
5438
- };
5439
- };
5440
- '/api/v1/market/symbols/{dataSource}/{symbol}/{dateString}': {
5441
- get: {
5442
- req: SymbolControllerGatherSymbolForDateData;
5443
- res: {
5444
- /**
5445
- * Historical data retrieved successfully
5446
- */
5447
- 200: unknown;
5448
- /**
5449
- * Invalid date format
5450
- */
5451
- 400: unknown;
5452
- /**
5453
- * Symbol data not found for specified date
5454
- */
5455
- 404: unknown;
5456
- };
5457
- };
5458
- };
5459
- '/api/v1/market/symbols/yahoo/batch-update': {
5460
- put: {
5461
- res: {
5462
- 200: unknown;
5463
- };
5464
- };
5465
- };
5466
- '/api/v1/cache/flush': {
5467
- post: {
5468
- res: {
5469
- 201: unknown;
5470
- };
5471
- };
5472
- };
5473
6900
  '/api/v1/{region}/dashboard/net-worth': {
5474
6901
  get: {
5475
6902
  req: DashboardControllerGetNetWorthData;
@@ -5579,7 +7006,14 @@ type $OpenApiTs = {
5579
7006
  '/api/v1/auth/api-keys': {
5580
7007
  post: {
5581
7008
  res: {
7009
+ /**
7010
+ * API key created successfully
7011
+ */
5582
7012
  201: unknown;
7013
+ /**
7014
+ * Insufficient permissions to create API key
7015
+ */
7016
+ 403: unknown;
5583
7017
  };
5584
7018
  };
5585
7019
  };
@@ -5598,6 +7032,13 @@ type $OpenApiTs = {
5598
7032
  };
5599
7033
  };
5600
7034
  };
7035
+ '/api/v1/cache/flush': {
7036
+ post: {
7037
+ res: {
7038
+ 201: unknown;
7039
+ };
7040
+ };
7041
+ };
5601
7042
  '/api/v1/market/exchange-rates/{symbol}/{dateString}': {
5602
7043
  get: {
5603
7044
  req: ExchangeRateControllerGetExchangeRateData;
@@ -5641,6 +7082,20 @@ type $OpenApiTs = {
5641
7082
  };
5642
7083
  };
5643
7084
  };
7085
+ '/api/v1/health/openbb': {
7086
+ get: {
7087
+ res: {
7088
+ /**
7089
+ * OpenBB status
7090
+ */
7091
+ 200: unknown;
7092
+ /**
7093
+ * OpenBB unavailable
7094
+ */
7095
+ 503: unknown;
7096
+ };
7097
+ };
7098
+ };
5644
7099
  '/api/v1/health/redis': {
5645
7100
  get: {
5646
7101
  res: {
@@ -5706,66 +7161,6 @@ type $OpenApiTs = {
5706
7161
  };
5707
7162
  };
5708
7163
  };
5709
- '/api/v1/health/data-enhancer/{name}': {
5710
- get: {
5711
- req: HealthControllerGetHealthOfDataEnhancerData;
5712
- res: {
5713
- /**
5714
- * Data enhancer is healthy
5715
- */
5716
- 200: unknown;
5717
- /**
5718
- * Unauthorized
5719
- */
5720
- 401: unknown;
5721
- /**
5722
- * Data enhancer unavailable
5723
- */
5724
- 503: unknown;
5725
- };
5726
- };
5727
- };
5728
- '/api/v1/health/data-providers': {
5729
- get: {
5730
- res: {
5731
- /**
5732
- * Data providers health status
5733
- */
5734
- 200: unknown;
5735
- /**
5736
- * Unauthorized
5737
- */
5738
- 401: unknown;
5739
- /**
5740
- * Data providers check failed
5741
- */
5742
- 503: unknown;
5743
- };
5744
- };
5745
- };
5746
- '/api/v1/health/data-provider/{dataSource}': {
5747
- get: {
5748
- req: HealthControllerGetHealthOfDataProviderData;
5749
- res: {
5750
- /**
5751
- * Data provider is healthy
5752
- */
5753
- 200: unknown;
5754
- /**
5755
- * Invalid data source
5756
- */
5757
- 400: unknown;
5758
- /**
5759
- * Unauthorized
5760
- */
5761
- 401: unknown;
5762
- /**
5763
- * Data provider unavailable
5764
- */
5765
- 503: unknown;
5766
- };
5767
- };
5768
- };
5769
7164
  '/api/v1/system/info': {
5770
7165
  get: {
5771
7166
  res: {
@@ -5776,72 +7171,6 @@ type $OpenApiTs = {
5776
7171
  };
5777
7172
  };
5778
7173
  };
5779
- '/api/v1/market/logos/{dataSource}/{symbol}': {
5780
- get: {
5781
- req: LogoControllerGetLogoByDataSourceAndSymbolData;
5782
- res: {
5783
- /**
5784
- * Logo image stream (favicon)
5785
- */
5786
- 200: unknown;
5787
- /**
5788
- * Unauthorized
5789
- */
5790
- 401: unknown;
5791
- /**
5792
- * Logo not found for the specified asset
5793
- */
5794
- 404: unknown;
5795
- /**
5796
- * Service unavailable
5797
- */
5798
- 503: unknown;
5799
- };
5800
- };
5801
- };
5802
- '/api/v1/market/logos': {
5803
- get: {
5804
- req: LogoControllerGetLogoByUrlData;
5805
- res: {
5806
- /**
5807
- * Logo image stream (favicon)
5808
- */
5809
- 200: unknown;
5810
- /**
5811
- * Unauthorized
5812
- */
5813
- 401: unknown;
5814
- /**
5815
- * Service unavailable
5816
- */
5817
- 503: unknown;
5818
- };
5819
- };
5820
- };
5821
- '/api/v1/market-data/{dataSource}/{symbol}': {
5822
- get: {
5823
- req: MarketDataControllerGetMarketDataBySymbolData;
5824
- res: {
5825
- /**
5826
- * Market data retrieved successfully
5827
- */
5828
- 200: unknown;
5829
- /**
5830
- * Insufficient permissions to read market data
5831
- */
5832
- 403: unknown;
5833
- /**
5834
- * Market data not found
5835
- */
5836
- 404: unknown;
5837
- };
5838
- };
5839
- post: {
5840
- res: {
5841
- 201: unknown;
5842
- };
5843
- };
5844
- };
5845
7174
  };
5846
7175
 
5847
7176
  declare class BeanAccountsService {
@@ -5953,12 +7282,39 @@ declare class BeanTransactionsService {
5953
7282
  */
5954
7283
  static transactionControllerList(data: TransactionControllerListData): CancelablePromise<TransactionControllerListResponse>;
5955
7284
  /**
7285
+ * @deprecated
7286
+ * Batch create transactions (DEPRECATED)
7287
+ * DEPRECATED: Use POST /:region/bean/import/provider/:name/sync instead. This endpoint skips dedup, rule matching, and review branching.
7288
+ * @param data The data for the request.
7289
+ * @param data.region Region code for tenant context
7290
+ * @param data.requestBody
7291
+ * @returns BatchTransactionResponseDto Transactions processed
7292
+ * @throws ApiError
7293
+ */
7294
+ static transactionControllerCreateBatch(data: TransactionControllerCreateBatchData): CancelablePromise<TransactionControllerCreateBatchResponse>;
7295
+ /**
7296
+ * Correct (supersede) a transaction
7297
+ * Atomically voids the original (SUPERSEDED) and creates a replacement through the full validation pipeline.
5956
7298
  * @param data The data for the request.
7299
+ * @param data.id Original transaction ID to correct
5957
7300
  * @param data.region Region code for tenant context
5958
- * @returns unknown
7301
+ * @param data.requestBody
7302
+ * @returns TransactionDetailDto Corrected transaction created
7303
+ * @throws ApiError
7304
+ */
7305
+ static transactionControllerCorrect(data: TransactionControllerCorrectData): CancelablePromise<TransactionControllerCorrectResponse>;
7306
+ /**
7307
+ * Suggest transaction tags
7308
+ * Returns distinct tags from the user ACTIVE transactions, sorted by usage, for autocomplete. Optional q performs a case-insensitive prefix match.
7309
+ * @param data The data for the request.
7310
+ * @param data.region Region code for tenant context
7311
+ * @param data.q Prefix match, case-insensitive (max 50 chars)
7312
+ * @param data.sort usage (default) or name
7313
+ * @param data.limit Max suggestions (1-100, default 10)
7314
+ * @returns TagSuggestionsResponseDto Tag suggestions
5959
7315
  * @throws ApiError
5960
7316
  */
5961
- static transactionController(data: TransactionControllerData): CancelablePromise<TransactionControllerResponse>;
7317
+ static transactionControllerSuggestTags(data: TransactionControllerSuggestTagsData): CancelablePromise<TransactionControllerSuggestTagsResponse>;
5962
7318
  /**
5963
7319
  * Get transaction detail
5964
7320
  * Returns transaction details including all postings
@@ -5981,12 +7337,15 @@ declare class BeanTransactionsService {
5981
7337
  */
5982
7338
  static transactionControllerUpdate(data: TransactionControllerUpdateData): CancelablePromise<TransactionControllerUpdateResponse>;
5983
7339
  /**
7340
+ * Void transaction
7341
+ * Soft-deletes a transaction by marking it as VOIDED
5984
7342
  * @param data The data for the request.
7343
+ * @param data.id Transaction ID
5985
7344
  * @param data.region Region code for tenant context
5986
- * @returns void
7345
+ * @returns void Transaction voided successfully
5987
7346
  * @throws ApiError
5988
7347
  */
5989
- static transactionController1(data: TransactionController1Data): CancelablePromise<TransactionController1Response>;
7348
+ static transactionControllerDelete(data: TransactionControllerDeleteData): CancelablePromise<TransactionControllerDeleteResponse>;
5990
7349
  }
5991
7350
  declare class BeanBalancesService {
5992
7351
  /**
@@ -5994,6 +7353,7 @@ declare class BeanBalancesService {
5994
7353
  * Calculate account balance at a specific date for a single currency
5995
7354
  * @param data The data for the request.
5996
7355
  * @param data.account Account name (e.g., "Assets:Bank:Checking")
7356
+ * @param data.region Region code for tenant context
5997
7357
  * @param data.date Date to calculate balance at (ISO 8601 format)
5998
7358
  * @param data.currency Currency to query (e.g., "USD", "CNY")
5999
7359
  * @returns BalanceResponseDto Balance calculated successfully
@@ -6003,19 +7363,24 @@ declare class BeanBalancesService {
6003
7363
  /**
6004
7364
  * Query multi-currency account balance
6005
7365
  * Calculate account balances for all currencies at a specific date
7366
+ * @param data The data for the request.
7367
+ * @param data.region Region code for tenant context
6006
7368
  * @returns MultiCurrencyBalanceResponseDto Balances calculated successfully
6007
7369
  * @throws ApiError
6008
7370
  */
6009
- static balanceControllerGetMultiCurrencyBalance(): CancelablePromise<BalanceControllerGetMultiCurrencyBalanceResponse>;
7371
+ static balanceControllerGetMultiCurrencyBalance(data: BalanceControllerGetMultiCurrencyBalanceData): CancelablePromise<BalanceControllerGetMultiCurrencyBalanceResponse>;
6010
7372
  }
6011
7373
  declare class BeanCommoditiesService {
6012
7374
  /**
7375
+ * Create a new commodity
7376
+ * Creates a new commodity definition for the authenticated user
6013
7377
  * @param data The data for the request.
6014
7378
  * @param data.region Region code for tenant context
6015
- * @returns unknown
7379
+ * @param data.requestBody
7380
+ * @returns CommodityResponseDto Commodity created successfully
6016
7381
  * @throws ApiError
6017
7382
  */
6018
- static commodityController(data: CommodityControllerData): CancelablePromise<CommodityControllerResponse>;
7383
+ static commodityControllerCreate(data: CommodityControllerCreateData): CancelablePromise<CommodityControllerCreateResponse>;
6019
7384
  /**
6020
7385
  * List user commodities
6021
7386
  * Returns all commodity definitions for the authenticated user with optional filtering
@@ -6038,33 +7403,45 @@ declare class BeanCommoditiesService {
6038
7403
  */
6039
7404
  static commodityControllerFindOne(data: CommodityControllerFindOneData): CancelablePromise<CommodityControllerFindOneResponse>;
6040
7405
  /**
7406
+ * Update commodity
7407
+ * Updates an existing commodity definition. Symbol cannot be changed.
6041
7408
  * @param data The data for the request.
7409
+ * @param data.symbol Commodity symbol
6042
7410
  * @param data.region Region code for tenant context
6043
- * @returns unknown
7411
+ * @param data.requestBody
7412
+ * @returns CommodityResponseDto Commodity updated successfully
6044
7413
  * @throws ApiError
6045
7414
  */
6046
- static commodityController1(data: CommodityController1Data): CancelablePromise<CommodityController1Response>;
7415
+ static commodityControllerUpdate(data: CommodityControllerUpdateData): CancelablePromise<CommodityControllerUpdateResponse>;
6047
7416
  /**
7417
+ * Delete commodity
7418
+ * Deletes a commodity definition
6048
7419
  * @param data The data for the request.
7420
+ * @param data.symbol Commodity symbol
6049
7421
  * @param data.region Region code for tenant context
6050
- * @returns void
7422
+ * @returns void Commodity deleted successfully
6051
7423
  * @throws ApiError
6052
7424
  */
6053
- static commodityController2(data: CommodityController2Data): CancelablePromise<CommodityController2Response>;
7425
+ static commodityControllerDelete(data: CommodityControllerDeleteData): CancelablePromise<CommodityControllerDeleteResponse>;
6054
7426
  /**
7427
+ * Ensure commodity exists
7428
+ * Gets existing commodity or creates it with automatic initialization from OpenBB
6055
7429
  * @param data The data for the request.
7430
+ * @param data.symbol Commodity symbol
6056
7431
  * @param data.region Region code for tenant context
6057
- * @returns unknown
7432
+ * @returns CommodityResponseDto Commodity retrieved or created
6058
7433
  * @throws ApiError
6059
7434
  */
6060
- static commodityController3(data: CommodityController3Data): CancelablePromise<CommodityController3Response>;
7435
+ static commodityControllerGetOrCreate(data: CommodityControllerGetOrCreateData): CancelablePromise<CommodityControllerGetOrCreateResponse>;
6061
7436
  /**
7437
+ * Bulk create commodities
7438
+ * Creates multiple commodities from a list of symbols, useful for initialization
6062
7439
  * @param data The data for the request.
6063
7440
  * @param data.region Region code for tenant context
6064
- * @returns unknown
7441
+ * @returns CommodityResponseDto Commodities created successfully
6065
7442
  * @throws ApiError
6066
7443
  */
6067
- static commodityController4(data: CommodityController4Data): CancelablePromise<CommodityController4Response>;
7444
+ static commodityControllerBulkCreate(data: CommodityControllerBulkCreateData): CancelablePromise<CommodityControllerBulkCreateResponse>;
6068
7445
  }
6069
7446
  declare class ProviderSyncService {
6070
7447
  /**
@@ -6101,15 +7478,18 @@ declare class ProviderSyncService {
6101
7478
  /**
6102
7479
  * Get supported providers
6103
7480
  * Returns a list of all providers supported by the sync endpoint.
7481
+ * @param data The data for the request.
7482
+ * @param data.region Region code for tenant context
6104
7483
  * @returns SupportedProvidersResponseDto List of supported providers
6105
7484
  * @throws ApiError
6106
7485
  */
6107
- static providerSyncControllerGetSupportedProviders(): CancelablePromise<ProviderSyncControllerGetSupportedProvidersResponse>;
7486
+ static providerSyncControllerGetSupportedProviders(data: ProviderSyncControllerGetSupportedProvidersData): CancelablePromise<ProviderSyncControllerGetSupportedProvidersResponse>;
6108
7487
  /**
6109
7488
  * Check if provider is supported
6110
7489
  * Returns whether a specific provider is supported.
6111
7490
  * @param data The data for the request.
6112
7491
  * @param data.providerName Provider name to check
7492
+ * @param data.region Region code for tenant context
6113
7493
  * @returns unknown Provider support status
6114
7494
  * @throws ApiError
6115
7495
  */
@@ -6128,6 +7508,12 @@ declare class HealthService {
6128
7508
  * @throws ApiError
6129
7509
  */
6130
7510
  static healthControllerCheckDatabase(): CancelablePromise<HealthControllerCheckDatabaseResponse>;
7511
+ /**
7512
+ * Check OpenBB schema status
7513
+ * @returns unknown OpenBB status
7514
+ * @throws ApiError
7515
+ */
7516
+ static healthControllerCheckOpenBb(): CancelablePromise<HealthControllerCheckOpenBbResponse>;
6131
7517
  /**
6132
7518
  * Check Redis connection health
6133
7519
  * @returns unknown Redis is healthy
@@ -6154,28 +7540,6 @@ declare class HealthService {
6154
7540
  * @throws ApiError
6155
7541
  */
6156
7542
  static healthControllerGetMetrics(): CancelablePromise<HealthControllerGetMetricsResponse>;
6157
- /**
6158
- * Check health of a specific data enhancer
6159
- * @param data The data for the request.
6160
- * @param data.name Data enhancer name
6161
- * @returns unknown Data enhancer is healthy
6162
- * @throws ApiError
6163
- */
6164
- static healthControllerGetHealthOfDataEnhancer(data: HealthControllerGetHealthOfDataEnhancerData): CancelablePromise<HealthControllerGetHealthOfDataEnhancerResponse>;
6165
- /**
6166
- * Check health of all data providers
6167
- * @returns unknown Data providers health status
6168
- * @throws ApiError
6169
- */
6170
- static healthControllerCheckDataProviders(): CancelablePromise<HealthControllerCheckDataProvidersResponse>;
6171
- /**
6172
- * Check health of a specific data provider
6173
- * @param data The data for the request.
6174
- * @param data.dataSource Data source identifier
6175
- * @returns unknown Data provider is healthy
6176
- * @throws ApiError
6177
- */
6178
- static healthControllerGetHealthOfDataProvider(data: HealthControllerGetHealthOfDataProviderData): CancelablePromise<HealthControllerGetHealthOfDataProviderResponse>;
6179
7543
  }
6180
7544
 
6181
7545
  type ApiRequestOptions = {
@@ -6218,4 +7582,4 @@ type OpenAPIConfig = {
6218
7582
  };
6219
7583
  declare const OpenAPI: OpenAPIConfig;
6220
7584
 
6221
- export { type $OpenApiTs, type AccountControllerCloseData, type AccountControllerCloseResponse, type AccountControllerCreateData, type AccountControllerCreateResponse, type AccountControllerDeleteData, type AccountControllerDeleteResponse, type AccountControllerFindAllData, type AccountControllerFindAllResponse, type AccountControllerFindOneData, type AccountControllerFindOneResponse, type AccountControllerReopenData, type AccountControllerReopenResponse, type AccountControllerUpdateData, type AccountControllerUpdateResponse, type AccountExchangeRateWarningDto, type AccountItemDto, type AccountItemWithAssetClassDto, type AccountListResponseDto, type AccountResponseDto, type AccountStandardListResponseDto, type AccountStandardResponseDto, type AccountStandardsControllerGetRegionsResponse, type AccountStandardsControllerGetTemplatesData, type AccountStandardsControllerGetTemplatesResponse, type AccountsResponseDto, type AccountsSummaryDto, type AnonymousLoginDto, type ApiKeysControllerResponse, type ApiProblemResponseDto, type AssetClassAccountsResponseDto, type AssetClassGroupDto, type AssetClassSummaryDto, type AuthControllerAccessTokenLoginData, type AuthControllerAccessTokenLoginResponse, type BackfillSnapshotsBody, type BackfillSnapshotsResponse, type BalanceByCurrencyDto, type BalanceControllerGetBalanceData, type BalanceControllerGetBalanceResponse, type BalanceControllerGetMultiCurrencyBalanceResponse, type BalanceResponseDto, BeanAccountsService, BeanBalancesService, BeanCommoditiesService, BeanTransactionsService, type CacheControllerFlushCacheResponse, type CashFlowByCurrencyDto, type CashFlowResponseDto, type CloseAccountDto, type CommodityController1Data, type CommodityController1Response, type CommodityController2Data, type CommodityController2Response, type CommodityController3Data, type CommodityController3Response, type CommodityController4Data, type CommodityController4Response, type CommodityControllerData, type CommodityControllerFindAllData, type CommodityControllerFindAllResponse, type CommodityControllerFindOneData, type CommodityControllerFindOneResponse, type CommodityControllerResponse, type CommodityListResponseDto, type CommodityResponseDto, type ConvertedCashFlowDto, type ConvertedNetWorthDto, type CreateAccountDto, type CreatePostingDto, type CreateTransactionDto, type CurrencyBalanceDto, type DashboardControllerGetAccountsData, type DashboardControllerGetAccountsResponse, type DashboardControllerGetCashFlowData, type DashboardControllerGetCashFlowResponse, type DashboardControllerGetNetWorthData, type DashboardControllerGetNetWorthResponse, type DecisionOptionDto, type DeleteOwnUserDto, type ExchangeRateControllerGetExchangeRateData, type ExchangeRateControllerGetExchangeRateResponse, type ExchangeRateWarningDto, type ExpectedTransactionController1Data, type ExpectedTransactionController1Response, type ExpectedTransactionController2Data, type ExpectedTransactionController2Response, type ExpectedTransactionController3Data, type ExpectedTransactionController3Response, type ExpectedTransactionController4Data, type ExpectedTransactionController4Response, type ExpectedTransactionControllerData, type ExpectedTransactionControllerFindAllData, type ExpectedTransactionControllerFindAllResponse, type ExpectedTransactionControllerFindOneData, type ExpectedTransactionControllerFindOneResponse, type ExpectedTransactionControllerFindOverdueData, type ExpectedTransactionControllerFindOverdueResponse, type ExpectedTransactionControllerResponse, type ExpectedTransactionListResponseDto, type ExpectedTransactionResponseDto, type ExpectedTransactionRuleDto, type ExportRulesResponseDto, type FileImportControllerIdentifyFileData, type FileImportControllerIdentifyFileResponse, type FileImportControllerImportFileData, type FileImportControllerImportFileResponse, type FileImportDto, type ForecastControllerGetForecastData, type ForecastControllerGetForecastResponse, type ForecastItemDto, type ForecastResponseDto, type GenerateSnapshotBody, type GenerateSnapshotResponse, type HealthControllerCheckDataProvidersResponse, type HealthControllerCheckDatabaseResponse, type HealthControllerCheckRedisResponse, type HealthControllerGetCircuitBreakersHealthResponse, type HealthControllerGetHealthOfDataEnhancerData, type HealthControllerGetHealthOfDataEnhancerResponse, type HealthControllerGetHealthOfDataProviderData, type HealthControllerGetHealthOfDataProviderResponse, type HealthControllerGetHealthResponse, type HealthControllerGetMetricsResponse, type HealthControllerResetCircuitBreakerData, type HealthControllerResetCircuitBreakerResponse, HealthService, type IdentifyResultDto, type ImportErrorDto, type ImportResultDto, type ImporterConfigController1Data, type ImporterConfigController1Response, type ImporterConfigControllerData, type ImporterConfigControllerGetConfigData, type ImporterConfigControllerGetConfigResponse, type ImporterConfigControllerResponse, type ImporterConfigDataDto, type ImporterConfigDto, type InfoControllerGetInfoResponse, type LogoControllerGetLogoByDataSourceAndSymbolData, type LogoControllerGetLogoByDataSourceAndSymbolResponse, type LogoControllerGetLogoByUrlData, type LogoControllerGetLogoByUrlResponse, type MapperDefaultsDto, type MarketDataControllerGetMarketDataBySymbolData, type MarketDataControllerGetMarketDataBySymbolResponse, type MarketDataControllerResponse, type MonthlyForecastDto, type MultiCurrencyBalanceResponseDto, type MultiCurrencyPointDto, type NetWorthByCurrencyDto, type NetWorthResponseDto, type NlpAccountConfirmationDataDto, type NlpAlternativePayeeDto, type NlpControllerClearSessionData, type NlpControllerClearSessionResponse, type NlpControllerGetSessionData, type NlpControllerGetSessionResponse, type NlpControllerProcessNaturalLanguageData, type NlpControllerProcessNaturalLanguageResponse, type NlpDefaultAccountsDto, type NlpDuplicateConfirmationDataDto, type NlpParsedDataDto, type NlpPayeeConfirmationDataDto, type NlpResponseDto, type NlpRuleConfirmationDataDto, type NlpSimilarityDto, type NlpSourceTransactionDto, type NlpSuggestedAccountDto, type NlpSuggestedAccountsDto, type NlpSuggestedPayeeDto, type NlpTargetTransactionDto, type NlpTransactionInfoDto, OpenAPI, type OpenAPIConfig, type ParserTelemetryReportDto, type PayeeAutocompleteResponseDto, type PayeeController1Response, type PayeeController2Response, type PayeeControllerAutocompleteData, type PayeeControllerAutocompleteResponse, type PayeeControllerFindAllData, type PayeeControllerFindAllResponse, type PayeeControllerFindOneData, type PayeeControllerFindOneResponse, type PayeeControllerGetTopPayeesData, type PayeeControllerGetTopPayeesResponse, type PayeeControllerResponse, type PayeeListResponseDto, type PayeeProfileAdminController1Response, type PayeeProfileAdminController2Response, type PayeeProfileAdminController3Response, type PayeeProfileAdminController4Response, type PayeeProfileAdminControllerFindAllData, type PayeeProfileAdminControllerFindAllResponse, type PayeeProfileAdminControllerFindOneData, type PayeeProfileAdminControllerFindOneResponse, type PayeeProfileAdminControllerResponse, type PayeeProfileListResponseDto, type PayeeProfileResponseDto, type PayeeResponseDto, type PayeeStatsResponseDto, type PlatformController1Response, type PlatformController2Response, type PlatformControllerFindAllResponse, type PlatformControllerGetPlatformListResponse, type PlatformControllerResponse, type PlatformGroupDto, type PortfolioTrendsResponseDto, type PostingDetailDto, type PostingResponseDto, type ProcessNlpDto, type PropertyController1Response, type PropertyControllerGetAllResponse, type PropertyControllerGetByKeyData, type PropertyControllerGetByKeyResponse, type PropertyControllerResponse, type ProviderSyncConfigDto, type ProviderSyncControllerGetSupportedProvidersResponse, type ProviderSyncControllerIsProviderSupportedData, type ProviderSyncControllerIsProviderSupportedResponse, type ProviderSyncControllerSyncData, type ProviderSyncControllerSyncResponse, type ProviderSyncDto, type ProviderSyncResponseDto, ProviderSyncService, type RecurringMatchInfoDto, type RecurringRuleController1Data, type RecurringRuleController1Response, type RecurringRuleController2Data, type RecurringRuleController2Response, type RecurringRuleController3Data, type RecurringRuleController3Response, type RecurringRuleControllerData, type RecurringRuleControllerFindAllData, type RecurringRuleControllerFindAllResponse, type RecurringRuleControllerFindOneData, type RecurringRuleControllerFindOneResponse, type RecurringRuleControllerGetWithStatsData, type RecurringRuleControllerGetWithStatsResponse, type RecurringRuleControllerResponse, type RecurringRuleResponseDto, type RecurringRuleWithStatsResponseDto, type RecurringSuggestionDto, type RegionConfigDto, type RegionInfoDto, type RegionsMetadataResponseDto, type ReopenAccountDto, type ReportingControllerBackfillSnapshotsData, type ReportingControllerBackfillSnapshotsResponse, type ReportingControllerGenerateSnapshotData, type ReportingControllerGenerateSnapshotResponse, type ReportingControllerGetPortfolioTrendsData, type ReportingControllerGetPortfolioTrendsResponse, type ReviewController1Data, type ReviewController1Response, type ReviewController2Data, type ReviewController2Response, type ReviewControllerData, type ReviewControllerFindAllData, type ReviewControllerFindAllResponse, type ReviewControllerFindOneData, type ReviewControllerFindOneResponse, type ReviewControllerGetStatsData, type ReviewControllerGetStatsResponse, type ReviewControllerResponse, type ReviewDetailDto, type ReviewItemPreviewDto, type ReviewListResponseDto, type ReviewStatsDto, type ReviewSummaryDto, type RuleStatisticsResponseDto, type SignupDto, type SupportedProvidersResponseDto, type SymbolControllerGatherSymbolForDateData, type SymbolControllerGatherSymbolForDateResponse, type SymbolControllerGetSymbolDataData, type SymbolControllerGetSymbolDataResponse, type SymbolControllerLookupSymbolData, type SymbolControllerLookupSymbolResponse, type SymbolControllerResponse, type TelemetryControllerReportTelemetryData, type TelemetryControllerReportTelemetryResponse, type TestRuleDto, type TestRuleResponseDto, type TimeSeriesPointDto, type TransactionController1Data, type TransactionController1Response, type TransactionControllerCreateData, type TransactionControllerCreateResponse, type TransactionControllerData, type TransactionControllerGetDetailData, type TransactionControllerGetDetailResponse, type TransactionControllerListData, type TransactionControllerListResponse, type TransactionControllerResponse, type TransactionControllerUpdateData, type TransactionControllerUpdateResponse, type TransactionDetailDto, type TransactionListResponseDto, type TransactionResponseDto, type TransactionRuleController1Data, type TransactionRuleController1Response, type TransactionRuleController2Data, type TransactionRuleController2Response, type TransactionRuleController3Data, type TransactionRuleController3Response, type TransactionRuleControllerData, type TransactionRuleControllerExportData, type TransactionRuleControllerExportResponse, type TransactionRuleControllerGetDetailData, type TransactionRuleControllerGetDetailResponse, type TransactionRuleControllerGetStatisticsData, type TransactionRuleControllerGetStatisticsResponse, type TransactionRuleControllerListData, type TransactionRuleControllerListResponse, type TransactionRuleControllerResponse, type TransactionRuleControllerTestData, type TransactionRuleControllerTestResponse, type TransactionRuleControllerValidateData, type TransactionRuleControllerValidateResponse, type TransactionRuleListResponseDto, type TransactionRuleResponseDto, type TransactionSummaryDto, type TrendSummaryDto, type UpdateAccountDto, type UpdateTransactionDto, type UpdateUserSettingDto, type UserControllerDeleteOwnUserData, type UserControllerDeleteOwnUserResponse, type UserControllerDeleteUserData, type UserControllerDeleteUserResponse, type UserControllerGetAllUserSettingsByPageData, type UserControllerGetAllUserSettingsByPageResponse, type UserControllerGetAssetLiabilitySummaryResponse, type UserControllerGetUserData, type UserControllerGetUserInfoData, type UserControllerGetUserInfoResponse, type UserControllerGetUserResponse, type UserControllerSignupUserData, type UserControllerSignupUserResponse, type UserControllerUpdateUserSettingData, type UserControllerUpdateUserSettingResponse, type ValidateRuleDto, type ValidateRuleResponseDto, type VersionedConfigDto, type action, type assetClass, type assetSubType, type bookingMethod, type branchType, type category, type colorScheme, type confidenceLevel, type dataSource, type equitySubType, type flag, type flag2, type importerId, type intent, type investmentAction, type learningSource, type liabilitySubType, type matchLogic, type paymentSource, type period, type source, type sourceType, type status, type status2, type status3, type status4, type suggestedFrequency, type type, type type2, type viewMode };
7585
+ export { type $OpenApiTs, type AccountControllerCloseData, type AccountControllerCloseResponse, type AccountControllerCreateData, type AccountControllerCreateResponse, type AccountControllerDeleteData, type AccountControllerDeleteResponse, type AccountControllerFindAllData, type AccountControllerFindAllResponse, type AccountControllerFindOneData, type AccountControllerFindOneResponse, type AccountControllerReopenData, type AccountControllerReopenResponse, type AccountControllerUpdateData, type AccountControllerUpdateResponse, type AccountExchangeRateWarningDto, type AccountItemDto, type AccountItemWithAssetClassDto, type AccountListResponseDto, type AccountResponseDto, type AccountStandardListResponseDto, type AccountStandardResponseDto, type AccountStandardsControllerGetRegionsData, type AccountStandardsControllerGetRegionsResponse, type AccountStandardsControllerGetTemplateMetadataData, type AccountStandardsControllerGetTemplateMetadataResponse, type AccountStandardsControllerGetTemplatesData, type AccountStandardsControllerGetTemplatesResponse, type AccountsResponseDto, type AccountsSummaryDto, type AmountRangeDto, type AnonymousLoginDto, type ApiKeysControllerCreateApiKeyResponse, type ApiProblemResponseDto, type AssetClassAccountsResponseDto, type AssetClassGroupDto, type AssetClassSummaryDto, type AuthControllerAccessTokenLoginData, type AuthControllerAccessTokenLoginResponse, type BackfillSnapshotsBody, type BackfillSnapshotsResponse, type BalanceByCurrencyDto, type BalanceControllerGetBalanceData, type BalanceControllerGetBalanceResponse, type BalanceControllerGetMultiCurrencyBalanceData, type BalanceControllerGetMultiCurrencyBalanceResponse, type BalanceResponseDto, type BatchCreateTransactionDto, type BatchResolveDto, type BatchResolveResultDto, type BatchTransactionErrorDto, type BatchTransactionResponseDto, BeanAccountsService, BeanBalancesService, BeanCommoditiesService, BeanTransactionsService, type BulkCreateRulesDto, type BulkCreateRulesResponseDto, type CacheControllerFlushCacheResponse, type CashFlowByCurrencyDto, type CashFlowResponseDto, type CloseAccountDto, type CommodityControllerBulkCreateData, type CommodityControllerBulkCreateResponse, type CommodityControllerCreateData, type CommodityControllerCreateResponse, type CommodityControllerDeleteData, type CommodityControllerDeleteResponse, type CommodityControllerFindAllData, type CommodityControllerFindAllResponse, type CommodityControllerFindOneData, type CommodityControllerFindOneResponse, type CommodityControllerGetOrCreateData, type CommodityControllerGetOrCreateResponse, type CommodityControllerUpdateData, type CommodityControllerUpdateResponse, type CommodityListResponseDto, type CommodityResponseDto, type ConfirmMatchDto, type ConvertedCashFlowDto, type ConvertedNetWorthDto, type CorrectTransactionDto, type CreateAccountDto, type CreateCommodityDto, type CreatePayeeDto, type CreatePayeeProfileDto, type CreatePlatformDto, type CreatePostingDto, type CreateRecurringRuleDto, type CreateRuleFromTransactionDto, type CreateTransactionDto, type CreateTransactionRuleDto, type CurrencyBalanceDto, type DashboardControllerGetAccountsData, type DashboardControllerGetAccountsResponse, type DashboardControllerGetCashFlowData, type DashboardControllerGetCashFlowResponse, type DashboardControllerGetNetWorthData, type DashboardControllerGetNetWorthResponse, type DecisionOptionDto, type DeleteOwnUserDto, type EnterNowDto, type ExchangeRateControllerGetExchangeRateData, type ExchangeRateControllerGetExchangeRateResponse, type ExchangeRateWarningDto, type ExpectedTransactionControllerConfirmMatchData, type ExpectedTransactionControllerConfirmMatchResponse, type ExpectedTransactionControllerEnterNowData, type ExpectedTransactionControllerEnterNowResponse, type ExpectedTransactionControllerFindAllData, type ExpectedTransactionControllerFindAllResponse, type ExpectedTransactionControllerFindOneData, type ExpectedTransactionControllerFindOneResponse, type ExpectedTransactionControllerFindOverdueData, type ExpectedTransactionControllerFindOverdueResponse, type ExpectedTransactionControllerSkipData, type ExpectedTransactionControllerSkipResponse, type ExpectedTransactionControllerUndoSkipData, type ExpectedTransactionControllerUndoSkipResponse, type ExpectedTransactionControllerUnmatchData, type ExpectedTransactionControllerUnmatchResponse, type ExpectedTransactionListResponseDto, type ExpectedTransactionResponseDto, type ExpectedTransactionRuleDto, type ExportControllerExportBeancountResponse, type ExportRulesResponseDto, type FileImportControllerIdentifyFileData, type FileImportControllerIdentifyFileResponse, type FileImportControllerImportBeancountData, type FileImportControllerImportBeancountResponse, type FileImportControllerImportFileData, type FileImportControllerImportFileResponse, type FileImportDto, type ForecastControllerGetForecastData, type ForecastControllerGetForecastResponse, type ForecastItemDto, type ForecastResponseDto, type GenerateSnapshotBody, type GenerateSnapshotResponse, type HealthControllerCheckDatabaseResponse, type HealthControllerCheckOpenBbResponse, type HealthControllerCheckRedisResponse, type HealthControllerGetCircuitBreakersHealthResponse, type HealthControllerGetHealthResponse, type HealthControllerGetMetricsResponse, type HealthControllerResetCircuitBreakerData, type HealthControllerResetCircuitBreakerResponse, HealthService, type IdentifyResultDto, type ImportErrorDto, type ImportResultDto, type ImporterConfigControllerGetConfigData, type ImporterConfigControllerGetConfigResponse, type ImporterConfigControllerResetConfigData, type ImporterConfigControllerResetConfigResponse, type ImporterConfigControllerUpdateConfigData, type ImporterConfigControllerUpdateConfigResponse, type ImporterConfigDataDto, type ImporterConfigDto, type InfoControllerGetInfoResponse, type MapperDefaultsDto, type MonthlyForecastDto, type MultiCurrencyBalanceResponseDto, type MultiCurrencyPointDto, type NetWorthByCurrencyDto, type NetWorthResponseDto, type NlpAccountConfirmationDataDto, type NlpAlternativePayeeDto, type NlpControllerClearSessionData, type NlpControllerClearSessionResponse, type NlpControllerGetSessionData, type NlpControllerGetSessionResponse, type NlpControllerProcessNaturalLanguageData, type NlpControllerProcessNaturalLanguageResponse, type NlpDefaultAccountsDto, type NlpDuplicateConfirmationDataDto, type NlpParsedDataDto, type NlpPayeeConfirmationDataDto, type NlpResponseDto, type NlpRuleConfirmationDataDto, type NlpSimilarityDto, type NlpSourceTransactionDto, type NlpSuggestedAccountDto, type NlpSuggestedAccountsDto, type NlpSuggestedPayeeDto, type NlpTargetTransactionDto, type NlpTransactionInfoDto, OpenAPI, type OpenAPIConfig, type ParserTelemetryReportDto, type PayeeAutocompleteResponseDto, type PayeeControllerAutocompleteData, type PayeeControllerAutocompleteResponse, type PayeeControllerCreateData, type PayeeControllerCreateResponse, type PayeeControllerDeleteData, type PayeeControllerDeleteResponse, type PayeeControllerFindAllData, type PayeeControllerFindAllResponse, type PayeeControllerFindOneData, type PayeeControllerFindOneResponse, type PayeeControllerGetTopPayeesData, type PayeeControllerGetTopPayeesResponse, type PayeeControllerUpdateData, type PayeeControllerUpdateResponse, type PayeeListResponseDto, type PayeeProfileAdminControllerCreateData, type PayeeProfileAdminControllerCreateResponse, type PayeeProfileAdminControllerDeleteData, type PayeeProfileAdminControllerDeleteResponse, type PayeeProfileAdminControllerFindAllData, type PayeeProfileAdminControllerFindAllResponse, type PayeeProfileAdminControllerFindOneData, type PayeeProfileAdminControllerFindOneResponse, type PayeeProfileAdminControllerUnverifyData, type PayeeProfileAdminControllerUnverifyResponse, type PayeeProfileAdminControllerUpdateData, type PayeeProfileAdminControllerUpdateResponse, type PayeeProfileAdminControllerVerifyData, type PayeeProfileAdminControllerVerifyResponse, type PayeeProfileListResponseDto, type PayeeProfileResponseDto, type PayeeResponseDto, type PayeeStatsResponseDto, type PlatformControllerCreateData, type PlatformControllerCreateResponse, type PlatformControllerDeleteData, type PlatformControllerDeleteResponse, type PlatformControllerFindAllResponse, type PlatformControllerGetPlatformListResponse, type PlatformControllerMatchPlatformsData, type PlatformControllerMatchPlatformsResponse, type PlatformControllerUpdateData, type PlatformControllerUpdateResponse, type PlatformGroupDto, type PortfolioTrendsResponseDto, type PostingDetailDto, type PostingResponseDto, type ProcessNlpDto, type PropertyControllerDeleteData, type PropertyControllerDeleteResponse, type PropertyControllerGetAllResponse, type PropertyControllerGetByKeyData, type PropertyControllerGetByKeyResponse, type PropertyControllerUpdateData, type PropertyControllerUpdateResponse, type ProviderSyncConfigDto, type ProviderSyncControllerGetSupportedProvidersData, type ProviderSyncControllerGetSupportedProvidersResponse, type ProviderSyncControllerIsProviderSupportedData, type ProviderSyncControllerIsProviderSupportedResponse, type ProviderSyncControllerSyncData, type ProviderSyncControllerSyncResponse, type ProviderSyncDto, type ProviderSyncResponseDto, ProviderSyncService, type RecurringMatchInfoDto, type RecurringRuleControllerCreateData, type RecurringRuleControllerCreateFromTransactionData, type RecurringRuleControllerCreateFromTransactionResponse, type RecurringRuleControllerCreateResponse, type RecurringRuleControllerDeleteData, type RecurringRuleControllerDeleteResponse, type RecurringRuleControllerFindAllData, type RecurringRuleControllerFindAllResponse, type RecurringRuleControllerFindOneData, type RecurringRuleControllerFindOneResponse, type RecurringRuleControllerGetWithStatsData, type RecurringRuleControllerGetWithStatsResponse, type RecurringRuleControllerUpdateData, type RecurringRuleControllerUpdateResponse, type RecurringRuleResponseDto, type RecurringRuleWithStatsResponseDto, type RecurringSuggestionDto, type RegionConfigDto, type RegionInfoDto, type RegionsMetadataResponseDto, type ReopenAccountDto, type ReportingControllerBackfillSnapshotsData, type ReportingControllerBackfillSnapshotsResponse, type ReportingControllerGenerateSnapshotData, type ReportingControllerGenerateSnapshotResponse, type ReportingControllerGetPortfolioTrendsData, type ReportingControllerGetPortfolioTrendsResponse, type ResolveResultDto, type ResolveReviewDto, type ReviewControllerBatchResolveData, type ReviewControllerBatchResolveResponse, type ReviewControllerFindAllData, type ReviewControllerFindAllResponse, type ReviewControllerFindOneData, type ReviewControllerFindOneResponse, type ReviewControllerGetStatsData, type ReviewControllerGetStatsResponse, type ReviewControllerResolveData, type ReviewControllerResolveResponse, type ReviewControllerUndoData, type ReviewControllerUndoResponse, type ReviewDetailDto, type ReviewItemPreviewDto, type ReviewListResponseDto, type ReviewStatsDto, type ReviewSummaryDto, type RuleStatisticsResponseDto, type SignupDto, type SupportedProvidersResponseDto, type TagSuggestionDto, type TagSuggestionsResponseDto, type TelemetryControllerReportTelemetryData, type TelemetryControllerReportTelemetryResponse, type TemplateMetadataDto, type TemplateMetadataResponseDto, type TestRuleDto, type TestRuleResponseDto, type TimeSeriesPointDto, type TransactionControllerCorrectData, type TransactionControllerCorrectResponse, type TransactionControllerCreateBatchData, type TransactionControllerCreateBatchResponse, type TransactionControllerCreateData, type TransactionControllerCreateResponse, type TransactionControllerDeleteData, type TransactionControllerDeleteResponse, type TransactionControllerGetDetailData, type TransactionControllerGetDetailResponse, type TransactionControllerListData, type TransactionControllerListResponse, type TransactionControllerSuggestTagsData, type TransactionControllerSuggestTagsResponse, type TransactionControllerUpdateData, type TransactionControllerUpdateResponse, type TransactionDetailDto, type TransactionListResponseDto, type TransactionResponseDto, type TransactionRuleControllerBulkCreateData, type TransactionRuleControllerBulkCreateResponse, type TransactionRuleControllerCreateData, type TransactionRuleControllerCreateResponse, type TransactionRuleControllerDeleteData, type TransactionRuleControllerDeleteResponse, type TransactionRuleControllerExportData, type TransactionRuleControllerExportResponse, type TransactionRuleControllerGetDetailData, type TransactionRuleControllerGetDetailResponse, type TransactionRuleControllerGetStatisticsData, type TransactionRuleControllerGetStatisticsResponse, type TransactionRuleControllerListData, type TransactionRuleControllerListResponse, type TransactionRuleControllerTestData, type TransactionRuleControllerTestResponse, type TransactionRuleControllerUpdateData, type TransactionRuleControllerUpdateResponse, type TransactionRuleControllerValidateData, type TransactionRuleControllerValidateResponse, type TransactionRuleListResponseDto, type TransactionRuleResponseDto, type TransactionSummaryDto, type TrendSummaryDto, type UndoResultDto, type UpdateAccountDto, type UpdateCommodityDto, type UpdateConfigDataDto, type UpdateImporterConfigDto, type UpdateMapperDefaultsDto, type UpdatePayeeDto, type UpdatePayeeProfileDto, type UpdatePlatformDto, type UpdatePropertyDto, type UpdateRecurringRuleDto, type UpdateTransactionDto, type UpdateTransactionRuleDto, type UpdateUserSettingDto, type UserControllerDeleteOwnUserData, type UserControllerDeleteOwnUserResponse, type UserControllerDeleteUserData, type UserControllerDeleteUserResponse, type UserControllerGetAllUserSettingsByPageData, type UserControllerGetAllUserSettingsByPageResponse, type UserControllerGetAssetLiabilitySummaryResponse, type UserControllerGetUserData, type UserControllerGetUserInfoData, type UserControllerGetUserInfoResponse, type UserControllerGetUserResponse, type UserControllerSignupUserData, type UserControllerSignupUserResponse, type UserControllerUpdateUserSettingData, type UserControllerUpdateUserSettingResponse, type ValidateRuleDto, type ValidateRuleResponseDto, type VersionedConfigDto, type action, type action2, type assetClass, type assetSubType, type bookingMethod, type branchType, type category, type colorScheme, type confidenceLevel, type conflictStrategy, type dataSource, type equitySubType, type flag, type flag2, type frequency, type importerId, type intent, type investmentAction, type learningSource, type liabilitySubType, type matchLogic, type paymentSource, type period, type source, type status, type status2, type status3, type status4, type suggestedFrequency, type type, type type2, type type3, type value, type viewMode };