@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.
@@ -17,23 +17,31 @@ import type {
17
17
  AccountControllerCloseResponse,
18
18
  AccountControllerReopenData,
19
19
  AccountControllerReopenResponse,
20
+ AccountStandardsControllerGetTemplatesData,
21
+ AccountStandardsControllerGetTemplatesResponse,
22
+ AccountStandardsControllerGetTemplateMetadataData,
23
+ AccountStandardsControllerGetTemplateMetadataResponse,
24
+ AccountStandardsControllerGetRegionsData,
25
+ AccountStandardsControllerGetRegionsResponse,
20
26
  TransactionControllerCreateData,
21
27
  TransactionControllerCreateResponse,
22
28
  TransactionControllerListData,
23
29
  TransactionControllerListResponse,
24
- TransactionControllerData,
25
- TransactionControllerResponse,
30
+ TransactionControllerCreateBatchData,
31
+ TransactionControllerCreateBatchResponse,
32
+ TransactionControllerCorrectData,
33
+ TransactionControllerCorrectResponse,
34
+ TransactionControllerSuggestTagsData,
35
+ TransactionControllerSuggestTagsResponse,
26
36
  TransactionControllerGetDetailData,
27
37
  TransactionControllerGetDetailResponse,
28
38
  TransactionControllerUpdateData,
29
39
  TransactionControllerUpdateResponse,
30
- TransactionController1Data,
31
- TransactionController1Response,
32
- AccountStandardsControllerGetTemplatesData,
33
- AccountStandardsControllerGetTemplatesResponse,
34
- AccountStandardsControllerGetRegionsResponse,
40
+ TransactionControllerDeleteData,
41
+ TransactionControllerDeleteResponse,
35
42
  BalanceControllerGetBalanceData,
36
43
  BalanceControllerGetBalanceResponse,
44
+ BalanceControllerGetMultiCurrencyBalanceData,
37
45
  BalanceControllerGetMultiCurrencyBalanceResponse,
38
46
  ReviewControllerFindAllData,
39
47
  ReviewControllerFindAllResponse,
@@ -41,13 +49,14 @@ import type {
41
49
  ReviewControllerGetStatsResponse,
42
50
  ReviewControllerFindOneData,
43
51
  ReviewControllerFindOneResponse,
44
- ReviewControllerData,
45
- ReviewControllerResponse,
46
- ReviewController1Data,
47
- ReviewController1Response,
48
- ReviewController2Data,
49
- ReviewController2Response,
50
- PayeeControllerResponse,
52
+ ReviewControllerResolveData,
53
+ ReviewControllerResolveResponse,
54
+ ReviewControllerUndoData,
55
+ ReviewControllerUndoResponse,
56
+ ReviewControllerBatchResolveData,
57
+ ReviewControllerBatchResolveResponse,
58
+ PayeeControllerCreateData,
59
+ PayeeControllerCreateResponse,
51
60
  PayeeControllerFindAllData,
52
61
  PayeeControllerFindAllResponse,
53
62
  PayeeControllerAutocompleteData,
@@ -56,43 +65,50 @@ import type {
56
65
  PayeeControllerGetTopPayeesResponse,
57
66
  PayeeControllerFindOneData,
58
67
  PayeeControllerFindOneResponse,
59
- PayeeController1Response,
60
- PayeeController2Response,
61
- PayeeProfileAdminControllerResponse,
68
+ PayeeControllerUpdateData,
69
+ PayeeControllerUpdateResponse,
70
+ PayeeControllerDeleteData,
71
+ PayeeControllerDeleteResponse,
72
+ PayeeProfileAdminControllerCreateData,
73
+ PayeeProfileAdminControllerCreateResponse,
62
74
  PayeeProfileAdminControllerFindAllData,
63
75
  PayeeProfileAdminControllerFindAllResponse,
64
76
  PayeeProfileAdminControllerFindOneData,
65
77
  PayeeProfileAdminControllerFindOneResponse,
66
- PayeeProfileAdminController1Response,
67
- PayeeProfileAdminController2Response,
68
- PayeeProfileAdminController3Response,
69
- PayeeProfileAdminController4Response,
70
- CommodityControllerData,
71
- CommodityControllerResponse,
78
+ PayeeProfileAdminControllerUpdateData,
79
+ PayeeProfileAdminControllerUpdateResponse,
80
+ PayeeProfileAdminControllerDeleteData,
81
+ PayeeProfileAdminControllerDeleteResponse,
82
+ PayeeProfileAdminControllerVerifyData,
83
+ PayeeProfileAdminControllerVerifyResponse,
84
+ PayeeProfileAdminControllerUnverifyData,
85
+ PayeeProfileAdminControllerUnverifyResponse,
86
+ CommodityControllerCreateData,
87
+ CommodityControllerCreateResponse,
72
88
  CommodityControllerFindAllData,
73
89
  CommodityControllerFindAllResponse,
74
90
  CommodityControllerFindOneData,
75
91
  CommodityControllerFindOneResponse,
76
- CommodityController1Data,
77
- CommodityController1Response,
78
- CommodityController2Data,
79
- CommodityController2Response,
80
- CommodityController3Data,
81
- CommodityController3Response,
82
- CommodityController4Data,
83
- CommodityController4Response,
84
- RecurringRuleControllerData,
85
- RecurringRuleControllerResponse,
92
+ CommodityControllerUpdateData,
93
+ CommodityControllerUpdateResponse,
94
+ CommodityControllerDeleteData,
95
+ CommodityControllerDeleteResponse,
96
+ CommodityControllerGetOrCreateData,
97
+ CommodityControllerGetOrCreateResponse,
98
+ CommodityControllerBulkCreateData,
99
+ CommodityControllerBulkCreateResponse,
100
+ RecurringRuleControllerCreateData,
101
+ RecurringRuleControllerCreateResponse,
86
102
  RecurringRuleControllerFindAllData,
87
103
  RecurringRuleControllerFindAllResponse,
88
- RecurringRuleController1Data,
89
- RecurringRuleController1Response,
104
+ RecurringRuleControllerCreateFromTransactionData,
105
+ RecurringRuleControllerCreateFromTransactionResponse,
90
106
  RecurringRuleControllerFindOneData,
91
107
  RecurringRuleControllerFindOneResponse,
92
- RecurringRuleController2Data,
93
- RecurringRuleController2Response,
94
- RecurringRuleController3Data,
95
- RecurringRuleController3Response,
108
+ RecurringRuleControllerUpdateData,
109
+ RecurringRuleControllerUpdateResponse,
110
+ RecurringRuleControllerDeleteData,
111
+ RecurringRuleControllerDeleteResponse,
96
112
  RecurringRuleControllerGetWithStatsData,
97
113
  RecurringRuleControllerGetWithStatsResponse,
98
114
  ExpectedTransactionControllerFindAllData,
@@ -101,36 +117,36 @@ import type {
101
117
  ExpectedTransactionControllerFindOverdueResponse,
102
118
  ExpectedTransactionControllerFindOneData,
103
119
  ExpectedTransactionControllerFindOneResponse,
104
- ExpectedTransactionControllerData,
105
- ExpectedTransactionControllerResponse,
106
- ExpectedTransactionController1Data,
107
- ExpectedTransactionController1Response,
108
- ExpectedTransactionController2Data,
109
- ExpectedTransactionController2Response,
110
- ExpectedTransactionController3Data,
111
- ExpectedTransactionController3Response,
112
- ExpectedTransactionController4Data,
113
- ExpectedTransactionController4Response,
120
+ ExpectedTransactionControllerSkipData,
121
+ ExpectedTransactionControllerSkipResponse,
122
+ ExpectedTransactionControllerUndoSkipData,
123
+ ExpectedTransactionControllerUndoSkipResponse,
124
+ ExpectedTransactionControllerConfirmMatchData,
125
+ ExpectedTransactionControllerConfirmMatchResponse,
126
+ ExpectedTransactionControllerUnmatchData,
127
+ ExpectedTransactionControllerUnmatchResponse,
128
+ ExpectedTransactionControllerEnterNowData,
129
+ ExpectedTransactionControllerEnterNowResponse,
114
130
  ForecastControllerGetForecastData,
115
131
  ForecastControllerGetForecastResponse,
116
- TransactionRuleControllerData,
117
- TransactionRuleControllerResponse,
132
+ TransactionRuleControllerCreateData,
133
+ TransactionRuleControllerCreateResponse,
118
134
  TransactionRuleControllerListData,
119
135
  TransactionRuleControllerListResponse,
120
136
  TransactionRuleControllerValidateData,
121
137
  TransactionRuleControllerValidateResponse,
122
- TransactionRuleController1Data,
123
- TransactionRuleController1Response,
138
+ TransactionRuleControllerBulkCreateData,
139
+ TransactionRuleControllerBulkCreateResponse,
124
140
  TransactionRuleControllerExportData,
125
141
  TransactionRuleControllerExportResponse,
126
142
  TransactionRuleControllerGetStatisticsData,
127
143
  TransactionRuleControllerGetStatisticsResponse,
128
144
  TransactionRuleControllerGetDetailData,
129
145
  TransactionRuleControllerGetDetailResponse,
130
- TransactionRuleController2Data,
131
- TransactionRuleController2Response,
132
- TransactionRuleController3Data,
133
- TransactionRuleController3Response,
146
+ TransactionRuleControllerUpdateData,
147
+ TransactionRuleControllerUpdateResponse,
148
+ TransactionRuleControllerDeleteData,
149
+ TransactionRuleControllerDeleteResponse,
134
150
  TransactionRuleControllerTestData,
135
151
  TransactionRuleControllerTestResponse,
136
152
  UserControllerDeleteOwnUserData,
@@ -151,20 +167,36 @@ import type {
151
167
  PropertyControllerGetAllResponse,
152
168
  PropertyControllerGetByKeyData,
153
169
  PropertyControllerGetByKeyResponse,
154
- PropertyControllerResponse,
155
- PropertyController1Response,
170
+ PropertyControllerUpdateData,
171
+ PropertyControllerUpdateResponse,
172
+ PropertyControllerDeleteData,
173
+ PropertyControllerDeleteResponse,
174
+ ExportControllerExportBeancountResponse,
156
175
  FileImportControllerImportFileData,
157
176
  FileImportControllerImportFileResponse,
158
177
  FileImportControllerIdentifyFileData,
159
178
  FileImportControllerIdentifyFileResponse,
179
+ FileImportControllerImportBeancountData,
180
+ FileImportControllerImportBeancountResponse,
160
181
  ImporterConfigControllerGetConfigData,
161
182
  ImporterConfigControllerGetConfigResponse,
162
- ImporterConfigControllerData,
163
- ImporterConfigControllerResponse,
164
- ImporterConfigController1Data,
165
- ImporterConfigController1Response,
183
+ ImporterConfigControllerUpdateConfigData,
184
+ ImporterConfigControllerUpdateConfigResponse,
185
+ ImporterConfigControllerResetConfigData,
186
+ ImporterConfigControllerResetConfigResponse,
187
+ PlatformControllerFindAllResponse,
188
+ PlatformControllerCreateData,
189
+ PlatformControllerCreateResponse,
190
+ PlatformControllerGetPlatformListResponse,
191
+ PlatformControllerMatchPlatformsData,
192
+ PlatformControllerMatchPlatformsResponse,
193
+ PlatformControllerUpdateData,
194
+ PlatformControllerUpdateResponse,
195
+ PlatformControllerDeleteData,
196
+ PlatformControllerDeleteResponse,
166
197
  ProviderSyncControllerSyncData,
167
198
  ProviderSyncControllerSyncResponse,
199
+ ProviderSyncControllerGetSupportedProvidersData,
168
200
  ProviderSyncControllerGetSupportedProvidersResponse,
169
201
  ProviderSyncControllerIsProviderSupportedData,
170
202
  ProviderSyncControllerIsProviderSupportedResponse,
@@ -176,19 +208,6 @@ import type {
176
208
  NlpControllerClearSessionResponse,
177
209
  NlpControllerGetSessionData,
178
210
  NlpControllerGetSessionResponse,
179
- PlatformControllerFindAllResponse,
180
- PlatformControllerResponse,
181
- PlatformControllerGetPlatformListResponse,
182
- PlatformController1Response,
183
- PlatformController2Response,
184
- SymbolControllerLookupSymbolData,
185
- SymbolControllerLookupSymbolResponse,
186
- SymbolControllerGetSymbolDataData,
187
- SymbolControllerGetSymbolDataResponse,
188
- SymbolControllerGatherSymbolForDateData,
189
- SymbolControllerGatherSymbolForDateResponse,
190
- SymbolControllerResponse,
191
- CacheControllerFlushCacheResponse,
192
211
  DashboardControllerGetNetWorthData,
193
212
  DashboardControllerGetNetWorthResponse,
194
213
  DashboardControllerGetAccountsData,
@@ -201,31 +220,21 @@ import type {
201
220
  ReportingControllerGenerateSnapshotResponse,
202
221
  ReportingControllerBackfillSnapshotsData,
203
222
  ReportingControllerBackfillSnapshotsResponse,
204
- ApiKeysControllerResponse,
223
+ ApiKeysControllerCreateApiKeyResponse,
205
224
  AuthControllerAccessTokenLoginData,
206
225
  AuthControllerAccessTokenLoginResponse,
226
+ CacheControllerFlushCacheResponse,
207
227
  ExchangeRateControllerGetExchangeRateData,
208
228
  ExchangeRateControllerGetExchangeRateResponse,
209
229
  HealthControllerGetHealthResponse,
210
230
  HealthControllerCheckDatabaseResponse,
231
+ HealthControllerCheckOpenBbResponse,
211
232
  HealthControllerCheckRedisResponse,
212
233
  HealthControllerGetCircuitBreakersHealthResponse,
213
234
  HealthControllerResetCircuitBreakerData,
214
235
  HealthControllerResetCircuitBreakerResponse,
215
236
  HealthControllerGetMetricsResponse,
216
- HealthControllerGetHealthOfDataEnhancerData,
217
- HealthControllerGetHealthOfDataEnhancerResponse,
218
- HealthControllerCheckDataProvidersResponse,
219
- HealthControllerGetHealthOfDataProviderData,
220
- HealthControllerGetHealthOfDataProviderResponse,
221
- InfoControllerGetInfoResponse,
222
- LogoControllerGetLogoByDataSourceAndSymbolData,
223
- LogoControllerGetLogoByDataSourceAndSymbolResponse,
224
- LogoControllerGetLogoByUrlData,
225
- LogoControllerGetLogoByUrlResponse,
226
- MarketDataControllerGetMarketDataBySymbolData,
227
- MarketDataControllerGetMarketDataBySymbolResponse,
228
- MarketDataControllerResponse
237
+ InfoControllerGetInfoResponse
229
238
  } from './types.gen';
230
239
 
231
240
  export class BeanAccountsService {
@@ -427,6 +436,78 @@ export class BeanAccountsService {
427
436
  }
428
437
  }
429
438
 
439
+ export class BeanAccountStandardsService {
440
+ /**
441
+ * Get account templates
442
+ * Returns predefined account templates for a region. Supports filtering by account type and search term.
443
+ * @param data The data for the request.
444
+ * @param data.region Region code (cn, us, de)
445
+ * @param data.type Filter by account type
446
+ * @param data.search Search term for path or description
447
+ * @returns AccountStandardListResponseDto Account templates retrieved successfully
448
+ * @throws ApiError
449
+ */
450
+ public static accountStandardsControllerGetTemplates(
451
+ data: AccountStandardsControllerGetTemplatesData
452
+ ): CancelablePromise<AccountStandardsControllerGetTemplatesResponse> {
453
+ return __request(OpenAPI, {
454
+ method: 'GET',
455
+ url: '/api/v1/{region}/bean/account-standards',
456
+ path: {
457
+ region: data.region
458
+ },
459
+ query: {
460
+ type: data.type,
461
+ search: data.search
462
+ }
463
+ });
464
+ }
465
+
466
+ /**
467
+ * Get template metadata for an account path
468
+ * Returns extendable status and root type for a template path.
469
+ * @param data The data for the request.
470
+ * @param data.region Region code for tenant context
471
+ * @param data.path Account path to check
472
+ * @returns TemplateMetadataResponseDto Template metadata retrieved successfully
473
+ * @throws ApiError
474
+ */
475
+ public static accountStandardsControllerGetTemplateMetadata(
476
+ data: AccountStandardsControllerGetTemplateMetadataData
477
+ ): CancelablePromise<AccountStandardsControllerGetTemplateMetadataResponse> {
478
+ return __request(OpenAPI, {
479
+ method: 'GET',
480
+ url: '/api/v1/{region}/bean/account-standards/template-metadata',
481
+ path: {
482
+ region: data.region
483
+ },
484
+ query: {
485
+ path: data.path
486
+ }
487
+ });
488
+ }
489
+
490
+ /**
491
+ * Get available regions with hierarchy
492
+ * Returns supported regions with inheritance metadata
493
+ * @param data The data for the request.
494
+ * @param data.region Region code for tenant context
495
+ * @returns RegionsMetadataResponseDto Regions metadata retrieved successfully
496
+ * @throws ApiError
497
+ */
498
+ public static accountStandardsControllerGetRegions(
499
+ data: AccountStandardsControllerGetRegionsData
500
+ ): CancelablePromise<AccountStandardsControllerGetRegionsResponse> {
501
+ return __request(OpenAPI, {
502
+ method: 'GET',
503
+ url: '/api/v1/{region}/bean/account-standards/regions',
504
+ path: {
505
+ region: data.region
506
+ }
507
+ });
508
+ }
509
+ }
510
+
430
511
  export class BeanTransactionsService {
431
512
  /**
432
513
  * @deprecated
@@ -492,25 +573,98 @@ export class BeanTransactionsService {
492
573
  accountId: data.accountId
493
574
  },
494
575
  errors: {
576
+ 400: 'Validation failed',
495
577
  401: 'Authentication required'
496
578
  }
497
579
  });
498
580
  }
499
581
 
500
582
  /**
583
+ * @deprecated
584
+ * Batch create transactions (DEPRECATED)
585
+ * DEPRECATED: Use POST /:region/bean/import/provider/:name/sync instead. This endpoint skips dedup, rule matching, and review branching.
501
586
  * @param data The data for the request.
502
587
  * @param data.region Region code for tenant context
503
- * @returns unknown
588
+ * @param data.requestBody
589
+ * @returns BatchTransactionResponseDto Transactions processed
504
590
  * @throws ApiError
505
591
  */
506
- public static transactionController(
507
- data: TransactionControllerData
508
- ): CancelablePromise<TransactionControllerResponse> {
592
+ public static transactionControllerCreateBatch(
593
+ data: TransactionControllerCreateBatchData
594
+ ): CancelablePromise<TransactionControllerCreateBatchResponse> {
509
595
  return __request(OpenAPI, {
510
596
  method: 'POST',
511
597
  url: '/api/v1/{region}/bean/transactions/batch',
512
598
  path: {
513
599
  region: data.region
600
+ },
601
+ body: data.requestBody,
602
+ mediaType: 'application/json',
603
+ errors: {
604
+ 400: 'Invalid input',
605
+ 401: 'Authentication required'
606
+ }
607
+ });
608
+ }
609
+
610
+ /**
611
+ * Correct (supersede) a transaction
612
+ * Atomically voids the original (SUPERSEDED) and creates a replacement through the full validation pipeline.
613
+ * @param data The data for the request.
614
+ * @param data.id Original transaction ID to correct
615
+ * @param data.region Region code for tenant context
616
+ * @param data.requestBody
617
+ * @returns TransactionDetailDto Corrected transaction created
618
+ * @throws ApiError
619
+ */
620
+ public static transactionControllerCorrect(
621
+ data: TransactionControllerCorrectData
622
+ ): CancelablePromise<TransactionControllerCorrectResponse> {
623
+ return __request(OpenAPI, {
624
+ method: 'POST',
625
+ url: '/api/v1/{region}/bean/transactions/{id}/correct',
626
+ path: {
627
+ id: data.id,
628
+ region: data.region
629
+ },
630
+ body: data.requestBody,
631
+ mediaType: 'application/json',
632
+ errors: {
633
+ 404: 'Original transaction not found',
634
+ 409: 'Original no longer ACTIVE (concurrent modification)',
635
+ 422: 'Pipeline validation failed (does not balance, invalid accounts)'
636
+ }
637
+ });
638
+ }
639
+
640
+ /**
641
+ * Suggest transaction tags
642
+ * Returns distinct tags from the user ACTIVE transactions, sorted by usage, for autocomplete. Optional q performs a case-insensitive prefix match.
643
+ * @param data The data for the request.
644
+ * @param data.region Region code for tenant context
645
+ * @param data.q Prefix match, case-insensitive (max 50 chars)
646
+ * @param data.sort usage (default) or name
647
+ * @param data.limit Max suggestions (1-100, default 10)
648
+ * @returns TagSuggestionsResponseDto Tag suggestions
649
+ * @throws ApiError
650
+ */
651
+ public static transactionControllerSuggestTags(
652
+ data: TransactionControllerSuggestTagsData
653
+ ): CancelablePromise<TransactionControllerSuggestTagsResponse> {
654
+ return __request(OpenAPI, {
655
+ method: 'GET',
656
+ url: '/api/v1/{region}/bean/transactions/tags',
657
+ path: {
658
+ region: data.region
659
+ },
660
+ query: {
661
+ q: data.q,
662
+ sort: data.sort,
663
+ limit: data.limit
664
+ },
665
+ errors: {
666
+ 400: 'Validation failed',
667
+ 401: 'Authentication required'
514
668
  }
515
669
  });
516
670
  }
@@ -572,63 +726,31 @@ export class BeanTransactionsService {
572
726
  }
573
727
 
574
728
  /**
729
+ * Void transaction
730
+ * Soft-deletes a transaction by marking it as VOIDED
575
731
  * @param data The data for the request.
732
+ * @param data.id Transaction ID
576
733
  * @param data.region Region code for tenant context
577
- * @returns void
734
+ * @returns void Transaction voided successfully
578
735
  * @throws ApiError
579
736
  */
580
- public static transactionController1(
581
- data: TransactionController1Data
582
- ): CancelablePromise<TransactionController1Response> {
737
+ public static transactionControllerDelete(
738
+ data: TransactionControllerDeleteData
739
+ ): CancelablePromise<TransactionControllerDeleteResponse> {
583
740
  return __request(OpenAPI, {
584
741
  method: 'DELETE',
585
742
  url: '/api/v1/{region}/bean/transactions/{id}',
586
743
  path: {
587
- region: data.region
588
- }
589
- });
590
- }
591
- }
592
-
593
- export class BeanAccountStandardsService {
594
- /**
595
- * Get account templates
596
- * Returns predefined account templates for a region. Supports filtering by account type and search term.
597
- * @param data The data for the request.
598
- * @param data.region Region code (cn, us, de)
599
- * @param data.type Filter by account type
600
- * @param data.search Search term for path or description
601
- * @returns AccountStandardListResponseDto Account templates retrieved successfully
602
- * @throws ApiError
603
- */
604
- public static accountStandardsControllerGetTemplates(
605
- data: AccountStandardsControllerGetTemplatesData
606
- ): CancelablePromise<AccountStandardsControllerGetTemplatesResponse> {
607
- return __request(OpenAPI, {
608
- method: 'GET',
609
- url: '/api/v1/{region}/bean/account-standards',
610
- path: {
744
+ id: data.id,
611
745
  region: data.region
612
746
  },
613
- query: {
614
- type: data.type,
615
- search: data.search
747
+ errors: {
748
+ 400: 'Transaction already voided',
749
+ 401: 'Authentication required',
750
+ 404: 'Transaction not found'
616
751
  }
617
752
  });
618
753
  }
619
-
620
- /**
621
- * Get available regions with hierarchy
622
- * Returns supported regions with inheritance metadata
623
- * @returns RegionsMetadataResponseDto Regions metadata retrieved successfully
624
- * @throws ApiError
625
- */
626
- public static accountStandardsControllerGetRegions(): CancelablePromise<AccountStandardsControllerGetRegionsResponse> {
627
- return __request(OpenAPI, {
628
- method: 'GET',
629
- url: '/api/v1/{region}/bean/account-standards/regions'
630
- });
631
- }
632
754
  }
633
755
 
634
756
  export class BeanBalancesService {
@@ -637,6 +759,7 @@ export class BeanBalancesService {
637
759
  * Calculate account balance at a specific date for a single currency
638
760
  * @param data The data for the request.
639
761
  * @param data.account Account name (e.g., "Assets:Bank:Checking")
762
+ * @param data.region Region code for tenant context
640
763
  * @param data.date Date to calculate balance at (ISO 8601 format)
641
764
  * @param data.currency Currency to query (e.g., "USD", "CNY")
642
765
  * @returns BalanceResponseDto Balance calculated successfully
@@ -648,6 +771,9 @@ export class BeanBalancesService {
648
771
  return __request(OpenAPI, {
649
772
  method: 'GET',
650
773
  url: '/api/v1/{region}/bean/balances',
774
+ path: {
775
+ region: data.region
776
+ },
651
777
  query: {
652
778
  account: data.account,
653
779
  date: data.date,
@@ -663,13 +789,20 @@ export class BeanBalancesService {
663
789
  /**
664
790
  * Query multi-currency account balance
665
791
  * Calculate account balances for all currencies at a specific date
792
+ * @param data The data for the request.
793
+ * @param data.region Region code for tenant context
666
794
  * @returns MultiCurrencyBalanceResponseDto Balances calculated successfully
667
795
  * @throws ApiError
668
796
  */
669
- public static balanceControllerGetMultiCurrencyBalance(): CancelablePromise<BalanceControllerGetMultiCurrencyBalanceResponse> {
797
+ public static balanceControllerGetMultiCurrencyBalance(
798
+ data: BalanceControllerGetMultiCurrencyBalanceData
799
+ ): CancelablePromise<BalanceControllerGetMultiCurrencyBalanceResponse> {
670
800
  return __request(OpenAPI, {
671
801
  method: 'GET',
672
802
  url: '/api/v1/{region}/bean/balances/multi-currency',
803
+ path: {
804
+ region: data.region
805
+ },
673
806
  errors: {
674
807
  400: 'Invalid query parameters',
675
808
  401: 'User not authenticated'
@@ -751,69 +884,94 @@ export class BeanReviewsService {
751
884
  }
752
885
 
753
886
  /**
887
+ * Resolve a review item
754
888
  * @param data The data for the request.
889
+ * @param data.id Review ID
755
890
  * @param data.region Region code for tenant context
756
- * @returns unknown
891
+ * @param data.requestBody
892
+ * @returns ResolveResultDto
757
893
  * @throws ApiError
758
894
  */
759
- public static reviewController(
760
- data: ReviewControllerData
761
- ): CancelablePromise<ReviewControllerResponse> {
895
+ public static reviewControllerResolve(
896
+ data: ReviewControllerResolveData
897
+ ): CancelablePromise<ReviewControllerResolveResponse> {
762
898
  return __request(OpenAPI, {
763
899
  method: 'POST',
764
900
  url: '/api/v1/{region}/bean/reviews/{id}/resolve',
765
901
  path: {
902
+ id: data.id,
766
903
  region: data.region
767
- }
904
+ },
905
+ body: data.requestBody,
906
+ mediaType: 'application/json'
768
907
  });
769
908
  }
770
909
 
771
910
  /**
911
+ * Undo a resolution (within 24h)
772
912
  * @param data The data for the request.
913
+ * @param data.id Review ID
773
914
  * @param data.region Region code for tenant context
774
- * @returns unknown
915
+ * @returns UndoResultDto
775
916
  * @throws ApiError
776
917
  */
777
- public static reviewController1(
778
- data: ReviewController1Data
779
- ): CancelablePromise<ReviewController1Response> {
918
+ public static reviewControllerUndo(
919
+ data: ReviewControllerUndoData
920
+ ): CancelablePromise<ReviewControllerUndoResponse> {
780
921
  return __request(OpenAPI, {
781
922
  method: 'POST',
782
923
  url: '/api/v1/{region}/bean/reviews/{id}/undo',
783
924
  path: {
925
+ id: data.id,
784
926
  region: data.region
785
927
  }
786
928
  });
787
929
  }
788
930
 
789
931
  /**
932
+ * Batch resolve multiple reviews
790
933
  * @param data The data for the request.
791
934
  * @param data.region Region code for tenant context
792
- * @returns unknown
935
+ * @param data.requestBody Batch resolution request containing review IDs and action
936
+ * @returns BatchResolveResultDto
793
937
  * @throws ApiError
794
938
  */
795
- public static reviewController2(
796
- data: ReviewController2Data
797
- ): CancelablePromise<ReviewController2Response> {
939
+ public static reviewControllerBatchResolve(
940
+ data: ReviewControllerBatchResolveData
941
+ ): CancelablePromise<ReviewControllerBatchResolveResponse> {
798
942
  return __request(OpenAPI, {
799
943
  method: 'POST',
800
944
  url: '/api/v1/{region}/bean/reviews/batch-resolve',
801
945
  path: {
802
946
  region: data.region
803
- }
947
+ },
948
+ body: data.requestBody,
949
+ mediaType: 'application/json'
804
950
  });
805
951
  }
806
952
  }
807
953
 
808
954
  export class BeanPayeesService {
809
955
  /**
810
- * @returns unknown
956
+ * Create a new payee
957
+ * Creates a new payee mapping for the authenticated user. The payee name must be unique within the user's account.
958
+ * @param data The data for the request.
959
+ * @param data.requestBody
960
+ * @returns PayeeResponseDto Payee created successfully
811
961
  * @throws ApiError
812
962
  */
813
- public static payeeController(): CancelablePromise<PayeeControllerResponse> {
963
+ public static payeeControllerCreate(
964
+ data: PayeeControllerCreateData
965
+ ): CancelablePromise<PayeeControllerCreateResponse> {
814
966
  return __request(OpenAPI, {
815
967
  method: 'POST',
816
- url: '/api/v1/bean/payees'
968
+ url: '/api/v1/bean/payees',
969
+ body: data.requestBody,
970
+ mediaType: 'application/json',
971
+ errors: {
972
+ 400: 'Invalid input data',
973
+ 409: 'Payee already exists'
974
+ }
817
975
  });
818
976
  }
819
977
 
@@ -912,37 +1070,78 @@ export class BeanPayeesService {
912
1070
  }
913
1071
 
914
1072
  /**
915
- * @returns unknown
1073
+ * Update payee
1074
+ * Updates a payee mapping. The payee name cannot be changed after creation.
1075
+ * @param data The data for the request.
1076
+ * @param data.id Payee UUID
1077
+ * @param data.requestBody
1078
+ * @returns PayeeResponseDto Payee updated successfully
916
1079
  * @throws ApiError
917
1080
  */
918
- public static payeeController1(): CancelablePromise<PayeeController1Response> {
1081
+ public static payeeControllerUpdate(
1082
+ data: PayeeControllerUpdateData
1083
+ ): CancelablePromise<PayeeControllerUpdateResponse> {
919
1084
  return __request(OpenAPI, {
920
1085
  method: 'PUT',
921
- url: '/api/v1/bean/payees/{id}'
1086
+ url: '/api/v1/bean/payees/{id}',
1087
+ path: {
1088
+ id: data.id
1089
+ },
1090
+ body: data.requestBody,
1091
+ mediaType: 'application/json',
1092
+ errors: {
1093
+ 400: 'Invalid input data',
1094
+ 404: 'Payee not found'
1095
+ }
922
1096
  });
923
1097
  }
924
1098
 
925
1099
  /**
926
- * @returns void
1100
+ * Delete payee
1101
+ * Soft deletes a payee by marking it as inactive. Inactive payees will not appear in autocomplete suggestions.
1102
+ * @param data The data for the request.
1103
+ * @param data.id Payee UUID
1104
+ * @returns void Payee deleted successfully
927
1105
  * @throws ApiError
928
1106
  */
929
- public static payeeController2(): CancelablePromise<PayeeController2Response> {
1107
+ public static payeeControllerDelete(
1108
+ data: PayeeControllerDeleteData
1109
+ ): CancelablePromise<PayeeControllerDeleteResponse> {
930
1110
  return __request(OpenAPI, {
931
1111
  method: 'DELETE',
932
- url: '/api/v1/bean/payees/{id}'
1112
+ url: '/api/v1/bean/payees/{id}',
1113
+ path: {
1114
+ id: data.id
1115
+ },
1116
+ errors: {
1117
+ 404: 'Payee not found'
1118
+ }
933
1119
  });
934
1120
  }
935
1121
  }
936
1122
 
937
1123
  export class AdminPayeeProfilesService {
938
1124
  /**
939
- * @returns unknown
1125
+ * Create payee profile (Admin only)
1126
+ * Creates a new global payee profile. The canonical name must be unique (case-insensitive).
1127
+ * @param data The data for the request.
1128
+ * @param data.requestBody
1129
+ * @returns PayeeProfileResponseDto Payee profile created successfully
940
1130
  * @throws ApiError
941
1131
  */
942
- public static payeeProfileAdminController(): CancelablePromise<PayeeProfileAdminControllerResponse> {
1132
+ public static payeeProfileAdminControllerCreate(
1133
+ data: PayeeProfileAdminControllerCreateData
1134
+ ): CancelablePromise<PayeeProfileAdminControllerCreateResponse> {
943
1135
  return __request(OpenAPI, {
944
1136
  method: 'POST',
945
- url: '/api/v1/admin/payee-profiles'
1137
+ url: '/api/v1/admin/payee-profiles',
1138
+ body: data.requestBody,
1139
+ mediaType: 'application/json',
1140
+ errors: {
1141
+ 400: 'Validation failed',
1142
+ 403: 'Admin access required',
1143
+ 409: 'Payee profile already exists'
1144
+ }
946
1145
  });
947
1146
  }
948
1147
 
@@ -1004,65 +1203,130 @@ export class AdminPayeeProfilesService {
1004
1203
  }
1005
1204
 
1006
1205
  /**
1007
- * @returns unknown
1206
+ * Update payee profile (Admin only)
1207
+ * Updates an existing payee profile. The canonical name cannot be changed.
1208
+ * @param data The data for the request.
1209
+ * @param data.id Payee profile ID (UUID)
1210
+ * @param data.requestBody
1211
+ * @returns PayeeProfileResponseDto Payee profile updated successfully
1008
1212
  * @throws ApiError
1009
1213
  */
1010
- public static payeeProfileAdminController1(): CancelablePromise<PayeeProfileAdminController1Response> {
1214
+ public static payeeProfileAdminControllerUpdate(
1215
+ data: PayeeProfileAdminControllerUpdateData
1216
+ ): CancelablePromise<PayeeProfileAdminControllerUpdateResponse> {
1011
1217
  return __request(OpenAPI, {
1012
1218
  method: 'PUT',
1013
- url: '/api/v1/admin/payee-profiles/{id}'
1219
+ url: '/api/v1/admin/payee-profiles/{id}',
1220
+ path: {
1221
+ id: data.id
1222
+ },
1223
+ body: data.requestBody,
1224
+ mediaType: 'application/json',
1225
+ errors: {
1226
+ 403: 'Admin access required',
1227
+ 404: 'Payee profile not found'
1228
+ }
1014
1229
  });
1015
1230
  }
1016
1231
 
1017
1232
  /**
1018
- * @returns void
1233
+ * Soft delete payee profile (Admin only)
1234
+ * Marks a payee profile as inactive (soft delete). The profile cannot be deleted if it is referenced by user payees.
1235
+ * @param data The data for the request.
1236
+ * @param data.id Payee profile ID (UUID)
1237
+ * @returns void Payee profile deleted successfully
1019
1238
  * @throws ApiError
1020
1239
  */
1021
- public static payeeProfileAdminController2(): CancelablePromise<PayeeProfileAdminController2Response> {
1240
+ public static payeeProfileAdminControllerDelete(
1241
+ data: PayeeProfileAdminControllerDeleteData
1242
+ ): CancelablePromise<PayeeProfileAdminControllerDeleteResponse> {
1022
1243
  return __request(OpenAPI, {
1023
1244
  method: 'DELETE',
1024
- url: '/api/v1/admin/payee-profiles/{id}'
1245
+ url: '/api/v1/admin/payee-profiles/{id}',
1246
+ path: {
1247
+ id: data.id
1248
+ },
1249
+ errors: {
1250
+ 403: 'Admin access required',
1251
+ 404: 'Payee profile not found',
1252
+ 409: 'Payee profile is in use and cannot be deleted'
1253
+ }
1025
1254
  });
1026
1255
  }
1027
1256
 
1028
1257
  /**
1029
- * @returns unknown
1258
+ * Verify payee profile (Admin only)
1259
+ * Marks a payee profile as verified by setting verifiedAt to current timestamp.
1260
+ * @param data The data for the request.
1261
+ * @param data.id Payee profile ID (UUID)
1262
+ * @returns PayeeProfileResponseDto Payee profile verified successfully
1030
1263
  * @throws ApiError
1031
1264
  */
1032
- public static payeeProfileAdminController3(): CancelablePromise<PayeeProfileAdminController3Response> {
1265
+ public static payeeProfileAdminControllerVerify(
1266
+ data: PayeeProfileAdminControllerVerifyData
1267
+ ): CancelablePromise<PayeeProfileAdminControllerVerifyResponse> {
1033
1268
  return __request(OpenAPI, {
1034
1269
  method: 'POST',
1035
- url: '/api/v1/admin/payee-profiles/{id}/verify'
1036
- });
1037
- }
1270
+ url: '/api/v1/admin/payee-profiles/{id}/verify',
1271
+ path: {
1272
+ id: data.id
1273
+ },
1274
+ errors: {
1275
+ 403: 'Admin access required',
1276
+ 404: 'Payee profile not found'
1277
+ }
1278
+ });
1279
+ }
1038
1280
 
1039
1281
  /**
1040
- * @returns unknown
1282
+ * Unverify payee profile (Admin only)
1283
+ * Removes verification status by setting verifiedAt to null.
1284
+ * @param data The data for the request.
1285
+ * @param data.id Payee profile ID (UUID)
1286
+ * @returns PayeeProfileResponseDto Payee profile unverified successfully
1041
1287
  * @throws ApiError
1042
1288
  */
1043
- public static payeeProfileAdminController4(): CancelablePromise<PayeeProfileAdminController4Response> {
1289
+ public static payeeProfileAdminControllerUnverify(
1290
+ data: PayeeProfileAdminControllerUnverifyData
1291
+ ): CancelablePromise<PayeeProfileAdminControllerUnverifyResponse> {
1044
1292
  return __request(OpenAPI, {
1045
1293
  method: 'DELETE',
1046
- url: '/api/v1/admin/payee-profiles/{id}/verify'
1294
+ url: '/api/v1/admin/payee-profiles/{id}/verify',
1295
+ path: {
1296
+ id: data.id
1297
+ },
1298
+ errors: {
1299
+ 403: 'Admin access required',
1300
+ 404: 'Payee profile not found'
1301
+ }
1047
1302
  });
1048
1303
  }
1049
1304
  }
1050
1305
 
1051
1306
  export class BeanCommoditiesService {
1052
1307
  /**
1308
+ * Create a new commodity
1309
+ * Creates a new commodity definition for the authenticated user
1053
1310
  * @param data The data for the request.
1054
1311
  * @param data.region Region code for tenant context
1055
- * @returns unknown
1312
+ * @param data.requestBody
1313
+ * @returns CommodityResponseDto Commodity created successfully
1056
1314
  * @throws ApiError
1057
1315
  */
1058
- public static commodityController(
1059
- data: CommodityControllerData
1060
- ): CancelablePromise<CommodityControllerResponse> {
1316
+ public static commodityControllerCreate(
1317
+ data: CommodityControllerCreateData
1318
+ ): CancelablePromise<CommodityControllerCreateResponse> {
1061
1319
  return __request(OpenAPI, {
1062
1320
  method: 'POST',
1063
1321
  url: '/api/v1/{region}/bean/commodities',
1064
1322
  path: {
1065
1323
  region: data.region
1324
+ },
1325
+ body: data.requestBody,
1326
+ mediaType: 'application/json',
1327
+ errors: {
1328
+ 400: 'Invalid input data',
1329
+ 409: 'Commodity already exists'
1066
1330
  }
1067
1331
  });
1068
1332
  }
@@ -1119,68 +1383,92 @@ export class BeanCommoditiesService {
1119
1383
  }
1120
1384
 
1121
1385
  /**
1386
+ * Update commodity
1387
+ * Updates an existing commodity definition. Symbol cannot be changed.
1122
1388
  * @param data The data for the request.
1389
+ * @param data.symbol Commodity symbol
1123
1390
  * @param data.region Region code for tenant context
1124
- * @returns unknown
1391
+ * @param data.requestBody
1392
+ * @returns CommodityResponseDto Commodity updated successfully
1125
1393
  * @throws ApiError
1126
1394
  */
1127
- public static commodityController1(
1128
- data: CommodityController1Data
1129
- ): CancelablePromise<CommodityController1Response> {
1395
+ public static commodityControllerUpdate(
1396
+ data: CommodityControllerUpdateData
1397
+ ): CancelablePromise<CommodityControllerUpdateResponse> {
1130
1398
  return __request(OpenAPI, {
1131
1399
  method: 'PUT',
1132
1400
  url: '/api/v1/{region}/bean/commodities/{symbol}',
1133
1401
  path: {
1402
+ symbol: data.symbol,
1134
1403
  region: data.region
1404
+ },
1405
+ body: data.requestBody,
1406
+ mediaType: 'application/json',
1407
+ errors: {
1408
+ 400: 'Invalid input data',
1409
+ 404: 'Commodity not found'
1135
1410
  }
1136
1411
  });
1137
1412
  }
1138
1413
 
1139
1414
  /**
1415
+ * Delete commodity
1416
+ * Deletes a commodity definition
1140
1417
  * @param data The data for the request.
1418
+ * @param data.symbol Commodity symbol
1141
1419
  * @param data.region Region code for tenant context
1142
- * @returns void
1420
+ * @returns void Commodity deleted successfully
1143
1421
  * @throws ApiError
1144
1422
  */
1145
- public static commodityController2(
1146
- data: CommodityController2Data
1147
- ): CancelablePromise<CommodityController2Response> {
1423
+ public static commodityControllerDelete(
1424
+ data: CommodityControllerDeleteData
1425
+ ): CancelablePromise<CommodityControllerDeleteResponse> {
1148
1426
  return __request(OpenAPI, {
1149
1427
  method: 'DELETE',
1150
1428
  url: '/api/v1/{region}/bean/commodities/{symbol}',
1151
1429
  path: {
1430
+ symbol: data.symbol,
1152
1431
  region: data.region
1432
+ },
1433
+ errors: {
1434
+ 404: 'Commodity not found'
1153
1435
  }
1154
1436
  });
1155
1437
  }
1156
1438
 
1157
1439
  /**
1440
+ * Ensure commodity exists
1441
+ * Gets existing commodity or creates it with automatic initialization from OpenBB
1158
1442
  * @param data The data for the request.
1443
+ * @param data.symbol Commodity symbol
1159
1444
  * @param data.region Region code for tenant context
1160
- * @returns unknown
1445
+ * @returns CommodityResponseDto Commodity retrieved or created
1161
1446
  * @throws ApiError
1162
1447
  */
1163
- public static commodityController3(
1164
- data: CommodityController3Data
1165
- ): CancelablePromise<CommodityController3Response> {
1448
+ public static commodityControllerGetOrCreate(
1449
+ data: CommodityControllerGetOrCreateData
1450
+ ): CancelablePromise<CommodityControllerGetOrCreateResponse> {
1166
1451
  return __request(OpenAPI, {
1167
1452
  method: 'POST',
1168
1453
  url: '/api/v1/{region}/bean/commodities/{symbol}/ensure',
1169
1454
  path: {
1455
+ symbol: data.symbol,
1170
1456
  region: data.region
1171
1457
  }
1172
1458
  });
1173
1459
  }
1174
1460
 
1175
1461
  /**
1462
+ * Bulk create commodities
1463
+ * Creates multiple commodities from a list of symbols, useful for initialization
1176
1464
  * @param data The data for the request.
1177
1465
  * @param data.region Region code for tenant context
1178
- * @returns unknown
1466
+ * @returns CommodityResponseDto Commodities created successfully
1179
1467
  * @throws ApiError
1180
1468
  */
1181
- public static commodityController4(
1182
- data: CommodityController4Data
1183
- ): CancelablePromise<CommodityController4Response> {
1469
+ public static commodityControllerBulkCreate(
1470
+ data: CommodityControllerBulkCreateData
1471
+ ): CancelablePromise<CommodityControllerBulkCreateResponse> {
1184
1472
  return __request(OpenAPI, {
1185
1473
  method: 'POST',
1186
1474
  url: '/api/v1/{region}/bean/commodities/bulk',
@@ -1193,19 +1481,28 @@ export class BeanCommoditiesService {
1193
1481
 
1194
1482
  export class RecurringRulesService {
1195
1483
  /**
1484
+ * Create a new recurring rule
1485
+ * Creates a new recurring transaction rule for the authenticated user
1196
1486
  * @param data The data for the request.
1197
1487
  * @param data.region Region code for tenant context
1198
- * @returns unknown
1488
+ * @param data.requestBody
1489
+ * @returns RecurringRuleResponseDto Rule created successfully
1199
1490
  * @throws ApiError
1200
1491
  */
1201
- public static recurringRuleController(
1202
- data: RecurringRuleControllerData
1203
- ): CancelablePromise<RecurringRuleControllerResponse> {
1492
+ public static recurringRuleControllerCreate(
1493
+ data: RecurringRuleControllerCreateData
1494
+ ): CancelablePromise<RecurringRuleControllerCreateResponse> {
1204
1495
  return __request(OpenAPI, {
1205
1496
  method: 'POST',
1206
1497
  url: '/api/v1/{region}/bean/recurring-rules',
1207
1498
  path: {
1208
1499
  region: data.region
1500
+ },
1501
+ body: data.requestBody,
1502
+ mediaType: 'application/json',
1503
+ errors: {
1504
+ 400: 'Invalid input data (e.g., autoCreate without accounts)',
1505
+ 409: 'Rule with same name already exists'
1209
1506
  }
1210
1507
  });
1211
1508
  }
@@ -1239,19 +1536,30 @@ export class RecurringRulesService {
1239
1536
  }
1240
1537
 
1241
1538
  /**
1539
+ * Create recurring rule from transaction
1540
+ * Auto-creates a recurring rule using transaction data. User only confirms frequency.
1242
1541
  * @param data The data for the request.
1542
+ * @param data.transactionId Source transaction ID
1243
1543
  * @param data.region Region code for tenant context
1244
- * @returns unknown
1544
+ * @param data.requestBody
1545
+ * @returns RecurringRuleResponseDto Rule created successfully
1245
1546
  * @throws ApiError
1246
1547
  */
1247
- public static recurringRuleController1(
1248
- data: RecurringRuleController1Data
1249
- ): CancelablePromise<RecurringRuleController1Response> {
1548
+ public static recurringRuleControllerCreateFromTransaction(
1549
+ data: RecurringRuleControllerCreateFromTransactionData
1550
+ ): CancelablePromise<RecurringRuleControllerCreateFromTransactionResponse> {
1250
1551
  return __request(OpenAPI, {
1251
1552
  method: 'POST',
1252
1553
  url: '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}',
1253
1554
  path: {
1555
+ transactionId: data.transactionId,
1254
1556
  region: data.region
1557
+ },
1558
+ body: data.requestBody,
1559
+ mediaType: 'application/json',
1560
+ errors: {
1561
+ 404: 'Transaction not found',
1562
+ 409: 'Rule with same name already exists or transaction already linked'
1255
1563
  }
1256
1564
  });
1257
1565
  }
@@ -1282,37 +1590,55 @@ export class RecurringRulesService {
1282
1590
  }
1283
1591
 
1284
1592
  /**
1593
+ * Update recurring rule
1594
+ * Updates an existing recurring rule
1285
1595
  * @param data The data for the request.
1596
+ * @param data.id Rule ID
1286
1597
  * @param data.region Region code for tenant context
1287
- * @returns unknown
1598
+ * @param data.requestBody
1599
+ * @returns RecurringRuleResponseDto Rule updated successfully
1288
1600
  * @throws ApiError
1289
1601
  */
1290
- public static recurringRuleController2(
1291
- data: RecurringRuleController2Data
1292
- ): CancelablePromise<RecurringRuleController2Response> {
1602
+ public static recurringRuleControllerUpdate(
1603
+ data: RecurringRuleControllerUpdateData
1604
+ ): CancelablePromise<RecurringRuleControllerUpdateResponse> {
1293
1605
  return __request(OpenAPI, {
1294
1606
  method: 'PATCH',
1295
1607
  url: '/api/v1/{region}/bean/recurring-rules/{id}',
1296
1608
  path: {
1609
+ id: data.id,
1297
1610
  region: data.region
1611
+ },
1612
+ body: data.requestBody,
1613
+ mediaType: 'application/json',
1614
+ errors: {
1615
+ 400: 'Invalid input data',
1616
+ 404: 'Rule not found'
1298
1617
  }
1299
1618
  });
1300
1619
  }
1301
1620
 
1302
1621
  /**
1622
+ * Delete recurring rule
1623
+ * Soft deletes a recurring rule (sets isActive to false)
1303
1624
  * @param data The data for the request.
1625
+ * @param data.id Rule ID
1304
1626
  * @param data.region Region code for tenant context
1305
- * @returns void
1627
+ * @returns void Rule deleted successfully
1306
1628
  * @throws ApiError
1307
1629
  */
1308
- public static recurringRuleController3(
1309
- data: RecurringRuleController3Data
1310
- ): CancelablePromise<RecurringRuleController3Response> {
1630
+ public static recurringRuleControllerDelete(
1631
+ data: RecurringRuleControllerDeleteData
1632
+ ): CancelablePromise<RecurringRuleControllerDeleteResponse> {
1311
1633
  return __request(OpenAPI, {
1312
1634
  method: 'DELETE',
1313
1635
  url: '/api/v1/{region}/bean/recurring-rules/{id}',
1314
1636
  path: {
1637
+ id: data.id,
1315
1638
  region: data.region
1639
+ },
1640
+ errors: {
1641
+ 404: 'Rule not found'
1316
1642
  }
1317
1643
  });
1318
1644
  }
@@ -1420,91 +1746,138 @@ export class ExpectedTransactionsService {
1420
1746
  }
1421
1747
 
1422
1748
  /**
1749
+ * Skip expected transaction
1750
+ * Marks an expected transaction as skipped (PENDING -> SKIPPED)
1423
1751
  * @param data The data for the request.
1752
+ * @param data.id Expected transaction ID
1424
1753
  * @param data.region Region code for tenant context
1425
- * @returns unknown
1754
+ * @returns ExpectedTransactionResponseDto Expected transaction skipped successfully
1426
1755
  * @throws ApiError
1427
1756
  */
1428
- public static expectedTransactionController(
1429
- data: ExpectedTransactionControllerData
1430
- ): CancelablePromise<ExpectedTransactionControllerResponse> {
1757
+ public static expectedTransactionControllerSkip(
1758
+ data: ExpectedTransactionControllerSkipData
1759
+ ): CancelablePromise<ExpectedTransactionControllerSkipResponse> {
1431
1760
  return __request(OpenAPI, {
1432
1761
  method: 'POST',
1433
1762
  url: '/api/v1/{region}/bean/expected-transactions/{id}/skip',
1434
1763
  path: {
1764
+ id: data.id,
1435
1765
  region: data.region
1766
+ },
1767
+ errors: {
1768
+ 400: 'Cannot skip - not in PENDING status',
1769
+ 404: 'Expected transaction not found'
1436
1770
  }
1437
1771
  });
1438
1772
  }
1439
1773
 
1440
1774
  /**
1775
+ * Undo skip
1776
+ * Reverses a skip operation (SKIPPED -> PENDING)
1441
1777
  * @param data The data for the request.
1778
+ * @param data.id Expected transaction ID
1442
1779
  * @param data.region Region code for tenant context
1443
- * @returns unknown
1780
+ * @returns ExpectedTransactionResponseDto Skip undone successfully
1444
1781
  * @throws ApiError
1445
1782
  */
1446
- public static expectedTransactionController1(
1447
- data: ExpectedTransactionController1Data
1448
- ): CancelablePromise<ExpectedTransactionController1Response> {
1783
+ public static expectedTransactionControllerUndoSkip(
1784
+ data: ExpectedTransactionControllerUndoSkipData
1785
+ ): CancelablePromise<ExpectedTransactionControllerUndoSkipResponse> {
1449
1786
  return __request(OpenAPI, {
1450
1787
  method: 'DELETE',
1451
1788
  url: '/api/v1/{region}/bean/expected-transactions/{id}/skip',
1452
1789
  path: {
1790
+ id: data.id,
1453
1791
  region: data.region
1792
+ },
1793
+ errors: {
1794
+ 400: 'Cannot undo - not in SKIPPED status',
1795
+ 404: 'Expected transaction not found'
1454
1796
  }
1455
1797
  });
1456
1798
  }
1457
1799
 
1458
1800
  /**
1801
+ * Confirm transaction match
1802
+ * Manually matches an expected transaction with an actual transaction
1459
1803
  * @param data The data for the request.
1804
+ * @param data.id Expected transaction ID
1460
1805
  * @param data.region Region code for tenant context
1461
- * @returns unknown
1806
+ * @param data.requestBody
1807
+ * @returns unknown Match confirmed successfully
1462
1808
  * @throws ApiError
1463
1809
  */
1464
- public static expectedTransactionController2(
1465
- data: ExpectedTransactionController2Data
1466
- ): CancelablePromise<ExpectedTransactionController2Response> {
1810
+ public static expectedTransactionControllerConfirmMatch(
1811
+ data: ExpectedTransactionControllerConfirmMatchData
1812
+ ): CancelablePromise<ExpectedTransactionControllerConfirmMatchResponse> {
1467
1813
  return __request(OpenAPI, {
1468
1814
  method: 'POST',
1469
1815
  url: '/api/v1/{region}/bean/expected-transactions/{id}/match',
1470
1816
  path: {
1817
+ id: data.id,
1471
1818
  region: data.region
1819
+ },
1820
+ body: data.requestBody,
1821
+ mediaType: 'application/json',
1822
+ errors: {
1823
+ 400: 'Cannot match - not in PENDING status',
1824
+ 404: 'Expected or actual transaction not found',
1825
+ 409: 'Actual transaction already matched to another rule'
1472
1826
  }
1473
1827
  });
1474
1828
  }
1475
1829
 
1476
1830
  /**
1831
+ * Unmatch transaction
1832
+ * Removes the match between expected and actual transaction (COMPLETED -> PENDING)
1477
1833
  * @param data The data for the request.
1834
+ * @param data.id Expected transaction ID
1478
1835
  * @param data.region Region code for tenant context
1479
- * @returns unknown
1836
+ * @returns unknown Match removed successfully
1480
1837
  * @throws ApiError
1481
1838
  */
1482
- public static expectedTransactionController3(
1483
- data: ExpectedTransactionController3Data
1484
- ): CancelablePromise<ExpectedTransactionController3Response> {
1839
+ public static expectedTransactionControllerUnmatch(
1840
+ data: ExpectedTransactionControllerUnmatchData
1841
+ ): CancelablePromise<ExpectedTransactionControllerUnmatchResponse> {
1485
1842
  return __request(OpenAPI, {
1486
1843
  method: 'DELETE',
1487
1844
  url: '/api/v1/{region}/bean/expected-transactions/{id}/match',
1488
1845
  path: {
1846
+ id: data.id,
1489
1847
  region: data.region
1848
+ },
1849
+ errors: {
1850
+ 400: 'Cannot unmatch - not in COMPLETED status',
1851
+ 404: 'Expected transaction not found'
1490
1852
  }
1491
1853
  });
1492
1854
  }
1493
1855
 
1494
1856
  /**
1857
+ * Enter Now
1858
+ * Creates an actual transaction for an expected transaction (YNAB-style Enter Now)
1495
1859
  * @param data The data for the request.
1860
+ * @param data.id Expected transaction ID
1496
1861
  * @param data.region Region code for tenant context
1497
- * @returns unknown
1862
+ * @param data.requestBody
1863
+ * @returns unknown Transaction created successfully
1498
1864
  * @throws ApiError
1499
1865
  */
1500
- public static expectedTransactionController4(
1501
- data: ExpectedTransactionController4Data
1502
- ): CancelablePromise<ExpectedTransactionController4Response> {
1866
+ public static expectedTransactionControllerEnterNow(
1867
+ data: ExpectedTransactionControllerEnterNowData
1868
+ ): CancelablePromise<ExpectedTransactionControllerEnterNowResponse> {
1503
1869
  return __request(OpenAPI, {
1504
1870
  method: 'POST',
1505
1871
  url: '/api/v1/{region}/bean/expected-transactions/{id}/enter',
1506
1872
  path: {
1873
+ id: data.id,
1507
1874
  region: data.region
1875
+ },
1876
+ body: data.requestBody,
1877
+ mediaType: 'application/json',
1878
+ errors: {
1879
+ 400: 'Cannot enter - not in PENDING status or missing accounts',
1880
+ 404: 'Expected transaction or accounts not found'
1508
1881
  }
1509
1882
  });
1510
1883
  }
@@ -1515,16 +1888,20 @@ export class RecurringForecastService {
1515
1888
  * Get cash flow forecast
1516
1889
  * Returns predicted outflows for the next N months based on active recurring rules
1517
1890
  * @param data The data for the request.
1891
+ * @param data.region Region code for tenant context
1518
1892
  * @param data.months Number of months to forecast (1-12, default 3)
1519
1893
  * @returns ForecastResponseDto Forecast retrieved successfully
1520
1894
  * @throws ApiError
1521
1895
  */
1522
1896
  public static forecastControllerGetForecast(
1523
- data: ForecastControllerGetForecastData = {}
1897
+ data: ForecastControllerGetForecastData
1524
1898
  ): CancelablePromise<ForecastControllerGetForecastResponse> {
1525
1899
  return __request(OpenAPI, {
1526
1900
  method: 'GET',
1527
1901
  url: '/api/v1/{region}/bean/recurring/forecast',
1902
+ path: {
1903
+ region: data.region
1904
+ },
1528
1905
  query: {
1529
1906
  months: data.months
1530
1907
  }
@@ -1534,19 +1911,29 @@ export class RecurringForecastService {
1534
1911
 
1535
1912
  export class BeanTransactionRulesService {
1536
1913
  /**
1914
+ * Create a new transaction rule (or upsert if upsertByPayee=true)
1915
+ * Creates a new rule. If upsertByPayee=true, updates existing rule matching payeeKeywords[0] instead of creating duplicate.
1537
1916
  * @param data The data for the request.
1538
1917
  * @param data.region Region code for tenant context
1539
- * @returns unknown
1918
+ * @param data.requestBody
1919
+ * @returns TransactionRuleResponseDto Rule updated successfully (upsert mode)
1540
1920
  * @throws ApiError
1541
1921
  */
1542
- public static transactionRuleController(
1543
- data: TransactionRuleControllerData
1544
- ): CancelablePromise<TransactionRuleControllerResponse> {
1922
+ public static transactionRuleControllerCreate(
1923
+ data: TransactionRuleControllerCreateData
1924
+ ): CancelablePromise<TransactionRuleControllerCreateResponse> {
1545
1925
  return __request(OpenAPI, {
1546
1926
  method: 'POST',
1547
1927
  url: '/api/v1/{region}/bean/transaction-rules',
1548
1928
  path: {
1549
1929
  region: data.region
1930
+ },
1931
+ body: data.requestBody,
1932
+ mediaType: 'application/json',
1933
+ errors: {
1934
+ 400: 'Validation failed',
1935
+ 401: 'Unauthorized',
1936
+ 409: 'Resource conflict - another process is updating this rule'
1550
1937
  }
1551
1938
  });
1552
1939
  }
@@ -1605,25 +1992,34 @@ export class BeanTransactionRulesService {
1605
1992
  body: data.requestBody,
1606
1993
  mediaType: 'application/json',
1607
1994
  errors: {
1995
+ 400: 'Validation failed',
1608
1996
  401: 'Unauthorized'
1609
1997
  }
1610
1998
  });
1611
1999
  }
1612
2000
 
1613
2001
  /**
2002
+ * Bulk create transaction rules
1614
2003
  * @param data The data for the request.
1615
2004
  * @param data.region Region code for tenant context
1616
- * @returns unknown
2005
+ * @param data.requestBody
2006
+ * @returns BulkCreateRulesResponseDto Bulk create completed
1617
2007
  * @throws ApiError
1618
2008
  */
1619
- public static transactionRuleController1(
1620
- data: TransactionRuleController1Data
1621
- ): CancelablePromise<TransactionRuleController1Response> {
2009
+ public static transactionRuleControllerBulkCreate(
2010
+ data: TransactionRuleControllerBulkCreateData
2011
+ ): CancelablePromise<TransactionRuleControllerBulkCreateResponse> {
1622
2012
  return __request(OpenAPI, {
1623
2013
  method: 'POST',
1624
2014
  url: '/api/v1/{region}/bean/transaction-rules/bulk',
1625
2015
  path: {
1626
2016
  region: data.region
2017
+ },
2018
+ body: data.requestBody,
2019
+ mediaType: 'application/json',
2020
+ errors: {
2021
+ 400: 'Invalid bulk create data',
2022
+ 401: 'Unauthorized'
1627
2023
  }
1628
2024
  });
1629
2025
  }
@@ -1704,37 +2100,59 @@ export class BeanTransactionRulesService {
1704
2100
  }
1705
2101
 
1706
2102
  /**
2103
+ * Update a transaction rule
1707
2104
  * @param data The data for the request.
2105
+ * @param data.ruleId Rule ID to update
1708
2106
  * @param data.region Region code for tenant context
1709
- * @returns unknown
2107
+ * @param data.requestBody
2108
+ * @returns TransactionRuleResponseDto Rule updated successfully
1710
2109
  * @throws ApiError
1711
2110
  */
1712
- public static transactionRuleController2(
1713
- data: TransactionRuleController2Data
1714
- ): CancelablePromise<TransactionRuleController2Response> {
2111
+ public static transactionRuleControllerUpdate(
2112
+ data: TransactionRuleControllerUpdateData
2113
+ ): CancelablePromise<TransactionRuleControllerUpdateResponse> {
1715
2114
  return __request(OpenAPI, {
1716
2115
  method: 'PUT',
1717
2116
  url: '/api/v1/{region}/bean/transaction-rules/{ruleId}',
1718
2117
  path: {
2118
+ ruleId: data.ruleId,
1719
2119
  region: data.region
2120
+ },
2121
+ body: data.requestBody,
2122
+ mediaType: 'application/json',
2123
+ errors: {
2124
+ 400: 'Validation failed',
2125
+ 401: 'Unauthorized',
2126
+ 403: 'Forbidden - not owner of rule',
2127
+ 404: 'Rule not found',
2128
+ 409: 'Resource conflict - rule is being modified by another process'
1720
2129
  }
1721
2130
  });
1722
2131
  }
1723
2132
 
1724
2133
  /**
2134
+ * Delete a transaction rule
1725
2135
  * @param data The data for the request.
2136
+ * @param data.ruleId Rule ID to delete
1726
2137
  * @param data.region Region code for tenant context
1727
- * @returns void
2138
+ * @returns void Rule deleted successfully
1728
2139
  * @throws ApiError
1729
2140
  */
1730
- public static transactionRuleController3(
1731
- data: TransactionRuleController3Data
1732
- ): CancelablePromise<TransactionRuleController3Response> {
2141
+ public static transactionRuleControllerDelete(
2142
+ data: TransactionRuleControllerDeleteData
2143
+ ): CancelablePromise<TransactionRuleControllerDeleteResponse> {
1733
2144
  return __request(OpenAPI, {
1734
2145
  method: 'DELETE',
1735
2146
  url: '/api/v1/{region}/bean/transaction-rules/{ruleId}',
1736
2147
  path: {
2148
+ ruleId: data.ruleId,
1737
2149
  region: data.region
2150
+ },
2151
+ errors: {
2152
+ 401: 'Unauthorized',
2153
+ 403: 'Forbidden - not owner of rule',
2154
+ 404: 'Rule not found',
2155
+ 409: 'Resource conflict - rule is being modified by another process'
1738
2156
  }
1739
2157
  });
1740
2158
  }
@@ -1974,24 +2392,67 @@ export class PropertiesService {
1974
2392
  }
1975
2393
 
1976
2394
  /**
1977
- * @returns unknown
2395
+ * Update a system property
2396
+ * @param data The data for the request.
2397
+ * @param data.key Property key
2398
+ * @param data.requestBody
2399
+ * @returns unknown Property updated successfully
1978
2400
  * @throws ApiError
1979
2401
  */
1980
- public static propertyController(): CancelablePromise<PropertyControllerResponse> {
2402
+ public static propertyControllerUpdate(
2403
+ data: PropertyControllerUpdateData
2404
+ ): CancelablePromise<PropertyControllerUpdateResponse> {
1981
2405
  return __request(OpenAPI, {
1982
2406
  method: 'PUT',
1983
- url: '/api/v1/admin/properties/{key}'
2407
+ url: '/api/v1/admin/properties/{key}',
2408
+ path: {
2409
+ key: data.key
2410
+ },
2411
+ body: data.requestBody,
2412
+ mediaType: 'application/json',
2413
+ errors: {
2414
+ 401: 'Unauthorized',
2415
+ 403: 'Forbidden - insufficient permissions'
2416
+ }
1984
2417
  });
1985
2418
  }
1986
2419
 
1987
2420
  /**
1988
- * @returns void
2421
+ * Delete a system property
2422
+ * @param data The data for the request.
2423
+ * @param data.key Property key
2424
+ * @returns void Property deleted successfully
1989
2425
  * @throws ApiError
1990
2426
  */
1991
- public static propertyController1(): CancelablePromise<PropertyController1Response> {
2427
+ public static propertyControllerDelete(
2428
+ data: PropertyControllerDeleteData
2429
+ ): CancelablePromise<PropertyControllerDeleteResponse> {
1992
2430
  return __request(OpenAPI, {
1993
2431
  method: 'DELETE',
1994
- url: '/api/v1/admin/properties/{key}'
2432
+ url: '/api/v1/admin/properties/{key}',
2433
+ path: {
2434
+ key: data.key
2435
+ },
2436
+ errors: {
2437
+ 401: 'Unauthorized',
2438
+ 403: 'Forbidden - insufficient permissions',
2439
+ 404: 'Property not found'
2440
+ }
2441
+ });
2442
+ }
2443
+ }
2444
+
2445
+ export class BeanExportService {
2446
+ /**
2447
+ * Export Beancount ledger as ZIP
2448
+ * Export all user Beancount data as a ZIP file containing ledger.beancount and yearly files in community format.
2449
+ * @returns unknown
2450
+ * @throws ApiError
2451
+ */
2452
+ public static exportControllerExportBeancount(): CancelablePromise<ExportControllerExportBeancountResponse> {
2453
+ return __request(OpenAPI, {
2454
+ method: 'GET',
2455
+ url: '/api/v1/{region}/bean/export/beancount'
1995
2456
  });
1996
2457
  }
1997
2458
  }
@@ -2001,6 +2462,7 @@ export class BeanImportService {
2001
2462
  * Import a bill file
2002
2463
  * Upload and process a bill file (CSV, PDF, OFX, etc.). The system automatically identifies the file type, extracts transactions, validates them, and stores only validated transactions to the database. Maximum file size: 50MB. Only 1 import per user at a time (concurrent imports rejected with 429).
2003
2464
  * @param data The data for the request.
2465
+ * @param data.region Region code for tenant context
2004
2466
  * @param data.formData Bill file to import
2005
2467
  * @returns ImportResultDto File imported successfully
2006
2468
  * @throws ApiError
@@ -2011,6 +2473,9 @@ export class BeanImportService {
2011
2473
  return __request(OpenAPI, {
2012
2474
  method: 'POST',
2013
2475
  url: '/api/v1/{region}/bean/import/file',
2476
+ path: {
2477
+ region: data.region
2478
+ },
2014
2479
  formData: data.formData,
2015
2480
  mediaType: 'multipart/form-data',
2016
2481
  errors: {
@@ -2026,6 +2491,7 @@ export class BeanImportService {
2026
2491
  * Identify file type
2027
2492
  * Upload a file to check if it can be processed by any registered importer. Does not perform actual import - useful for pre-validation. Uses user-specific importer configuration.
2028
2493
  * @param data The data for the request.
2494
+ * @param data.region Region code for tenant context
2029
2495
  * @param data.formData File to identify
2030
2496
  * @returns IdentifyResultDto File identification result
2031
2497
  * @throws ApiError
@@ -2036,6 +2502,9 @@ export class BeanImportService {
2036
2502
  return __request(OpenAPI, {
2037
2503
  method: 'POST',
2038
2504
  url: '/api/v1/{region}/bean/import/identify',
2505
+ path: {
2506
+ region: data.region
2507
+ },
2039
2508
  formData: data.formData,
2040
2509
  mediaType: 'multipart/form-data',
2041
2510
  errors: {
@@ -2044,6 +2513,32 @@ export class BeanImportService {
2044
2513
  });
2045
2514
  }
2046
2515
 
2516
+ /**
2517
+ * Import a Beancount file in community format
2518
+ * Upload a .beancount file to import. The system parses community-format paths, converts to internal format using category metadata, auto-creates accounts, and imports transactions with deduplication. Maximum file size: 50MB. Only 1 import per user at a time.
2519
+ * @param data The data for the request.
2520
+ * @param data.region Region code for tenant context
2521
+ * @param data.formData Beancount file to import
2522
+ * @returns unknown Beancount file imported successfully
2523
+ * @throws ApiError
2524
+ */
2525
+ public static fileImportControllerImportBeancount(
2526
+ data: FileImportControllerImportBeancountData
2527
+ ): CancelablePromise<FileImportControllerImportBeancountResponse> {
2528
+ return __request(OpenAPI, {
2529
+ method: 'POST',
2530
+ url: '/api/v1/{region}/bean/import/beancount',
2531
+ path: {
2532
+ region: data.region
2533
+ },
2534
+ formData: data.formData,
2535
+ mediaType: 'multipart/form-data',
2536
+ errors: {
2537
+ 400: 'Bad request - invalid file or no file uploaded'
2538
+ }
2539
+ });
2540
+ }
2541
+
2047
2542
  /**
2048
2543
  * Get importer configuration
2049
2544
  * Returns the current configuration for the specified importer. Creates default configuration if none exists.
@@ -2071,82 +2566,215 @@ export class BeanImportService {
2071
2566
  }
2072
2567
 
2073
2568
  /**
2569
+ * Update importer configuration
2570
+ * Updates the configuration for the specified importer. Partial updates are supported.
2074
2571
  * @param data The data for the request.
2572
+ * @param data.importerId 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
2075
2573
  * @param data.region Region code for tenant context
2076
- * @returns unknown
2574
+ * @param data.requestBody Partial configuration update. Only provided fields will be updated.
2575
+ * @returns ImporterConfigDto Configuration updated successfully
2077
2576
  * @throws ApiError
2078
2577
  */
2079
- public static importerConfigController(
2080
- data: ImporterConfigControllerData
2081
- ): CancelablePromise<ImporterConfigControllerResponse> {
2578
+ public static importerConfigControllerUpdateConfig(
2579
+ data: ImporterConfigControllerUpdateConfigData
2580
+ ): CancelablePromise<ImporterConfigControllerUpdateConfigResponse> {
2082
2581
  return __request(OpenAPI, {
2083
2582
  method: 'PUT',
2084
2583
  url: '/api/v1/{region}/bean/import/config/{importerId}',
2085
2584
  path: {
2585
+ importerId: data.importerId,
2086
2586
  region: data.region
2587
+ },
2588
+ body: data.requestBody,
2589
+ mediaType: 'application/json',
2590
+ errors: {
2591
+ 400: 'Invalid input - Validation failed',
2592
+ 404: 'Configuration not found'
2087
2593
  }
2088
2594
  });
2089
2595
  }
2090
2596
 
2091
2597
  /**
2598
+ * Reset configuration to default
2599
+ * Resets the configuration for the specified importer to default values. This operation overwrites all existing configuration.
2092
2600
  * @param data The data for the request.
2601
+ * @param data.importerId 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
2093
2602
  * @param data.region Region code for tenant context
2094
- * @returns unknown
2603
+ * @returns ImporterConfigDto Configuration reset successfully
2095
2604
  * @throws ApiError
2096
2605
  */
2097
- public static importerConfigController1(
2098
- data: ImporterConfigController1Data
2099
- ): CancelablePromise<ImporterConfigController1Response> {
2606
+ public static importerConfigControllerResetConfig(
2607
+ data: ImporterConfigControllerResetConfigData
2608
+ ): CancelablePromise<ImporterConfigControllerResetConfigResponse> {
2100
2609
  return __request(OpenAPI, {
2101
2610
  method: 'POST',
2102
2611
  url: '/api/v1/{region}/bean/import/config/{importerId}/reset',
2103
2612
  path: {
2613
+ importerId: data.importerId,
2104
2614
  region: data.region
2615
+ },
2616
+ errors: {
2617
+ 400: 'Invalid input - Unsupported importer'
2105
2618
  }
2106
2619
  });
2107
2620
  }
2108
2621
  }
2109
2622
 
2110
- export class ProviderSyncService {
2623
+ export class BeanPlatformsService {
2111
2624
  /**
2112
- * Sync transactions from financial data provider
2113
- *
2114
- * Accepts raw transactions from external financial data providers, transforms them to Beancount format, and processes them through the ingestion pipeline.
2115
- *
2116
- * **Supported Providers:**
2117
- * - **plaid**: Plaid API (US, Canada, Europe)
2118
- * - **teller**: Teller API (US)
2119
- * - **truelayer**: TrueLayer Open Banking (UK, Europe)
2120
- * - **gocardless**: GoCardless Bank Account Data (Europe)
2121
- * - **simplefin**: SimpleFIN (Self-hosted)
2122
- * - **yodlee**: Yodlee (Global)
2123
- * - **beancount-direct**: Beancount format transactions
2124
- * - **parsed-bill**: Client-side parsed bill transactions
2125
- *
2126
- * **Processing Flow:**
2127
- * 1. Transform raw data via provider adapter
2128
- * 2. Validate transaction format
2129
- * 3. Deduplicate using originalId
2130
- * 4. Classify using rule engine
2131
- * 5. Route low-confidence to Review Center
2132
- * 6. Persist validated transactions
2133
- *
2625
+ * Get all platforms with statistics
2626
+ * @returns unknown List of platforms with binding and account counts
2627
+ * @throws ApiError
2628
+ */
2629
+ public static platformControllerFindAll(): CancelablePromise<PlatformControllerFindAllResponse> {
2630
+ return __request(OpenAPI, {
2631
+ method: 'GET',
2632
+ url: '/api/v1/bean/platforms'
2633
+ });
2634
+ }
2635
+
2636
+ /**
2637
+ * Create a new platform
2134
2638
  * @param data The data for the request.
2135
- * @param data.providerName Provider name
2136
- * @param data.region Region code
2137
2639
  * @param data.requestBody
2138
- * @returns ProviderSyncResponseDto Sync completed successfully
2640
+ * @returns unknown Platform created successfully
2139
2641
  * @throws ApiError
2140
2642
  */
2141
- public static providerSyncControllerSync(
2142
- data: ProviderSyncControllerSyncData
2143
- ): CancelablePromise<ProviderSyncControllerSyncResponse> {
2643
+ public static platformControllerCreate(
2644
+ data: PlatformControllerCreateData
2645
+ ): CancelablePromise<PlatformControllerCreateResponse> {
2144
2646
  return __request(OpenAPI, {
2145
2647
  method: 'POST',
2146
- url: '/api/v1/{region}/bean/import/provider/{providerName}/sync',
2147
- path: {
2148
- providerName: data.providerName,
2149
- region: data.region
2648
+ url: '/api/v1/bean/platforms',
2649
+ body: data.requestBody,
2650
+ mediaType: 'application/json',
2651
+ errors: {
2652
+ 409: 'Platform already exists'
2653
+ }
2654
+ });
2655
+ }
2656
+
2657
+ /**
2658
+ * Get platform list for current user
2659
+ * @returns unknown List of platforms with user binding status
2660
+ * @throws ApiError
2661
+ */
2662
+ public static platformControllerGetPlatformList(): CancelablePromise<PlatformControllerGetPlatformListResponse> {
2663
+ return __request(OpenAPI, {
2664
+ method: 'GET',
2665
+ url: '/api/v1/bean/platforms/list'
2666
+ });
2667
+ }
2668
+
2669
+ /**
2670
+ * Match platforms by name or alias
2671
+ * @param data The data for the request.
2672
+ * @param data.q Search query — Chinese name, English name, or abbreviation
2673
+ * @param data.region Region code for category override lookup
2674
+ * @returns unknown List of matching platforms with suggested segment names
2675
+ * @throws ApiError
2676
+ */
2677
+ public static platformControllerMatchPlatforms(
2678
+ data: PlatformControllerMatchPlatformsData
2679
+ ): CancelablePromise<PlatformControllerMatchPlatformsResponse> {
2680
+ return __request(OpenAPI, {
2681
+ method: 'GET',
2682
+ url: '/api/v1/bean/platforms/match',
2683
+ query: {
2684
+ q: data.q,
2685
+ region: data.region
2686
+ }
2687
+ });
2688
+ }
2689
+
2690
+ /**
2691
+ * Update a platform
2692
+ * @param data The data for the request.
2693
+ * @param data.id Platform ID
2694
+ * @param data.requestBody
2695
+ * @returns unknown Platform updated successfully
2696
+ * @throws ApiError
2697
+ */
2698
+ public static platformControllerUpdate(
2699
+ data: PlatformControllerUpdateData
2700
+ ): CancelablePromise<PlatformControllerUpdateResponse> {
2701
+ return __request(OpenAPI, {
2702
+ method: 'PUT',
2703
+ url: '/api/v1/bean/platforms/{id}',
2704
+ path: {
2705
+ id: data.id
2706
+ },
2707
+ body: data.requestBody,
2708
+ mediaType: 'application/json',
2709
+ errors: {
2710
+ 404: 'Platform not found'
2711
+ }
2712
+ });
2713
+ }
2714
+
2715
+ /**
2716
+ * Delete a platform
2717
+ * @param data The data for the request.
2718
+ * @param data.id Platform ID
2719
+ * @returns void Platform deleted successfully
2720
+ * @throws ApiError
2721
+ */
2722
+ public static platformControllerDelete(
2723
+ data: PlatformControllerDeleteData
2724
+ ): CancelablePromise<PlatformControllerDeleteResponse> {
2725
+ return __request(OpenAPI, {
2726
+ method: 'DELETE',
2727
+ url: '/api/v1/bean/platforms/{id}',
2728
+ path: {
2729
+ id: data.id
2730
+ },
2731
+ errors: {
2732
+ 404: 'Platform not found'
2733
+ }
2734
+ });
2735
+ }
2736
+ }
2737
+
2738
+ export class ProviderSyncService {
2739
+ /**
2740
+ * Sync transactions from financial data provider
2741
+ *
2742
+ * Accepts raw transactions from external financial data providers, transforms them to Beancount format, and processes them through the ingestion pipeline.
2743
+ *
2744
+ * **Supported Providers:**
2745
+ * - **plaid**: Plaid API (US, Canada, Europe)
2746
+ * - **teller**: Teller API (US)
2747
+ * - **truelayer**: TrueLayer Open Banking (UK, Europe)
2748
+ * - **gocardless**: GoCardless Bank Account Data (Europe)
2749
+ * - **simplefin**: SimpleFIN (Self-hosted)
2750
+ * - **yodlee**: Yodlee (Global)
2751
+ * - **beancount-direct**: Beancount format transactions
2752
+ * - **parsed-bill**: Client-side parsed bill transactions
2753
+ *
2754
+ * **Processing Flow:**
2755
+ * 1. Transform raw data via provider adapter
2756
+ * 2. Validate transaction format
2757
+ * 3. Deduplicate using originalId
2758
+ * 4. Classify using rule engine
2759
+ * 5. Route low-confidence to Review Center
2760
+ * 6. Persist validated transactions
2761
+ *
2762
+ * @param data The data for the request.
2763
+ * @param data.providerName Provider name
2764
+ * @param data.region Region code
2765
+ * @param data.requestBody
2766
+ * @returns ProviderSyncResponseDto Sync completed successfully
2767
+ * @throws ApiError
2768
+ */
2769
+ public static providerSyncControllerSync(
2770
+ data: ProviderSyncControllerSyncData
2771
+ ): CancelablePromise<ProviderSyncControllerSyncResponse> {
2772
+ return __request(OpenAPI, {
2773
+ method: 'POST',
2774
+ url: '/api/v1/{region}/bean/import/provider/{providerName}/sync',
2775
+ path: {
2776
+ providerName: data.providerName,
2777
+ region: data.region
2150
2778
  },
2151
2779
  body: data.requestBody,
2152
2780
  mediaType: 'application/json',
@@ -2161,13 +2789,20 @@ export class ProviderSyncService {
2161
2789
  /**
2162
2790
  * Get supported providers
2163
2791
  * Returns a list of all providers supported by the sync endpoint.
2792
+ * @param data The data for the request.
2793
+ * @param data.region Region code for tenant context
2164
2794
  * @returns SupportedProvidersResponseDto List of supported providers
2165
2795
  * @throws ApiError
2166
2796
  */
2167
- public static providerSyncControllerGetSupportedProviders(): CancelablePromise<ProviderSyncControllerGetSupportedProvidersResponse> {
2797
+ public static providerSyncControllerGetSupportedProviders(
2798
+ data: ProviderSyncControllerGetSupportedProvidersData
2799
+ ): CancelablePromise<ProviderSyncControllerGetSupportedProvidersResponse> {
2168
2800
  return __request(OpenAPI, {
2169
2801
  method: 'GET',
2170
2802
  url: '/api/v1/{region}/bean/import/provider/supported',
2803
+ path: {
2804
+ region: data.region
2805
+ },
2171
2806
  errors: {
2172
2807
  401: 'Missing or invalid authentication'
2173
2808
  }
@@ -2179,6 +2814,7 @@ export class ProviderSyncService {
2179
2814
  * Returns whether a specific provider is supported.
2180
2815
  * @param data The data for the request.
2181
2816
  * @param data.providerName Provider name to check
2817
+ * @param data.region Region code for tenant context
2182
2818
  * @returns unknown Provider support status
2183
2819
  * @throws ApiError
2184
2820
  */
@@ -2189,7 +2825,8 @@ export class ProviderSyncService {
2189
2825
  method: 'GET',
2190
2826
  url: '/api/v1/{region}/bean/import/provider/{providerName}/supported',
2191
2827
  path: {
2192
- providerName: data.providerName
2828
+ providerName: data.providerName,
2829
+ region: data.region
2193
2830
  },
2194
2831
  errors: {
2195
2832
  401: 'Missing or invalid authentication'
@@ -2202,6 +2839,7 @@ export class ImportTelemetryService {
2202
2839
  /**
2203
2840
  * Receive anonymous parser failure telemetry
2204
2841
  * @param data The data for the request.
2842
+ * @param data.region Region code for tenant context
2205
2843
  * @param data.requestBody
2206
2844
  * @returns unknown Telemetry report received
2207
2845
  * @throws ApiError
@@ -2212,6 +2850,9 @@ export class ImportTelemetryService {
2212
2850
  return __request(OpenAPI, {
2213
2851
  method: 'POST',
2214
2852
  url: '/api/v1/{region}/bean/import/parser-telemetry',
2853
+ path: {
2854
+ region: data.region
2855
+ },
2215
2856
  body: data.requestBody,
2216
2857
  mediaType: 'application/json',
2217
2858
  errors: {
@@ -2226,6 +2867,7 @@ export class BeanNlpService {
2226
2867
  * Process natural language input
2227
2868
  * Parse natural language text (Chinese/English) describing a transaction. Supports multi-turn dialogue for collecting missing information. When confidence < 0.75, returns "confirm" action requiring user verification. User can reply with confirmation words (确认/yes/ok) or provide corrections. Examples: "yesterday Starbucks spent 35 yuan", "today lunch 28 yuan", "spent $50 at Walmart"
2228
2869
  * @param data The data for the request.
2870
+ * @param data.region Region code for tenant context
2229
2871
  * @param data.requestBody Natural language transaction input with optional session ID
2230
2872
  * @returns NlpResponseDto NLP processing result - either created transaction or asking for more info
2231
2873
  * @throws ApiError
@@ -2236,6 +2878,9 @@ export class BeanNlpService {
2236
2878
  return __request(OpenAPI, {
2237
2879
  method: 'POST',
2238
2880
  url: '/api/v1/{region}/bean/nlp/process',
2881
+ path: {
2882
+ region: data.region
2883
+ },
2239
2884
  body: data.requestBody,
2240
2885
  mediaType: 'application/json',
2241
2886
  errors: {
@@ -2249,16 +2894,20 @@ export class BeanNlpService {
2249
2894
  * Clear dialogue session
2250
2895
  * Clear the current NLP dialogue session. Use this to cancel an ongoing multi-turn dialogue.
2251
2896
  * @param data The data for the request.
2897
+ * @param data.region Region code for tenant context
2252
2898
  * @param data.sessionId Specific session ID to clear (defaults to user session)
2253
2899
  * @returns void Session cleared successfully
2254
2900
  * @throws ApiError
2255
2901
  */
2256
2902
  public static nlpControllerClearSession(
2257
- data: NlpControllerClearSessionData = {}
2903
+ data: NlpControllerClearSessionData
2258
2904
  ): CancelablePromise<NlpControllerClearSessionResponse> {
2259
2905
  return __request(OpenAPI, {
2260
2906
  method: 'DELETE',
2261
2907
  url: '/api/v1/{region}/bean/nlp/session',
2908
+ path: {
2909
+ region: data.region
2910
+ },
2262
2911
  query: {
2263
2912
  sessionId: data.sessionId
2264
2913
  },
@@ -2272,198 +2921,28 @@ export class BeanNlpService {
2272
2921
  * Get current session state
2273
2922
  * Get the current NLP dialogue session state. Useful for debugging and displaying session context in UI.
2274
2923
  * @param data The data for the request.
2924
+ * @param data.region Region code for tenant context
2275
2925
  * @param data.sessionId Specific session ID to get (defaults to user session)
2276
2926
  * @returns unknown Current session state (or null if no active session)
2277
2927
  * @throws ApiError
2278
2928
  */
2279
2929
  public static nlpControllerGetSession(
2280
- data: NlpControllerGetSessionData = {}
2930
+ data: NlpControllerGetSessionData
2281
2931
  ): CancelablePromise<NlpControllerGetSessionResponse> {
2282
2932
  return __request(OpenAPI, {
2283
2933
  method: 'GET',
2284
2934
  url: '/api/v1/{region}/bean/nlp/session',
2285
- query: {
2286
- sessionId: data.sessionId
2287
- },
2288
- errors: {
2289
- 401: 'Unauthorized'
2290
- }
2291
- });
2292
- }
2293
- }
2294
-
2295
- export class BeanPlatformsService {
2296
- /**
2297
- * Get all platforms with statistics
2298
- * @returns unknown List of platforms with binding and account counts
2299
- * @throws ApiError
2300
- */
2301
- public static platformControllerFindAll(): CancelablePromise<PlatformControllerFindAllResponse> {
2302
- return __request(OpenAPI, {
2303
- method: 'GET',
2304
- url: '/api/v1/bean/platforms'
2305
- });
2306
- }
2307
-
2308
- /**
2309
- * @returns unknown
2310
- * @throws ApiError
2311
- */
2312
- public static platformController(): CancelablePromise<PlatformControllerResponse> {
2313
- return __request(OpenAPI, {
2314
- method: 'POST',
2315
- url: '/api/v1/bean/platforms'
2316
- });
2317
- }
2318
-
2319
- /**
2320
- * Get platform list for current user
2321
- * @returns unknown List of platforms with user binding status
2322
- * @throws ApiError
2323
- */
2324
- public static platformControllerGetPlatformList(): CancelablePromise<PlatformControllerGetPlatformListResponse> {
2325
- return __request(OpenAPI, {
2326
- method: 'GET',
2327
- url: '/api/v1/bean/platforms/list'
2328
- });
2329
- }
2330
-
2331
- /**
2332
- * @returns unknown
2333
- * @throws ApiError
2334
- */
2335
- public static platformController1(): CancelablePromise<PlatformController1Response> {
2336
- return __request(OpenAPI, {
2337
- method: 'PUT',
2338
- url: '/api/v1/bean/platforms/{id}'
2339
- });
2340
- }
2341
-
2342
- /**
2343
- * @returns void
2344
- * @throws ApiError
2345
- */
2346
- public static platformController2(): CancelablePromise<PlatformController2Response> {
2347
- return __request(OpenAPI, {
2348
- method: 'DELETE',
2349
- url: '/api/v1/bean/platforms/{id}'
2350
- });
2351
- }
2352
- }
2353
-
2354
- export class SymbolsService {
2355
- /**
2356
- * Search for symbols
2357
- * Search symbols by query with optional filters for asset class, area, and indices
2358
- * @param data The data for the request.
2359
- * @param data.includeIndices Include index symbols in results
2360
- * @param data.assetSubClass Asset sub-class filter
2361
- * @param data.assetClass Asset class filter
2362
- * @param data.area Geographic area filter (e.g., CN, US)
2363
- * @param data.query Search query string
2364
- * @returns unknown Symbols found successfully
2365
- * @throws ApiError
2366
- */
2367
- public static symbolControllerLookupSymbol(
2368
- data: SymbolControllerLookupSymbolData = {}
2369
- ): CancelablePromise<SymbolControllerLookupSymbolResponse> {
2370
- return __request(OpenAPI, {
2371
- method: 'GET',
2372
- url: '/api/v1/market/symbols/lookup',
2373
- query: {
2374
- includeIndices: data.includeIndices,
2375
- assetSubClass: data.assetSubClass,
2376
- assetClass: data.assetClass,
2377
- area: data.area,
2378
- query: data.query
2379
- },
2380
- errors: {
2381
- 400: 'Invalid query parameters'
2382
- }
2383
- });
2384
- }
2385
-
2386
- /**
2387
- * Get symbol data
2388
- * Retrieve detailed symbol information including optional historical data
2389
- * @param data The data for the request.
2390
- * @param data.dataSource Data source provider
2391
- * @param data.symbol Symbol identifier (e.g., ticker code)
2392
- * @param data.includeHistoricalData Include historical price data (0 or 1)
2393
- * @returns unknown Symbol data retrieved successfully
2394
- * @throws ApiError
2395
- */
2396
- public static symbolControllerGetSymbolData(
2397
- data: SymbolControllerGetSymbolDataData
2398
- ): CancelablePromise<SymbolControllerGetSymbolDataResponse> {
2399
- return __request(OpenAPI, {
2400
- method: 'GET',
2401
- url: '/api/v1/market/symbols/{dataSource}/{symbol}',
2402
2935
  path: {
2403
- dataSource: data.dataSource,
2404
- symbol: data.symbol
2936
+ region: data.region
2405
2937
  },
2406
2938
  query: {
2407
- includeHistoricalData: data.includeHistoricalData
2408
- },
2409
- errors: {
2410
- 400: 'Invalid data source',
2411
- 404: 'Symbol not found'
2412
- }
2413
- });
2414
- }
2415
-
2416
- /**
2417
- * Gather symbol data for specific date
2418
- * Retrieve historical symbol data for a specific date
2419
- * @param data The data for the request.
2420
- * @param data.dataSource Data source provider
2421
- * @param data.dateString Date in ISO 8601 format (YYYY-MM-DD)
2422
- * @param data.symbol Symbol identifier (e.g., ticker code)
2423
- * @returns unknown Historical data retrieved successfully
2424
- * @throws ApiError
2425
- */
2426
- public static symbolControllerGatherSymbolForDate(
2427
- data: SymbolControllerGatherSymbolForDateData
2428
- ): CancelablePromise<SymbolControllerGatherSymbolForDateResponse> {
2429
- return __request(OpenAPI, {
2430
- method: 'GET',
2431
- url: '/api/v1/market/symbols/{dataSource}/{symbol}/{dateString}',
2432
- path: {
2433
- dataSource: data.dataSource,
2434
- dateString: data.dateString,
2435
- symbol: data.symbol
2939
+ sessionId: data.sessionId
2436
2940
  },
2437
2941
  errors: {
2438
- 400: 'Invalid date format',
2439
- 404: 'Symbol data not found for specified date'
2942
+ 401: 'Unauthorized'
2440
2943
  }
2441
2944
  });
2442
2945
  }
2443
-
2444
- /**
2445
- * @returns unknown
2446
- * @throws ApiError
2447
- */
2448
- public static symbolController(): CancelablePromise<SymbolControllerResponse> {
2449
- return __request(OpenAPI, {
2450
- method: 'PUT',
2451
- url: '/api/v1/market/symbols/yahoo/batch-update'
2452
- });
2453
- }
2454
- }
2455
-
2456
- export class DefaultService {
2457
- /**
2458
- * @returns unknown
2459
- * @throws ApiError
2460
- */
2461
- public static cacheControllerFlushCache(): CancelablePromise<CacheControllerFlushCacheResponse> {
2462
- return __request(OpenAPI, {
2463
- method: 'POST',
2464
- url: '/api/v1/cache/flush'
2465
- });
2466
- }
2467
2946
  }
2468
2947
 
2469
2948
  export class DashboardService {
@@ -2471,16 +2950,20 @@ export class DashboardService {
2471
2950
  * Get net worth overview
2472
2951
  * Returns total net worth with breakdown of assets and liabilities
2473
2952
  * @param data The data for the request.
2953
+ * @param data.region Region code for tenant context
2474
2954
  * @param data.date Date for balance calculation (ISO 8601 format)
2475
2955
  * @returns NetWorthResponseDto Net worth retrieved successfully
2476
2956
  * @throws ApiError
2477
2957
  */
2478
2958
  public static dashboardControllerGetNetWorth(
2479
- data: DashboardControllerGetNetWorthData = {}
2959
+ data: DashboardControllerGetNetWorthData
2480
2960
  ): CancelablePromise<DashboardControllerGetNetWorthResponse> {
2481
2961
  return __request(OpenAPI, {
2482
2962
  method: 'GET',
2483
2963
  url: '/api/v1/{region}/dashboard/net-worth',
2964
+ path: {
2965
+ region: data.region
2966
+ },
2484
2967
  query: {
2485
2968
  date: data.date
2486
2969
  },
@@ -2494,17 +2977,21 @@ export class DashboardService {
2494
2977
  * Get accounts grouped by platform
2495
2978
  * Returns accounts with balances grouped by financial platform
2496
2979
  * @param data The data for the request.
2980
+ * @param data.region Region code for tenant context
2497
2981
  * @param data.groupBy Grouping strategy
2498
2982
  * @param data.date Date for balance calculation (ISO 8601 format)
2499
2983
  * @returns unknown Accounts retrieved successfully. Response type depends on groupBy parameter.
2500
2984
  * @throws ApiError
2501
2985
  */
2502
2986
  public static dashboardControllerGetAccounts(
2503
- data: DashboardControllerGetAccountsData = {}
2987
+ data: DashboardControllerGetAccountsData
2504
2988
  ): CancelablePromise<DashboardControllerGetAccountsResponse> {
2505
2989
  return __request(OpenAPI, {
2506
2990
  method: 'GET',
2507
2991
  url: '/api/v1/{region}/dashboard/accounts',
2992
+ path: {
2993
+ region: data.region
2994
+ },
2508
2995
  query: {
2509
2996
  groupBy: data.groupBy,
2510
2997
  date: data.date
@@ -2520,6 +3007,7 @@ export class DashboardService {
2520
3007
  * Returns income, expenses, and savings for a monthly period
2521
3008
  * @param data The data for the request.
2522
3009
  * @param data.period Period in YYYY-MM format
3010
+ * @param data.region Region code for tenant context
2523
3011
  * @returns CashFlowResponseDto Cash flow retrieved successfully
2524
3012
  * @throws ApiError
2525
3013
  */
@@ -2529,6 +3017,9 @@ export class DashboardService {
2529
3017
  return __request(OpenAPI, {
2530
3018
  method: 'GET',
2531
3019
  url: '/api/v1/{region}/dashboard/cash-flow',
3020
+ path: {
3021
+ region: data.region
3022
+ },
2532
3023
  query: {
2533
3024
  period: data.period
2534
3025
  },
@@ -2556,17 +3047,21 @@ export class ReportingService {
2556
3047
  * - `granularity`: Data granularity (day, week, month)
2557
3048
  *
2558
3049
  * @param data The data for the request.
3050
+ * @param data.region Region code for tenant context
2559
3051
  * @param data.period Time period
2560
3052
  * @param data.granularity Data granularity
2561
3053
  * @returns PortfolioTrendsResponseDto Trends retrieved successfully
2562
3054
  * @throws ApiError
2563
3055
  */
2564
3056
  public static reportingControllerGetPortfolioTrends(
2565
- data: ReportingControllerGetPortfolioTrendsData = {}
3057
+ data: ReportingControllerGetPortfolioTrendsData
2566
3058
  ): CancelablePromise<ReportingControllerGetPortfolioTrendsResponse> {
2567
3059
  return __request(OpenAPI, {
2568
3060
  method: 'GET',
2569
3061
  url: '/api/v1/{region}/reporting/portfolio/trends',
3062
+ path: {
3063
+ region: data.region
3064
+ },
2570
3065
  query: {
2571
3066
  period: data.period,
2572
3067
  granularity: data.granularity
@@ -2593,6 +3088,7 @@ export class ReportingService {
2593
3088
  * - Initial setup for new users
2594
3089
  *
2595
3090
  * @param data The data for the request.
3091
+ * @param data.region Region code for tenant context
2596
3092
  * @param data.requestBody Optional date (defaults to today)
2597
3093
  * @returns GenerateSnapshotResponse Snapshot generated successfully
2598
3094
  * @throws ApiError
@@ -2603,6 +3099,9 @@ export class ReportingService {
2603
3099
  return __request(OpenAPI, {
2604
3100
  method: 'POST',
2605
3101
  url: '/api/v1/{region}/reporting/snapshots/generate',
3102
+ path: {
3103
+ region: data.region
3104
+ },
2606
3105
  body: data.requestBody,
2607
3106
  mediaType: 'application/json',
2608
3107
  errors: {
@@ -2628,6 +3127,7 @@ export class ReportingService {
2628
3127
  * - Existing snapshots are skipped (not regenerated)
2629
3128
  *
2630
3129
  * @param data The data for the request.
3130
+ * @param data.region Region code for tenant context
2631
3131
  * @param data.requestBody
2632
3132
  * @returns BackfillSnapshotsResponse Backfill completed successfully
2633
3133
  * @throws ApiError
@@ -2638,6 +3138,9 @@ export class ReportingService {
2638
3138
  return __request(OpenAPI, {
2639
3139
  method: 'POST',
2640
3140
  url: '/api/v1/{region}/reporting/snapshots/backfill',
3141
+ path: {
3142
+ region: data.region
3143
+ },
2641
3144
  body: data.requestBody,
2642
3145
  mediaType: 'application/json',
2643
3146
  errors: {
@@ -2651,13 +3154,18 @@ export class ReportingService {
2651
3154
 
2652
3155
  export class ApiKeysService {
2653
3156
  /**
2654
- * @returns unknown
3157
+ * Create API key
3158
+ * Generates a new API key for the authenticated user
3159
+ * @returns unknown API key created successfully
2655
3160
  * @throws ApiError
2656
3161
  */
2657
- public static apiKeysController(): CancelablePromise<ApiKeysControllerResponse> {
3162
+ public static apiKeysControllerCreateApiKey(): CancelablePromise<ApiKeysControllerCreateApiKeyResponse> {
2658
3163
  return __request(OpenAPI, {
2659
3164
  method: 'POST',
2660
- url: '/api/v1/auth/api-keys'
3165
+ url: '/api/v1/auth/api-keys',
3166
+ errors: {
3167
+ 403: 'Insufficient permissions to create API key'
3168
+ }
2661
3169
  });
2662
3170
  }
2663
3171
  }
@@ -2685,6 +3193,19 @@ export class AuthService {
2685
3193
  }
2686
3194
  }
2687
3195
 
3196
+ export class DefaultService {
3197
+ /**
3198
+ * @returns unknown
3199
+ * @throws ApiError
3200
+ */
3201
+ public static cacheControllerFlushCache(): CancelablePromise<CacheControllerFlushCacheResponse> {
3202
+ return __request(OpenAPI, {
3203
+ method: 'POST',
3204
+ url: '/api/v1/cache/flush'
3205
+ });
3206
+ }
3207
+ }
3208
+
2688
3209
  export class ExchangeRateService {
2689
3210
  /**
2690
3211
  * Get exchange rate for currency pair
@@ -2743,6 +3264,21 @@ export class HealthService {
2743
3264
  });
2744
3265
  }
2745
3266
 
3267
+ /**
3268
+ * Check OpenBB schema status
3269
+ * @returns unknown OpenBB status
3270
+ * @throws ApiError
3271
+ */
3272
+ public static healthControllerCheckOpenBb(): CancelablePromise<HealthControllerCheckOpenBbResponse> {
3273
+ return __request(OpenAPI, {
3274
+ method: 'GET',
3275
+ url: '/api/v1/health/openbb',
3276
+ errors: {
3277
+ 503: 'OpenBB unavailable'
3278
+ }
3279
+ });
3280
+ }
3281
+
2746
3282
  /**
2747
3283
  * Check Redis connection health
2748
3284
  * @returns unknown Redis is healthy
@@ -2811,69 +3347,6 @@ export class HealthService {
2811
3347
  }
2812
3348
  });
2813
3349
  }
2814
-
2815
- /**
2816
- * Check health of a specific data enhancer
2817
- * @param data The data for the request.
2818
- * @param data.name Data enhancer name
2819
- * @returns unknown Data enhancer is healthy
2820
- * @throws ApiError
2821
- */
2822
- public static healthControllerGetHealthOfDataEnhancer(
2823
- data: HealthControllerGetHealthOfDataEnhancerData
2824
- ): CancelablePromise<HealthControllerGetHealthOfDataEnhancerResponse> {
2825
- return __request(OpenAPI, {
2826
- method: 'GET',
2827
- url: '/api/v1/health/data-enhancer/{name}',
2828
- path: {
2829
- name: data.name
2830
- },
2831
- errors: {
2832
- 401: 'Unauthorized',
2833
- 503: 'Data enhancer unavailable'
2834
- }
2835
- });
2836
- }
2837
-
2838
- /**
2839
- * Check health of all data providers
2840
- * @returns unknown Data providers health status
2841
- * @throws ApiError
2842
- */
2843
- public static healthControllerCheckDataProviders(): CancelablePromise<HealthControllerCheckDataProvidersResponse> {
2844
- return __request(OpenAPI, {
2845
- method: 'GET',
2846
- url: '/api/v1/health/data-providers',
2847
- errors: {
2848
- 401: 'Unauthorized',
2849
- 503: 'Data providers check failed'
2850
- }
2851
- });
2852
- }
2853
-
2854
- /**
2855
- * Check health of a specific data provider
2856
- * @param data The data for the request.
2857
- * @param data.dataSource Data source identifier
2858
- * @returns unknown Data provider is healthy
2859
- * @throws ApiError
2860
- */
2861
- public static healthControllerGetHealthOfDataProvider(
2862
- data: HealthControllerGetHealthOfDataProviderData
2863
- ): CancelablePromise<HealthControllerGetHealthOfDataProviderResponse> {
2864
- return __request(OpenAPI, {
2865
- method: 'GET',
2866
- url: '/api/v1/health/data-provider/{dataSource}',
2867
- path: {
2868
- dataSource: data.dataSource
2869
- },
2870
- errors: {
2871
- 400: 'Invalid data source',
2872
- 401: 'Unauthorized',
2873
- 503: 'Data provider unavailable'
2874
- }
2875
- });
2876
- }
2877
3350
  }
2878
3351
 
2879
3352
  export class InfoService {
@@ -2889,93 +3362,3 @@ export class InfoService {
2889
3362
  });
2890
3363
  }
2891
3364
  }
2892
-
2893
- export class LogosService {
2894
- /**
2895
- * Get asset logo by data source and symbol
2896
- * @param data The data for the request.
2897
- * @param data.dataSource Data source identifier (e.g., YAHOO, COINGECKO)
2898
- * @param data.symbol Asset symbol (e.g., AAPL, BTC)
2899
- * @returns unknown Logo image stream (favicon)
2900
- * @throws ApiError
2901
- */
2902
- public static logoControllerGetLogoByDataSourceAndSymbol(
2903
- data: LogoControllerGetLogoByDataSourceAndSymbolData
2904
- ): CancelablePromise<LogoControllerGetLogoByDataSourceAndSymbolResponse> {
2905
- return __request(OpenAPI, {
2906
- method: 'GET',
2907
- url: '/api/v1/market/logos/{dataSource}/{symbol}',
2908
- path: {
2909
- dataSource: data.dataSource,
2910
- symbol: data.symbol
2911
- },
2912
- errors: {
2913
- 401: 'Unauthorized',
2914
- 404: 'Logo not found for the specified asset',
2915
- 503: 'Service unavailable'
2916
- }
2917
- });
2918
- }
2919
-
2920
- /**
2921
- * Get website favicon by URL
2922
- * @param data The data for the request.
2923
- * @param data.url Website URL to fetch favicon from
2924
- * @returns unknown Logo image stream (favicon)
2925
- * @throws ApiError
2926
- */
2927
- public static logoControllerGetLogoByUrl(
2928
- data: LogoControllerGetLogoByUrlData
2929
- ): CancelablePromise<LogoControllerGetLogoByUrlResponse> {
2930
- return __request(OpenAPI, {
2931
- method: 'GET',
2932
- url: '/api/v1/market/logos',
2933
- query: {
2934
- url: data.url
2935
- },
2936
- errors: {
2937
- 401: 'Unauthorized',
2938
- 503: 'Service unavailable'
2939
- }
2940
- });
2941
- }
2942
- }
2943
-
2944
- export class MarketDataService {
2945
- /**
2946
- * Get market data by symbol
2947
- * Retrieves market data and asset profile for a given symbol and data source
2948
- * @param data The data for the request.
2949
- * @param data.dataSource Data source provider
2950
- * @param data.symbol Symbol code
2951
- * @returns unknown Market data retrieved successfully
2952
- * @throws ApiError
2953
- */
2954
- public static marketDataControllerGetMarketDataBySymbol(
2955
- data: MarketDataControllerGetMarketDataBySymbolData
2956
- ): CancelablePromise<MarketDataControllerGetMarketDataBySymbolResponse> {
2957
- return __request(OpenAPI, {
2958
- method: 'GET',
2959
- url: '/api/v1/market-data/{dataSource}/{symbol}',
2960
- path: {
2961
- dataSource: data.dataSource,
2962
- symbol: data.symbol
2963
- },
2964
- errors: {
2965
- 403: 'Insufficient permissions to read market data',
2966
- 404: 'Market data not found'
2967
- }
2968
- });
2969
- }
2970
-
2971
- /**
2972
- * @returns unknown
2973
- * @throws ApiError
2974
- */
2975
- public static marketDataController(): CancelablePromise<MarketDataControllerResponse> {
2976
- return __request(OpenAPI, {
2977
- method: 'POST',
2978
- url: '/api/v1/market-data/{dataSource}/{symbol}'
2979
- });
2980
- }
2981
- }