@firela/api-types 0.0.0-canary.209967 → 0.0.0-canary.285599dd

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,22 +17,28 @@ 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
- AccountStandardsControllerGetRegionsData,
35
- AccountStandardsControllerGetRegionsResponse,
40
+ TransactionControllerDeleteData,
41
+ TransactionControllerDeleteResponse,
36
42
  BalanceControllerGetBalanceData,
37
43
  BalanceControllerGetBalanceResponse,
38
44
  BalanceControllerGetMultiCurrencyBalanceData,
@@ -43,14 +49,14 @@ import type {
43
49
  ReviewControllerGetStatsResponse,
44
50
  ReviewControllerFindOneData,
45
51
  ReviewControllerFindOneResponse,
46
- ReviewControllerData,
47
- ReviewControllerResponse,
48
- ReviewController1Data,
49
- ReviewController1Response,
50
- ReviewController2Data,
51
- ReviewController2Response,
52
- PayeeControllerData,
53
- PayeeControllerResponse,
52
+ ReviewControllerResolveData,
53
+ ReviewControllerResolveResponse,
54
+ ReviewControllerUndoData,
55
+ ReviewControllerUndoResponse,
56
+ ReviewControllerBatchResolveData,
57
+ ReviewControllerBatchResolveResponse,
58
+ PayeeControllerCreateData,
59
+ PayeeControllerCreateResponse,
54
60
  PayeeControllerFindAllData,
55
61
  PayeeControllerFindAllResponse,
56
62
  PayeeControllerAutocompleteData,
@@ -59,50 +65,50 @@ import type {
59
65
  PayeeControllerGetTopPayeesResponse,
60
66
  PayeeControllerFindOneData,
61
67
  PayeeControllerFindOneResponse,
62
- PayeeController1Data,
63
- PayeeController1Response,
64
- PayeeController2Data,
65
- PayeeController2Response,
66
- PayeeProfileAdminControllerData,
67
- PayeeProfileAdminControllerResponse,
68
+ PayeeControllerUpdateData,
69
+ PayeeControllerUpdateResponse,
70
+ PayeeControllerDeleteData,
71
+ PayeeControllerDeleteResponse,
72
+ PayeeProfileAdminControllerCreateData,
73
+ PayeeProfileAdminControllerCreateResponse,
68
74
  PayeeProfileAdminControllerFindAllData,
69
75
  PayeeProfileAdminControllerFindAllResponse,
70
76
  PayeeProfileAdminControllerFindOneData,
71
77
  PayeeProfileAdminControllerFindOneResponse,
72
- PayeeProfileAdminController1Data,
73
- PayeeProfileAdminController1Response,
74
- PayeeProfileAdminController2Data,
75
- PayeeProfileAdminController2Response,
76
- PayeeProfileAdminController3Data,
77
- PayeeProfileAdminController3Response,
78
- PayeeProfileAdminController4Data,
79
- PayeeProfileAdminController4Response,
80
- CommodityControllerData,
81
- CommodityControllerResponse,
78
+ PayeeProfileAdminControllerUpdateData,
79
+ PayeeProfileAdminControllerUpdateResponse,
80
+ PayeeProfileAdminControllerDeleteData,
81
+ PayeeProfileAdminControllerDeleteResponse,
82
+ PayeeProfileAdminControllerVerifyData,
83
+ PayeeProfileAdminControllerVerifyResponse,
84
+ PayeeProfileAdminControllerUnverifyData,
85
+ PayeeProfileAdminControllerUnverifyResponse,
86
+ CommodityControllerCreateData,
87
+ CommodityControllerCreateResponse,
82
88
  CommodityControllerFindAllData,
83
89
  CommodityControllerFindAllResponse,
84
90
  CommodityControllerFindOneData,
85
91
  CommodityControllerFindOneResponse,
86
- CommodityController1Data,
87
- CommodityController1Response,
88
- CommodityController2Data,
89
- CommodityController2Response,
90
- CommodityController3Data,
91
- CommodityController3Response,
92
- CommodityController4Data,
93
- CommodityController4Response,
94
- RecurringRuleControllerData,
95
- RecurringRuleControllerResponse,
92
+ CommodityControllerUpdateData,
93
+ CommodityControllerUpdateResponse,
94
+ CommodityControllerDeleteData,
95
+ CommodityControllerDeleteResponse,
96
+ CommodityControllerGetOrCreateData,
97
+ CommodityControllerGetOrCreateResponse,
98
+ CommodityControllerBulkCreateData,
99
+ CommodityControllerBulkCreateResponse,
100
+ RecurringRuleControllerCreateData,
101
+ RecurringRuleControllerCreateResponse,
96
102
  RecurringRuleControllerFindAllData,
97
103
  RecurringRuleControllerFindAllResponse,
98
- RecurringRuleController1Data,
99
- RecurringRuleController1Response,
104
+ RecurringRuleControllerCreateFromTransactionData,
105
+ RecurringRuleControllerCreateFromTransactionResponse,
100
106
  RecurringRuleControllerFindOneData,
101
107
  RecurringRuleControllerFindOneResponse,
102
- RecurringRuleController2Data,
103
- RecurringRuleController2Response,
104
- RecurringRuleController3Data,
105
- RecurringRuleController3Response,
108
+ RecurringRuleControllerUpdateData,
109
+ RecurringRuleControllerUpdateResponse,
110
+ RecurringRuleControllerDeleteData,
111
+ RecurringRuleControllerDeleteResponse,
106
112
  RecurringRuleControllerGetWithStatsData,
107
113
  RecurringRuleControllerGetWithStatsResponse,
108
114
  ExpectedTransactionControllerFindAllData,
@@ -111,36 +117,36 @@ import type {
111
117
  ExpectedTransactionControllerFindOverdueResponse,
112
118
  ExpectedTransactionControllerFindOneData,
113
119
  ExpectedTransactionControllerFindOneResponse,
114
- ExpectedTransactionControllerData,
115
- ExpectedTransactionControllerResponse,
116
- ExpectedTransactionController1Data,
117
- ExpectedTransactionController1Response,
118
- ExpectedTransactionController2Data,
119
- ExpectedTransactionController2Response,
120
- ExpectedTransactionController3Data,
121
- ExpectedTransactionController3Response,
122
- ExpectedTransactionController4Data,
123
- ExpectedTransactionController4Response,
120
+ ExpectedTransactionControllerSkipData,
121
+ ExpectedTransactionControllerSkipResponse,
122
+ ExpectedTransactionControllerUndoSkipData,
123
+ ExpectedTransactionControllerUndoSkipResponse,
124
+ ExpectedTransactionControllerConfirmMatchData,
125
+ ExpectedTransactionControllerConfirmMatchResponse,
126
+ ExpectedTransactionControllerUnmatchData,
127
+ ExpectedTransactionControllerUnmatchResponse,
128
+ ExpectedTransactionControllerEnterNowData,
129
+ ExpectedTransactionControllerEnterNowResponse,
124
130
  ForecastControllerGetForecastData,
125
131
  ForecastControllerGetForecastResponse,
126
- TransactionRuleControllerData,
127
- TransactionRuleControllerResponse,
132
+ TransactionRuleControllerCreateData,
133
+ TransactionRuleControllerCreateResponse,
128
134
  TransactionRuleControllerListData,
129
135
  TransactionRuleControllerListResponse,
130
136
  TransactionRuleControllerValidateData,
131
137
  TransactionRuleControllerValidateResponse,
132
- TransactionRuleController1Data,
133
- TransactionRuleController1Response,
138
+ TransactionRuleControllerBulkCreateData,
139
+ TransactionRuleControllerBulkCreateResponse,
134
140
  TransactionRuleControllerExportData,
135
141
  TransactionRuleControllerExportResponse,
136
142
  TransactionRuleControllerGetStatisticsData,
137
143
  TransactionRuleControllerGetStatisticsResponse,
138
144
  TransactionRuleControllerGetDetailData,
139
145
  TransactionRuleControllerGetDetailResponse,
140
- TransactionRuleController2Data,
141
- TransactionRuleController2Response,
142
- TransactionRuleController3Data,
143
- TransactionRuleController3Response,
146
+ TransactionRuleControllerUpdateData,
147
+ TransactionRuleControllerUpdateResponse,
148
+ TransactionRuleControllerDeleteData,
149
+ TransactionRuleControllerDeleteResponse,
144
150
  TransactionRuleControllerTestData,
145
151
  TransactionRuleControllerTestResponse,
146
152
  UserControllerDeleteOwnUserData,
@@ -157,104 +163,112 @@ import type {
157
163
  UserControllerUpdateUserSettingResponse,
158
164
  UserControllerGetAllUserSettingsByPageData,
159
165
  UserControllerGetAllUserSettingsByPageResponse,
160
- UserControllerGetAssetLiabilitySummaryData,
161
166
  UserControllerGetAssetLiabilitySummaryResponse,
162
- PropertyControllerGetAllData,
163
167
  PropertyControllerGetAllResponse,
164
168
  PropertyControllerGetByKeyData,
165
169
  PropertyControllerGetByKeyResponse,
166
- PropertyControllerData,
167
- PropertyControllerResponse,
168
- PropertyController1Data,
169
- PropertyController1Response,
170
+ PropertyControllerUpdateData,
171
+ PropertyControllerUpdateResponse,
172
+ PropertyControllerDeleteData,
173
+ PropertyControllerDeleteResponse,
174
+ EventControllerCreateData,
175
+ EventControllerCreateResponse,
176
+ EventControllerFindAllData,
177
+ EventControllerFindAllResponse,
178
+ EventControllerFindOneData,
179
+ EventControllerFindOneResponse,
180
+ EventControllerUpdateData,
181
+ EventControllerUpdateResponse,
182
+ EventControllerDeleteData,
183
+ EventControllerDeleteResponse,
184
+ EventControllerGetSliceData,
185
+ EventControllerGetSliceResponse,
186
+ ExportControllerExportBeancountResponse,
170
187
  FileImportControllerImportFileData,
171
188
  FileImportControllerImportFileResponse,
172
189
  FileImportControllerIdentifyFileData,
173
190
  FileImportControllerIdentifyFileResponse,
191
+ FileImportControllerImportBeancountData,
192
+ FileImportControllerImportBeancountResponse,
174
193
  ImporterConfigControllerGetConfigData,
175
194
  ImporterConfigControllerGetConfigResponse,
176
- ImporterConfigControllerData,
177
- ImporterConfigControllerResponse,
178
- ImporterConfigController1Data,
179
- ImporterConfigController1Response,
195
+ ImporterConfigControllerUpdateConfigData,
196
+ ImporterConfigControllerUpdateConfigResponse,
197
+ ImporterConfigControllerResetConfigData,
198
+ ImporterConfigControllerResetConfigResponse,
199
+ PlatformControllerFindAllResponse,
200
+ PlatformControllerCreateData,
201
+ PlatformControllerCreateResponse,
202
+ PlatformControllerGetPlatformListResponse,
203
+ PlatformControllerMatchPlatformsData,
204
+ PlatformControllerMatchPlatformsResponse,
205
+ PlatformControllerUpdateData,
206
+ PlatformControllerUpdateResponse,
207
+ PlatformControllerDeleteData,
208
+ PlatformControllerDeleteResponse,
180
209
  ProviderSyncControllerSyncData,
181
210
  ProviderSyncControllerSyncResponse,
182
211
  ProviderSyncControllerGetSupportedProvidersData,
183
212
  ProviderSyncControllerGetSupportedProvidersResponse,
184
213
  ProviderSyncControllerIsProviderSupportedData,
185
214
  ProviderSyncControllerIsProviderSupportedResponse,
215
+ TelemetryControllerReportTelemetryData,
216
+ TelemetryControllerReportTelemetryResponse,
217
+ TelemetryControllerReportCoverageMissData,
218
+ TelemetryControllerReportCoverageMissResponse,
219
+ TelemetryControllerGetCoverageMetricsData,
220
+ TelemetryControllerGetCoverageMetricsResponse,
186
221
  NlpControllerProcessNaturalLanguageData,
187
222
  NlpControllerProcessNaturalLanguageResponse,
188
223
  NlpControllerClearSessionData,
189
224
  NlpControllerClearSessionResponse,
190
225
  NlpControllerGetSessionData,
191
226
  NlpControllerGetSessionResponse,
192
- PlatformControllerFindAllData,
193
- PlatformControllerFindAllResponse,
194
- PlatformControllerData,
195
- PlatformControllerResponse,
196
- PlatformControllerGetPlatformListData,
197
- PlatformControllerGetPlatformListResponse,
198
- PlatformController1Data,
199
- PlatformController1Response,
200
- PlatformController2Data,
201
- PlatformController2Response,
202
- SymbolControllerLookupSymbolData,
203
- SymbolControllerLookupSymbolResponse,
204
- SymbolControllerGetSymbolDataData,
205
- SymbolControllerGetSymbolDataResponse,
206
- SymbolControllerGatherSymbolForDateData,
207
- SymbolControllerGatherSymbolForDateResponse,
208
- SymbolControllerData,
209
- SymbolControllerResponse,
210
- CacheControllerFlushCacheData,
211
- CacheControllerFlushCacheResponse,
212
227
  DashboardControllerGetNetWorthData,
213
228
  DashboardControllerGetNetWorthResponse,
214
229
  DashboardControllerGetAccountsData,
215
230
  DashboardControllerGetAccountsResponse,
216
231
  DashboardControllerGetCashFlowData,
217
232
  DashboardControllerGetCashFlowResponse,
233
+ DashboardControllerGetExpensesData,
234
+ DashboardControllerGetExpensesResponse,
235
+ HoldingPnlControllerGetHoldingPnlData,
236
+ HoldingPnlControllerGetHoldingPnlResponse,
237
+ PriceControllerCreateData,
238
+ PriceControllerCreateResponse,
239
+ PriceControllerFindAllData,
240
+ PriceControllerFindAllResponse,
241
+ PriceControllerFindOneData,
242
+ PriceControllerFindOneResponse,
243
+ PriceControllerUpdateData,
244
+ PriceControllerUpdateResponse,
245
+ PriceControllerDeleteData,
246
+ PriceControllerDeleteResponse,
247
+ PriceControllerBulkCreateData,
248
+ PriceControllerBulkCreateResponse,
218
249
  ReportingControllerGetPortfolioTrendsData,
219
250
  ReportingControllerGetPortfolioTrendsResponse,
251
+ ReportingControllerGetCashFlowTrendsData,
252
+ ReportingControllerGetCashFlowTrendsResponse,
220
253
  ReportingControllerGenerateSnapshotData,
221
254
  ReportingControllerGenerateSnapshotResponse,
222
255
  ReportingControllerBackfillSnapshotsData,
223
256
  ReportingControllerBackfillSnapshotsResponse,
224
- ApiKeysControllerData,
225
- ApiKeysControllerResponse,
257
+ ApiKeysControllerCreateApiKeyResponse,
226
258
  AuthControllerAccessTokenLoginData,
227
259
  AuthControllerAccessTokenLoginResponse,
260
+ CacheControllerFlushCacheResponse,
228
261
  ExchangeRateControllerGetExchangeRateData,
229
262
  ExchangeRateControllerGetExchangeRateResponse,
230
- HealthControllerGetHealthData,
231
263
  HealthControllerGetHealthResponse,
232
- HealthControllerCheckDatabaseData,
233
264
  HealthControllerCheckDatabaseResponse,
234
- HealthControllerCheckRedisData,
265
+ HealthControllerCheckOpenBbResponse,
235
266
  HealthControllerCheckRedisResponse,
236
- HealthControllerGetCircuitBreakersHealthData,
237
267
  HealthControllerGetCircuitBreakersHealthResponse,
238
268
  HealthControllerResetCircuitBreakerData,
239
269
  HealthControllerResetCircuitBreakerResponse,
240
- HealthControllerGetMetricsData,
241
270
  HealthControllerGetMetricsResponse,
242
- HealthControllerGetHealthOfDataEnhancerData,
243
- HealthControllerGetHealthOfDataEnhancerResponse,
244
- HealthControllerCheckDataProvidersData,
245
- HealthControllerCheckDataProvidersResponse,
246
- HealthControllerGetHealthOfDataProviderData,
247
- HealthControllerGetHealthOfDataProviderResponse,
248
- InfoControllerGetInfoData,
249
- InfoControllerGetInfoResponse,
250
- LogoControllerGetLogoByDataSourceAndSymbolData,
251
- LogoControllerGetLogoByDataSourceAndSymbolResponse,
252
- LogoControllerGetLogoByUrlData,
253
- LogoControllerGetLogoByUrlResponse,
254
- MarketDataControllerGetMarketDataBySymbolData,
255
- MarketDataControllerGetMarketDataBySymbolResponse,
256
- MarketDataControllerData,
257
- MarketDataControllerResponse
271
+ InfoControllerGetInfoResponse
258
272
  } from './types.gen';
259
273
 
260
274
  export class BeanAccountsService {
@@ -456,10 +470,83 @@ export class BeanAccountsService {
456
470
  }
457
471
  }
458
472
 
473
+ export class BeanAccountStandardsService {
474
+ /**
475
+ * Get account templates
476
+ * Returns predefined account templates for a region. Supports filtering by account type and search term.
477
+ * @param data The data for the request.
478
+ * @param data.region Region code (cn, us, de)
479
+ * @param data.type Filter by account type
480
+ * @param data.search Search term for path or description
481
+ * @returns AccountStandardListResponseDto Account templates retrieved successfully
482
+ * @throws ApiError
483
+ */
484
+ public static accountStandardsControllerGetTemplates(
485
+ data: AccountStandardsControllerGetTemplatesData
486
+ ): CancelablePromise<AccountStandardsControllerGetTemplatesResponse> {
487
+ return __request(OpenAPI, {
488
+ method: 'GET',
489
+ url: '/api/v1/{region}/bean/account-standards',
490
+ path: {
491
+ region: data.region
492
+ },
493
+ query: {
494
+ type: data.type,
495
+ search: data.search
496
+ }
497
+ });
498
+ }
499
+
500
+ /**
501
+ * Get template metadata for an account path
502
+ * Returns extendable status and root type for a template path.
503
+ * @param data The data for the request.
504
+ * @param data.region Region code for tenant context
505
+ * @param data.path Account path to check
506
+ * @returns TemplateMetadataResponseDto Template metadata retrieved successfully
507
+ * @throws ApiError
508
+ */
509
+ public static accountStandardsControllerGetTemplateMetadata(
510
+ data: AccountStandardsControllerGetTemplateMetadataData
511
+ ): CancelablePromise<AccountStandardsControllerGetTemplateMetadataResponse> {
512
+ return __request(OpenAPI, {
513
+ method: 'GET',
514
+ url: '/api/v1/{region}/bean/account-standards/template-metadata',
515
+ path: {
516
+ region: data.region
517
+ },
518
+ query: {
519
+ path: data.path
520
+ }
521
+ });
522
+ }
523
+
524
+ /**
525
+ * Get available regions with hierarchy
526
+ * Returns supported regions with inheritance metadata
527
+ * @param data The data for the request.
528
+ * @param data.region Region code for tenant context
529
+ * @returns RegionsMetadataResponseDto Regions metadata retrieved successfully
530
+ * @throws ApiError
531
+ */
532
+ public static accountStandardsControllerGetRegions(
533
+ data: AccountStandardsControllerGetRegionsData
534
+ ): CancelablePromise<AccountStandardsControllerGetRegionsResponse> {
535
+ return __request(OpenAPI, {
536
+ method: 'GET',
537
+ url: '/api/v1/{region}/bean/account-standards/regions',
538
+ path: {
539
+ region: data.region
540
+ }
541
+ });
542
+ }
543
+ }
544
+
459
545
  export class BeanTransactionsService {
460
546
  /**
461
- * Create transaction
462
- * Creates a new double-entry transaction. Missing accounts are auto-created by default.
547
+ * @deprecated
548
+ * Create transaction (DEPRECATED)
549
+ * DEPRECATED: Use POST /:region/bean/import/provider/:name/sync instead. This endpoint skips dedup, rule matching, and review branching.
463
550
  * @param data The data for the request.
464
551
  * @param data.region Region code for tenant context
465
552
  * @param data.requestBody Transaction data with postings
@@ -520,25 +607,98 @@ export class BeanTransactionsService {
520
607
  accountId: data.accountId
521
608
  },
522
609
  errors: {
610
+ 400: 'Validation failed',
523
611
  401: 'Authentication required'
524
612
  }
525
613
  });
526
614
  }
527
615
 
528
616
  /**
617
+ * @deprecated
618
+ * Batch create transactions (DEPRECATED)
619
+ * DEPRECATED: Use POST /:region/bean/import/provider/:name/sync instead. This endpoint skips dedup, rule matching, and review branching.
529
620
  * @param data The data for the request.
530
621
  * @param data.region Region code for tenant context
531
- * @returns unknown
622
+ * @param data.requestBody
623
+ * @returns BatchTransactionResponseDto Transactions processed
532
624
  * @throws ApiError
533
625
  */
534
- public static transactionController(
535
- data: TransactionControllerData
536
- ): CancelablePromise<TransactionControllerResponse> {
626
+ public static transactionControllerCreateBatch(
627
+ data: TransactionControllerCreateBatchData
628
+ ): CancelablePromise<TransactionControllerCreateBatchResponse> {
537
629
  return __request(OpenAPI, {
538
630
  method: 'POST',
539
631
  url: '/api/v1/{region}/bean/transactions/batch',
540
632
  path: {
541
633
  region: data.region
634
+ },
635
+ body: data.requestBody,
636
+ mediaType: 'application/json',
637
+ errors: {
638
+ 400: 'Invalid input',
639
+ 401: 'Authentication required'
640
+ }
641
+ });
642
+ }
643
+
644
+ /**
645
+ * Correct (supersede) a transaction
646
+ * Atomically voids the original (SUPERSEDED) and creates a replacement through the full validation pipeline.
647
+ * @param data The data for the request.
648
+ * @param data.id Original transaction ID to correct
649
+ * @param data.region Region code for tenant context
650
+ * @param data.requestBody
651
+ * @returns TransactionDetailDto Corrected transaction created
652
+ * @throws ApiError
653
+ */
654
+ public static transactionControllerCorrect(
655
+ data: TransactionControllerCorrectData
656
+ ): CancelablePromise<TransactionControllerCorrectResponse> {
657
+ return __request(OpenAPI, {
658
+ method: 'POST',
659
+ url: '/api/v1/{region}/bean/transactions/{id}/correct',
660
+ path: {
661
+ id: data.id,
662
+ region: data.region
663
+ },
664
+ body: data.requestBody,
665
+ mediaType: 'application/json',
666
+ errors: {
667
+ 404: 'Original transaction not found',
668
+ 409: 'Original no longer ACTIVE (concurrent modification)',
669
+ 422: 'Pipeline validation failed (does not balance, invalid accounts)'
670
+ }
671
+ });
672
+ }
673
+
674
+ /**
675
+ * Suggest transaction tags
676
+ * Returns distinct tags from the user ACTIVE transactions, sorted by usage, for autocomplete. Optional q performs a case-insensitive prefix match.
677
+ * @param data The data for the request.
678
+ * @param data.region Region code for tenant context
679
+ * @param data.q Prefix match, case-insensitive (max 50 chars)
680
+ * @param data.sort usage (default) or name
681
+ * @param data.limit Max suggestions (1-100, default 10)
682
+ * @returns TagSuggestionsResponseDto Tag suggestions
683
+ * @throws ApiError
684
+ */
685
+ public static transactionControllerSuggestTags(
686
+ data: TransactionControllerSuggestTagsData
687
+ ): CancelablePromise<TransactionControllerSuggestTagsResponse> {
688
+ return __request(OpenAPI, {
689
+ method: 'GET',
690
+ url: '/api/v1/{region}/bean/transactions/tags',
691
+ path: {
692
+ region: data.region
693
+ },
694
+ query: {
695
+ q: data.q,
696
+ sort: data.sort,
697
+ limit: data.limit
698
+ },
699
+ errors: {
700
+ 400: 'Validation failed',
701
+ 401: 'Authentication required'
542
702
  }
543
703
  });
544
704
  }
@@ -600,67 +760,28 @@ export class BeanTransactionsService {
600
760
  }
601
761
 
602
762
  /**
763
+ * Void transaction
764
+ * Soft-deletes a transaction by marking it as VOIDED
603
765
  * @param data The data for the request.
766
+ * @param data.id Transaction ID
604
767
  * @param data.region Region code for tenant context
605
- * @returns void
768
+ * @returns void Transaction voided successfully
606
769
  * @throws ApiError
607
770
  */
608
- public static transactionController1(
609
- data: TransactionController1Data
610
- ): CancelablePromise<TransactionController1Response> {
771
+ public static transactionControllerDelete(
772
+ data: TransactionControllerDeleteData
773
+ ): CancelablePromise<TransactionControllerDeleteResponse> {
611
774
  return __request(OpenAPI, {
612
775
  method: 'DELETE',
613
776
  url: '/api/v1/{region}/bean/transactions/{id}',
614
777
  path: {
615
- region: data.region
616
- }
617
- });
618
- }
619
- }
620
-
621
- export class BeanAccountStandardsService {
622
- /**
623
- * Get account templates
624
- * Returns predefined account templates for a region. Supports filtering by account type and search term.
625
- * @param data The data for the request.
626
- * @param data.region Region code (cn, us, de)
627
- * @param data.type Filter by account type
628
- * @param data.search Search term for path or description
629
- * @returns AccountStandardListResponseDto Account templates retrieved successfully
630
- * @throws ApiError
631
- */
632
- public static accountStandardsControllerGetTemplates(
633
- data: AccountStandardsControllerGetTemplatesData
634
- ): CancelablePromise<AccountStandardsControllerGetTemplatesResponse> {
635
- return __request(OpenAPI, {
636
- method: 'GET',
637
- url: '/api/v1/{region}/bean/account-standards',
638
- path: {
778
+ id: data.id,
639
779
  region: data.region
640
780
  },
641
- query: {
642
- type: data.type,
643
- search: data.search
644
- }
645
- });
646
- }
647
-
648
- /**
649
- * Get available regions with hierarchy
650
- * Returns supported regions with inheritance metadata
651
- * @param data The data for the request.
652
- * @param data.region Region code (cn, us, de)
653
- * @returns RegionsMetadataResponseDto Regions metadata retrieved successfully
654
- * @throws ApiError
655
- */
656
- public static accountStandardsControllerGetRegions(
657
- data: AccountStandardsControllerGetRegionsData
658
- ): CancelablePromise<AccountStandardsControllerGetRegionsResponse> {
659
- return __request(OpenAPI, {
660
- method: 'GET',
661
- url: '/api/v1/{region}/bean/account-standards/regions',
662
- path: {
663
- region: data.region
781
+ errors: {
782
+ 400: 'Transaction already voided',
783
+ 401: 'Authentication required',
784
+ 404: 'Transaction not found'
664
785
  }
665
786
  });
666
787
  }
@@ -672,7 +793,7 @@ export class BeanBalancesService {
672
793
  * Calculate account balance at a specific date for a single currency
673
794
  * @param data The data for the request.
674
795
  * @param data.account Account name (e.g., "Assets:Bank:Checking")
675
- * @param data.region Region code (cn, us, de)
796
+ * @param data.region Region code for tenant context
676
797
  * @param data.date Date to calculate balance at (ISO 8601 format)
677
798
  * @param data.currency Currency to query (e.g., "USD", "CNY")
678
799
  * @returns BalanceResponseDto Balance calculated successfully
@@ -703,7 +824,7 @@ export class BeanBalancesService {
703
824
  * Query multi-currency account balance
704
825
  * Calculate account balances for all currencies at a specific date
705
826
  * @param data The data for the request.
706
- * @param data.region Region code (cn, us, de)
827
+ * @param data.region Region code for tenant context
707
828
  * @returns MultiCurrencyBalanceResponseDto Balances calculated successfully
708
829
  * @throws ApiError
709
830
  */
@@ -728,7 +849,7 @@ export class BeanReviewsService {
728
849
  /**
729
850
  * List pending reviews
730
851
  * @param data The data for the request.
731
- * @param data.region Region code (cn, us, de)
852
+ * @param data.region Region code for tenant context
732
853
  * @param data.type Filter by review type
733
854
  * @param data.confidenceLevel Filter by confidence level
734
855
  * @param data.sortBy Sort order
@@ -759,7 +880,7 @@ export class BeanReviewsService {
759
880
  /**
760
881
  * Get review statistics
761
882
  * @param data The data for the request.
762
- * @param data.region Region code (cn, us, de)
883
+ * @param data.region Region code for tenant context
763
884
  * @returns ReviewStatsDto
764
885
  * @throws ApiError
765
886
  */
@@ -779,7 +900,7 @@ export class BeanReviewsService {
779
900
  * Get review by ID
780
901
  * @param data The data for the request.
781
902
  * @param data.id Review ID
782
- * @param data.region Region code (cn, us, de)
903
+ * @param data.region Region code for tenant context
783
904
  * @returns ReviewDetailDto
784
905
  * @throws ApiError
785
906
  */
@@ -797,75 +918,93 @@ export class BeanReviewsService {
797
918
  }
798
919
 
799
920
  /**
921
+ * Resolve a review item
800
922
  * @param data The data for the request.
801
- * @param data.region Region code (cn, us, de)
802
- * @returns unknown
923
+ * @param data.id Review ID
924
+ * @param data.region Region code for tenant context
925
+ * @param data.requestBody
926
+ * @returns ResolveResultDto
803
927
  * @throws ApiError
804
928
  */
805
- public static reviewController(
806
- data: ReviewControllerData
807
- ): CancelablePromise<ReviewControllerResponse> {
929
+ public static reviewControllerResolve(
930
+ data: ReviewControllerResolveData
931
+ ): CancelablePromise<ReviewControllerResolveResponse> {
808
932
  return __request(OpenAPI, {
809
933
  method: 'POST',
810
934
  url: '/api/v1/{region}/bean/reviews/{id}/resolve',
811
935
  path: {
936
+ id: data.id,
812
937
  region: data.region
813
- }
938
+ },
939
+ body: data.requestBody,
940
+ mediaType: 'application/json'
814
941
  });
815
942
  }
816
943
 
817
944
  /**
945
+ * Undo a resolution (within 24h)
818
946
  * @param data The data for the request.
819
- * @param data.region Region code (cn, us, de)
820
- * @returns unknown
947
+ * @param data.id Review ID
948
+ * @param data.region Region code for tenant context
949
+ * @returns UndoResultDto
821
950
  * @throws ApiError
822
951
  */
823
- public static reviewController1(
824
- data: ReviewController1Data
825
- ): CancelablePromise<ReviewController1Response> {
952
+ public static reviewControllerUndo(
953
+ data: ReviewControllerUndoData
954
+ ): CancelablePromise<ReviewControllerUndoResponse> {
826
955
  return __request(OpenAPI, {
827
956
  method: 'POST',
828
957
  url: '/api/v1/{region}/bean/reviews/{id}/undo',
829
958
  path: {
959
+ id: data.id,
830
960
  region: data.region
831
961
  }
832
962
  });
833
963
  }
834
964
 
835
965
  /**
966
+ * Batch resolve multiple reviews
836
967
  * @param data The data for the request.
837
- * @param data.region Region code (cn, us, de)
838
- * @returns unknown
968
+ * @param data.region Region code for tenant context
969
+ * @param data.requestBody Batch resolution request containing review IDs and action
970
+ * @returns BatchResolveResultDto
839
971
  * @throws ApiError
840
972
  */
841
- public static reviewController2(
842
- data: ReviewController2Data
843
- ): CancelablePromise<ReviewController2Response> {
973
+ public static reviewControllerBatchResolve(
974
+ data: ReviewControllerBatchResolveData
975
+ ): CancelablePromise<ReviewControllerBatchResolveResponse> {
844
976
  return __request(OpenAPI, {
845
977
  method: 'POST',
846
978
  url: '/api/v1/{region}/bean/reviews/batch-resolve',
847
979
  path: {
848
980
  region: data.region
849
- }
981
+ },
982
+ body: data.requestBody,
983
+ mediaType: 'application/json'
850
984
  });
851
985
  }
852
986
  }
853
987
 
854
988
  export class BeanPayeesService {
855
989
  /**
990
+ * Create a new payee
991
+ * Creates a new payee mapping for the authenticated user. The payee name must be unique within the user's account.
856
992
  * @param data The data for the request.
857
- * @param data.region Region code (cn, us, de)
858
- * @returns unknown
993
+ * @param data.requestBody
994
+ * @returns PayeeResponseDto Payee created successfully
859
995
  * @throws ApiError
860
996
  */
861
- public static payeeController(
862
- data: PayeeControllerData
863
- ): CancelablePromise<PayeeControllerResponse> {
997
+ public static payeeControllerCreate(
998
+ data: PayeeControllerCreateData
999
+ ): CancelablePromise<PayeeControllerCreateResponse> {
864
1000
  return __request(OpenAPI, {
865
1001
  method: 'POST',
866
1002
  url: '/api/v1/bean/payees',
867
- path: {
868
- region: data.region
1003
+ body: data.requestBody,
1004
+ mediaType: 'application/json',
1005
+ errors: {
1006
+ 400: 'Invalid input data',
1007
+ 409: 'Payee already exists'
869
1008
  }
870
1009
  });
871
1010
  }
@@ -874,7 +1013,6 @@ export class BeanPayeesService {
874
1013
  * List user payees
875
1014
  * Returns all payee mappings for the authenticated user with optional filtering
876
1015
  * @param data The data for the request.
877
- * @param data.region Region code (cn, us, de)
878
1016
  * @param data.search Search term for payee name (partial match, case-insensitive). Useful for autocomplete.
879
1017
  * @param data.payee Filter by exact payee name match
880
1018
  * @param data.category Filter by custom category
@@ -884,14 +1022,11 @@ export class BeanPayeesService {
884
1022
  * @throws ApiError
885
1023
  */
886
1024
  public static payeeControllerFindAll(
887
- data: PayeeControllerFindAllData
1025
+ data: PayeeControllerFindAllData = {}
888
1026
  ): CancelablePromise<PayeeControllerFindAllResponse> {
889
1027
  return __request(OpenAPI, {
890
1028
  method: 'GET',
891
1029
  url: '/api/v1/bean/payees',
892
- path: {
893
- region: data.region
894
- },
895
1030
  query: {
896
1031
  search: data.search,
897
1032
  payee: data.payee,
@@ -907,7 +1042,6 @@ export class BeanPayeesService {
907
1042
  * Returns active payee names matching the query, sorted by recent usage. Used for transaction input autocomplete.
908
1043
  * @param data The data for the request.
909
1044
  * @param data.q Search query for payee name (partial match, case-insensitive)
910
- * @param data.region Region code (cn, us, de)
911
1045
  * @param data.limit Maximum number of suggestions
912
1046
  * @returns PayeeAutocompleteResponseDto Autocomplete suggestions retrieved successfully
913
1047
  * @throws ApiError
@@ -918,9 +1052,6 @@ export class BeanPayeesService {
918
1052
  return __request(OpenAPI, {
919
1053
  method: 'GET',
920
1054
  url: '/api/v1/bean/payees/autocomplete',
921
- path: {
922
- region: data.region
923
- },
924
1055
  query: {
925
1056
  q: data.q,
926
1057
  limit: data.limit
@@ -932,20 +1063,16 @@ export class BeanPayeesService {
932
1063
  * Get top payees by usage
933
1064
  * Returns the most frequently used payees, sorted by use count. Used for statistics and analytics.
934
1065
  * @param data The data for the request.
935
- * @param data.region Region code (cn, us, de)
936
1066
  * @param data.limit Maximum number of results
937
1067
  * @returns PayeeStatsResponseDto Top payees retrieved successfully
938
1068
  * @throws ApiError
939
1069
  */
940
1070
  public static payeeControllerGetTopPayees(
941
- data: PayeeControllerGetTopPayeesData
1071
+ data: PayeeControllerGetTopPayeesData = {}
942
1072
  ): CancelablePromise<PayeeControllerGetTopPayeesResponse> {
943
1073
  return __request(OpenAPI, {
944
1074
  method: 'GET',
945
1075
  url: '/api/v1/bean/payees/top',
946
- path: {
947
- region: data.region
948
- },
949
1076
  query: {
950
1077
  limit: data.limit
951
1078
  }
@@ -957,7 +1084,6 @@ export class BeanPayeesService {
957
1084
  * Returns a specific payee mapping by its UUID
958
1085
  * @param data The data for the request.
959
1086
  * @param data.id Payee UUID
960
- * @param data.region Region code (cn, us, de)
961
1087
  * @returns PayeeResponseDto Payee retrieved successfully
962
1088
  * @throws ApiError
963
1089
  */
@@ -968,8 +1094,7 @@ export class BeanPayeesService {
968
1094
  method: 'GET',
969
1095
  url: '/api/v1/bean/payees/{id}',
970
1096
  path: {
971
- id: data.id,
972
- region: data.region
1097
+ id: data.id
973
1098
  },
974
1099
  errors: {
975
1100
  403: 'Payee belongs to another user',
@@ -979,37 +1104,51 @@ export class BeanPayeesService {
979
1104
  }
980
1105
 
981
1106
  /**
1107
+ * Update payee
1108
+ * Updates a payee mapping. The payee name cannot be changed after creation.
982
1109
  * @param data The data for the request.
983
- * @param data.region Region code (cn, us, de)
984
- * @returns unknown
1110
+ * @param data.id Payee UUID
1111
+ * @param data.requestBody
1112
+ * @returns PayeeResponseDto Payee updated successfully
985
1113
  * @throws ApiError
986
1114
  */
987
- public static payeeController1(
988
- data: PayeeController1Data
989
- ): CancelablePromise<PayeeController1Response> {
1115
+ public static payeeControllerUpdate(
1116
+ data: PayeeControllerUpdateData
1117
+ ): CancelablePromise<PayeeControllerUpdateResponse> {
990
1118
  return __request(OpenAPI, {
991
1119
  method: 'PUT',
992
1120
  url: '/api/v1/bean/payees/{id}',
993
1121
  path: {
994
- region: data.region
1122
+ id: data.id
1123
+ },
1124
+ body: data.requestBody,
1125
+ mediaType: 'application/json',
1126
+ errors: {
1127
+ 400: 'Invalid input data',
1128
+ 404: 'Payee not found'
995
1129
  }
996
1130
  });
997
1131
  }
998
1132
 
999
1133
  /**
1134
+ * Delete payee
1135
+ * Soft deletes a payee by marking it as inactive. Inactive payees will not appear in autocomplete suggestions.
1000
1136
  * @param data The data for the request.
1001
- * @param data.region Region code (cn, us, de)
1002
- * @returns void
1137
+ * @param data.id Payee UUID
1138
+ * @returns void Payee deleted successfully
1003
1139
  * @throws ApiError
1004
1140
  */
1005
- public static payeeController2(
1006
- data: PayeeController2Data
1007
- ): CancelablePromise<PayeeController2Response> {
1141
+ public static payeeControllerDelete(
1142
+ data: PayeeControllerDeleteData
1143
+ ): CancelablePromise<PayeeControllerDeleteResponse> {
1008
1144
  return __request(OpenAPI, {
1009
1145
  method: 'DELETE',
1010
1146
  url: '/api/v1/bean/payees/{id}',
1011
1147
  path: {
1012
- region: data.region
1148
+ id: data.id
1149
+ },
1150
+ errors: {
1151
+ 404: 'Payee not found'
1013
1152
  }
1014
1153
  });
1015
1154
  }
@@ -1017,28 +1156,33 @@ export class BeanPayeesService {
1017
1156
 
1018
1157
  export class AdminPayeeProfilesService {
1019
1158
  /**
1159
+ * Create payee profile (Admin only)
1160
+ * Creates a new global payee profile. The canonical name must be unique (case-insensitive).
1020
1161
  * @param data The data for the request.
1021
- * @param data.region Region code (cn, us, de)
1022
- * @returns unknown
1162
+ * @param data.requestBody
1163
+ * @returns PayeeProfileResponseDto Payee profile created successfully
1023
1164
  * @throws ApiError
1024
1165
  */
1025
- public static payeeProfileAdminController(
1026
- data: PayeeProfileAdminControllerData
1027
- ): CancelablePromise<PayeeProfileAdminControllerResponse> {
1166
+ public static payeeProfileAdminControllerCreate(
1167
+ data: PayeeProfileAdminControllerCreateData
1168
+ ): CancelablePromise<PayeeProfileAdminControllerCreateResponse> {
1028
1169
  return __request(OpenAPI, {
1029
1170
  method: 'POST',
1030
1171
  url: '/api/v1/admin/payee-profiles',
1031
- path: {
1032
- region: data.region
1033
- }
1034
- });
1035
- }
1036
-
1172
+ body: data.requestBody,
1173
+ mediaType: 'application/json',
1174
+ errors: {
1175
+ 400: 'Validation failed',
1176
+ 403: 'Admin access required',
1177
+ 409: 'Payee profile already exists'
1178
+ }
1179
+ });
1180
+ }
1181
+
1037
1182
  /**
1038
1183
  * List payee profiles (Admin only)
1039
1184
  * Returns all payee profiles with optional filtering by category, country, verification status, etc.
1040
1185
  * @param data The data for the request.
1041
- * @param data.region Region code (cn, us, de)
1042
1186
  * @param data.search Search term for canonical name and aliases (case-insensitive)
1043
1187
  * @param data.category Filter by category
1044
1188
  * @param data.country Filter by country (ISO 3166-1 alpha-2)
@@ -1049,14 +1193,11 @@ export class AdminPayeeProfilesService {
1049
1193
  * @throws ApiError
1050
1194
  */
1051
1195
  public static payeeProfileAdminControllerFindAll(
1052
- data: PayeeProfileAdminControllerFindAllData
1196
+ data: PayeeProfileAdminControllerFindAllData = {}
1053
1197
  ): CancelablePromise<PayeeProfileAdminControllerFindAllResponse> {
1054
1198
  return __request(OpenAPI, {
1055
1199
  method: 'GET',
1056
1200
  url: '/api/v1/admin/payee-profiles',
1057
- path: {
1058
- region: data.region
1059
- },
1060
1201
  query: {
1061
1202
  search: data.search,
1062
1203
  category: data.category,
@@ -1076,7 +1217,6 @@ export class AdminPayeeProfilesService {
1076
1217
  * Returns a single payee profile by its ID.
1077
1218
  * @param data The data for the request.
1078
1219
  * @param data.id Payee profile ID (UUID)
1079
- * @param data.region Region code (cn, us, de)
1080
1220
  * @returns PayeeProfileResponseDto Payee profile retrieved successfully
1081
1221
  * @throws ApiError
1082
1222
  */
@@ -1087,8 +1227,7 @@ export class AdminPayeeProfilesService {
1087
1227
  method: 'GET',
1088
1228
  url: '/api/v1/admin/payee-profiles/{id}',
1089
1229
  path: {
1090
- id: data.id,
1091
- region: data.region
1230
+ id: data.id
1092
1231
  },
1093
1232
  errors: {
1094
1233
  403: 'Admin access required',
@@ -1098,73 +1237,101 @@ export class AdminPayeeProfilesService {
1098
1237
  }
1099
1238
 
1100
1239
  /**
1240
+ * Update payee profile (Admin only)
1241
+ * Updates an existing payee profile. The canonical name cannot be changed.
1101
1242
  * @param data The data for the request.
1102
- * @param data.region Region code (cn, us, de)
1103
- * @returns unknown
1243
+ * @param data.id Payee profile ID (UUID)
1244
+ * @param data.requestBody
1245
+ * @returns PayeeProfileResponseDto Payee profile updated successfully
1104
1246
  * @throws ApiError
1105
1247
  */
1106
- public static payeeProfileAdminController1(
1107
- data: PayeeProfileAdminController1Data
1108
- ): CancelablePromise<PayeeProfileAdminController1Response> {
1248
+ public static payeeProfileAdminControllerUpdate(
1249
+ data: PayeeProfileAdminControllerUpdateData
1250
+ ): CancelablePromise<PayeeProfileAdminControllerUpdateResponse> {
1109
1251
  return __request(OpenAPI, {
1110
1252
  method: 'PUT',
1111
1253
  url: '/api/v1/admin/payee-profiles/{id}',
1112
1254
  path: {
1113
- region: data.region
1255
+ id: data.id
1256
+ },
1257
+ body: data.requestBody,
1258
+ mediaType: 'application/json',
1259
+ errors: {
1260
+ 403: 'Admin access required',
1261
+ 404: 'Payee profile not found'
1114
1262
  }
1115
1263
  });
1116
1264
  }
1117
1265
 
1118
1266
  /**
1267
+ * Soft delete payee profile (Admin only)
1268
+ * Marks a payee profile as inactive (soft delete). The profile cannot be deleted if it is referenced by user payees.
1119
1269
  * @param data The data for the request.
1120
- * @param data.region Region code (cn, us, de)
1121
- * @returns void
1270
+ * @param data.id Payee profile ID (UUID)
1271
+ * @returns void Payee profile deleted successfully
1122
1272
  * @throws ApiError
1123
1273
  */
1124
- public static payeeProfileAdminController2(
1125
- data: PayeeProfileAdminController2Data
1126
- ): CancelablePromise<PayeeProfileAdminController2Response> {
1274
+ public static payeeProfileAdminControllerDelete(
1275
+ data: PayeeProfileAdminControllerDeleteData
1276
+ ): CancelablePromise<PayeeProfileAdminControllerDeleteResponse> {
1127
1277
  return __request(OpenAPI, {
1128
1278
  method: 'DELETE',
1129
1279
  url: '/api/v1/admin/payee-profiles/{id}',
1130
1280
  path: {
1131
- region: data.region
1281
+ id: data.id
1282
+ },
1283
+ errors: {
1284
+ 403: 'Admin access required',
1285
+ 404: 'Payee profile not found',
1286
+ 409: 'Payee profile is in use and cannot be deleted'
1132
1287
  }
1133
1288
  });
1134
1289
  }
1135
1290
 
1136
1291
  /**
1292
+ * Verify payee profile (Admin only)
1293
+ * Marks a payee profile as verified by setting verifiedAt to current timestamp.
1137
1294
  * @param data The data for the request.
1138
- * @param data.region Region code (cn, us, de)
1139
- * @returns unknown
1295
+ * @param data.id Payee profile ID (UUID)
1296
+ * @returns PayeeProfileResponseDto Payee profile verified successfully
1140
1297
  * @throws ApiError
1141
1298
  */
1142
- public static payeeProfileAdminController3(
1143
- data: PayeeProfileAdminController3Data
1144
- ): CancelablePromise<PayeeProfileAdminController3Response> {
1299
+ public static payeeProfileAdminControllerVerify(
1300
+ data: PayeeProfileAdminControllerVerifyData
1301
+ ): CancelablePromise<PayeeProfileAdminControllerVerifyResponse> {
1145
1302
  return __request(OpenAPI, {
1146
1303
  method: 'POST',
1147
1304
  url: '/api/v1/admin/payee-profiles/{id}/verify',
1148
1305
  path: {
1149
- region: data.region
1306
+ id: data.id
1307
+ },
1308
+ errors: {
1309
+ 403: 'Admin access required',
1310
+ 404: 'Payee profile not found'
1150
1311
  }
1151
1312
  });
1152
1313
  }
1153
1314
 
1154
1315
  /**
1316
+ * Unverify payee profile (Admin only)
1317
+ * Removes verification status by setting verifiedAt to null.
1155
1318
  * @param data The data for the request.
1156
- * @param data.region Region code (cn, us, de)
1157
- * @returns unknown
1319
+ * @param data.id Payee profile ID (UUID)
1320
+ * @returns PayeeProfileResponseDto Payee profile unverified successfully
1158
1321
  * @throws ApiError
1159
1322
  */
1160
- public static payeeProfileAdminController4(
1161
- data: PayeeProfileAdminController4Data
1162
- ): CancelablePromise<PayeeProfileAdminController4Response> {
1323
+ public static payeeProfileAdminControllerUnverify(
1324
+ data: PayeeProfileAdminControllerUnverifyData
1325
+ ): CancelablePromise<PayeeProfileAdminControllerUnverifyResponse> {
1163
1326
  return __request(OpenAPI, {
1164
1327
  method: 'DELETE',
1165
1328
  url: '/api/v1/admin/payee-profiles/{id}/verify',
1166
1329
  path: {
1167
- region: data.region
1330
+ id: data.id
1331
+ },
1332
+ errors: {
1333
+ 403: 'Admin access required',
1334
+ 404: 'Payee profile not found'
1168
1335
  }
1169
1336
  });
1170
1337
  }
@@ -1172,19 +1339,28 @@ export class AdminPayeeProfilesService {
1172
1339
 
1173
1340
  export class BeanCommoditiesService {
1174
1341
  /**
1342
+ * Create a new commodity
1343
+ * Creates a new commodity definition for the authenticated user
1175
1344
  * @param data The data for the request.
1176
- * @param data.region Region code (cn, us, de)
1177
- * @returns unknown
1345
+ * @param data.region Region code for tenant context
1346
+ * @param data.requestBody
1347
+ * @returns CommodityResponseDto Commodity created successfully
1178
1348
  * @throws ApiError
1179
1349
  */
1180
- public static commodityController(
1181
- data: CommodityControllerData
1182
- ): CancelablePromise<CommodityControllerResponse> {
1350
+ public static commodityControllerCreate(
1351
+ data: CommodityControllerCreateData
1352
+ ): CancelablePromise<CommodityControllerCreateResponse> {
1183
1353
  return __request(OpenAPI, {
1184
1354
  method: 'POST',
1185
1355
  url: '/api/v1/{region}/bean/commodities',
1186
1356
  path: {
1187
1357
  region: data.region
1358
+ },
1359
+ body: data.requestBody,
1360
+ mediaType: 'application/json',
1361
+ errors: {
1362
+ 400: 'Invalid input data',
1363
+ 409: 'Commodity already exists'
1188
1364
  }
1189
1365
  });
1190
1366
  }
@@ -1193,7 +1369,7 @@ export class BeanCommoditiesService {
1193
1369
  * List user commodities
1194
1370
  * Returns all commodity definitions for the authenticated user with optional filtering
1195
1371
  * @param data The data for the request.
1196
- * @param data.region Region code (cn, us, de)
1372
+ * @param data.region Region code for tenant context
1197
1373
  * @param data.search Search term for symbol or metadata fields (partial match). Searches symbol and metadata.name.
1198
1374
  * @param data.symbol Filter by exact symbol match
1199
1375
  * @returns CommodityListResponseDto Commodities retrieved successfully
@@ -1220,7 +1396,7 @@ export class BeanCommoditiesService {
1220
1396
  * Returns a specific commodity definition by its symbol
1221
1397
  * @param data The data for the request.
1222
1398
  * @param data.symbol Commodity symbol
1223
- * @param data.region Region code (cn, us, de)
1399
+ * @param data.region Region code for tenant context
1224
1400
  * @returns CommodityResponseDto Commodity retrieved successfully
1225
1401
  * @throws ApiError
1226
1402
  */
@@ -1241,68 +1417,92 @@ export class BeanCommoditiesService {
1241
1417
  }
1242
1418
 
1243
1419
  /**
1420
+ * Update commodity
1421
+ * Updates an existing commodity definition. Symbol cannot be changed.
1244
1422
  * @param data The data for the request.
1245
- * @param data.region Region code (cn, us, de)
1246
- * @returns unknown
1423
+ * @param data.symbol Commodity symbol
1424
+ * @param data.region Region code for tenant context
1425
+ * @param data.requestBody
1426
+ * @returns CommodityResponseDto Commodity updated successfully
1247
1427
  * @throws ApiError
1248
1428
  */
1249
- public static commodityController1(
1250
- data: CommodityController1Data
1251
- ): CancelablePromise<CommodityController1Response> {
1429
+ public static commodityControllerUpdate(
1430
+ data: CommodityControllerUpdateData
1431
+ ): CancelablePromise<CommodityControllerUpdateResponse> {
1252
1432
  return __request(OpenAPI, {
1253
1433
  method: 'PUT',
1254
1434
  url: '/api/v1/{region}/bean/commodities/{symbol}',
1255
1435
  path: {
1436
+ symbol: data.symbol,
1256
1437
  region: data.region
1438
+ },
1439
+ body: data.requestBody,
1440
+ mediaType: 'application/json',
1441
+ errors: {
1442
+ 400: 'Invalid input data',
1443
+ 404: 'Commodity not found'
1257
1444
  }
1258
1445
  });
1259
1446
  }
1260
1447
 
1261
1448
  /**
1449
+ * Delete commodity
1450
+ * Deletes a commodity definition
1262
1451
  * @param data The data for the request.
1263
- * @param data.region Region code (cn, us, de)
1264
- * @returns void
1452
+ * @param data.symbol Commodity symbol
1453
+ * @param data.region Region code for tenant context
1454
+ * @returns void Commodity deleted successfully
1265
1455
  * @throws ApiError
1266
1456
  */
1267
- public static commodityController2(
1268
- data: CommodityController2Data
1269
- ): CancelablePromise<CommodityController2Response> {
1457
+ public static commodityControllerDelete(
1458
+ data: CommodityControllerDeleteData
1459
+ ): CancelablePromise<CommodityControllerDeleteResponse> {
1270
1460
  return __request(OpenAPI, {
1271
1461
  method: 'DELETE',
1272
1462
  url: '/api/v1/{region}/bean/commodities/{symbol}',
1273
1463
  path: {
1464
+ symbol: data.symbol,
1274
1465
  region: data.region
1466
+ },
1467
+ errors: {
1468
+ 404: 'Commodity not found'
1275
1469
  }
1276
1470
  });
1277
1471
  }
1278
1472
 
1279
1473
  /**
1474
+ * Ensure commodity exists
1475
+ * Gets existing commodity or creates it with automatic initialization from OpenBB
1280
1476
  * @param data The data for the request.
1281
- * @param data.region Region code (cn, us, de)
1282
- * @returns unknown
1477
+ * @param data.symbol Commodity symbol
1478
+ * @param data.region Region code for tenant context
1479
+ * @returns CommodityResponseDto Commodity retrieved or created
1283
1480
  * @throws ApiError
1284
1481
  */
1285
- public static commodityController3(
1286
- data: CommodityController3Data
1287
- ): CancelablePromise<CommodityController3Response> {
1482
+ public static commodityControllerGetOrCreate(
1483
+ data: CommodityControllerGetOrCreateData
1484
+ ): CancelablePromise<CommodityControllerGetOrCreateResponse> {
1288
1485
  return __request(OpenAPI, {
1289
1486
  method: 'POST',
1290
1487
  url: '/api/v1/{region}/bean/commodities/{symbol}/ensure',
1291
1488
  path: {
1489
+ symbol: data.symbol,
1292
1490
  region: data.region
1293
1491
  }
1294
1492
  });
1295
1493
  }
1296
1494
 
1297
1495
  /**
1496
+ * Bulk create commodities
1497
+ * Creates multiple commodities from a list of symbols, useful for initialization
1298
1498
  * @param data The data for the request.
1299
- * @param data.region Region code (cn, us, de)
1300
- * @returns unknown
1499
+ * @param data.region Region code for tenant context
1500
+ * @returns CommodityResponseDto Commodities created successfully
1301
1501
  * @throws ApiError
1302
1502
  */
1303
- public static commodityController4(
1304
- data: CommodityController4Data
1305
- ): CancelablePromise<CommodityController4Response> {
1503
+ public static commodityControllerBulkCreate(
1504
+ data: CommodityControllerBulkCreateData
1505
+ ): CancelablePromise<CommodityControllerBulkCreateResponse> {
1306
1506
  return __request(OpenAPI, {
1307
1507
  method: 'POST',
1308
1508
  url: '/api/v1/{region}/bean/commodities/bulk',
@@ -1315,19 +1515,28 @@ export class BeanCommoditiesService {
1315
1515
 
1316
1516
  export class RecurringRulesService {
1317
1517
  /**
1518
+ * Create a new recurring rule
1519
+ * Creates a new recurring transaction rule for the authenticated user
1318
1520
  * @param data The data for the request.
1319
- * @param data.region Region code (cn, us, de)
1320
- * @returns unknown
1521
+ * @param data.region Region code for tenant context
1522
+ * @param data.requestBody
1523
+ * @returns RecurringRuleResponseDto Rule created successfully
1321
1524
  * @throws ApiError
1322
1525
  */
1323
- public static recurringRuleController(
1324
- data: RecurringRuleControllerData
1325
- ): CancelablePromise<RecurringRuleControllerResponse> {
1526
+ public static recurringRuleControllerCreate(
1527
+ data: RecurringRuleControllerCreateData
1528
+ ): CancelablePromise<RecurringRuleControllerCreateResponse> {
1326
1529
  return __request(OpenAPI, {
1327
1530
  method: 'POST',
1328
1531
  url: '/api/v1/{region}/bean/recurring-rules',
1329
1532
  path: {
1330
1533
  region: data.region
1534
+ },
1535
+ body: data.requestBody,
1536
+ mediaType: 'application/json',
1537
+ errors: {
1538
+ 400: 'Invalid input data (e.g., autoCreate without accounts)',
1539
+ 409: 'Rule with same name already exists'
1331
1540
  }
1332
1541
  });
1333
1542
  }
@@ -1336,7 +1545,7 @@ export class RecurringRulesService {
1336
1545
  * List recurring rules
1337
1546
  * Returns all recurring rules for the authenticated user with optional filtering
1338
1547
  * @param data The data for the request.
1339
- * @param data.region Region code (cn, us, de)
1548
+ * @param data.region Region code for tenant context
1340
1549
  * @param data.isActive Filter by active status
1341
1550
  * @param data.frequency Filter by frequency (WEEKLY, MONTHLY, etc.)
1342
1551
  * @param data.hasAutoCreate Filter by autoCreate enabled
@@ -1361,19 +1570,30 @@ export class RecurringRulesService {
1361
1570
  }
1362
1571
 
1363
1572
  /**
1573
+ * Create recurring rule from transaction
1574
+ * Auto-creates a recurring rule using transaction data. User only confirms frequency.
1364
1575
  * @param data The data for the request.
1365
- * @param data.region Region code (cn, us, de)
1366
- * @returns unknown
1576
+ * @param data.transactionId Source transaction ID
1577
+ * @param data.region Region code for tenant context
1578
+ * @param data.requestBody
1579
+ * @returns RecurringRuleResponseDto Rule created successfully
1367
1580
  * @throws ApiError
1368
1581
  */
1369
- public static recurringRuleController1(
1370
- data: RecurringRuleController1Data
1371
- ): CancelablePromise<RecurringRuleController1Response> {
1582
+ public static recurringRuleControllerCreateFromTransaction(
1583
+ data: RecurringRuleControllerCreateFromTransactionData
1584
+ ): CancelablePromise<RecurringRuleControllerCreateFromTransactionResponse> {
1372
1585
  return __request(OpenAPI, {
1373
1586
  method: 'POST',
1374
1587
  url: '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}',
1375
1588
  path: {
1589
+ transactionId: data.transactionId,
1376
1590
  region: data.region
1591
+ },
1592
+ body: data.requestBody,
1593
+ mediaType: 'application/json',
1594
+ errors: {
1595
+ 404: 'Transaction not found',
1596
+ 409: 'Rule with same name already exists or transaction already linked'
1377
1597
  }
1378
1598
  });
1379
1599
  }
@@ -1383,7 +1603,7 @@ export class RecurringRulesService {
1383
1603
  * Returns a specific recurring rule with its details
1384
1604
  * @param data The data for the request.
1385
1605
  * @param data.id Rule ID
1386
- * @param data.region Region code (cn, us, de)
1606
+ * @param data.region Region code for tenant context
1387
1607
  * @returns RecurringRuleResponseDto Rule retrieved successfully
1388
1608
  * @throws ApiError
1389
1609
  */
@@ -1404,37 +1624,55 @@ export class RecurringRulesService {
1404
1624
  }
1405
1625
 
1406
1626
  /**
1627
+ * Update recurring rule
1628
+ * Updates an existing recurring rule
1407
1629
  * @param data The data for the request.
1408
- * @param data.region Region code (cn, us, de)
1409
- * @returns unknown
1630
+ * @param data.id Rule ID
1631
+ * @param data.region Region code for tenant context
1632
+ * @param data.requestBody
1633
+ * @returns RecurringRuleResponseDto Rule updated successfully
1410
1634
  * @throws ApiError
1411
1635
  */
1412
- public static recurringRuleController2(
1413
- data: RecurringRuleController2Data
1414
- ): CancelablePromise<RecurringRuleController2Response> {
1636
+ public static recurringRuleControllerUpdate(
1637
+ data: RecurringRuleControllerUpdateData
1638
+ ): CancelablePromise<RecurringRuleControllerUpdateResponse> {
1415
1639
  return __request(OpenAPI, {
1416
1640
  method: 'PATCH',
1417
1641
  url: '/api/v1/{region}/bean/recurring-rules/{id}',
1418
1642
  path: {
1643
+ id: data.id,
1419
1644
  region: data.region
1645
+ },
1646
+ body: data.requestBody,
1647
+ mediaType: 'application/json',
1648
+ errors: {
1649
+ 400: 'Invalid input data',
1650
+ 404: 'Rule not found'
1420
1651
  }
1421
1652
  });
1422
1653
  }
1423
1654
 
1424
1655
  /**
1656
+ * Delete recurring rule
1657
+ * Soft deletes a recurring rule (sets isActive to false)
1425
1658
  * @param data The data for the request.
1426
- * @param data.region Region code (cn, us, de)
1427
- * @returns void
1659
+ * @param data.id Rule ID
1660
+ * @param data.region Region code for tenant context
1661
+ * @returns void Rule deleted successfully
1428
1662
  * @throws ApiError
1429
1663
  */
1430
- public static recurringRuleController3(
1431
- data: RecurringRuleController3Data
1432
- ): CancelablePromise<RecurringRuleController3Response> {
1664
+ public static recurringRuleControllerDelete(
1665
+ data: RecurringRuleControllerDeleteData
1666
+ ): CancelablePromise<RecurringRuleControllerDeleteResponse> {
1433
1667
  return __request(OpenAPI, {
1434
1668
  method: 'DELETE',
1435
1669
  url: '/api/v1/{region}/bean/recurring-rules/{id}',
1436
1670
  path: {
1671
+ id: data.id,
1437
1672
  region: data.region
1673
+ },
1674
+ errors: {
1675
+ 404: 'Rule not found'
1438
1676
  }
1439
1677
  });
1440
1678
  }
@@ -1444,7 +1682,7 @@ export class RecurringRulesService {
1444
1682
  * Returns a rule with pending/overdue counts and next expected date
1445
1683
  * @param data The data for the request.
1446
1684
  * @param data.id Rule ID
1447
- * @param data.region Region code (cn, us, de)
1685
+ * @param data.region Region code for tenant context
1448
1686
  * @returns RecurringRuleWithStatsResponseDto Rule with stats retrieved successfully
1449
1687
  * @throws ApiError
1450
1688
  */
@@ -1470,7 +1708,7 @@ export class ExpectedTransactionsService {
1470
1708
  * List expected transactions
1471
1709
  * Returns expected transactions for the authenticated user with optional filtering
1472
1710
  * @param data The data for the request.
1473
- * @param data.region Region code (cn, us, de)
1711
+ * @param data.region Region code for tenant context
1474
1712
  * @param data.ruleId Filter by recurring rule ID
1475
1713
  * @param data.status Filter by status (PENDING, COMPLETED, SKIPPED)
1476
1714
  * @param data.fromDate Filter by date range start (YYYY-MM-DD)
@@ -1500,7 +1738,7 @@ export class ExpectedTransactionsService {
1500
1738
  * List overdue expected transactions
1501
1739
  * Returns all overdue expected transactions (PENDING past tolerance)
1502
1740
  * @param data The data for the request.
1503
- * @param data.region Region code (cn, us, de)
1741
+ * @param data.region Region code for tenant context
1504
1742
  * @returns ExpectedTransactionListResponseDto Overdue transactions retrieved successfully
1505
1743
  * @throws ApiError
1506
1744
  */
@@ -1521,7 +1759,7 @@ export class ExpectedTransactionsService {
1521
1759
  * Returns a specific expected transaction with rule details
1522
1760
  * @param data The data for the request.
1523
1761
  * @param data.id Expected transaction ID
1524
- * @param data.region Region code (cn, us, de)
1762
+ * @param data.region Region code for tenant context
1525
1763
  * @returns ExpectedTransactionResponseDto Expected transaction retrieved successfully
1526
1764
  * @throws ApiError
1527
1765
  */
@@ -1542,91 +1780,138 @@ export class ExpectedTransactionsService {
1542
1780
  }
1543
1781
 
1544
1782
  /**
1783
+ * Skip expected transaction
1784
+ * Marks an expected transaction as skipped (PENDING -> SKIPPED)
1545
1785
  * @param data The data for the request.
1546
- * @param data.region Region code (cn, us, de)
1547
- * @returns unknown
1786
+ * @param data.id Expected transaction ID
1787
+ * @param data.region Region code for tenant context
1788
+ * @returns ExpectedTransactionResponseDto Expected transaction skipped successfully
1548
1789
  * @throws ApiError
1549
1790
  */
1550
- public static expectedTransactionController(
1551
- data: ExpectedTransactionControllerData
1552
- ): CancelablePromise<ExpectedTransactionControllerResponse> {
1791
+ public static expectedTransactionControllerSkip(
1792
+ data: ExpectedTransactionControllerSkipData
1793
+ ): CancelablePromise<ExpectedTransactionControllerSkipResponse> {
1553
1794
  return __request(OpenAPI, {
1554
1795
  method: 'POST',
1555
1796
  url: '/api/v1/{region}/bean/expected-transactions/{id}/skip',
1556
1797
  path: {
1798
+ id: data.id,
1557
1799
  region: data.region
1800
+ },
1801
+ errors: {
1802
+ 400: 'Cannot skip - not in PENDING status',
1803
+ 404: 'Expected transaction not found'
1558
1804
  }
1559
1805
  });
1560
1806
  }
1561
1807
 
1562
1808
  /**
1809
+ * Undo skip
1810
+ * Reverses a skip operation (SKIPPED -> PENDING)
1563
1811
  * @param data The data for the request.
1564
- * @param data.region Region code (cn, us, de)
1565
- * @returns unknown
1812
+ * @param data.id Expected transaction ID
1813
+ * @param data.region Region code for tenant context
1814
+ * @returns ExpectedTransactionResponseDto Skip undone successfully
1566
1815
  * @throws ApiError
1567
1816
  */
1568
- public static expectedTransactionController1(
1569
- data: ExpectedTransactionController1Data
1570
- ): CancelablePromise<ExpectedTransactionController1Response> {
1817
+ public static expectedTransactionControllerUndoSkip(
1818
+ data: ExpectedTransactionControllerUndoSkipData
1819
+ ): CancelablePromise<ExpectedTransactionControllerUndoSkipResponse> {
1571
1820
  return __request(OpenAPI, {
1572
1821
  method: 'DELETE',
1573
1822
  url: '/api/v1/{region}/bean/expected-transactions/{id}/skip',
1574
1823
  path: {
1824
+ id: data.id,
1575
1825
  region: data.region
1826
+ },
1827
+ errors: {
1828
+ 400: 'Cannot undo - not in SKIPPED status',
1829
+ 404: 'Expected transaction not found'
1576
1830
  }
1577
1831
  });
1578
1832
  }
1579
1833
 
1580
1834
  /**
1835
+ * Confirm transaction match
1836
+ * Manually matches an expected transaction with an actual transaction
1581
1837
  * @param data The data for the request.
1582
- * @param data.region Region code (cn, us, de)
1583
- * @returns unknown
1838
+ * @param data.id Expected transaction ID
1839
+ * @param data.region Region code for tenant context
1840
+ * @param data.requestBody
1841
+ * @returns unknown Match confirmed successfully
1584
1842
  * @throws ApiError
1585
1843
  */
1586
- public static expectedTransactionController2(
1587
- data: ExpectedTransactionController2Data
1588
- ): CancelablePromise<ExpectedTransactionController2Response> {
1844
+ public static expectedTransactionControllerConfirmMatch(
1845
+ data: ExpectedTransactionControllerConfirmMatchData
1846
+ ): CancelablePromise<ExpectedTransactionControllerConfirmMatchResponse> {
1589
1847
  return __request(OpenAPI, {
1590
1848
  method: 'POST',
1591
1849
  url: '/api/v1/{region}/bean/expected-transactions/{id}/match',
1592
1850
  path: {
1851
+ id: data.id,
1593
1852
  region: data.region
1853
+ },
1854
+ body: data.requestBody,
1855
+ mediaType: 'application/json',
1856
+ errors: {
1857
+ 400: 'Cannot match - not in PENDING status',
1858
+ 404: 'Expected or actual transaction not found',
1859
+ 409: 'Actual transaction already matched to another rule'
1594
1860
  }
1595
1861
  });
1596
1862
  }
1597
1863
 
1598
1864
  /**
1865
+ * Unmatch transaction
1866
+ * Removes the match between expected and actual transaction (COMPLETED -> PENDING)
1599
1867
  * @param data The data for the request.
1600
- * @param data.region Region code (cn, us, de)
1601
- * @returns unknown
1868
+ * @param data.id Expected transaction ID
1869
+ * @param data.region Region code for tenant context
1870
+ * @returns unknown Match removed successfully
1602
1871
  * @throws ApiError
1603
1872
  */
1604
- public static expectedTransactionController3(
1605
- data: ExpectedTransactionController3Data
1606
- ): CancelablePromise<ExpectedTransactionController3Response> {
1873
+ public static expectedTransactionControllerUnmatch(
1874
+ data: ExpectedTransactionControllerUnmatchData
1875
+ ): CancelablePromise<ExpectedTransactionControllerUnmatchResponse> {
1607
1876
  return __request(OpenAPI, {
1608
1877
  method: 'DELETE',
1609
1878
  url: '/api/v1/{region}/bean/expected-transactions/{id}/match',
1610
1879
  path: {
1880
+ id: data.id,
1611
1881
  region: data.region
1882
+ },
1883
+ errors: {
1884
+ 400: 'Cannot unmatch - not in COMPLETED status',
1885
+ 404: 'Expected transaction not found'
1612
1886
  }
1613
1887
  });
1614
1888
  }
1615
1889
 
1616
1890
  /**
1891
+ * Enter Now
1892
+ * Creates an actual transaction for an expected transaction (YNAB-style Enter Now)
1617
1893
  * @param data The data for the request.
1618
- * @param data.region Region code (cn, us, de)
1619
- * @returns unknown
1894
+ * @param data.id Expected transaction ID
1895
+ * @param data.region Region code for tenant context
1896
+ * @param data.requestBody
1897
+ * @returns unknown Transaction created successfully
1620
1898
  * @throws ApiError
1621
1899
  */
1622
- public static expectedTransactionController4(
1623
- data: ExpectedTransactionController4Data
1624
- ): CancelablePromise<ExpectedTransactionController4Response> {
1900
+ public static expectedTransactionControllerEnterNow(
1901
+ data: ExpectedTransactionControllerEnterNowData
1902
+ ): CancelablePromise<ExpectedTransactionControllerEnterNowResponse> {
1625
1903
  return __request(OpenAPI, {
1626
1904
  method: 'POST',
1627
1905
  url: '/api/v1/{region}/bean/expected-transactions/{id}/enter',
1628
1906
  path: {
1907
+ id: data.id,
1629
1908
  region: data.region
1909
+ },
1910
+ body: data.requestBody,
1911
+ mediaType: 'application/json',
1912
+ errors: {
1913
+ 400: 'Cannot enter - not in PENDING status or missing accounts',
1914
+ 404: 'Expected transaction or accounts not found'
1630
1915
  }
1631
1916
  });
1632
1917
  }
@@ -1637,7 +1922,7 @@ export class RecurringForecastService {
1637
1922
  * Get cash flow forecast
1638
1923
  * Returns predicted outflows for the next N months based on active recurring rules
1639
1924
  * @param data The data for the request.
1640
- * @param data.region Region code (cn, us, de)
1925
+ * @param data.region Region code for tenant context
1641
1926
  * @param data.months Number of months to forecast (1-12, default 3)
1642
1927
  * @returns ForecastResponseDto Forecast retrieved successfully
1643
1928
  * @throws ApiError
@@ -1660,19 +1945,29 @@ export class RecurringForecastService {
1660
1945
 
1661
1946
  export class BeanTransactionRulesService {
1662
1947
  /**
1948
+ * Create a new transaction rule (or upsert if upsertByPayee=true)
1949
+ * Creates a new rule. If upsertByPayee=true, updates existing rule matching payeeKeywords[0] instead of creating duplicate.
1663
1950
  * @param data The data for the request.
1664
- * @param data.region Region code (cn, us, de)
1665
- * @returns unknown
1951
+ * @param data.region Region code for tenant context
1952
+ * @param data.requestBody
1953
+ * @returns TransactionRuleResponseDto Rule updated successfully (upsert mode)
1666
1954
  * @throws ApiError
1667
1955
  */
1668
- public static transactionRuleController(
1669
- data: TransactionRuleControllerData
1670
- ): CancelablePromise<TransactionRuleControllerResponse> {
1956
+ public static transactionRuleControllerCreate(
1957
+ data: TransactionRuleControllerCreateData
1958
+ ): CancelablePromise<TransactionRuleControllerCreateResponse> {
1671
1959
  return __request(OpenAPI, {
1672
1960
  method: 'POST',
1673
1961
  url: '/api/v1/{region}/bean/transaction-rules',
1674
1962
  path: {
1675
1963
  region: data.region
1964
+ },
1965
+ body: data.requestBody,
1966
+ mediaType: 'application/json',
1967
+ errors: {
1968
+ 400: 'Validation failed',
1969
+ 401: 'Unauthorized',
1970
+ 409: 'Resource conflict - another process is updating this rule'
1676
1971
  }
1677
1972
  });
1678
1973
  }
@@ -1680,7 +1975,7 @@ export class BeanTransactionRulesService {
1680
1975
  /**
1681
1976
  * Get all transaction rules for user
1682
1977
  * @param data The data for the request.
1683
- * @param data.region Region code (cn, us, de)
1978
+ * @param data.region Region code for tenant context
1684
1979
  * @param data.limit Max results per page (default: 20, max: 100)
1685
1980
  * @param data.offset Pagination offset (default: 0)
1686
1981
  * @param data.enabled Filter by enabled status
@@ -1714,7 +2009,7 @@ export class BeanTransactionRulesService {
1714
2009
  /**
1715
2010
  * Validate transaction rule configuration
1716
2011
  * @param data The data for the request.
1717
- * @param data.region Region code (cn, us, de)
2012
+ * @param data.region Region code for tenant context
1718
2013
  * @param data.requestBody
1719
2014
  * @returns ValidateRuleResponseDto Validation result
1720
2015
  * @throws ApiError
@@ -1731,25 +2026,34 @@ export class BeanTransactionRulesService {
1731
2026
  body: data.requestBody,
1732
2027
  mediaType: 'application/json',
1733
2028
  errors: {
2029
+ 400: 'Validation failed',
1734
2030
  401: 'Unauthorized'
1735
2031
  }
1736
2032
  });
1737
2033
  }
1738
2034
 
1739
2035
  /**
2036
+ * Bulk create transaction rules
1740
2037
  * @param data The data for the request.
1741
- * @param data.region Region code (cn, us, de)
1742
- * @returns unknown
2038
+ * @param data.region Region code for tenant context
2039
+ * @param data.requestBody
2040
+ * @returns BulkCreateRulesResponseDto Bulk create completed
1743
2041
  * @throws ApiError
1744
2042
  */
1745
- public static transactionRuleController1(
1746
- data: TransactionRuleController1Data
1747
- ): CancelablePromise<TransactionRuleController1Response> {
2043
+ public static transactionRuleControllerBulkCreate(
2044
+ data: TransactionRuleControllerBulkCreateData
2045
+ ): CancelablePromise<TransactionRuleControllerBulkCreateResponse> {
1748
2046
  return __request(OpenAPI, {
1749
2047
  method: 'POST',
1750
2048
  url: '/api/v1/{region}/bean/transaction-rules/bulk',
1751
2049
  path: {
1752
2050
  region: data.region
2051
+ },
2052
+ body: data.requestBody,
2053
+ mediaType: 'application/json',
2054
+ errors: {
2055
+ 400: 'Invalid bulk create data',
2056
+ 401: 'Unauthorized'
1753
2057
  }
1754
2058
  });
1755
2059
  }
@@ -1758,7 +2062,7 @@ export class BeanTransactionRulesService {
1758
2062
  * Export transaction rules
1759
2063
  * @param data The data for the request.
1760
2064
  * @param data.format Export format (currently only JSON supported)
1761
- * @param data.region Region code (cn, us, de)
2065
+ * @param data.region Region code for tenant context
1762
2066
  * @returns ExportRulesResponseDto Exported rules
1763
2067
  * @throws ApiError
1764
2068
  */
@@ -1783,7 +2087,7 @@ export class BeanTransactionRulesService {
1783
2087
  * Get transaction rule statistics
1784
2088
  * @param data The data for the request.
1785
2089
  * @param data.period Statistics time period
1786
- * @param data.region Region code (cn, us, de)
2090
+ * @param data.region Region code for tenant context
1787
2091
  * @returns RuleStatisticsResponseDto Rule statistics
1788
2092
  * @throws ApiError
1789
2093
  */
@@ -1807,7 +2111,7 @@ export class BeanTransactionRulesService {
1807
2111
  * Get transaction rule detail
1808
2112
  * @param data The data for the request.
1809
2113
  * @param data.ruleId Rule ID
1810
- * @param data.region Region code (cn, us, de)
2114
+ * @param data.region Region code for tenant context
1811
2115
  * @returns TransactionRuleResponseDto Rule details
1812
2116
  * @throws ApiError
1813
2117
  */
@@ -1830,37 +2134,59 @@ export class BeanTransactionRulesService {
1830
2134
  }
1831
2135
 
1832
2136
  /**
2137
+ * Update a transaction rule
1833
2138
  * @param data The data for the request.
1834
- * @param data.region Region code (cn, us, de)
1835
- * @returns unknown
2139
+ * @param data.ruleId Rule ID to update
2140
+ * @param data.region Region code for tenant context
2141
+ * @param data.requestBody
2142
+ * @returns TransactionRuleResponseDto Rule updated successfully
1836
2143
  * @throws ApiError
1837
2144
  */
1838
- public static transactionRuleController2(
1839
- data: TransactionRuleController2Data
1840
- ): CancelablePromise<TransactionRuleController2Response> {
2145
+ public static transactionRuleControllerUpdate(
2146
+ data: TransactionRuleControllerUpdateData
2147
+ ): CancelablePromise<TransactionRuleControllerUpdateResponse> {
1841
2148
  return __request(OpenAPI, {
1842
2149
  method: 'PUT',
1843
2150
  url: '/api/v1/{region}/bean/transaction-rules/{ruleId}',
1844
2151
  path: {
2152
+ ruleId: data.ruleId,
1845
2153
  region: data.region
2154
+ },
2155
+ body: data.requestBody,
2156
+ mediaType: 'application/json',
2157
+ errors: {
2158
+ 400: 'Validation failed',
2159
+ 401: 'Unauthorized',
2160
+ 403: 'Forbidden - not owner of rule',
2161
+ 404: 'Rule not found',
2162
+ 409: 'Resource conflict - rule is being modified by another process'
1846
2163
  }
1847
2164
  });
1848
2165
  }
1849
2166
 
1850
2167
  /**
2168
+ * Delete a transaction rule
1851
2169
  * @param data The data for the request.
1852
- * @param data.region Region code (cn, us, de)
1853
- * @returns void
2170
+ * @param data.ruleId Rule ID to delete
2171
+ * @param data.region Region code for tenant context
2172
+ * @returns void Rule deleted successfully
1854
2173
  * @throws ApiError
1855
2174
  */
1856
- public static transactionRuleController3(
1857
- data: TransactionRuleController3Data
1858
- ): CancelablePromise<TransactionRuleController3Response> {
2175
+ public static transactionRuleControllerDelete(
2176
+ data: TransactionRuleControllerDeleteData
2177
+ ): CancelablePromise<TransactionRuleControllerDeleteResponse> {
1859
2178
  return __request(OpenAPI, {
1860
2179
  method: 'DELETE',
1861
2180
  url: '/api/v1/{region}/bean/transaction-rules/{ruleId}',
1862
2181
  path: {
2182
+ ruleId: data.ruleId,
1863
2183
  region: data.region
2184
+ },
2185
+ errors: {
2186
+ 401: 'Unauthorized',
2187
+ 403: 'Forbidden - not owner of rule',
2188
+ 404: 'Rule not found',
2189
+ 409: 'Resource conflict - rule is being modified by another process'
1864
2190
  }
1865
2191
  });
1866
2192
  }
@@ -1869,7 +2195,7 @@ export class BeanTransactionRulesService {
1869
2195
  * Test rule matching
1870
2196
  * @param data The data for the request.
1871
2197
  * @param data.ruleId Rule ID to test
1872
- * @param data.region Region code (cn, us, de)
2198
+ * @param data.region Region code for tenant context
1873
2199
  * @param data.requestBody
1874
2200
  * @returns TestRuleResponseDto Test result
1875
2201
  * @throws ApiError
@@ -1899,7 +2225,6 @@ export class UsersService {
1899
2225
  /**
1900
2226
  * Delete own user account
1901
2227
  * @param data The data for the request.
1902
- * @param data.region Region code (cn, us, de)
1903
2228
  * @param data.requestBody
1904
2229
  * @returns void User deleted successfully
1905
2230
  * @throws ApiError
@@ -1910,9 +2235,6 @@ export class UsersService {
1910
2235
  return __request(OpenAPI, {
1911
2236
  method: 'DELETE',
1912
2237
  url: '/api/v1/users',
1913
- path: {
1914
- region: data.region
1915
- },
1916
2238
  body: data.requestBody,
1917
2239
  mediaType: 'application/json',
1918
2240
  errors: {
@@ -1925,7 +2247,6 @@ export class UsersService {
1925
2247
  * Get current authenticated user
1926
2248
  * @param data The data for the request.
1927
2249
  * @param data.acceptLanguage
1928
- * @param data.region Region code (cn, us, de)
1929
2250
  * @returns unknown User retrieved successfully
1930
2251
  * @throws ApiError
1931
2252
  */
@@ -1935,9 +2256,6 @@ export class UsersService {
1935
2256
  return __request(OpenAPI, {
1936
2257
  method: 'GET',
1937
2258
  url: '/api/v1/users',
1938
- path: {
1939
- region: data.region
1940
- },
1941
2259
  headers: {
1942
2260
  'accept-language': data.acceptLanguage
1943
2261
  }
@@ -1948,7 +2266,6 @@ export class UsersService {
1948
2266
  * Sign up new user
1949
2267
  * Create a new account with auto-generated access token. Protected by Cloudflare Turnstile to prevent automated signup (when enabled).
1950
2268
  * @param data The data for the request.
1951
- * @param data.region Region code (cn, us, de)
1952
2269
  * @param data.requestBody
1953
2270
  * @returns unknown User created successfully
1954
2271
  * @throws ApiError
@@ -1959,9 +2276,6 @@ export class UsersService {
1959
2276
  return __request(OpenAPI, {
1960
2277
  method: 'POST',
1961
2278
  url: '/api/v1/users',
1962
- path: {
1963
- region: data.region
1964
- },
1965
2279
  body: data.requestBody,
1966
2280
  mediaType: 'application/json',
1967
2281
  errors: {
@@ -1975,7 +2289,6 @@ export class UsersService {
1975
2289
  * Delete user by ID (admin only)
1976
2290
  * @param data The data for the request.
1977
2291
  * @param data.id User ID to delete
1978
- * @param data.region Region code (cn, us, de)
1979
2292
  * @returns void User deleted successfully
1980
2293
  * @throws ApiError
1981
2294
  */
@@ -1986,8 +2299,7 @@ export class UsersService {
1986
2299
  method: 'DELETE',
1987
2300
  url: '/api/v1/users/{id}',
1988
2301
  path: {
1989
- id: data.id,
1990
- region: data.region
2302
+ id: data.id
1991
2303
  },
1992
2304
  errors: {
1993
2305
  403: 'Cannot delete own account or insufficient permissions'
@@ -1999,7 +2311,6 @@ export class UsersService {
1999
2311
  * Get user info by user ID
2000
2312
  * @param data The data for the request.
2001
2313
  * @param data.id User ID
2002
- * @param data.region Region code (cn, us, de)
2003
2314
  * @returns unknown User info retrieved successfully
2004
2315
  * @throws ApiError
2005
2316
  */
@@ -2010,8 +2321,7 @@ export class UsersService {
2010
2321
  method: 'GET',
2011
2322
  url: '/api/v1/users/{id}/info',
2012
2323
  path: {
2013
- id: data.id,
2014
- region: data.region
2324
+ id: data.id
2015
2325
  },
2016
2326
  errors: {
2017
2327
  403: 'Cannot access other user info without admin permission'
@@ -2022,7 +2332,6 @@ export class UsersService {
2022
2332
  /**
2023
2333
  * Update user settings
2024
2334
  * @param data The data for the request.
2025
- * @param data.region Region code (cn, us, de)
2026
2335
  * @param data.requestBody
2027
2336
  * @returns unknown Settings updated successfully
2028
2337
  * @throws ApiError
@@ -2033,9 +2342,6 @@ export class UsersService {
2033
2342
  return __request(OpenAPI, {
2034
2343
  method: 'PUT',
2035
2344
  url: '/api/v1/users/setting',
2036
- path: {
2037
- region: data.region
2038
- },
2039
2345
  body: data.requestBody,
2040
2346
  mediaType: 'application/json',
2041
2347
  errors: {
@@ -2049,7 +2355,6 @@ export class UsersService {
2049
2355
  * @param data The data for the request.
2050
2356
  * @param data.pageNo Page number
2051
2357
  * @param data.pageSize Page size
2052
- * @param data.region Region code (cn, us, de)
2053
2358
  * @returns unknown Settings list retrieved successfully
2054
2359
  * @throws ApiError
2055
2360
  */
@@ -2059,9 +2364,6 @@ export class UsersService {
2059
2364
  return __request(OpenAPI, {
2060
2365
  method: 'GET',
2061
2366
  url: '/api/v1/users/settings-by-page',
2062
- path: {
2063
- region: data.region
2064
- },
2065
2367
  query: {
2066
2368
  pageNo: data.pageNo,
2067
2369
  pageSize: data.pageSize
@@ -2071,20 +2373,13 @@ export class UsersService {
2071
2373
 
2072
2374
  /**
2073
2375
  * Get asset and liability summary for current user
2074
- * @param data The data for the request.
2075
- * @param data.region Region code (cn, us, de)
2076
2376
  * @returns unknown Summary retrieved successfully
2077
2377
  * @throws ApiError
2078
2378
  */
2079
- public static userControllerGetAssetLiabilitySummary(
2080
- data: UserControllerGetAssetLiabilitySummaryData
2081
- ): CancelablePromise<UserControllerGetAssetLiabilitySummaryResponse> {
2379
+ public static userControllerGetAssetLiabilitySummary(): CancelablePromise<UserControllerGetAssetLiabilitySummaryResponse> {
2082
2380
  return __request(OpenAPI, {
2083
2381
  method: 'GET',
2084
- url: '/api/v1/users/asset-liability-summary',
2085
- path: {
2086
- region: data.region
2087
- }
2382
+ url: '/api/v1/users/asset-liability-summary'
2088
2383
  });
2089
2384
  }
2090
2385
  }
@@ -2092,20 +2387,13 @@ export class UsersService {
2092
2387
  export class PropertiesService {
2093
2388
  /**
2094
2389
  * Get all system properties
2095
- * @param data The data for the request.
2096
- * @param data.region Region code (cn, us, de)
2097
2390
  * @returns unknown Properties retrieved successfully
2098
2391
  * @throws ApiError
2099
2392
  */
2100
- public static propertyControllerGetAll(
2101
- data: PropertyControllerGetAllData
2102
- ): CancelablePromise<PropertyControllerGetAllResponse> {
2393
+ public static propertyControllerGetAll(): CancelablePromise<PropertyControllerGetAllResponse> {
2103
2394
  return __request(OpenAPI, {
2104
2395
  method: 'GET',
2105
2396
  url: '/api/v1/admin/properties',
2106
- path: {
2107
- region: data.region
2108
- },
2109
2397
  errors: {
2110
2398
  401: 'Unauthorized',
2111
2399
  403: 'Forbidden - insufficient permissions'
@@ -2117,7 +2405,6 @@ export class PropertiesService {
2117
2405
  * Get property by key
2118
2406
  * @param data The data for the request.
2119
2407
  * @param data.key Property key
2120
- * @param data.region Region code (cn, us, de)
2121
2408
  * @returns unknown Property retrieved successfully
2122
2409
  * @throws ApiError
2123
2410
  */
@@ -2128,8 +2415,7 @@ export class PropertiesService {
2128
2415
  method: 'GET',
2129
2416
  url: '/api/v1/admin/properties/{key}',
2130
2417
  path: {
2131
- key: data.key,
2132
- region: data.region
2418
+ key: data.key
2133
2419
  },
2134
2420
  errors: {
2135
2421
  401: 'Unauthorized',
@@ -2140,48 +2426,252 @@ export class PropertiesService {
2140
2426
  }
2141
2427
 
2142
2428
  /**
2429
+ * Update a system property
2143
2430
  * @param data The data for the request.
2144
- * @param data.region Region code (cn, us, de)
2145
- * @returns unknown
2431
+ * @param data.key Property key
2432
+ * @param data.requestBody
2433
+ * @returns unknown Property updated successfully
2146
2434
  * @throws ApiError
2147
2435
  */
2148
- public static propertyController(
2149
- data: PropertyControllerData
2150
- ): CancelablePromise<PropertyControllerResponse> {
2436
+ public static propertyControllerUpdate(
2437
+ data: PropertyControllerUpdateData
2438
+ ): CancelablePromise<PropertyControllerUpdateResponse> {
2151
2439
  return __request(OpenAPI, {
2152
2440
  method: 'PUT',
2153
2441
  url: '/api/v1/admin/properties/{key}',
2154
2442
  path: {
2155
- region: data.region
2443
+ key: data.key
2444
+ },
2445
+ body: data.requestBody,
2446
+ mediaType: 'application/json',
2447
+ errors: {
2448
+ 401: 'Unauthorized',
2449
+ 403: 'Forbidden - insufficient permissions'
2156
2450
  }
2157
2451
  });
2158
2452
  }
2159
2453
 
2160
2454
  /**
2455
+ * Delete a system property
2161
2456
  * @param data The data for the request.
2162
- * @param data.region Region code (cn, us, de)
2163
- * @returns void
2457
+ * @param data.key Property key
2458
+ * @returns void Property deleted successfully
2164
2459
  * @throws ApiError
2165
2460
  */
2166
- public static propertyController1(
2167
- data: PropertyController1Data
2168
- ): CancelablePromise<PropertyController1Response> {
2461
+ public static propertyControllerDelete(
2462
+ data: PropertyControllerDeleteData
2463
+ ): CancelablePromise<PropertyControllerDeleteResponse> {
2169
2464
  return __request(OpenAPI, {
2170
2465
  method: 'DELETE',
2171
2466
  url: '/api/v1/admin/properties/{key}',
2172
2467
  path: {
2468
+ key: data.key
2469
+ },
2470
+ errors: {
2471
+ 401: 'Unauthorized',
2472
+ 403: 'Forbidden - insufficient permissions',
2473
+ 404: 'Property not found'
2474
+ }
2475
+ });
2476
+ }
2477
+ }
2478
+
2479
+ export class LifeEventsService {
2480
+ /**
2481
+ * Create a new life event
2482
+ * Creates a new life event entry for the authenticated user. Returns ETag header carrying the row updatedAt.
2483
+ * @param data The data for the request.
2484
+ * @param data.region Region code for tenant context (decorative for life events)
2485
+ * @param data.requestBody
2486
+ * @returns EventResponseDto Life event created successfully
2487
+ * @throws ApiError
2488
+ */
2489
+ public static eventControllerCreate(
2490
+ data: EventControllerCreateData
2491
+ ): CancelablePromise<EventControllerCreateResponse> {
2492
+ return __request(OpenAPI, {
2493
+ method: 'POST',
2494
+ url: '/api/v1/{region}/bean/events',
2495
+ path: {
2496
+ region: data.region
2497
+ },
2498
+ body: data.requestBody,
2499
+ mediaType: 'application/json',
2500
+ errors: {
2501
+ 409: 'Life event already exists for this (userId, type, date) combination'
2502
+ }
2503
+ });
2504
+ }
2505
+
2506
+ /**
2507
+ * List user life events
2508
+ * Returns life events for the authenticated user with optional filtering by type, description search, and date range.
2509
+ * @param data The data for the request.
2510
+ * @param data.region Region code for tenant context (decorative for life events)
2511
+ * @param data.type Filter by life event type (exact match)
2512
+ * @param data.q Search term for description (case-insensitive partial match)
2513
+ * @param data.from Filter life events from this date (ISO 8601 format)
2514
+ * @param data.to Filter life events to this date (ISO 8601 format)
2515
+ * @param data.page Page number for pagination (default: 1)
2516
+ * @param data.limit Number of items per page (default: 20, max: 100)
2517
+ * @returns EventListResponseDto Life events retrieved successfully
2518
+ * @throws ApiError
2519
+ */
2520
+ public static eventControllerFindAll(
2521
+ data: EventControllerFindAllData
2522
+ ): CancelablePromise<EventControllerFindAllResponse> {
2523
+ return __request(OpenAPI, {
2524
+ method: 'GET',
2525
+ url: '/api/v1/{region}/bean/events',
2526
+ path: {
2527
+ region: data.region
2528
+ },
2529
+ query: {
2530
+ type: data.type,
2531
+ q: data.q,
2532
+ from: data.from,
2533
+ to: data.to,
2534
+ page: data.page,
2535
+ limit: data.limit
2536
+ }
2537
+ });
2538
+ }
2539
+
2540
+ /**
2541
+ * Get life event by ID
2542
+ * Returns a single life event by its ID. Returns ETag header.
2543
+ * @param data The data for the request.
2544
+ * @param data.id Life event ID
2545
+ * @param data.region Region code for tenant context (decorative for life events)
2546
+ * @returns EventResponseDto Life event retrieved successfully
2547
+ * @throws ApiError
2548
+ */
2549
+ public static eventControllerFindOne(
2550
+ data: EventControllerFindOneData
2551
+ ): CancelablePromise<EventControllerFindOneResponse> {
2552
+ return __request(OpenAPI, {
2553
+ method: 'GET',
2554
+ url: '/api/v1/{region}/bean/events/{id}',
2555
+ path: {
2556
+ id: data.id,
2557
+ region: data.region
2558
+ },
2559
+ errors: {
2560
+ 404: 'Life event not found'
2561
+ }
2562
+ });
2563
+ }
2564
+
2565
+ /**
2566
+ * Update a life event
2567
+ * Updates an existing life event. If If-Match header is provided, performs optimistic concurrency check; mismatched updatedAt returns 412.
2568
+ * @param data The data for the request.
2569
+ * @param data.id Life event ID
2570
+ * @param data.region Region code for tenant context (decorative for life events)
2571
+ * @param data.requestBody
2572
+ * @returns EventResponseDto Life event updated successfully
2573
+ * @throws ApiError
2574
+ */
2575
+ public static eventControllerUpdate(
2576
+ data: EventControllerUpdateData
2577
+ ): CancelablePromise<EventControllerUpdateResponse> {
2578
+ return __request(OpenAPI, {
2579
+ method: 'PUT',
2580
+ url: '/api/v1/{region}/bean/events/{id}',
2581
+ path: {
2582
+ id: data.id,
2583
+ region: data.region
2584
+ },
2585
+ body: data.requestBody,
2586
+ mediaType: 'application/json',
2587
+ errors: {
2588
+ 400: 'If-Match header is not a valid ISO 8601 date',
2589
+ 404: 'Life event not found',
2590
+ 409: 'Updated event conflicts with an existing (userId, type, date) combination',
2591
+ 412: 'If-Match precondition failed (updatedAt mismatch)'
2592
+ }
2593
+ });
2594
+ }
2595
+
2596
+ /**
2597
+ * Delete a life event
2598
+ * Deletes a life event entry (hard delete). Returns 204.
2599
+ * @param data The data for the request.
2600
+ * @param data.id Life event ID
2601
+ * @param data.region Region code for tenant context (decorative for life events)
2602
+ * @returns void Life event deleted successfully
2603
+ * @throws ApiError
2604
+ */
2605
+ public static eventControllerDelete(
2606
+ data: EventControllerDeleteData
2607
+ ): CancelablePromise<EventControllerDeleteResponse> {
2608
+ return __request(OpenAPI, {
2609
+ method: 'DELETE',
2610
+ url: '/api/v1/{region}/bean/events/{id}',
2611
+ path: {
2612
+ id: data.id,
2613
+ region: data.region
2614
+ },
2615
+ errors: {
2616
+ 404: 'Life event not found'
2617
+ }
2618
+ });
2619
+ }
2620
+
2621
+ /**
2622
+ * Slice time-series by a life event (Phase 79)
2623
+ * Returns aggregated time-series for postings matching accountPattern within the half-open date range of the given life event.
2624
+ * @param data The data for the request.
2625
+ * @param data.id Life event ID
2626
+ * @param data.accountPattern
2627
+ * @param data.granularity
2628
+ * @param data.region Region code for tenant context (decorative for life events)
2629
+ * @returns unknown Time-series sliced by the life event range
2630
+ * @throws ApiError
2631
+ */
2632
+ public static eventControllerGetSlice(
2633
+ data: EventControllerGetSliceData
2634
+ ): CancelablePromise<EventControllerGetSliceResponse> {
2635
+ return __request(OpenAPI, {
2636
+ method: 'GET',
2637
+ url: '/api/v1/{region}/bean/events/{id}/slice',
2638
+ path: {
2639
+ id: data.id,
2173
2640
  region: data.region
2641
+ },
2642
+ query: {
2643
+ accountPattern: data.accountPattern,
2644
+ granularity: data.granularity
2645
+ },
2646
+ errors: {
2647
+ 400: 'accountPattern query param is empty',
2648
+ 404: 'Life event not found'
2174
2649
  }
2175
2650
  });
2176
2651
  }
2177
2652
  }
2178
2653
 
2654
+ export class BeanExportService {
2655
+ /**
2656
+ * Export Beancount ledger as ZIP
2657
+ * Export all user Beancount data as a ZIP file containing ledger.beancount and yearly files in community format.
2658
+ * @returns unknown
2659
+ * @throws ApiError
2660
+ */
2661
+ public static exportControllerExportBeancount(): CancelablePromise<ExportControllerExportBeancountResponse> {
2662
+ return __request(OpenAPI, {
2663
+ method: 'GET',
2664
+ url: '/api/v1/{region}/bean/export/beancount'
2665
+ });
2666
+ }
2667
+ }
2668
+
2179
2669
  export class BeanImportService {
2180
2670
  /**
2181
2671
  * Import a bill file
2182
2672
  * 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).
2183
2673
  * @param data The data for the request.
2184
- * @param data.region Region code (cn, us, de)
2674
+ * @param data.region Region code for tenant context
2185
2675
  * @param data.formData Bill file to import
2186
2676
  * @returns ImportResultDto File imported successfully
2187
2677
  * @throws ApiError
@@ -2210,7 +2700,7 @@ export class BeanImportService {
2210
2700
  * Identify file type
2211
2701
  * 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.
2212
2702
  * @param data The data for the request.
2213
- * @param data.region Region code (cn, us, de)
2703
+ * @param data.region Region code for tenant context
2214
2704
  * @param data.formData File to identify
2215
2705
  * @returns IdentifyResultDto File identification result
2216
2706
  * @throws ApiError
@@ -2232,12 +2722,38 @@ export class BeanImportService {
2232
2722
  });
2233
2723
  }
2234
2724
 
2725
+ /**
2726
+ * Import a Beancount file in community format
2727
+ * 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.
2728
+ * @param data The data for the request.
2729
+ * @param data.region Region code for tenant context
2730
+ * @param data.formData Beancount file to import
2731
+ * @returns unknown Beancount file imported successfully
2732
+ * @throws ApiError
2733
+ */
2734
+ public static fileImportControllerImportBeancount(
2735
+ data: FileImportControllerImportBeancountData
2736
+ ): CancelablePromise<FileImportControllerImportBeancountResponse> {
2737
+ return __request(OpenAPI, {
2738
+ method: 'POST',
2739
+ url: '/api/v1/{region}/bean/import/beancount',
2740
+ path: {
2741
+ region: data.region
2742
+ },
2743
+ formData: data.formData,
2744
+ mediaType: 'multipart/form-data',
2745
+ errors: {
2746
+ 400: 'Bad request - invalid file or no file uploaded'
2747
+ }
2748
+ });
2749
+ }
2750
+
2235
2751
  /**
2236
2752
  * Get importer configuration
2237
2753
  * Returns the current configuration for the specified importer. Creates default configuration if none exists.
2238
2754
  * @param data The data for the request.
2239
- * @param data.importerId Importer identifier. Supported importers: alipay, alipay-web, wechat, boc, boc-credit, ccb, cmb, cmbc, cmbc-credit, icbc, icbc-credit, hsbc-hk
2240
- * @param data.region Region code (cn, us, de)
2755
+ * @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
2756
+ * @param data.region Region code for tenant context
2241
2757
  * @returns ImporterConfigDto Configuration retrieved successfully
2242
2758
  * @throws ApiError
2243
2759
  */
@@ -2259,37 +2775,170 @@ export class BeanImportService {
2259
2775
  }
2260
2776
 
2261
2777
  /**
2778
+ * Update importer configuration
2779
+ * Updates the configuration for the specified importer. Partial updates are supported.
2262
2780
  * @param data The data for the request.
2263
- * @param data.region Region code (cn, us, de)
2264
- * @returns unknown
2781
+ * @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
2782
+ * @param data.region Region code for tenant context
2783
+ * @param data.requestBody Partial configuration update. Only provided fields will be updated.
2784
+ * @returns ImporterConfigDto Configuration updated successfully
2265
2785
  * @throws ApiError
2266
2786
  */
2267
- public static importerConfigController(
2268
- data: ImporterConfigControllerData
2269
- ): CancelablePromise<ImporterConfigControllerResponse> {
2787
+ public static importerConfigControllerUpdateConfig(
2788
+ data: ImporterConfigControllerUpdateConfigData
2789
+ ): CancelablePromise<ImporterConfigControllerUpdateConfigResponse> {
2270
2790
  return __request(OpenAPI, {
2271
2791
  method: 'PUT',
2272
2792
  url: '/api/v1/{region}/bean/import/config/{importerId}',
2273
2793
  path: {
2794
+ importerId: data.importerId,
2274
2795
  region: data.region
2796
+ },
2797
+ body: data.requestBody,
2798
+ mediaType: 'application/json',
2799
+ errors: {
2800
+ 400: 'Invalid input - Validation failed',
2801
+ 404: 'Configuration not found'
2275
2802
  }
2276
2803
  });
2277
2804
  }
2278
2805
 
2279
2806
  /**
2807
+ * Reset configuration to default
2808
+ * Resets the configuration for the specified importer to default values. This operation overwrites all existing configuration.
2280
2809
  * @param data The data for the request.
2281
- * @param data.region Region code (cn, us, de)
2282
- * @returns unknown
2810
+ * @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
2811
+ * @param data.region Region code for tenant context
2812
+ * @returns ImporterConfigDto Configuration reset successfully
2283
2813
  * @throws ApiError
2284
2814
  */
2285
- public static importerConfigController1(
2286
- data: ImporterConfigController1Data
2287
- ): CancelablePromise<ImporterConfigController1Response> {
2815
+ public static importerConfigControllerResetConfig(
2816
+ data: ImporterConfigControllerResetConfigData
2817
+ ): CancelablePromise<ImporterConfigControllerResetConfigResponse> {
2288
2818
  return __request(OpenAPI, {
2289
2819
  method: 'POST',
2290
2820
  url: '/api/v1/{region}/bean/import/config/{importerId}/reset',
2291
2821
  path: {
2822
+ importerId: data.importerId,
2292
2823
  region: data.region
2824
+ },
2825
+ errors: {
2826
+ 400: 'Invalid input - Unsupported importer'
2827
+ }
2828
+ });
2829
+ }
2830
+ }
2831
+
2832
+ export class BeanPlatformsService {
2833
+ /**
2834
+ * Get all platforms with statistics
2835
+ * @returns unknown List of platforms with binding and account counts
2836
+ * @throws ApiError
2837
+ */
2838
+ public static platformControllerFindAll(): CancelablePromise<PlatformControllerFindAllResponse> {
2839
+ return __request(OpenAPI, {
2840
+ method: 'GET',
2841
+ url: '/api/v1/bean/platforms'
2842
+ });
2843
+ }
2844
+
2845
+ /**
2846
+ * Create a new platform
2847
+ * @param data The data for the request.
2848
+ * @param data.requestBody
2849
+ * @returns unknown Platform created successfully
2850
+ * @throws ApiError
2851
+ */
2852
+ public static platformControllerCreate(
2853
+ data: PlatformControllerCreateData
2854
+ ): CancelablePromise<PlatformControllerCreateResponse> {
2855
+ return __request(OpenAPI, {
2856
+ method: 'POST',
2857
+ url: '/api/v1/bean/platforms',
2858
+ body: data.requestBody,
2859
+ mediaType: 'application/json',
2860
+ errors: {
2861
+ 409: 'Platform already exists'
2862
+ }
2863
+ });
2864
+ }
2865
+
2866
+ /**
2867
+ * Get platform list for current user
2868
+ * @returns unknown List of platforms with user binding status
2869
+ * @throws ApiError
2870
+ */
2871
+ public static platformControllerGetPlatformList(): CancelablePromise<PlatformControllerGetPlatformListResponse> {
2872
+ return __request(OpenAPI, {
2873
+ method: 'GET',
2874
+ url: '/api/v1/bean/platforms/list'
2875
+ });
2876
+ }
2877
+
2878
+ /**
2879
+ * Match platforms by name or alias
2880
+ * @param data The data for the request.
2881
+ * @param data.q Search query — Chinese name, English name, or abbreviation
2882
+ * @param data.region Region code for category override lookup
2883
+ * @returns unknown List of matching platforms with suggested segment names
2884
+ * @throws ApiError
2885
+ */
2886
+ public static platformControllerMatchPlatforms(
2887
+ data: PlatformControllerMatchPlatformsData
2888
+ ): CancelablePromise<PlatformControllerMatchPlatformsResponse> {
2889
+ return __request(OpenAPI, {
2890
+ method: 'GET',
2891
+ url: '/api/v1/bean/platforms/match',
2892
+ query: {
2893
+ q: data.q,
2894
+ region: data.region
2895
+ }
2896
+ });
2897
+ }
2898
+
2899
+ /**
2900
+ * Update a platform
2901
+ * @param data The data for the request.
2902
+ * @param data.id Platform ID
2903
+ * @param data.requestBody
2904
+ * @returns unknown Platform updated successfully
2905
+ * @throws ApiError
2906
+ */
2907
+ public static platformControllerUpdate(
2908
+ data: PlatformControllerUpdateData
2909
+ ): CancelablePromise<PlatformControllerUpdateResponse> {
2910
+ return __request(OpenAPI, {
2911
+ method: 'PUT',
2912
+ url: '/api/v1/bean/platforms/{id}',
2913
+ path: {
2914
+ id: data.id
2915
+ },
2916
+ body: data.requestBody,
2917
+ mediaType: 'application/json',
2918
+ errors: {
2919
+ 404: 'Platform not found'
2920
+ }
2921
+ });
2922
+ }
2923
+
2924
+ /**
2925
+ * Delete a platform
2926
+ * @param data The data for the request.
2927
+ * @param data.id Platform ID
2928
+ * @returns void Platform deleted successfully
2929
+ * @throws ApiError
2930
+ */
2931
+ public static platformControllerDelete(
2932
+ data: PlatformControllerDeleteData
2933
+ ): CancelablePromise<PlatformControllerDeleteResponse> {
2934
+ return __request(OpenAPI, {
2935
+ method: 'DELETE',
2936
+ url: '/api/v1/bean/platforms/{id}',
2937
+ path: {
2938
+ id: data.id
2939
+ },
2940
+ errors: {
2941
+ 404: 'Platform not found'
2293
2942
  }
2294
2943
  });
2295
2944
  }
@@ -2309,6 +2958,7 @@ export class ProviderSyncService {
2309
2958
  * - **simplefin**: SimpleFIN (Self-hosted)
2310
2959
  * - **yodlee**: Yodlee (Global)
2311
2960
  * - **beancount-direct**: Beancount format transactions
2961
+ * - **parsed-bill**: Client-side parsed bill transactions
2312
2962
  *
2313
2963
  * **Processing Flow:**
2314
2964
  * 1. Transform raw data via provider adapter
@@ -2320,7 +2970,7 @@ export class ProviderSyncService {
2320
2970
  *
2321
2971
  * @param data The data for the request.
2322
2972
  * @param data.providerName Provider name
2323
- * @param data.region Region code
2973
+ * @param data.region Region code for tenant context
2324
2974
  * @param data.requestBody
2325
2975
  * @returns ProviderSyncResponseDto Sync completed successfully
2326
2976
  * @throws ApiError
@@ -2349,7 +2999,7 @@ export class ProviderSyncService {
2349
2999
  * Get supported providers
2350
3000
  * Returns a list of all providers supported by the sync endpoint.
2351
3001
  * @param data The data for the request.
2352
- * @param data.region Region code (cn, us, de)
3002
+ * @param data.region Region code for tenant context
2353
3003
  * @returns SupportedProvidersResponseDto List of supported providers
2354
3004
  * @throws ApiError
2355
3005
  */
@@ -2373,7 +3023,7 @@ export class ProviderSyncService {
2373
3023
  * Returns whether a specific provider is supported.
2374
3024
  * @param data The data for the request.
2375
3025
  * @param data.providerName Provider name to check
2376
- * @param data.region Region code (cn, us, de)
3026
+ * @param data.region Region code for tenant context
2377
3027
  * @returns unknown Provider support status
2378
3028
  * @throws ApiError
2379
3029
  */
@@ -2394,12 +3044,87 @@ export class ProviderSyncService {
2394
3044
  }
2395
3045
  }
2396
3046
 
3047
+ export class ImportTelemetryService {
3048
+ /**
3049
+ * Receive anonymous parser failure telemetry
3050
+ * @param data The data for the request.
3051
+ * @param data.region Region code for tenant context
3052
+ * @param data.requestBody
3053
+ * @returns unknown Telemetry report received
3054
+ * @throws ApiError
3055
+ */
3056
+ public static telemetryControllerReportTelemetry(
3057
+ data: TelemetryControllerReportTelemetryData
3058
+ ): CancelablePromise<TelemetryControllerReportTelemetryResponse> {
3059
+ return __request(OpenAPI, {
3060
+ method: 'POST',
3061
+ url: '/api/v1/{region}/bean/import/parser-telemetry',
3062
+ path: {
3063
+ region: data.region
3064
+ },
3065
+ body: data.requestBody,
3066
+ mediaType: 'application/json',
3067
+ errors: {
3068
+ 401: 'Unauthorized'
3069
+ }
3070
+ });
3071
+ }
3072
+
3073
+ /**
3074
+ * Receive anonymous zero-hit coverage miss report
3075
+ * @param data The data for the request.
3076
+ * @param data.region Region code for tenant context
3077
+ * @param data.requestBody
3078
+ * @returns unknown Coverage miss report received
3079
+ * @throws ApiError
3080
+ */
3081
+ public static telemetryControllerReportCoverageMiss(
3082
+ data: TelemetryControllerReportCoverageMissData
3083
+ ): CancelablePromise<TelemetryControllerReportCoverageMissResponse> {
3084
+ return __request(OpenAPI, {
3085
+ method: 'POST',
3086
+ url: '/api/v1/{region}/bean/import/parser-coverage-miss',
3087
+ path: {
3088
+ region: data.region
3089
+ },
3090
+ body: data.requestBody,
3091
+ mediaType: 'application/json',
3092
+ errors: {
3093
+ 401: 'Unauthorized'
3094
+ }
3095
+ });
3096
+ }
3097
+
3098
+ /**
3099
+ * Coverage metrics (uncovered format aggregation)
3100
+ * @param data The data for the request.
3101
+ * @param data.region Region code for tenant context
3102
+ * @param data.topN Top-N uncovered formats (default 10)
3103
+ * @returns unknown Coverage metrics
3104
+ * @throws ApiError
3105
+ */
3106
+ public static telemetryControllerGetCoverageMetrics(
3107
+ data: TelemetryControllerGetCoverageMetricsData
3108
+ ): CancelablePromise<TelemetryControllerGetCoverageMetricsResponse> {
3109
+ return __request(OpenAPI, {
3110
+ method: 'GET',
3111
+ url: '/api/v1/{region}/bean/import/parser-coverage-metrics',
3112
+ path: {
3113
+ region: data.region
3114
+ },
3115
+ query: {
3116
+ topN: data.topN
3117
+ }
3118
+ });
3119
+ }
3120
+ }
3121
+
2397
3122
  export class BeanNlpService {
2398
3123
  /**
2399
3124
  * Process natural language input
2400
3125
  * 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"
2401
3126
  * @param data The data for the request.
2402
- * @param data.region Region code (cn, us, de)
3127
+ * @param data.region Region code for tenant context
2403
3128
  * @param data.requestBody Natural language transaction input with optional session ID
2404
3129
  * @returns NlpResponseDto NLP processing result - either created transaction or asking for more info
2405
3130
  * @throws ApiError
@@ -2426,7 +3151,7 @@ export class BeanNlpService {
2426
3151
  * Clear dialogue session
2427
3152
  * Clear the current NLP dialogue session. Use this to cancel an ongoing multi-turn dialogue.
2428
3153
  * @param data The data for the request.
2429
- * @param data.region Region code (cn, us, de)
3154
+ * @param data.region Region code for tenant context
2430
3155
  * @param data.sessionId Specific session ID to clear (defaults to user session)
2431
3156
  * @returns void Session cleared successfully
2432
3157
  * @throws ApiError
@@ -2453,7 +3178,7 @@ export class BeanNlpService {
2453
3178
  * Get current session state
2454
3179
  * Get the current NLP dialogue session state. Useful for debugging and displaying session context in UI.
2455
3180
  * @param data The data for the request.
2456
- * @param data.region Region code (cn, us, de)
3181
+ * @param data.region Region code for tenant context
2457
3182
  * @param data.sessionId Specific session ID to get (defaults to user session)
2458
3183
  * @returns unknown Current session state (or null if no active session)
2459
3184
  * @throws ApiError
@@ -2477,319 +3202,321 @@ export class BeanNlpService {
2477
3202
  }
2478
3203
  }
2479
3204
 
2480
- export class BeanPlatformsService {
3205
+ export class DashboardService {
2481
3206
  /**
2482
- * Get all platforms with statistics
3207
+ * Get net worth overview
3208
+ * Returns total net worth with breakdown of assets and liabilities
2483
3209
  * @param data The data for the request.
2484
- * @param data.region Region code (cn, us, de)
2485
- * @returns unknown List of platforms with binding and account counts
3210
+ * @param data.region Region code for tenant context
3211
+ * @param data.date Date for balance calculation (ISO 8601 format)
3212
+ * @returns NetWorthResponseDto Net worth retrieved successfully
2486
3213
  * @throws ApiError
2487
3214
  */
2488
- public static platformControllerFindAll(
2489
- data: PlatformControllerFindAllData
2490
- ): CancelablePromise<PlatformControllerFindAllResponse> {
3215
+ public static dashboardControllerGetNetWorth(
3216
+ data: DashboardControllerGetNetWorthData
3217
+ ): CancelablePromise<DashboardControllerGetNetWorthResponse> {
2491
3218
  return __request(OpenAPI, {
2492
3219
  method: 'GET',
2493
- url: '/api/v1/bean/platforms',
2494
- path: {
2495
- region: data.region
2496
- }
2497
- });
2498
- }
2499
-
2500
- /**
2501
- * @param data The data for the request.
2502
- * @param data.region Region code (cn, us, de)
2503
- * @returns unknown
2504
- * @throws ApiError
2505
- */
2506
- public static platformController(
2507
- data: PlatformControllerData
2508
- ): CancelablePromise<PlatformControllerResponse> {
2509
- return __request(OpenAPI, {
2510
- method: 'POST',
2511
- url: '/api/v1/bean/platforms',
3220
+ url: '/api/v1/{region}/dashboard/net-worth',
2512
3221
  path: {
2513
3222
  region: data.region
3223
+ },
3224
+ query: {
3225
+ date: data.date
3226
+ },
3227
+ errors: {
3228
+ 401: 'User not authenticated'
2514
3229
  }
2515
3230
  });
2516
3231
  }
2517
3232
 
2518
3233
  /**
2519
- * Get platform list for current user
3234
+ * Get accounts grouped by platform
3235
+ * Returns accounts with balances grouped by financial platform
2520
3236
  * @param data The data for the request.
2521
- * @param data.region Region code (cn, us, de)
2522
- * @returns unknown List of platforms with user binding status
3237
+ * @param data.region Region code for tenant context
3238
+ * @param data.groupBy Grouping strategy
3239
+ * @param data.date Date for balance calculation (ISO 8601 format)
3240
+ * @param data.accountId Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
3241
+ * @returns unknown Accounts retrieved successfully. Response type depends on groupBy parameter.
2523
3242
  * @throws ApiError
2524
3243
  */
2525
- public static platformControllerGetPlatformList(
2526
- data: PlatformControllerGetPlatformListData
2527
- ): CancelablePromise<PlatformControllerGetPlatformListResponse> {
3244
+ public static dashboardControllerGetAccounts(
3245
+ data: DashboardControllerGetAccountsData
3246
+ ): CancelablePromise<DashboardControllerGetAccountsResponse> {
2528
3247
  return __request(OpenAPI, {
2529
3248
  method: 'GET',
2530
- url: '/api/v1/bean/platforms/list',
2531
- path: {
2532
- region: data.region
2533
- }
2534
- });
2535
- }
2536
-
2537
- /**
2538
- * @param data The data for the request.
2539
- * @param data.region Region code (cn, us, de)
2540
- * @returns unknown
2541
- * @throws ApiError
2542
- */
2543
- public static platformController1(
2544
- data: PlatformController1Data
2545
- ): CancelablePromise<PlatformController1Response> {
2546
- return __request(OpenAPI, {
2547
- method: 'PUT',
2548
- url: '/api/v1/bean/platforms/{id}',
3249
+ url: '/api/v1/{region}/dashboard/accounts',
2549
3250
  path: {
2550
3251
  region: data.region
3252
+ },
3253
+ query: {
3254
+ groupBy: data.groupBy,
3255
+ date: data.date,
3256
+ accountId: data.accountId
3257
+ },
3258
+ errors: {
3259
+ 401: 'User not authenticated'
2551
3260
  }
2552
3261
  });
2553
3262
  }
2554
3263
 
2555
3264
  /**
3265
+ * Get cash flow summary
3266
+ * Returns income, expenses, and savings for a monthly period
2556
3267
  * @param data The data for the request.
2557
- * @param data.region Region code (cn, us, de)
2558
- * @returns void
3268
+ * @param data.period Period in YYYY-MM format
3269
+ * @param data.region Region code for tenant context
3270
+ * @returns CashFlowResponseDto Cash flow retrieved successfully
2559
3271
  * @throws ApiError
2560
3272
  */
2561
- public static platformController2(
2562
- data: PlatformController2Data
2563
- ): CancelablePromise<PlatformController2Response> {
3273
+ public static dashboardControllerGetCashFlow(
3274
+ data: DashboardControllerGetCashFlowData
3275
+ ): CancelablePromise<DashboardControllerGetCashFlowResponse> {
2564
3276
  return __request(OpenAPI, {
2565
- method: 'DELETE',
2566
- url: '/api/v1/bean/platforms/{id}',
3277
+ method: 'GET',
3278
+ url: '/api/v1/{region}/dashboard/cash-flow',
2567
3279
  path: {
2568
3280
  region: data.region
3281
+ },
3282
+ query: {
3283
+ period: data.period
3284
+ },
3285
+ errors: {
3286
+ 400: 'Invalid period format',
3287
+ 401: 'User not authenticated'
2569
3288
  }
2570
3289
  });
2571
3290
  }
2572
- }
2573
3291
 
2574
- export class SymbolsService {
2575
3292
  /**
2576
- * Search for symbols
2577
- * Search symbols by query with optional filters for asset class, area, and indices
3293
+ * Get expenses grouped by functional category
3294
+ * Returns expenses pre-aggregated by functional category (account-path Group segment) with server-side multi-currency conversion
2578
3295
  * @param data The data for the request.
2579
- * @param data.region Region code (cn, us, de)
2580
- * @param data.includeIndices Include index symbols in results
2581
- * @param data.assetSubClass Asset sub-class filter
2582
- * @param data.assetClass Asset class filter
2583
- * @param data.area Geographic area filter (e.g., CN, US)
2584
- * @param data.query Search query string
2585
- * @returns unknown Symbols found successfully
3296
+ * @param data.region Region code for tenant context
3297
+ * @param data.groupBy Grouping strategy
3298
+ * @param data.period Time window (1m = current calendar month)
3299
+ * @returns ExpensesByCategoryResponseDto Expenses retrieved successfully
2586
3300
  * @throws ApiError
2587
3301
  */
2588
- public static symbolControllerLookupSymbol(
2589
- data: SymbolControllerLookupSymbolData
2590
- ): CancelablePromise<SymbolControllerLookupSymbolResponse> {
3302
+ public static dashboardControllerGetExpenses(
3303
+ data: DashboardControllerGetExpensesData
3304
+ ): CancelablePromise<DashboardControllerGetExpensesResponse> {
2591
3305
  return __request(OpenAPI, {
2592
3306
  method: 'GET',
2593
- url: '/api/v1/market/symbols/lookup',
3307
+ url: '/api/v1/{region}/dashboard/expenses',
2594
3308
  path: {
2595
3309
  region: data.region
2596
3310
  },
2597
3311
  query: {
2598
- includeIndices: data.includeIndices,
2599
- assetSubClass: data.assetSubClass,
2600
- assetClass: data.assetClass,
2601
- area: data.area,
2602
- query: data.query
3312
+ groupBy: data.groupBy,
3313
+ period: data.period
2603
3314
  },
2604
3315
  errors: {
2605
- 400: 'Invalid query parameters'
3316
+ 400: 'Invalid groupBy or period',
3317
+ 401: 'User not authenticated'
2606
3318
  }
2607
3319
  });
2608
3320
  }
3321
+ }
2609
3322
 
3323
+ export class InvestmentService {
2610
3324
  /**
2611
- * Get symbol data
2612
- * Retrieve detailed symbol information including optional historical data
3325
+ * Get per-holding unrealized + realized P&L
3326
+ * Average-cost unrealized P&L per account × commodity, plus cumulative realized P&L on sold lots (method = FIFO | average, default average).
2613
3327
  * @param data The data for the request.
2614
- * @param data.dataSource Data source provider
2615
- * @param data.symbol Symbol identifier (e.g., ticker code)
2616
- * @param data.region Region code (cn, us, de)
2617
- * @param data.includeHistoricalData Include historical price data (0 or 1)
2618
- * @returns unknown Symbol data retrieved successfully
3328
+ * @param data.region Region code for tenant context
3329
+ * @param data.asOf As-of date (ISO 8601), defaults to today
3330
+ * @param data.accountId Scope to a single account
3331
+ * @param data.method Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
3332
+ * @returns HoldingPnlResponseDto Holding P&L retrieved successfully
2619
3333
  * @throws ApiError
2620
3334
  */
2621
- public static symbolControllerGetSymbolData(
2622
- data: SymbolControllerGetSymbolDataData
2623
- ): CancelablePromise<SymbolControllerGetSymbolDataResponse> {
3335
+ public static holdingPnlControllerGetHoldingPnl(
3336
+ data: HoldingPnlControllerGetHoldingPnlData
3337
+ ): CancelablePromise<HoldingPnlControllerGetHoldingPnlResponse> {
2624
3338
  return __request(OpenAPI, {
2625
3339
  method: 'GET',
2626
- url: '/api/v1/market/symbols/{dataSource}/{symbol}',
3340
+ url: '/api/v1/{region}/investment/holdings/pnl',
2627
3341
  path: {
2628
- dataSource: data.dataSource,
2629
- symbol: data.symbol,
2630
3342
  region: data.region
2631
3343
  },
2632
3344
  query: {
2633
- includeHistoricalData: data.includeHistoricalData
3345
+ asOf: data.asOf,
3346
+ accountId: data.accountId,
3347
+ method: data.method
2634
3348
  },
2635
3349
  errors: {
2636
- 400: 'Invalid data source',
2637
- 404: 'Symbol not found'
3350
+ 400: 'Invalid asOf format/value/future date, invalid accountId format, or unsupported method',
3351
+ 401: 'User not authenticated'
2638
3352
  }
2639
3353
  });
2640
3354
  }
3355
+ }
2641
3356
 
3357
+ export class BeanPricesService {
2642
3358
  /**
2643
- * Gather symbol data for specific date
2644
- * Retrieve historical symbol data for a specific date
3359
+ * Create a new price
3360
+ * Creates a new price entry for the authenticated user
2645
3361
  * @param data The data for the request.
2646
- * @param data.dataSource Data source provider
2647
- * @param data.dateString Date in ISO 8601 format (YYYY-MM-DD)
2648
- * @param data.symbol Symbol identifier (e.g., ticker code)
2649
- * @param data.region Region code (cn, us, de)
2650
- * @returns unknown Historical data retrieved successfully
3362
+ * @param data.region Region code for tenant context
3363
+ * @param data.requestBody
3364
+ * @returns PriceResponseDto Price created successfully
2651
3365
  * @throws ApiError
2652
3366
  */
2653
- public static symbolControllerGatherSymbolForDate(
2654
- data: SymbolControllerGatherSymbolForDateData
2655
- ): CancelablePromise<SymbolControllerGatherSymbolForDateResponse> {
3367
+ public static priceControllerCreate(
3368
+ data: PriceControllerCreateData
3369
+ ): CancelablePromise<PriceControllerCreateResponse> {
2656
3370
  return __request(OpenAPI, {
2657
- method: 'GET',
2658
- url: '/api/v1/market/symbols/{dataSource}/{symbol}/{dateString}',
3371
+ method: 'POST',
3372
+ url: '/api/v1/{region}/bean/prices',
2659
3373
  path: {
2660
- dataSource: data.dataSource,
2661
- dateString: data.dateString,
2662
- symbol: data.symbol,
2663
3374
  region: data.region
2664
3375
  },
3376
+ body: data.requestBody,
3377
+ mediaType: 'application/json',
2665
3378
  errors: {
2666
- 400: 'Invalid date format',
2667
- 404: 'Symbol data not found for specified date'
3379
+ 404: 'Currency or quoteCurrency commodity not found',
3380
+ 409: 'Price already exists for this currency pair and date'
2668
3381
  }
2669
3382
  });
2670
3383
  }
2671
3384
 
2672
3385
  /**
3386
+ * List user prices
3387
+ * Returns all price entries for the authenticated user with optional filtering
2673
3388
  * @param data The data for the request.
2674
- * @param data.region Region code (cn, us, de)
2675
- * @returns unknown
3389
+ * @param data.region Region code for tenant context
3390
+ * @param data.currency Filter by currency (e.g., BTC, AAPL, USD)
3391
+ * @param data.quoteCurrency Filter by quote currency (pricing currency, e.g., USD, CNY)
3392
+ * @param data.dateFrom Filter prices from this date (ISO 8601 format)
3393
+ * @param data.dateTo Filter prices to this date (ISO 8601 format)
3394
+ * @param data.search Search term for currency or quoteCurrency (case-insensitive partial match)
3395
+ * @param data.page Page number for pagination (default: 1)
3396
+ * @param data.limit Number of items per page (default: 20, max: 100)
3397
+ * @returns PriceListResponseDto Prices retrieved successfully
2676
3398
  * @throws ApiError
2677
3399
  */
2678
- public static symbolController(
2679
- data: SymbolControllerData
2680
- ): CancelablePromise<SymbolControllerResponse> {
3400
+ public static priceControllerFindAll(
3401
+ data: PriceControllerFindAllData
3402
+ ): CancelablePromise<PriceControllerFindAllResponse> {
2681
3403
  return __request(OpenAPI, {
2682
- method: 'PUT',
2683
- url: '/api/v1/market/symbols/yahoo/batch-update',
3404
+ method: 'GET',
3405
+ url: '/api/v1/{region}/bean/prices',
2684
3406
  path: {
2685
3407
  region: data.region
3408
+ },
3409
+ query: {
3410
+ currency: data.currency,
3411
+ quoteCurrency: data.quoteCurrency,
3412
+ dateFrom: data.dateFrom,
3413
+ dateTo: data.dateTo,
3414
+ search: data.search,
3415
+ page: data.page,
3416
+ limit: data.limit
2686
3417
  }
2687
3418
  });
2688
3419
  }
2689
- }
2690
3420
 
2691
- export class DefaultService {
2692
3421
  /**
3422
+ * Get price by ID
3423
+ * Returns a single price entry by its ID
2693
3424
  * @param data The data for the request.
2694
- * @param data.region Region code (cn, us, de)
2695
- * @returns unknown
3425
+ * @param data.id Price ID
3426
+ * @param data.region Region code for tenant context
3427
+ * @returns PriceResponseDto Price retrieved successfully
2696
3428
  * @throws ApiError
2697
3429
  */
2698
- public static cacheControllerFlushCache(
2699
- data: CacheControllerFlushCacheData
2700
- ): CancelablePromise<CacheControllerFlushCacheResponse> {
3430
+ public static priceControllerFindOne(
3431
+ data: PriceControllerFindOneData
3432
+ ): CancelablePromise<PriceControllerFindOneResponse> {
2701
3433
  return __request(OpenAPI, {
2702
- method: 'POST',
2703
- url: '/api/v1/cache/flush',
3434
+ method: 'GET',
3435
+ url: '/api/v1/{region}/bean/prices/{id}',
2704
3436
  path: {
3437
+ id: data.id,
2705
3438
  region: data.region
3439
+ },
3440
+ errors: {
3441
+ 404: 'Price not found'
2706
3442
  }
2707
3443
  });
2708
3444
  }
2709
- }
2710
3445
 
2711
- export class DashboardService {
2712
3446
  /**
2713
- * Get net worth overview
2714
- * Returns total net worth with breakdown of assets and liabilities
3447
+ * Update a price
3448
+ * Updates an existing price entry
2715
3449
  * @param data The data for the request.
2716
- * @param data.region Region code (cn, us, de)
2717
- * @param data.date Date for balance calculation (ISO 8601 format)
2718
- * @returns NetWorthResponseDto Net worth retrieved successfully
3450
+ * @param data.id Price ID
3451
+ * @param data.region Region code for tenant context
3452
+ * @param data.requestBody
3453
+ * @returns PriceResponseDto Price updated successfully
2719
3454
  * @throws ApiError
2720
3455
  */
2721
- public static dashboardControllerGetNetWorth(
2722
- data: DashboardControllerGetNetWorthData
2723
- ): CancelablePromise<DashboardControllerGetNetWorthResponse> {
3456
+ public static priceControllerUpdate(
3457
+ data: PriceControllerUpdateData
3458
+ ): CancelablePromise<PriceControllerUpdateResponse> {
2724
3459
  return __request(OpenAPI, {
2725
- method: 'GET',
2726
- url: '/api/v1/{region}/dashboard/net-worth',
3460
+ method: 'PUT',
3461
+ url: '/api/v1/{region}/bean/prices/{id}',
2727
3462
  path: {
3463
+ id: data.id,
2728
3464
  region: data.region
2729
3465
  },
2730
- query: {
2731
- date: data.date
2732
- },
3466
+ body: data.requestBody,
3467
+ mediaType: 'application/json',
2733
3468
  errors: {
2734
- 401: 'User not authenticated'
3469
+ 404: 'Price not found',
3470
+ 409: 'Updated price conflicts with existing price'
2735
3471
  }
2736
3472
  });
2737
3473
  }
2738
3474
 
2739
3475
  /**
2740
- * Get accounts grouped by platform
2741
- * Returns accounts with balances grouped by financial platform
3476
+ * Delete a price
3477
+ * Deletes a price entry (hard delete)
2742
3478
  * @param data The data for the request.
2743
- * @param data.region Region code (cn, us, de)
2744
- * @param data.groupBy Grouping strategy
2745
- * @param data.date Date for balance calculation (ISO 8601 format)
2746
- * @returns unknown Accounts retrieved successfully. Response type depends on groupBy parameter.
3479
+ * @param data.id Price ID
3480
+ * @param data.region Region code for tenant context
3481
+ * @returns void Price deleted successfully
2747
3482
  * @throws ApiError
2748
3483
  */
2749
- public static dashboardControllerGetAccounts(
2750
- data: DashboardControllerGetAccountsData
2751
- ): CancelablePromise<DashboardControllerGetAccountsResponse> {
3484
+ public static priceControllerDelete(
3485
+ data: PriceControllerDeleteData
3486
+ ): CancelablePromise<PriceControllerDeleteResponse> {
2752
3487
  return __request(OpenAPI, {
2753
- method: 'GET',
2754
- url: '/api/v1/{region}/dashboard/accounts',
3488
+ method: 'DELETE',
3489
+ url: '/api/v1/{region}/bean/prices/{id}',
2755
3490
  path: {
3491
+ id: data.id,
2756
3492
  region: data.region
2757
3493
  },
2758
- query: {
2759
- groupBy: data.groupBy,
2760
- date: data.date
2761
- },
2762
3494
  errors: {
2763
- 401: 'User not authenticated'
3495
+ 404: 'Price not found'
2764
3496
  }
2765
3497
  });
2766
3498
  }
2767
3499
 
2768
3500
  /**
2769
- * Get cash flow summary
2770
- * Returns income, expenses, and savings for a monthly period
3501
+ * Bulk create prices
3502
+ * Creates multiple price entries at once (skips duplicates)
2771
3503
  * @param data The data for the request.
2772
- * @param data.period Period in YYYY-MM format
2773
- * @param data.region Region code (cn, us, de)
2774
- * @returns CashFlowResponseDto Cash flow retrieved successfully
3504
+ * @param data.region Region code for tenant context
3505
+ * @param data.requestBody
3506
+ * @returns PriceResponseDto Prices created successfully
2775
3507
  * @throws ApiError
2776
3508
  */
2777
- public static dashboardControllerGetCashFlow(
2778
- data: DashboardControllerGetCashFlowData
2779
- ): CancelablePromise<DashboardControllerGetCashFlowResponse> {
3509
+ public static priceControllerBulkCreate(
3510
+ data: PriceControllerBulkCreateData
3511
+ ): CancelablePromise<PriceControllerBulkCreateResponse> {
2780
3512
  return __request(OpenAPI, {
2781
- method: 'GET',
2782
- url: '/api/v1/{region}/dashboard/cash-flow',
3513
+ method: 'POST',
3514
+ url: '/api/v1/{region}/bean/prices/bulk',
2783
3515
  path: {
2784
3516
  region: data.region
2785
3517
  },
2786
- query: {
2787
- period: data.period
2788
- },
2789
- errors: {
2790
- 400: 'Invalid period format',
2791
- 401: 'User not authenticated'
2792
- }
3518
+ body: data.requestBody,
3519
+ mediaType: 'application/json'
2793
3520
  });
2794
3521
  }
2795
3522
  }
@@ -2810,7 +3537,7 @@ export class ReportingService {
2810
3537
  * - `granularity`: Data granularity (day, week, month)
2811
3538
  *
2812
3539
  * @param data The data for the request.
2813
- * @param data.region Region code (cn, us, de)
3540
+ * @param data.region Region code for tenant context
2814
3541
  * @param data.period Time period
2815
3542
  * @param data.granularity Data granularity
2816
3543
  * @returns PortfolioTrendsResponseDto Trends retrieved successfully
@@ -2835,6 +3562,42 @@ export class ReportingService {
2835
3562
  });
2836
3563
  }
2837
3564
 
3565
+ /**
3566
+ * Get cash-flow trends
3567
+ *
3568
+ * Monthly income / expense / netSavings over a fixed N-month window
3569
+ * (current month + N−1 prior). Missing months are zero-filled (flow metric).
3570
+ *
3571
+ * **Parameters:**
3572
+ * - `period`: 1m | 3m | 6m | 1y (default 6m)
3573
+ * - `granularity`: accepted for API symmetry; v1 returns month buckets
3574
+ *
3575
+ * @param data The data for the request.
3576
+ * @param data.region Region code for tenant context
3577
+ * @param data.period Time period
3578
+ * @param data.granularity Data granularity (accepted for API symmetry; v1 returns month buckets)
3579
+ * @returns CashFlowTrendsResponseDto Cash-flow trends retrieved successfully
3580
+ * @throws ApiError
3581
+ */
3582
+ public static reportingControllerGetCashFlowTrends(
3583
+ data: ReportingControllerGetCashFlowTrendsData
3584
+ ): CancelablePromise<ReportingControllerGetCashFlowTrendsResponse> {
3585
+ return __request(OpenAPI, {
3586
+ method: 'GET',
3587
+ url: '/api/v1/{region}/reporting/cash-flow/trends',
3588
+ path: {
3589
+ region: data.region
3590
+ },
3591
+ query: {
3592
+ period: data.period,
3593
+ granularity: data.granularity
3594
+ },
3595
+ errors: {
3596
+ 401: 'User not authenticated'
3597
+ }
3598
+ });
3599
+ }
3600
+
2838
3601
  /**
2839
3602
  * Generate portfolio snapshot
2840
3603
  *
@@ -2851,7 +3614,7 @@ export class ReportingService {
2851
3614
  * - Initial setup for new users
2852
3615
  *
2853
3616
  * @param data The data for the request.
2854
- * @param data.region Region code (cn, us, de)
3617
+ * @param data.region Region code for tenant context
2855
3618
  * @param data.requestBody Optional date (defaults to today)
2856
3619
  * @returns GenerateSnapshotResponse Snapshot generated successfully
2857
3620
  * @throws ApiError
@@ -2890,7 +3653,7 @@ export class ReportingService {
2890
3653
  * - Existing snapshots are skipped (not regenerated)
2891
3654
  *
2892
3655
  * @param data The data for the request.
2893
- * @param data.region Region code (cn, us, de)
3656
+ * @param data.region Region code for tenant context
2894
3657
  * @param data.requestBody
2895
3658
  * @returns BackfillSnapshotsResponse Backfill completed successfully
2896
3659
  * @throws ApiError
@@ -2917,19 +3680,17 @@ export class ReportingService {
2917
3680
 
2918
3681
  export class ApiKeysService {
2919
3682
  /**
2920
- * @param data The data for the request.
2921
- * @param data.region Region code (cn, us, de)
2922
- * @returns unknown
3683
+ * Create API key
3684
+ * Generates a new API key for the authenticated user
3685
+ * @returns unknown API key created successfully
2923
3686
  * @throws ApiError
2924
3687
  */
2925
- public static apiKeysController(
2926
- data: ApiKeysControllerData
2927
- ): CancelablePromise<ApiKeysControllerResponse> {
3688
+ public static apiKeysControllerCreateApiKey(): CancelablePromise<ApiKeysControllerCreateApiKeyResponse> {
2928
3689
  return __request(OpenAPI, {
2929
3690
  method: 'POST',
2930
3691
  url: '/api/v1/auth/api-keys',
2931
- path: {
2932
- region: data.region
3692
+ errors: {
3693
+ 403: 'Insufficient permissions to create API key'
2933
3694
  }
2934
3695
  });
2935
3696
  }
@@ -2939,7 +3700,6 @@ export class AuthService {
2939
3700
  /**
2940
3701
  * Anonymous login with access token
2941
3702
  * @param data The data for the request.
2942
- * @param data.region Region code (cn, us, de)
2943
3703
  * @param data.requestBody
2944
3704
  * @returns unknown Login successful
2945
3705
  * @throws ApiError
@@ -2950,9 +3710,6 @@ export class AuthService {
2950
3710
  return __request(OpenAPI, {
2951
3711
  method: 'POST',
2952
3712
  url: '/api/v1/auth/sessions/anonymous',
2953
- path: {
2954
- region: data.region
2955
- },
2956
3713
  body: data.requestBody,
2957
3714
  mediaType: 'application/json',
2958
3715
  errors: {
@@ -2962,6 +3719,19 @@ export class AuthService {
2962
3719
  }
2963
3720
  }
2964
3721
 
3722
+ export class DefaultService {
3723
+ /**
3724
+ * @returns unknown
3725
+ * @throws ApiError
3726
+ */
3727
+ public static cacheControllerFlushCache(): CancelablePromise<CacheControllerFlushCacheResponse> {
3728
+ return __request(OpenAPI, {
3729
+ method: 'POST',
3730
+ url: '/api/v1/cache/flush'
3731
+ });
3732
+ }
3733
+ }
3734
+
2965
3735
  export class ExchangeRateService {
2966
3736
  /**
2967
3737
  * Get exchange rate for currency pair
@@ -2969,7 +3739,6 @@ export class ExchangeRateService {
2969
3739
  * @param data The data for the request.
2970
3740
  * @param data.symbol Currency pair symbol (e.g., USDCNY, EURUSD)
2971
3741
  * @param data.dateString Date in ISO format (YYYY-MM-DD)
2972
- * @param data.region Region code (cn, us, de)
2973
3742
  * @returns unknown Exchange rate retrieved successfully
2974
3743
  * @throws ApiError
2975
3744
  */
@@ -2981,8 +3750,7 @@ export class ExchangeRateService {
2981
3750
  url: '/api/v1/market/exchange-rates/{symbol}/{dateString}',
2982
3751
  path: {
2983
3752
  symbol: data.symbol,
2984
- dateString: data.dateString,
2985
- region: data.region
3753
+ dateString: data.dateString
2986
3754
  },
2987
3755
  errors: {
2988
3756
  404: 'Exchange rate not found for the specified currency pair and date'
@@ -2994,20 +3762,13 @@ export class ExchangeRateService {
2994
3762
  export class HealthService {
2995
3763
  /**
2996
3764
  * Basic health check for K8s/load balancer probes
2997
- * @param data The data for the request.
2998
- * @param data.region Region code (cn, us, de)
2999
3765
  * @returns unknown Service is healthy
3000
3766
  * @throws ApiError
3001
3767
  */
3002
- public static healthControllerGetHealth(
3003
- data: HealthControllerGetHealthData
3004
- ): CancelablePromise<HealthControllerGetHealthResponse> {
3768
+ public static healthControllerGetHealth(): CancelablePromise<HealthControllerGetHealthResponse> {
3005
3769
  return __request(OpenAPI, {
3006
3770
  method: 'GET',
3007
3771
  url: '/api/v1/health',
3008
- path: {
3009
- region: data.region
3010
- },
3011
3772
  errors: {
3012
3773
  503: 'Service unavailable'
3013
3774
  }
@@ -3016,42 +3777,43 @@ export class HealthService {
3016
3777
 
3017
3778
  /**
3018
3779
  * Check database connection health
3019
- * @param data The data for the request.
3020
- * @param data.region Region code (cn, us, de)
3021
3780
  * @returns unknown Database is healthy
3022
3781
  * @throws ApiError
3023
3782
  */
3024
- public static healthControllerCheckDatabase(
3025
- data: HealthControllerCheckDatabaseData
3026
- ): CancelablePromise<HealthControllerCheckDatabaseResponse> {
3783
+ public static healthControllerCheckDatabase(): CancelablePromise<HealthControllerCheckDatabaseResponse> {
3027
3784
  return __request(OpenAPI, {
3028
3785
  method: 'GET',
3029
3786
  url: '/api/v1/health/database',
3030
- path: {
3031
- region: data.region
3032
- },
3033
3787
  errors: {
3034
3788
  503: 'Database unavailable'
3035
3789
  }
3036
3790
  });
3037
3791
  }
3038
3792
 
3793
+ /**
3794
+ * Check OpenBB schema status
3795
+ * @returns unknown OpenBB status
3796
+ * @throws ApiError
3797
+ */
3798
+ public static healthControllerCheckOpenBb(): CancelablePromise<HealthControllerCheckOpenBbResponse> {
3799
+ return __request(OpenAPI, {
3800
+ method: 'GET',
3801
+ url: '/api/v1/health/openbb',
3802
+ errors: {
3803
+ 503: 'OpenBB unavailable'
3804
+ }
3805
+ });
3806
+ }
3807
+
3039
3808
  /**
3040
3809
  * Check Redis connection health
3041
- * @param data The data for the request.
3042
- * @param data.region Region code (cn, us, de)
3043
3810
  * @returns unknown Redis is healthy
3044
3811
  * @throws ApiError
3045
3812
  */
3046
- public static healthControllerCheckRedis(
3047
- data: HealthControllerCheckRedisData
3048
- ): CancelablePromise<HealthControllerCheckRedisResponse> {
3813
+ public static healthControllerCheckRedis(): CancelablePromise<HealthControllerCheckRedisResponse> {
3049
3814
  return __request(OpenAPI, {
3050
3815
  method: 'GET',
3051
3816
  url: '/api/v1/health/redis',
3052
- path: {
3053
- region: data.region
3054
- },
3055
3817
  errors: {
3056
3818
  503: 'Redis unavailable'
3057
3819
  }
@@ -3060,20 +3822,13 @@ export class HealthService {
3060
3822
 
3061
3823
  /**
3062
3824
  * Get status of all circuit breakers
3063
- * @param data The data for the request.
3064
- * @param data.region Region code (cn, us, de)
3065
3825
  * @returns unknown Circuit breaker status
3066
3826
  * @throws ApiError
3067
3827
  */
3068
- public static healthControllerGetCircuitBreakersHealth(
3069
- data: HealthControllerGetCircuitBreakersHealthData
3070
- ): CancelablePromise<HealthControllerGetCircuitBreakersHealthResponse> {
3828
+ public static healthControllerGetCircuitBreakersHealth(): CancelablePromise<HealthControllerGetCircuitBreakersHealthResponse> {
3071
3829
  return __request(OpenAPI, {
3072
3830
  method: 'GET',
3073
3831
  url: '/api/v1/health/circuit-breakers',
3074
- path: {
3075
- region: data.region
3076
- },
3077
3832
  errors: {
3078
3833
  401: 'Unauthorized',
3079
3834
  500: 'Internal error'
@@ -3085,7 +3840,6 @@ export class HealthService {
3085
3840
  * Reset a circuit breaker to CLOSED state
3086
3841
  * @param data The data for the request.
3087
3842
  * @param data.name Circuit breaker name to reset
3088
- * @param data.region Region code (cn, us, de)
3089
3843
  * @returns unknown Circuit breaker reset successfully
3090
3844
  * @throws ApiError
3091
3845
  */
@@ -3096,8 +3850,7 @@ export class HealthService {
3096
3850
  method: 'POST',
3097
3851
  url: '/api/v1/health/circuit-breakers/{name}/reset',
3098
3852
  path: {
3099
- name: data.name,
3100
- region: data.region
3853
+ name: data.name
3101
3854
  },
3102
3855
  errors: {
3103
3856
  401: 'Unauthorized',
@@ -3108,223 +3861,30 @@ export class HealthService {
3108
3861
 
3109
3862
  /**
3110
3863
  * Get health check metrics and statistics
3111
- * @param data The data for the request.
3112
- * @param data.region Region code (cn, us, de)
3113
3864
  * @returns unknown Health metrics
3114
3865
  * @throws ApiError
3115
3866
  */
3116
- public static healthControllerGetMetrics(
3117
- data: HealthControllerGetMetricsData
3118
- ): CancelablePromise<HealthControllerGetMetricsResponse> {
3867
+ public static healthControllerGetMetrics(): CancelablePromise<HealthControllerGetMetricsResponse> {
3119
3868
  return __request(OpenAPI, {
3120
3869
  method: 'GET',
3121
3870
  url: '/api/v1/health/metrics',
3122
- path: {
3123
- region: data.region
3124
- },
3125
3871
  errors: {
3126
3872
  401: 'Unauthorized'
3127
3873
  }
3128
3874
  });
3129
3875
  }
3130
-
3131
- /**
3132
- * Check health of a specific data enhancer
3133
- * @param data The data for the request.
3134
- * @param data.name Data enhancer name
3135
- * @param data.region Region code (cn, us, de)
3136
- * @returns unknown Data enhancer is healthy
3137
- * @throws ApiError
3138
- */
3139
- public static healthControllerGetHealthOfDataEnhancer(
3140
- data: HealthControllerGetHealthOfDataEnhancerData
3141
- ): CancelablePromise<HealthControllerGetHealthOfDataEnhancerResponse> {
3142
- return __request(OpenAPI, {
3143
- method: 'GET',
3144
- url: '/api/v1/health/data-enhancer/{name}',
3145
- path: {
3146
- name: data.name,
3147
- region: data.region
3148
- },
3149
- errors: {
3150
- 401: 'Unauthorized',
3151
- 503: 'Data enhancer unavailable'
3152
- }
3153
- });
3154
- }
3155
-
3156
- /**
3157
- * Check health of all data providers
3158
- * @param data The data for the request.
3159
- * @param data.region Region code (cn, us, de)
3160
- * @returns unknown Data providers health status
3161
- * @throws ApiError
3162
- */
3163
- public static healthControllerCheckDataProviders(
3164
- data: HealthControllerCheckDataProvidersData
3165
- ): CancelablePromise<HealthControllerCheckDataProvidersResponse> {
3166
- return __request(OpenAPI, {
3167
- method: 'GET',
3168
- url: '/api/v1/health/data-providers',
3169
- path: {
3170
- region: data.region
3171
- },
3172
- errors: {
3173
- 401: 'Unauthorized',
3174
- 503: 'Data providers check failed'
3175
- }
3176
- });
3177
- }
3178
-
3179
- /**
3180
- * Check health of a specific data provider
3181
- * @param data The data for the request.
3182
- * @param data.dataSource Data source identifier
3183
- * @param data.region Region code (cn, us, de)
3184
- * @returns unknown Data provider is healthy
3185
- * @throws ApiError
3186
- */
3187
- public static healthControllerGetHealthOfDataProvider(
3188
- data: HealthControllerGetHealthOfDataProviderData
3189
- ): CancelablePromise<HealthControllerGetHealthOfDataProviderResponse> {
3190
- return __request(OpenAPI, {
3191
- method: 'GET',
3192
- url: '/api/v1/health/data-provider/{dataSource}',
3193
- path: {
3194
- dataSource: data.dataSource,
3195
- region: data.region
3196
- },
3197
- errors: {
3198
- 400: 'Invalid data source',
3199
- 401: 'Unauthorized',
3200
- 503: 'Data provider unavailable'
3201
- }
3202
- });
3203
- }
3204
3876
  }
3205
3877
 
3206
3878
  export class InfoService {
3207
3879
  /**
3208
3880
  * Get system information
3209
- * @param data The data for the request.
3210
- * @param data.region Region code (cn, us, de)
3211
3881
  * @returns unknown System information retrieved successfully
3212
3882
  * @throws ApiError
3213
3883
  */
3214
- public static infoControllerGetInfo(
3215
- data: InfoControllerGetInfoData
3216
- ): CancelablePromise<InfoControllerGetInfoResponse> {
3217
- return __request(OpenAPI, {
3218
- method: 'GET',
3219
- url: '/api/v1/system/info',
3220
- path: {
3221
- region: data.region
3222
- }
3223
- });
3224
- }
3225
- }
3226
-
3227
- export class LogosService {
3228
- /**
3229
- * Get asset logo by data source and symbol
3230
- * @param data The data for the request.
3231
- * @param data.dataSource Data source identifier (e.g., YAHOO, COINGECKO)
3232
- * @param data.symbol Asset symbol (e.g., AAPL, BTC)
3233
- * @param data.region Region code (cn, us, de)
3234
- * @returns unknown Logo image stream (favicon)
3235
- * @throws ApiError
3236
- */
3237
- public static logoControllerGetLogoByDataSourceAndSymbol(
3238
- data: LogoControllerGetLogoByDataSourceAndSymbolData
3239
- ): CancelablePromise<LogoControllerGetLogoByDataSourceAndSymbolResponse> {
3240
- return __request(OpenAPI, {
3241
- method: 'GET',
3242
- url: '/api/v1/market/logos/{dataSource}/{symbol}',
3243
- path: {
3244
- dataSource: data.dataSource,
3245
- symbol: data.symbol,
3246
- region: data.region
3247
- },
3248
- errors: {
3249
- 401: 'Unauthorized',
3250
- 404: 'Logo not found for the specified asset',
3251
- 503: 'Service unavailable'
3252
- }
3253
- });
3254
- }
3255
-
3256
- /**
3257
- * Get website favicon by URL
3258
- * @param data The data for the request.
3259
- * @param data.url Website URL to fetch favicon from
3260
- * @param data.region Region code (cn, us, de)
3261
- * @returns unknown Logo image stream (favicon)
3262
- * @throws ApiError
3263
- */
3264
- public static logoControllerGetLogoByUrl(
3265
- data: LogoControllerGetLogoByUrlData
3266
- ): CancelablePromise<LogoControllerGetLogoByUrlResponse> {
3267
- return __request(OpenAPI, {
3268
- method: 'GET',
3269
- url: '/api/v1/market/logos',
3270
- path: {
3271
- region: data.region
3272
- },
3273
- query: {
3274
- url: data.url
3275
- },
3276
- errors: {
3277
- 401: 'Unauthorized',
3278
- 503: 'Service unavailable'
3279
- }
3280
- });
3281
- }
3282
- }
3283
-
3284
- export class MarketDataService {
3285
- /**
3286
- * Get market data by symbol
3287
- * Retrieves market data and asset profile for a given symbol and data source
3288
- * @param data The data for the request.
3289
- * @param data.dataSource Data source provider
3290
- * @param data.symbol Symbol code
3291
- * @param data.region Region code (cn, us, de)
3292
- * @returns unknown Market data retrieved successfully
3293
- * @throws ApiError
3294
- */
3295
- public static marketDataControllerGetMarketDataBySymbol(
3296
- data: MarketDataControllerGetMarketDataBySymbolData
3297
- ): CancelablePromise<MarketDataControllerGetMarketDataBySymbolResponse> {
3884
+ public static infoControllerGetInfo(): CancelablePromise<InfoControllerGetInfoResponse> {
3298
3885
  return __request(OpenAPI, {
3299
3886
  method: 'GET',
3300
- url: '/api/v1/market-data/{dataSource}/{symbol}',
3301
- path: {
3302
- dataSource: data.dataSource,
3303
- symbol: data.symbol,
3304
- region: data.region
3305
- },
3306
- errors: {
3307
- 403: 'Insufficient permissions to read market data',
3308
- 404: 'Market data not found'
3309
- }
3310
- });
3311
- }
3312
-
3313
- /**
3314
- * @param data The data for the request.
3315
- * @param data.region Region code (cn, us, de)
3316
- * @returns unknown
3317
- * @throws ApiError
3318
- */
3319
- public static marketDataController(
3320
- data: MarketDataControllerData
3321
- ): CancelablePromise<MarketDataControllerResponse> {
3322
- return __request(OpenAPI, {
3323
- method: 'POST',
3324
- url: '/api/v1/market-data/{dataSource}/{symbol}',
3325
- path: {
3326
- region: data.region
3327
- }
3887
+ url: '/api/v1/system/info'
3328
3888
  });
3329
3889
  }
3330
3890
  }