@firela/api-types 0.0.0-canary.7cd70834 → 0.0.0-canary.7fcf7940
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +5763 -2305
- package/dist/index.d.ts +5763 -2305
- package/dist/index.js +190 -79
- package/dist/index.mjs +190 -79
- package/package.json +2 -3
- package/src/generated/schemas.gen.ts +5539 -1919
- package/src/generated/services.gen.ts +2018 -736
- package/src/generated/types.gen.ts +9500 -2961
|
@@ -17,23 +17,33 @@ import type {
|
|
|
17
17
|
AccountControllerCloseResponse,
|
|
18
18
|
AccountControllerReopenData,
|
|
19
19
|
AccountControllerReopenResponse,
|
|
20
|
+
AccountControllerAddOpeningBalanceData,
|
|
21
|
+
AccountControllerAddOpeningBalanceResponse,
|
|
22
|
+
AccountStandardsControllerGetTemplatesData,
|
|
23
|
+
AccountStandardsControllerGetTemplatesResponse,
|
|
24
|
+
AccountStandardsControllerGetTemplateMetadataData,
|
|
25
|
+
AccountStandardsControllerGetTemplateMetadataResponse,
|
|
26
|
+
AccountStandardsControllerGetRegionsData,
|
|
27
|
+
AccountStandardsControllerGetRegionsResponse,
|
|
20
28
|
TransactionControllerCreateData,
|
|
21
29
|
TransactionControllerCreateResponse,
|
|
22
30
|
TransactionControllerListData,
|
|
23
31
|
TransactionControllerListResponse,
|
|
24
|
-
|
|
25
|
-
|
|
32
|
+
TransactionControllerCreateBatchData,
|
|
33
|
+
TransactionControllerCreateBatchResponse,
|
|
34
|
+
TransactionControllerCorrectData,
|
|
35
|
+
TransactionControllerCorrectResponse,
|
|
36
|
+
TransactionControllerSuggestTagsData,
|
|
37
|
+
TransactionControllerSuggestTagsResponse,
|
|
26
38
|
TransactionControllerGetDetailData,
|
|
27
39
|
TransactionControllerGetDetailResponse,
|
|
28
40
|
TransactionControllerUpdateData,
|
|
29
41
|
TransactionControllerUpdateResponse,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
AccountStandardsControllerGetTemplatesData,
|
|
33
|
-
AccountStandardsControllerGetTemplatesResponse,
|
|
34
|
-
AccountStandardsControllerGetRegionsResponse,
|
|
42
|
+
TransactionControllerDeleteData,
|
|
43
|
+
TransactionControllerDeleteResponse,
|
|
35
44
|
BalanceControllerGetBalanceData,
|
|
36
45
|
BalanceControllerGetBalanceResponse,
|
|
46
|
+
BalanceControllerGetMultiCurrencyBalanceData,
|
|
37
47
|
BalanceControllerGetMultiCurrencyBalanceResponse,
|
|
38
48
|
ReviewControllerFindAllData,
|
|
39
49
|
ReviewControllerFindAllResponse,
|
|
@@ -41,13 +51,14 @@ import type {
|
|
|
41
51
|
ReviewControllerGetStatsResponse,
|
|
42
52
|
ReviewControllerFindOneData,
|
|
43
53
|
ReviewControllerFindOneResponse,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
ReviewControllerResolveData,
|
|
55
|
+
ReviewControllerResolveResponse,
|
|
56
|
+
ReviewControllerUndoData,
|
|
57
|
+
ReviewControllerUndoResponse,
|
|
58
|
+
ReviewControllerBatchResolveData,
|
|
59
|
+
ReviewControllerBatchResolveResponse,
|
|
60
|
+
PayeeControllerCreateData,
|
|
61
|
+
PayeeControllerCreateResponse,
|
|
51
62
|
PayeeControllerFindAllData,
|
|
52
63
|
PayeeControllerFindAllResponse,
|
|
53
64
|
PayeeControllerAutocompleteData,
|
|
@@ -56,43 +67,62 @@ import type {
|
|
|
56
67
|
PayeeControllerGetTopPayeesResponse,
|
|
57
68
|
PayeeControllerFindOneData,
|
|
58
69
|
PayeeControllerFindOneResponse,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
70
|
+
PayeeControllerUpdateData,
|
|
71
|
+
PayeeControllerUpdateResponse,
|
|
72
|
+
PayeeControllerDeleteData,
|
|
73
|
+
PayeeControllerDeleteResponse,
|
|
74
|
+
PayeeProfileAdminControllerCreateData,
|
|
75
|
+
PayeeProfileAdminControllerCreateResponse,
|
|
62
76
|
PayeeProfileAdminControllerFindAllData,
|
|
63
77
|
PayeeProfileAdminControllerFindAllResponse,
|
|
64
78
|
PayeeProfileAdminControllerFindOneData,
|
|
65
79
|
PayeeProfileAdminControllerFindOneResponse,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
80
|
+
PayeeProfileAdminControllerUpdateData,
|
|
81
|
+
PayeeProfileAdminControllerUpdateResponse,
|
|
82
|
+
PayeeProfileAdminControllerDeleteData,
|
|
83
|
+
PayeeProfileAdminControllerDeleteResponse,
|
|
84
|
+
PayeeProfileAdminControllerVerifyData,
|
|
85
|
+
PayeeProfileAdminControllerVerifyResponse,
|
|
86
|
+
PayeeProfileAdminControllerUnverifyData,
|
|
87
|
+
PayeeProfileAdminControllerUnverifyResponse,
|
|
88
|
+
CommodityControllerCreateData,
|
|
89
|
+
CommodityControllerCreateResponse,
|
|
72
90
|
CommodityControllerFindAllData,
|
|
73
91
|
CommodityControllerFindAllResponse,
|
|
74
92
|
CommodityControllerFindOneData,
|
|
75
93
|
CommodityControllerFindOneResponse,
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
94
|
+
CommodityControllerUpdateData,
|
|
95
|
+
CommodityControllerUpdateResponse,
|
|
96
|
+
CommodityControllerDeleteData,
|
|
97
|
+
CommodityControllerDeleteResponse,
|
|
98
|
+
CommodityControllerGetOrCreateData,
|
|
99
|
+
CommodityControllerGetOrCreateResponse,
|
|
100
|
+
CommodityControllerBulkCreateData,
|
|
101
|
+
CommodityControllerBulkCreateResponse,
|
|
102
|
+
PriceControllerCreateData,
|
|
103
|
+
PriceControllerCreateResponse,
|
|
104
|
+
PriceControllerFindAllData,
|
|
105
|
+
PriceControllerFindAllResponse,
|
|
106
|
+
PriceControllerFindOneData,
|
|
107
|
+
PriceControllerFindOneResponse,
|
|
108
|
+
PriceControllerUpdateData,
|
|
109
|
+
PriceControllerUpdateResponse,
|
|
110
|
+
PriceControllerDeleteData,
|
|
111
|
+
PriceControllerDeleteResponse,
|
|
112
|
+
PriceControllerBulkCreateData,
|
|
113
|
+
PriceControllerBulkCreateResponse,
|
|
114
|
+
RecurringRuleControllerCreateData,
|
|
115
|
+
RecurringRuleControllerCreateResponse,
|
|
86
116
|
RecurringRuleControllerFindAllData,
|
|
87
117
|
RecurringRuleControllerFindAllResponse,
|
|
88
|
-
|
|
89
|
-
|
|
118
|
+
RecurringRuleControllerCreateFromTransactionData,
|
|
119
|
+
RecurringRuleControllerCreateFromTransactionResponse,
|
|
90
120
|
RecurringRuleControllerFindOneData,
|
|
91
121
|
RecurringRuleControllerFindOneResponse,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
122
|
+
RecurringRuleControllerUpdateData,
|
|
123
|
+
RecurringRuleControllerUpdateResponse,
|
|
124
|
+
RecurringRuleControllerDeleteData,
|
|
125
|
+
RecurringRuleControllerDeleteResponse,
|
|
96
126
|
RecurringRuleControllerGetWithStatsData,
|
|
97
127
|
RecurringRuleControllerGetWithStatsResponse,
|
|
98
128
|
ExpectedTransactionControllerFindAllData,
|
|
@@ -101,38 +131,26 @@ import type {
|
|
|
101
131
|
ExpectedTransactionControllerFindOverdueResponse,
|
|
102
132
|
ExpectedTransactionControllerFindOneData,
|
|
103
133
|
ExpectedTransactionControllerFindOneResponse,
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
134
|
+
ExpectedTransactionControllerSkipData,
|
|
135
|
+
ExpectedTransactionControllerSkipResponse,
|
|
136
|
+
ExpectedTransactionControllerUndoSkipData,
|
|
137
|
+
ExpectedTransactionControllerUndoSkipResponse,
|
|
138
|
+
ExpectedTransactionControllerConfirmMatchData,
|
|
139
|
+
ExpectedTransactionControllerConfirmMatchResponse,
|
|
140
|
+
ExpectedTransactionControllerUnmatchData,
|
|
141
|
+
ExpectedTransactionControllerUnmatchResponse,
|
|
142
|
+
ExpectedTransactionControllerEnterNowData,
|
|
143
|
+
ExpectedTransactionControllerEnterNowResponse,
|
|
114
144
|
ForecastControllerGetForecastData,
|
|
115
145
|
ForecastControllerGetForecastResponse,
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
TransactionRuleControllerExportData,
|
|
125
|
-
TransactionRuleControllerExportResponse,
|
|
126
|
-
TransactionRuleControllerGetStatisticsData,
|
|
127
|
-
TransactionRuleControllerGetStatisticsResponse,
|
|
128
|
-
TransactionRuleControllerGetDetailData,
|
|
129
|
-
TransactionRuleControllerGetDetailResponse,
|
|
130
|
-
TransactionRuleController2Data,
|
|
131
|
-
TransactionRuleController2Response,
|
|
132
|
-
TransactionRuleController3Data,
|
|
133
|
-
TransactionRuleController3Response,
|
|
134
|
-
TransactionRuleControllerTestData,
|
|
135
|
-
TransactionRuleControllerTestResponse,
|
|
146
|
+
ReportingControllerGetPortfolioTrendsData,
|
|
147
|
+
ReportingControllerGetPortfolioTrendsResponse,
|
|
148
|
+
ReportingControllerGetCashFlowTrendsData,
|
|
149
|
+
ReportingControllerGetCashFlowTrendsResponse,
|
|
150
|
+
ReportingControllerGenerateSnapshotData,
|
|
151
|
+
ReportingControllerGenerateSnapshotResponse,
|
|
152
|
+
ReportingControllerBackfillSnapshotsData,
|
|
153
|
+
ReportingControllerBackfillSnapshotsResponse,
|
|
136
154
|
UserControllerDeleteOwnUserData,
|
|
137
155
|
UserControllerDeleteOwnUserResponse,
|
|
138
156
|
UserControllerGetUserData,
|
|
@@ -151,25 +169,87 @@ import type {
|
|
|
151
169
|
PropertyControllerGetAllResponse,
|
|
152
170
|
PropertyControllerGetByKeyData,
|
|
153
171
|
PropertyControllerGetByKeyResponse,
|
|
154
|
-
|
|
155
|
-
|
|
172
|
+
PropertyControllerUpdateData,
|
|
173
|
+
PropertyControllerUpdateResponse,
|
|
174
|
+
PropertyControllerDeleteData,
|
|
175
|
+
PropertyControllerDeleteResponse,
|
|
176
|
+
TransactionRuleControllerCreateData,
|
|
177
|
+
TransactionRuleControllerCreateResponse,
|
|
178
|
+
TransactionRuleControllerListData,
|
|
179
|
+
TransactionRuleControllerListResponse,
|
|
180
|
+
TransactionRuleControllerValidateData,
|
|
181
|
+
TransactionRuleControllerValidateResponse,
|
|
182
|
+
TransactionRuleControllerBulkCreateData,
|
|
183
|
+
TransactionRuleControllerBulkCreateResponse,
|
|
184
|
+
TransactionRuleControllerExportData,
|
|
185
|
+
TransactionRuleControllerExportResponse,
|
|
186
|
+
TransactionRuleControllerGetStatisticsData,
|
|
187
|
+
TransactionRuleControllerGetStatisticsResponse,
|
|
188
|
+
TransactionRuleControllerGetDetailData,
|
|
189
|
+
TransactionRuleControllerGetDetailResponse,
|
|
190
|
+
TransactionRuleControllerUpdateData,
|
|
191
|
+
TransactionRuleControllerUpdateResponse,
|
|
192
|
+
TransactionRuleControllerDeleteData,
|
|
193
|
+
TransactionRuleControllerDeleteResponse,
|
|
194
|
+
TransactionRuleControllerTestData,
|
|
195
|
+
TransactionRuleControllerTestResponse,
|
|
196
|
+
CategoryCatalogControllerListData,
|
|
197
|
+
CategoryCatalogControllerListResponse,
|
|
198
|
+
EventControllerCreateData,
|
|
199
|
+
EventControllerCreateResponse,
|
|
200
|
+
EventControllerFindAllData,
|
|
201
|
+
EventControllerFindAllResponse,
|
|
202
|
+
EventControllerFindOneData,
|
|
203
|
+
EventControllerFindOneResponse,
|
|
204
|
+
EventControllerUpdateData,
|
|
205
|
+
EventControllerUpdateResponse,
|
|
206
|
+
EventControllerDeleteData,
|
|
207
|
+
EventControllerDeleteResponse,
|
|
208
|
+
EventControllerGetSliceData,
|
|
209
|
+
EventControllerGetSliceResponse,
|
|
210
|
+
OnboardingControllerBootstrapData,
|
|
211
|
+
OnboardingControllerBootstrapResponse,
|
|
212
|
+
ReconciliationControllerComputeData,
|
|
213
|
+
ReconciliationControllerComputeResponse,
|
|
214
|
+
ReconciliationControllerAssertData,
|
|
215
|
+
ReconciliationControllerAssertResponse,
|
|
216
|
+
ReconciliationControllerPadData,
|
|
217
|
+
ReconciliationControllerPadResponse,
|
|
218
|
+
ReconciliationControllerHistoryData,
|
|
219
|
+
ReconciliationControllerHistoryResponse,
|
|
220
|
+
ExportControllerExportBeancountResponse,
|
|
156
221
|
FileImportControllerImportFileData,
|
|
157
222
|
FileImportControllerImportFileResponse,
|
|
158
223
|
FileImportControllerIdentifyFileData,
|
|
159
224
|
FileImportControllerIdentifyFileResponse,
|
|
225
|
+
FileImportControllerImportBeancountData,
|
|
226
|
+
FileImportControllerImportBeancountResponse,
|
|
160
227
|
ImporterConfigControllerGetConfigData,
|
|
161
228
|
ImporterConfigControllerGetConfigResponse,
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
229
|
+
ImporterConfigControllerUpdateConfigData,
|
|
230
|
+
ImporterConfigControllerUpdateConfigResponse,
|
|
231
|
+
ImporterConfigControllerResetConfigData,
|
|
232
|
+
ImporterConfigControllerResetConfigResponse,
|
|
166
233
|
ProviderSyncControllerSyncData,
|
|
167
234
|
ProviderSyncControllerSyncResponse,
|
|
235
|
+
ProviderSyncControllerGetSupportedProvidersData,
|
|
168
236
|
ProviderSyncControllerGetSupportedProvidersResponse,
|
|
169
237
|
ProviderSyncControllerIsProviderSupportedData,
|
|
170
238
|
ProviderSyncControllerIsProviderSupportedResponse,
|
|
239
|
+
ExternalAccountLinkControllerCreateData,
|
|
240
|
+
ExternalAccountLinkControllerCreateResponse,
|
|
241
|
+
ExternalAccountLinkControllerFindAllData,
|
|
242
|
+
ExternalAccountLinkControllerFindAllResponse,
|
|
243
|
+
ExternalAccountLinkControllerFindOneData,
|
|
244
|
+
ExternalAccountLinkControllerFindOneResponse,
|
|
245
|
+
ExternalAccountLinkControllerRemoveData,
|
|
246
|
+
ExternalAccountLinkControllerRemoveResponse,
|
|
171
247
|
TelemetryControllerReportTelemetryData,
|
|
172
248
|
TelemetryControllerReportTelemetryResponse,
|
|
249
|
+
TelemetryControllerReportCoverageMissData,
|
|
250
|
+
TelemetryControllerReportCoverageMissResponse,
|
|
251
|
+
TelemetryControllerGetCoverageMetricsData,
|
|
252
|
+
TelemetryControllerGetCoverageMetricsResponse,
|
|
173
253
|
NlpControllerProcessNaturalLanguageData,
|
|
174
254
|
NlpControllerProcessNaturalLanguageResponse,
|
|
175
255
|
NlpControllerClearSessionData,
|
|
@@ -177,55 +257,45 @@ import type {
|
|
|
177
257
|
NlpControllerGetSessionData,
|
|
178
258
|
NlpControllerGetSessionResponse,
|
|
179
259
|
PlatformControllerFindAllResponse,
|
|
180
|
-
|
|
260
|
+
PlatformControllerCreateData,
|
|
261
|
+
PlatformControllerCreateResponse,
|
|
262
|
+
PlatformControllerGetPlatformListData,
|
|
181
263
|
PlatformControllerGetPlatformListResponse,
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
SymbolControllerGatherSymbolForDateData,
|
|
189
|
-
SymbolControllerGatherSymbolForDateResponse,
|
|
190
|
-
SymbolControllerResponse,
|
|
191
|
-
CacheControllerFlushCacheResponse,
|
|
264
|
+
PlatformControllerMatchPlatformsData,
|
|
265
|
+
PlatformControllerMatchPlatformsResponse,
|
|
266
|
+
PlatformControllerUpdateData,
|
|
267
|
+
PlatformControllerUpdateResponse,
|
|
268
|
+
PlatformControllerDeleteData,
|
|
269
|
+
PlatformControllerDeleteResponse,
|
|
192
270
|
DashboardControllerGetNetWorthData,
|
|
193
271
|
DashboardControllerGetNetWorthResponse,
|
|
194
272
|
DashboardControllerGetAccountsData,
|
|
195
273
|
DashboardControllerGetAccountsResponse,
|
|
196
274
|
DashboardControllerGetCashFlowData,
|
|
197
275
|
DashboardControllerGetCashFlowResponse,
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
ReportingControllerBackfillSnapshotsResponse,
|
|
204
|
-
ApiKeysControllerResponse,
|
|
276
|
+
DashboardControllerGetExpensesData,
|
|
277
|
+
DashboardControllerGetExpensesResponse,
|
|
278
|
+
HoldingPnlControllerGetHoldingPnlData,
|
|
279
|
+
HoldingPnlControllerGetHoldingPnlResponse,
|
|
280
|
+
ApiKeysControllerCreateApiKeyResponse,
|
|
205
281
|
AuthControllerAccessTokenLoginData,
|
|
206
282
|
AuthControllerAccessTokenLoginResponse,
|
|
283
|
+
CacheControllerFlushCacheResponse,
|
|
207
284
|
ExchangeRateControllerGetExchangeRateData,
|
|
208
285
|
ExchangeRateControllerGetExchangeRateResponse,
|
|
209
286
|
HealthControllerGetHealthResponse,
|
|
210
287
|
HealthControllerCheckDatabaseResponse,
|
|
288
|
+
HealthControllerCheckOpenBbResponse,
|
|
211
289
|
HealthControllerCheckRedisResponse,
|
|
212
290
|
HealthControllerGetCircuitBreakersHealthResponse,
|
|
213
291
|
HealthControllerResetCircuitBreakerData,
|
|
214
292
|
HealthControllerResetCircuitBreakerResponse,
|
|
215
293
|
HealthControllerGetMetricsResponse,
|
|
216
|
-
HealthControllerGetHealthOfDataEnhancerData,
|
|
217
|
-
HealthControllerGetHealthOfDataEnhancerResponse,
|
|
218
|
-
HealthControllerCheckDataProvidersResponse,
|
|
219
|
-
HealthControllerGetHealthOfDataProviderData,
|
|
220
|
-
HealthControllerGetHealthOfDataProviderResponse,
|
|
221
294
|
InfoControllerGetInfoResponse,
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
MarketDataControllerGetMarketDataBySymbolData,
|
|
227
|
-
MarketDataControllerGetMarketDataBySymbolResponse,
|
|
228
|
-
MarketDataControllerResponse
|
|
295
|
+
SymbolControllerSearchData,
|
|
296
|
+
SymbolControllerSearchResponse,
|
|
297
|
+
SymbolControllerGetQuoteData,
|
|
298
|
+
SymbolControllerGetQuoteResponse
|
|
229
299
|
} from './types.gen';
|
|
230
300
|
|
|
231
301
|
export class BeanAccountsService {
|
|
@@ -263,7 +333,7 @@ export class BeanAccountsService {
|
|
|
263
333
|
* @param data.type Filter by account type
|
|
264
334
|
* @param data.status Filter by status
|
|
265
335
|
* @param data.isCustom Filter by custom (user-created) accounts only
|
|
266
|
-
* @param data.search Search term for path
|
|
336
|
+
* @param data.search Search term for account path
|
|
267
337
|
* @param data.limit Maximum number of results
|
|
268
338
|
* @param data.offset Number of results to skip
|
|
269
339
|
* @returns AccountListResponseDto Accounts retrieved successfully
|
|
@@ -344,7 +414,7 @@ export class BeanAccountsService {
|
|
|
344
414
|
|
|
345
415
|
/**
|
|
346
416
|
* Delete account
|
|
347
|
-
* Deletes an account (only if no transactions)
|
|
417
|
+
* Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
|
|
348
418
|
* @param data The data for the request.
|
|
349
419
|
* @param data.id Account UUID
|
|
350
420
|
* @param data.region Region code for tenant context
|
|
@@ -363,7 +433,7 @@ export class BeanAccountsService {
|
|
|
363
433
|
},
|
|
364
434
|
errors: {
|
|
365
435
|
404: 'Account not found',
|
|
366
|
-
409: 'Account has transactions and cannot be deleted'
|
|
436
|
+
409: 'Account has active transactions and cannot be deleted'
|
|
367
437
|
}
|
|
368
438
|
});
|
|
369
439
|
}
|
|
@@ -425,6 +495,107 @@ export class BeanAccountsService {
|
|
|
425
495
|
}
|
|
426
496
|
});
|
|
427
497
|
}
|
|
498
|
+
|
|
499
|
+
/**
|
|
500
|
+
* Post an opening-balance transaction
|
|
501
|
+
* Posts a double-entry opening-balance transaction against Equity:Opening-Balances for an existing Assets/Liabilities account. At most one active opening balance per account.
|
|
502
|
+
* @param data The data for the request.
|
|
503
|
+
* @param data.id Account UUID
|
|
504
|
+
* @param data.region Region code for tenant context
|
|
505
|
+
* @param data.requestBody
|
|
506
|
+
* @returns OpeningBalanceResultDto Opening-balance transaction created
|
|
507
|
+
* @throws ApiError
|
|
508
|
+
*/
|
|
509
|
+
public static accountControllerAddOpeningBalance(
|
|
510
|
+
data: AccountControllerAddOpeningBalanceData
|
|
511
|
+
): CancelablePromise<AccountControllerAddOpeningBalanceResponse> {
|
|
512
|
+
return __request(OpenAPI, {
|
|
513
|
+
method: 'POST',
|
|
514
|
+
url: '/api/v1/{region}/bean/accounts/{id}/opening-balance',
|
|
515
|
+
path: {
|
|
516
|
+
id: data.id,
|
|
517
|
+
region: data.region
|
|
518
|
+
},
|
|
519
|
+
body: data.requestBody,
|
|
520
|
+
mediaType: 'application/json',
|
|
521
|
+
errors: {
|
|
522
|
+
404: 'Account not found',
|
|
523
|
+
409: 'An opening balance already exists for this account'
|
|
524
|
+
}
|
|
525
|
+
});
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
export class BeanAccountStandardsService {
|
|
530
|
+
/**
|
|
531
|
+
* Get account templates
|
|
532
|
+
* Returns predefined account templates for a region. Supports filtering by account type and search term.
|
|
533
|
+
* @param data The data for the request.
|
|
534
|
+
* @param data.region Region code (cn, us, de)
|
|
535
|
+
* @param data.type Filter by account type
|
|
536
|
+
* @param data.search Search term for path or description
|
|
537
|
+
* @returns AccountStandardListResponseDto Account templates retrieved successfully
|
|
538
|
+
* @throws ApiError
|
|
539
|
+
*/
|
|
540
|
+
public static accountStandardsControllerGetTemplates(
|
|
541
|
+
data: AccountStandardsControllerGetTemplatesData
|
|
542
|
+
): CancelablePromise<AccountStandardsControllerGetTemplatesResponse> {
|
|
543
|
+
return __request(OpenAPI, {
|
|
544
|
+
method: 'GET',
|
|
545
|
+
url: '/api/v1/{region}/bean/account-standards',
|
|
546
|
+
path: {
|
|
547
|
+
region: data.region
|
|
548
|
+
},
|
|
549
|
+
query: {
|
|
550
|
+
type: data.type,
|
|
551
|
+
search: data.search
|
|
552
|
+
}
|
|
553
|
+
});
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
/**
|
|
557
|
+
* Get template metadata for an account path
|
|
558
|
+
* Returns root type for a template path.
|
|
559
|
+
* @param data The data for the request.
|
|
560
|
+
* @param data.region Region code for tenant context
|
|
561
|
+
* @param data.path Account path to check
|
|
562
|
+
* @returns TemplateMetadataResponseDto Template metadata retrieved successfully
|
|
563
|
+
* @throws ApiError
|
|
564
|
+
*/
|
|
565
|
+
public static accountStandardsControllerGetTemplateMetadata(
|
|
566
|
+
data: AccountStandardsControllerGetTemplateMetadataData
|
|
567
|
+
): CancelablePromise<AccountStandardsControllerGetTemplateMetadataResponse> {
|
|
568
|
+
return __request(OpenAPI, {
|
|
569
|
+
method: 'GET',
|
|
570
|
+
url: '/api/v1/{region}/bean/account-standards/template-metadata',
|
|
571
|
+
path: {
|
|
572
|
+
region: data.region
|
|
573
|
+
},
|
|
574
|
+
query: {
|
|
575
|
+
path: data.path
|
|
576
|
+
}
|
|
577
|
+
});
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
/**
|
|
581
|
+
* Get available regions with hierarchy
|
|
582
|
+
* Returns supported regions with inheritance metadata
|
|
583
|
+
* @param data The data for the request.
|
|
584
|
+
* @param data.region Region code for tenant context
|
|
585
|
+
* @returns RegionsMetadataResponseDto Regions metadata retrieved successfully
|
|
586
|
+
* @throws ApiError
|
|
587
|
+
*/
|
|
588
|
+
public static accountStandardsControllerGetRegions(
|
|
589
|
+
data: AccountStandardsControllerGetRegionsData
|
|
590
|
+
): CancelablePromise<AccountStandardsControllerGetRegionsResponse> {
|
|
591
|
+
return __request(OpenAPI, {
|
|
592
|
+
method: 'GET',
|
|
593
|
+
url: '/api/v1/{region}/bean/account-standards/regions',
|
|
594
|
+
path: {
|
|
595
|
+
region: data.region
|
|
596
|
+
}
|
|
597
|
+
});
|
|
598
|
+
}
|
|
428
599
|
}
|
|
429
600
|
|
|
430
601
|
export class BeanTransactionsService {
|
|
@@ -470,6 +641,7 @@ export class BeanTransactionsService {
|
|
|
470
641
|
* @param data.status Filter by transaction status
|
|
471
642
|
* @param data.search Search in narration and payee fields (max 200 chars)
|
|
472
643
|
* @param data.accountId Filter by account ID (transactions with postings to this account)
|
|
644
|
+
* @param data.category Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
|
|
473
645
|
* @returns TransactionListResponseDto Transaction list
|
|
474
646
|
* @throws ApiError
|
|
475
647
|
*/
|
|
@@ -489,28 +661,102 @@ export class BeanTransactionsService {
|
|
|
489
661
|
dateTo: data.dateTo,
|
|
490
662
|
status: data.status,
|
|
491
663
|
search: data.search,
|
|
492
|
-
accountId: data.accountId
|
|
664
|
+
accountId: data.accountId,
|
|
665
|
+
category: data.category
|
|
493
666
|
},
|
|
494
667
|
errors: {
|
|
668
|
+
400: 'Validation failed',
|
|
495
669
|
401: 'Authentication required'
|
|
496
670
|
}
|
|
497
671
|
});
|
|
498
672
|
}
|
|
499
673
|
|
|
500
674
|
/**
|
|
675
|
+
* @deprecated
|
|
676
|
+
* Batch create transactions (DEPRECATED)
|
|
677
|
+
* DEPRECATED: Use POST /:region/bean/import/provider/:name/sync instead. This endpoint skips dedup, rule matching, and review branching.
|
|
501
678
|
* @param data The data for the request.
|
|
502
679
|
* @param data.region Region code for tenant context
|
|
503
|
-
* @
|
|
680
|
+
* @param data.requestBody
|
|
681
|
+
* @returns BatchTransactionResponseDto Transactions processed
|
|
504
682
|
* @throws ApiError
|
|
505
683
|
*/
|
|
506
|
-
public static
|
|
507
|
-
data:
|
|
508
|
-
): CancelablePromise<
|
|
684
|
+
public static transactionControllerCreateBatch(
|
|
685
|
+
data: TransactionControllerCreateBatchData
|
|
686
|
+
): CancelablePromise<TransactionControllerCreateBatchResponse> {
|
|
509
687
|
return __request(OpenAPI, {
|
|
510
688
|
method: 'POST',
|
|
511
689
|
url: '/api/v1/{region}/bean/transactions/batch',
|
|
512
690
|
path: {
|
|
513
691
|
region: data.region
|
|
692
|
+
},
|
|
693
|
+
body: data.requestBody,
|
|
694
|
+
mediaType: 'application/json',
|
|
695
|
+
errors: {
|
|
696
|
+
400: 'Invalid input',
|
|
697
|
+
401: 'Authentication required'
|
|
698
|
+
}
|
|
699
|
+
});
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
/**
|
|
703
|
+
* Correct (supersede) a transaction
|
|
704
|
+
* Atomically voids the original (SUPERSEDED) and creates a replacement through the full validation pipeline.
|
|
705
|
+
* @param data The data for the request.
|
|
706
|
+
* @param data.id Original transaction ID to correct
|
|
707
|
+
* @param data.region Region code for tenant context
|
|
708
|
+
* @param data.requestBody
|
|
709
|
+
* @returns TransactionDetailDto Corrected transaction created
|
|
710
|
+
* @throws ApiError
|
|
711
|
+
*/
|
|
712
|
+
public static transactionControllerCorrect(
|
|
713
|
+
data: TransactionControllerCorrectData
|
|
714
|
+
): CancelablePromise<TransactionControllerCorrectResponse> {
|
|
715
|
+
return __request(OpenAPI, {
|
|
716
|
+
method: 'POST',
|
|
717
|
+
url: '/api/v1/{region}/bean/transactions/{id}/correct',
|
|
718
|
+
path: {
|
|
719
|
+
id: data.id,
|
|
720
|
+
region: data.region
|
|
721
|
+
},
|
|
722
|
+
body: data.requestBody,
|
|
723
|
+
mediaType: 'application/json',
|
|
724
|
+
errors: {
|
|
725
|
+
404: 'Original transaction not found',
|
|
726
|
+
409: 'Original no longer ACTIVE (concurrent modification)',
|
|
727
|
+
422: 'Pipeline validation failed (does not balance, invalid accounts)'
|
|
728
|
+
}
|
|
729
|
+
});
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
/**
|
|
733
|
+
* Suggest transaction tags
|
|
734
|
+
* Returns distinct tags from the user ACTIVE transactions, sorted by usage, for autocomplete. Optional q performs a case-insensitive prefix match.
|
|
735
|
+
* @param data The data for the request.
|
|
736
|
+
* @param data.region Region code for tenant context
|
|
737
|
+
* @param data.q Prefix match, case-insensitive (max 50 chars)
|
|
738
|
+
* @param data.sort usage (default) or name
|
|
739
|
+
* @param data.limit Max suggestions (1-100, default 10)
|
|
740
|
+
* @returns TagSuggestionsResponseDto Tag suggestions
|
|
741
|
+
* @throws ApiError
|
|
742
|
+
*/
|
|
743
|
+
public static transactionControllerSuggestTags(
|
|
744
|
+
data: TransactionControllerSuggestTagsData
|
|
745
|
+
): CancelablePromise<TransactionControllerSuggestTagsResponse> {
|
|
746
|
+
return __request(OpenAPI, {
|
|
747
|
+
method: 'GET',
|
|
748
|
+
url: '/api/v1/{region}/bean/transactions/tags',
|
|
749
|
+
path: {
|
|
750
|
+
region: data.region
|
|
751
|
+
},
|
|
752
|
+
query: {
|
|
753
|
+
q: data.q,
|
|
754
|
+
sort: data.sort,
|
|
755
|
+
limit: data.limit
|
|
756
|
+
},
|
|
757
|
+
errors: {
|
|
758
|
+
400: 'Validation failed',
|
|
759
|
+
401: 'Authentication required'
|
|
514
760
|
}
|
|
515
761
|
});
|
|
516
762
|
}
|
|
@@ -572,63 +818,31 @@ export class BeanTransactionsService {
|
|
|
572
818
|
}
|
|
573
819
|
|
|
574
820
|
/**
|
|
821
|
+
* Void transaction
|
|
822
|
+
* Soft-deletes a transaction by marking it as VOIDED
|
|
575
823
|
* @param data The data for the request.
|
|
824
|
+
* @param data.id Transaction ID
|
|
576
825
|
* @param data.region Region code for tenant context
|
|
577
|
-
* @returns void
|
|
826
|
+
* @returns void Transaction voided successfully
|
|
578
827
|
* @throws ApiError
|
|
579
828
|
*/
|
|
580
|
-
public static
|
|
581
|
-
data:
|
|
582
|
-
): CancelablePromise<
|
|
829
|
+
public static transactionControllerDelete(
|
|
830
|
+
data: TransactionControllerDeleteData
|
|
831
|
+
): CancelablePromise<TransactionControllerDeleteResponse> {
|
|
583
832
|
return __request(OpenAPI, {
|
|
584
833
|
method: 'DELETE',
|
|
585
834
|
url: '/api/v1/{region}/bean/transactions/{id}',
|
|
586
835
|
path: {
|
|
587
|
-
|
|
588
|
-
}
|
|
589
|
-
});
|
|
590
|
-
}
|
|
591
|
-
}
|
|
592
|
-
|
|
593
|
-
export class BeanAccountStandardsService {
|
|
594
|
-
/**
|
|
595
|
-
* Get account templates
|
|
596
|
-
* Returns predefined account templates for a region. Supports filtering by account type and search term.
|
|
597
|
-
* @param data The data for the request.
|
|
598
|
-
* @param data.region Region code (cn, us, de)
|
|
599
|
-
* @param data.type Filter by account type
|
|
600
|
-
* @param data.search Search term for path or description
|
|
601
|
-
* @returns AccountStandardListResponseDto Account templates retrieved successfully
|
|
602
|
-
* @throws ApiError
|
|
603
|
-
*/
|
|
604
|
-
public static accountStandardsControllerGetTemplates(
|
|
605
|
-
data: AccountStandardsControllerGetTemplatesData
|
|
606
|
-
): CancelablePromise<AccountStandardsControllerGetTemplatesResponse> {
|
|
607
|
-
return __request(OpenAPI, {
|
|
608
|
-
method: 'GET',
|
|
609
|
-
url: '/api/v1/{region}/bean/account-standards',
|
|
610
|
-
path: {
|
|
836
|
+
id: data.id,
|
|
611
837
|
region: data.region
|
|
612
838
|
},
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
839
|
+
errors: {
|
|
840
|
+
400: 'Transaction already voided',
|
|
841
|
+
401: 'Authentication required',
|
|
842
|
+
404: 'Transaction not found'
|
|
616
843
|
}
|
|
617
844
|
});
|
|
618
845
|
}
|
|
619
|
-
|
|
620
|
-
/**
|
|
621
|
-
* Get available regions with hierarchy
|
|
622
|
-
* Returns supported regions with inheritance metadata
|
|
623
|
-
* @returns RegionsMetadataResponseDto Regions metadata retrieved successfully
|
|
624
|
-
* @throws ApiError
|
|
625
|
-
*/
|
|
626
|
-
public static accountStandardsControllerGetRegions(): CancelablePromise<AccountStandardsControllerGetRegionsResponse> {
|
|
627
|
-
return __request(OpenAPI, {
|
|
628
|
-
method: 'GET',
|
|
629
|
-
url: '/api/v1/{region}/bean/account-standards/regions'
|
|
630
|
-
});
|
|
631
|
-
}
|
|
632
846
|
}
|
|
633
847
|
|
|
634
848
|
export class BeanBalancesService {
|
|
@@ -636,7 +850,8 @@ export class BeanBalancesService {
|
|
|
636
850
|
* Query account balance
|
|
637
851
|
* Calculate account balance at a specific date for a single currency
|
|
638
852
|
* @param data The data for the request.
|
|
639
|
-
* @param data.account Account name (e.g., "Assets:
|
|
853
|
+
* @param data.account Account name (e.g., "Assets:Checking")
|
|
854
|
+
* @param data.region Region code for tenant context
|
|
640
855
|
* @param data.date Date to calculate balance at (ISO 8601 format)
|
|
641
856
|
* @param data.currency Currency to query (e.g., "USD", "CNY")
|
|
642
857
|
* @returns BalanceResponseDto Balance calculated successfully
|
|
@@ -648,6 +863,9 @@ export class BeanBalancesService {
|
|
|
648
863
|
return __request(OpenAPI, {
|
|
649
864
|
method: 'GET',
|
|
650
865
|
url: '/api/v1/{region}/bean/balances',
|
|
866
|
+
path: {
|
|
867
|
+
region: data.region
|
|
868
|
+
},
|
|
651
869
|
query: {
|
|
652
870
|
account: data.account,
|
|
653
871
|
date: data.date,
|
|
@@ -663,13 +881,20 @@ export class BeanBalancesService {
|
|
|
663
881
|
/**
|
|
664
882
|
* Query multi-currency account balance
|
|
665
883
|
* Calculate account balances for all currencies at a specific date
|
|
884
|
+
* @param data The data for the request.
|
|
885
|
+
* @param data.region Region code for tenant context
|
|
666
886
|
* @returns MultiCurrencyBalanceResponseDto Balances calculated successfully
|
|
667
887
|
* @throws ApiError
|
|
668
888
|
*/
|
|
669
|
-
public static balanceControllerGetMultiCurrencyBalance(
|
|
889
|
+
public static balanceControllerGetMultiCurrencyBalance(
|
|
890
|
+
data: BalanceControllerGetMultiCurrencyBalanceData
|
|
891
|
+
): CancelablePromise<BalanceControllerGetMultiCurrencyBalanceResponse> {
|
|
670
892
|
return __request(OpenAPI, {
|
|
671
893
|
method: 'GET',
|
|
672
894
|
url: '/api/v1/{region}/bean/balances/multi-currency',
|
|
895
|
+
path: {
|
|
896
|
+
region: data.region
|
|
897
|
+
},
|
|
673
898
|
errors: {
|
|
674
899
|
400: 'Invalid query parameters',
|
|
675
900
|
401: 'User not authenticated'
|
|
@@ -751,69 +976,94 @@ export class BeanReviewsService {
|
|
|
751
976
|
}
|
|
752
977
|
|
|
753
978
|
/**
|
|
979
|
+
* Resolve a review item
|
|
754
980
|
* @param data The data for the request.
|
|
981
|
+
* @param data.id Review ID
|
|
755
982
|
* @param data.region Region code for tenant context
|
|
756
|
-
* @
|
|
983
|
+
* @param data.requestBody
|
|
984
|
+
* @returns ResolveResultDto
|
|
757
985
|
* @throws ApiError
|
|
758
986
|
*/
|
|
759
|
-
public static
|
|
760
|
-
data:
|
|
761
|
-
): CancelablePromise<
|
|
987
|
+
public static reviewControllerResolve(
|
|
988
|
+
data: ReviewControllerResolveData
|
|
989
|
+
): CancelablePromise<ReviewControllerResolveResponse> {
|
|
762
990
|
return __request(OpenAPI, {
|
|
763
991
|
method: 'POST',
|
|
764
992
|
url: '/api/v1/{region}/bean/reviews/{id}/resolve',
|
|
765
993
|
path: {
|
|
994
|
+
id: data.id,
|
|
766
995
|
region: data.region
|
|
767
|
-
}
|
|
996
|
+
},
|
|
997
|
+
body: data.requestBody,
|
|
998
|
+
mediaType: 'application/json'
|
|
768
999
|
});
|
|
769
1000
|
}
|
|
770
1001
|
|
|
771
1002
|
/**
|
|
1003
|
+
* Undo a resolution (within 24h)
|
|
772
1004
|
* @param data The data for the request.
|
|
1005
|
+
* @param data.id Review ID
|
|
773
1006
|
* @param data.region Region code for tenant context
|
|
774
|
-
* @returns
|
|
1007
|
+
* @returns UndoResultDto
|
|
775
1008
|
* @throws ApiError
|
|
776
1009
|
*/
|
|
777
|
-
public static
|
|
778
|
-
data:
|
|
779
|
-
): CancelablePromise<
|
|
1010
|
+
public static reviewControllerUndo(
|
|
1011
|
+
data: ReviewControllerUndoData
|
|
1012
|
+
): CancelablePromise<ReviewControllerUndoResponse> {
|
|
780
1013
|
return __request(OpenAPI, {
|
|
781
1014
|
method: 'POST',
|
|
782
1015
|
url: '/api/v1/{region}/bean/reviews/{id}/undo',
|
|
783
1016
|
path: {
|
|
1017
|
+
id: data.id,
|
|
784
1018
|
region: data.region
|
|
785
1019
|
}
|
|
786
1020
|
});
|
|
787
1021
|
}
|
|
788
1022
|
|
|
789
1023
|
/**
|
|
1024
|
+
* Batch resolve multiple reviews
|
|
790
1025
|
* @param data The data for the request.
|
|
791
1026
|
* @param data.region Region code for tenant context
|
|
792
|
-
* @
|
|
1027
|
+
* @param data.requestBody Batch resolution request containing review IDs and action
|
|
1028
|
+
* @returns BatchResolveResultDto
|
|
793
1029
|
* @throws ApiError
|
|
794
1030
|
*/
|
|
795
|
-
public static
|
|
796
|
-
data:
|
|
797
|
-
): CancelablePromise<
|
|
1031
|
+
public static reviewControllerBatchResolve(
|
|
1032
|
+
data: ReviewControllerBatchResolveData
|
|
1033
|
+
): CancelablePromise<ReviewControllerBatchResolveResponse> {
|
|
798
1034
|
return __request(OpenAPI, {
|
|
799
1035
|
method: 'POST',
|
|
800
1036
|
url: '/api/v1/{region}/bean/reviews/batch-resolve',
|
|
801
1037
|
path: {
|
|
802
1038
|
region: data.region
|
|
803
|
-
}
|
|
1039
|
+
},
|
|
1040
|
+
body: data.requestBody,
|
|
1041
|
+
mediaType: 'application/json'
|
|
804
1042
|
});
|
|
805
1043
|
}
|
|
806
1044
|
}
|
|
807
1045
|
|
|
808
1046
|
export class BeanPayeesService {
|
|
809
1047
|
/**
|
|
810
|
-
*
|
|
1048
|
+
* Create a new payee
|
|
1049
|
+
* Creates a new payee mapping for the authenticated user. The payee name must be unique within the user's account.
|
|
1050
|
+
* @param data The data for the request.
|
|
1051
|
+
* @param data.requestBody
|
|
1052
|
+
* @returns PayeeResponseDto Payee created successfully
|
|
811
1053
|
* @throws ApiError
|
|
812
1054
|
*/
|
|
813
|
-
public static
|
|
1055
|
+
public static payeeControllerCreate(
|
|
1056
|
+
data: PayeeControllerCreateData
|
|
1057
|
+
): CancelablePromise<PayeeControllerCreateResponse> {
|
|
814
1058
|
return __request(OpenAPI, {
|
|
815
1059
|
method: 'POST',
|
|
816
|
-
url: '/api/v1/bean/payees'
|
|
1060
|
+
url: '/api/v1/bean/payees',
|
|
1061
|
+
body: data.requestBody,
|
|
1062
|
+
mediaType: 'application/json',
|
|
1063
|
+
errors: {
|
|
1064
|
+
400: 'Invalid input data',
|
|
1065
|
+
409: 'Payee already exists'
|
|
1066
|
+
}
|
|
817
1067
|
});
|
|
818
1068
|
}
|
|
819
1069
|
|
|
@@ -912,37 +1162,78 @@ export class BeanPayeesService {
|
|
|
912
1162
|
}
|
|
913
1163
|
|
|
914
1164
|
/**
|
|
915
|
-
*
|
|
1165
|
+
* Update payee
|
|
1166
|
+
* Updates a payee mapping. The payee name cannot be changed after creation.
|
|
1167
|
+
* @param data The data for the request.
|
|
1168
|
+
* @param data.id Payee UUID
|
|
1169
|
+
* @param data.requestBody
|
|
1170
|
+
* @returns PayeeResponseDto Payee updated successfully
|
|
916
1171
|
* @throws ApiError
|
|
917
1172
|
*/
|
|
918
|
-
public static
|
|
1173
|
+
public static payeeControllerUpdate(
|
|
1174
|
+
data: PayeeControllerUpdateData
|
|
1175
|
+
): CancelablePromise<PayeeControllerUpdateResponse> {
|
|
919
1176
|
return __request(OpenAPI, {
|
|
920
1177
|
method: 'PUT',
|
|
921
|
-
url: '/api/v1/bean/payees/{id}'
|
|
922
|
-
|
|
923
|
-
|
|
1178
|
+
url: '/api/v1/bean/payees/{id}',
|
|
1179
|
+
path: {
|
|
1180
|
+
id: data.id
|
|
1181
|
+
},
|
|
1182
|
+
body: data.requestBody,
|
|
1183
|
+
mediaType: 'application/json',
|
|
1184
|
+
errors: {
|
|
1185
|
+
400: 'Invalid input data',
|
|
1186
|
+
404: 'Payee not found'
|
|
1187
|
+
}
|
|
1188
|
+
});
|
|
1189
|
+
}
|
|
924
1190
|
|
|
925
1191
|
/**
|
|
926
|
-
*
|
|
1192
|
+
* Delete payee
|
|
1193
|
+
* Soft deletes a payee by marking it as inactive. Inactive payees will not appear in autocomplete suggestions.
|
|
1194
|
+
* @param data The data for the request.
|
|
1195
|
+
* @param data.id Payee UUID
|
|
1196
|
+
* @returns void Payee deleted successfully
|
|
927
1197
|
* @throws ApiError
|
|
928
1198
|
*/
|
|
929
|
-
public static
|
|
1199
|
+
public static payeeControllerDelete(
|
|
1200
|
+
data: PayeeControllerDeleteData
|
|
1201
|
+
): CancelablePromise<PayeeControllerDeleteResponse> {
|
|
930
1202
|
return __request(OpenAPI, {
|
|
931
1203
|
method: 'DELETE',
|
|
932
|
-
url: '/api/v1/bean/payees/{id}'
|
|
1204
|
+
url: '/api/v1/bean/payees/{id}',
|
|
1205
|
+
path: {
|
|
1206
|
+
id: data.id
|
|
1207
|
+
},
|
|
1208
|
+
errors: {
|
|
1209
|
+
404: 'Payee not found'
|
|
1210
|
+
}
|
|
933
1211
|
});
|
|
934
1212
|
}
|
|
935
1213
|
}
|
|
936
1214
|
|
|
937
1215
|
export class AdminPayeeProfilesService {
|
|
938
1216
|
/**
|
|
939
|
-
*
|
|
1217
|
+
* Create payee profile (Admin only)
|
|
1218
|
+
* Creates a new global payee profile. The canonical name must be unique (case-insensitive).
|
|
1219
|
+
* @param data The data for the request.
|
|
1220
|
+
* @param data.requestBody
|
|
1221
|
+
* @returns PayeeProfileResponseDto Payee profile created successfully
|
|
940
1222
|
* @throws ApiError
|
|
941
1223
|
*/
|
|
942
|
-
public static
|
|
1224
|
+
public static payeeProfileAdminControllerCreate(
|
|
1225
|
+
data: PayeeProfileAdminControllerCreateData
|
|
1226
|
+
): CancelablePromise<PayeeProfileAdminControllerCreateResponse> {
|
|
943
1227
|
return __request(OpenAPI, {
|
|
944
1228
|
method: 'POST',
|
|
945
|
-
url: '/api/v1/admin/payee-profiles'
|
|
1229
|
+
url: '/api/v1/admin/payee-profiles',
|
|
1230
|
+
body: data.requestBody,
|
|
1231
|
+
mediaType: 'application/json',
|
|
1232
|
+
errors: {
|
|
1233
|
+
400: 'Validation failed',
|
|
1234
|
+
403: 'Admin access required',
|
|
1235
|
+
409: 'Payee profile already exists'
|
|
1236
|
+
}
|
|
946
1237
|
});
|
|
947
1238
|
}
|
|
948
1239
|
|
|
@@ -1004,65 +1295,130 @@ export class AdminPayeeProfilesService {
|
|
|
1004
1295
|
}
|
|
1005
1296
|
|
|
1006
1297
|
/**
|
|
1007
|
-
*
|
|
1298
|
+
* Update payee profile (Admin only)
|
|
1299
|
+
* Updates an existing payee profile. The canonical name cannot be changed.
|
|
1300
|
+
* @param data The data for the request.
|
|
1301
|
+
* @param data.id Payee profile ID (UUID)
|
|
1302
|
+
* @param data.requestBody
|
|
1303
|
+
* @returns PayeeProfileResponseDto Payee profile updated successfully
|
|
1008
1304
|
* @throws ApiError
|
|
1009
1305
|
*/
|
|
1010
|
-
public static
|
|
1306
|
+
public static payeeProfileAdminControllerUpdate(
|
|
1307
|
+
data: PayeeProfileAdminControllerUpdateData
|
|
1308
|
+
): CancelablePromise<PayeeProfileAdminControllerUpdateResponse> {
|
|
1011
1309
|
return __request(OpenAPI, {
|
|
1012
1310
|
method: 'PUT',
|
|
1013
|
-
url: '/api/v1/admin/payee-profiles/{id}'
|
|
1311
|
+
url: '/api/v1/admin/payee-profiles/{id}',
|
|
1312
|
+
path: {
|
|
1313
|
+
id: data.id
|
|
1314
|
+
},
|
|
1315
|
+
body: data.requestBody,
|
|
1316
|
+
mediaType: 'application/json',
|
|
1317
|
+
errors: {
|
|
1318
|
+
403: 'Admin access required',
|
|
1319
|
+
404: 'Payee profile not found'
|
|
1320
|
+
}
|
|
1014
1321
|
});
|
|
1015
1322
|
}
|
|
1016
1323
|
|
|
1017
1324
|
/**
|
|
1018
|
-
*
|
|
1325
|
+
* Soft delete payee profile (Admin only)
|
|
1326
|
+
* Marks a payee profile as inactive (soft delete). The profile cannot be deleted if it is referenced by user payees.
|
|
1327
|
+
* @param data The data for the request.
|
|
1328
|
+
* @param data.id Payee profile ID (UUID)
|
|
1329
|
+
* @returns void Payee profile deleted successfully
|
|
1019
1330
|
* @throws ApiError
|
|
1020
1331
|
*/
|
|
1021
|
-
public static
|
|
1332
|
+
public static payeeProfileAdminControllerDelete(
|
|
1333
|
+
data: PayeeProfileAdminControllerDeleteData
|
|
1334
|
+
): CancelablePromise<PayeeProfileAdminControllerDeleteResponse> {
|
|
1022
1335
|
return __request(OpenAPI, {
|
|
1023
1336
|
method: 'DELETE',
|
|
1024
|
-
url: '/api/v1/admin/payee-profiles/{id}'
|
|
1337
|
+
url: '/api/v1/admin/payee-profiles/{id}',
|
|
1338
|
+
path: {
|
|
1339
|
+
id: data.id
|
|
1340
|
+
},
|
|
1341
|
+
errors: {
|
|
1342
|
+
403: 'Admin access required',
|
|
1343
|
+
404: 'Payee profile not found',
|
|
1344
|
+
409: 'Payee profile is in use and cannot be deleted'
|
|
1345
|
+
}
|
|
1025
1346
|
});
|
|
1026
1347
|
}
|
|
1027
1348
|
|
|
1028
1349
|
/**
|
|
1029
|
-
*
|
|
1350
|
+
* Verify payee profile (Admin only)
|
|
1351
|
+
* Marks a payee profile as verified by setting verifiedAt to current timestamp.
|
|
1352
|
+
* @param data The data for the request.
|
|
1353
|
+
* @param data.id Payee profile ID (UUID)
|
|
1354
|
+
* @returns PayeeProfileResponseDto Payee profile verified successfully
|
|
1030
1355
|
* @throws ApiError
|
|
1031
1356
|
*/
|
|
1032
|
-
public static
|
|
1357
|
+
public static payeeProfileAdminControllerVerify(
|
|
1358
|
+
data: PayeeProfileAdminControllerVerifyData
|
|
1359
|
+
): CancelablePromise<PayeeProfileAdminControllerVerifyResponse> {
|
|
1033
1360
|
return __request(OpenAPI, {
|
|
1034
1361
|
method: 'POST',
|
|
1035
|
-
url: '/api/v1/admin/payee-profiles/{id}/verify'
|
|
1362
|
+
url: '/api/v1/admin/payee-profiles/{id}/verify',
|
|
1363
|
+
path: {
|
|
1364
|
+
id: data.id
|
|
1365
|
+
},
|
|
1366
|
+
errors: {
|
|
1367
|
+
403: 'Admin access required',
|
|
1368
|
+
404: 'Payee profile not found'
|
|
1369
|
+
}
|
|
1036
1370
|
});
|
|
1037
1371
|
}
|
|
1038
1372
|
|
|
1039
1373
|
/**
|
|
1040
|
-
*
|
|
1374
|
+
* Unverify payee profile (Admin only)
|
|
1375
|
+
* Removes verification status by setting verifiedAt to null.
|
|
1376
|
+
* @param data The data for the request.
|
|
1377
|
+
* @param data.id Payee profile ID (UUID)
|
|
1378
|
+
* @returns PayeeProfileResponseDto Payee profile unverified successfully
|
|
1041
1379
|
* @throws ApiError
|
|
1042
1380
|
*/
|
|
1043
|
-
public static
|
|
1381
|
+
public static payeeProfileAdminControllerUnverify(
|
|
1382
|
+
data: PayeeProfileAdminControllerUnverifyData
|
|
1383
|
+
): CancelablePromise<PayeeProfileAdminControllerUnverifyResponse> {
|
|
1044
1384
|
return __request(OpenAPI, {
|
|
1045
1385
|
method: 'DELETE',
|
|
1046
|
-
url: '/api/v1/admin/payee-profiles/{id}/verify'
|
|
1386
|
+
url: '/api/v1/admin/payee-profiles/{id}/verify',
|
|
1387
|
+
path: {
|
|
1388
|
+
id: data.id
|
|
1389
|
+
},
|
|
1390
|
+
errors: {
|
|
1391
|
+
403: 'Admin access required',
|
|
1392
|
+
404: 'Payee profile not found'
|
|
1393
|
+
}
|
|
1047
1394
|
});
|
|
1048
1395
|
}
|
|
1049
1396
|
}
|
|
1050
1397
|
|
|
1051
1398
|
export class BeanCommoditiesService {
|
|
1052
1399
|
/**
|
|
1400
|
+
* Create a new commodity
|
|
1401
|
+
* Creates a new commodity definition for the authenticated user
|
|
1053
1402
|
* @param data The data for the request.
|
|
1054
1403
|
* @param data.region Region code for tenant context
|
|
1055
|
-
* @
|
|
1404
|
+
* @param data.requestBody
|
|
1405
|
+
* @returns CommodityResponseDto Commodity created successfully
|
|
1056
1406
|
* @throws ApiError
|
|
1057
1407
|
*/
|
|
1058
|
-
public static
|
|
1059
|
-
data:
|
|
1060
|
-
): CancelablePromise<
|
|
1408
|
+
public static commodityControllerCreate(
|
|
1409
|
+
data: CommodityControllerCreateData
|
|
1410
|
+
): CancelablePromise<CommodityControllerCreateResponse> {
|
|
1061
1411
|
return __request(OpenAPI, {
|
|
1062
1412
|
method: 'POST',
|
|
1063
1413
|
url: '/api/v1/{region}/bean/commodities',
|
|
1064
1414
|
path: {
|
|
1065
1415
|
region: data.region
|
|
1416
|
+
},
|
|
1417
|
+
body: data.requestBody,
|
|
1418
|
+
mediaType: 'application/json',
|
|
1419
|
+
errors: {
|
|
1420
|
+
400: 'Invalid input data',
|
|
1421
|
+
409: 'Commodity already exists'
|
|
1066
1422
|
}
|
|
1067
1423
|
});
|
|
1068
1424
|
}
|
|
@@ -1119,68 +1475,92 @@ export class BeanCommoditiesService {
|
|
|
1119
1475
|
}
|
|
1120
1476
|
|
|
1121
1477
|
/**
|
|
1478
|
+
* Update commodity
|
|
1479
|
+
* Updates an existing commodity definition. Symbol cannot be changed.
|
|
1122
1480
|
* @param data The data for the request.
|
|
1481
|
+
* @param data.symbol Commodity symbol
|
|
1123
1482
|
* @param data.region Region code for tenant context
|
|
1124
|
-
* @
|
|
1483
|
+
* @param data.requestBody
|
|
1484
|
+
* @returns CommodityResponseDto Commodity updated successfully
|
|
1125
1485
|
* @throws ApiError
|
|
1126
1486
|
*/
|
|
1127
|
-
public static
|
|
1128
|
-
data:
|
|
1129
|
-
): CancelablePromise<
|
|
1487
|
+
public static commodityControllerUpdate(
|
|
1488
|
+
data: CommodityControllerUpdateData
|
|
1489
|
+
): CancelablePromise<CommodityControllerUpdateResponse> {
|
|
1130
1490
|
return __request(OpenAPI, {
|
|
1131
1491
|
method: 'PUT',
|
|
1132
1492
|
url: '/api/v1/{region}/bean/commodities/{symbol}',
|
|
1133
1493
|
path: {
|
|
1494
|
+
symbol: data.symbol,
|
|
1134
1495
|
region: data.region
|
|
1496
|
+
},
|
|
1497
|
+
body: data.requestBody,
|
|
1498
|
+
mediaType: 'application/json',
|
|
1499
|
+
errors: {
|
|
1500
|
+
400: 'Invalid input data',
|
|
1501
|
+
404: 'Commodity not found'
|
|
1135
1502
|
}
|
|
1136
1503
|
});
|
|
1137
1504
|
}
|
|
1138
1505
|
|
|
1139
1506
|
/**
|
|
1507
|
+
* Delete commodity
|
|
1508
|
+
* Deletes a commodity definition
|
|
1140
1509
|
* @param data The data for the request.
|
|
1510
|
+
* @param data.symbol Commodity symbol
|
|
1141
1511
|
* @param data.region Region code for tenant context
|
|
1142
|
-
* @returns void
|
|
1512
|
+
* @returns void Commodity deleted successfully
|
|
1143
1513
|
* @throws ApiError
|
|
1144
1514
|
*/
|
|
1145
|
-
public static
|
|
1146
|
-
data:
|
|
1147
|
-
): CancelablePromise<
|
|
1515
|
+
public static commodityControllerDelete(
|
|
1516
|
+
data: CommodityControllerDeleteData
|
|
1517
|
+
): CancelablePromise<CommodityControllerDeleteResponse> {
|
|
1148
1518
|
return __request(OpenAPI, {
|
|
1149
1519
|
method: 'DELETE',
|
|
1150
1520
|
url: '/api/v1/{region}/bean/commodities/{symbol}',
|
|
1151
1521
|
path: {
|
|
1522
|
+
symbol: data.symbol,
|
|
1152
1523
|
region: data.region
|
|
1524
|
+
},
|
|
1525
|
+
errors: {
|
|
1526
|
+
404: 'Commodity not found'
|
|
1153
1527
|
}
|
|
1154
1528
|
});
|
|
1155
1529
|
}
|
|
1156
1530
|
|
|
1157
1531
|
/**
|
|
1532
|
+
* Ensure commodity exists
|
|
1533
|
+
* Gets existing commodity or creates it with automatic initialization from OpenBB
|
|
1158
1534
|
* @param data The data for the request.
|
|
1535
|
+
* @param data.symbol Commodity symbol
|
|
1159
1536
|
* @param data.region Region code for tenant context
|
|
1160
|
-
* @returns
|
|
1537
|
+
* @returns CommodityResponseDto Commodity retrieved or created
|
|
1161
1538
|
* @throws ApiError
|
|
1162
1539
|
*/
|
|
1163
|
-
public static
|
|
1164
|
-
data:
|
|
1165
|
-
): CancelablePromise<
|
|
1540
|
+
public static commodityControllerGetOrCreate(
|
|
1541
|
+
data: CommodityControllerGetOrCreateData
|
|
1542
|
+
): CancelablePromise<CommodityControllerGetOrCreateResponse> {
|
|
1166
1543
|
return __request(OpenAPI, {
|
|
1167
1544
|
method: 'POST',
|
|
1168
1545
|
url: '/api/v1/{region}/bean/commodities/{symbol}/ensure',
|
|
1169
1546
|
path: {
|
|
1547
|
+
symbol: data.symbol,
|
|
1170
1548
|
region: data.region
|
|
1171
1549
|
}
|
|
1172
1550
|
});
|
|
1173
1551
|
}
|
|
1174
1552
|
|
|
1175
1553
|
/**
|
|
1554
|
+
* Bulk create commodities
|
|
1555
|
+
* Creates multiple commodities from a list of symbols, useful for initialization
|
|
1176
1556
|
* @param data The data for the request.
|
|
1177
1557
|
* @param data.region Region code for tenant context
|
|
1178
|
-
* @returns
|
|
1558
|
+
* @returns CommodityResponseDto Commodities created successfully
|
|
1179
1559
|
* @throws ApiError
|
|
1180
1560
|
*/
|
|
1181
|
-
public static
|
|
1182
|
-
data:
|
|
1183
|
-
): CancelablePromise<
|
|
1561
|
+
public static commodityControllerBulkCreate(
|
|
1562
|
+
data: CommodityControllerBulkCreateData
|
|
1563
|
+
): CancelablePromise<CommodityControllerBulkCreateResponse> {
|
|
1184
1564
|
return __request(OpenAPI, {
|
|
1185
1565
|
method: 'POST',
|
|
1186
1566
|
url: '/api/v1/{region}/bean/commodities/bulk',
|
|
@@ -1191,21 +1571,197 @@ export class BeanCommoditiesService {
|
|
|
1191
1571
|
}
|
|
1192
1572
|
}
|
|
1193
1573
|
|
|
1574
|
+
export class BeanPricesService {
|
|
1575
|
+
/**
|
|
1576
|
+
* Create a new price
|
|
1577
|
+
* Creates a new price entry for the authenticated user
|
|
1578
|
+
* @param data The data for the request.
|
|
1579
|
+
* @param data.region Region code for tenant context
|
|
1580
|
+
* @param data.requestBody
|
|
1581
|
+
* @returns PriceResponseDto Price created successfully
|
|
1582
|
+
* @throws ApiError
|
|
1583
|
+
*/
|
|
1584
|
+
public static priceControllerCreate(
|
|
1585
|
+
data: PriceControllerCreateData
|
|
1586
|
+
): CancelablePromise<PriceControllerCreateResponse> {
|
|
1587
|
+
return __request(OpenAPI, {
|
|
1588
|
+
method: 'POST',
|
|
1589
|
+
url: '/api/v1/{region}/bean/prices',
|
|
1590
|
+
path: {
|
|
1591
|
+
region: data.region
|
|
1592
|
+
},
|
|
1593
|
+
body: data.requestBody,
|
|
1594
|
+
mediaType: 'application/json',
|
|
1595
|
+
errors: {
|
|
1596
|
+
404: 'Currency or quoteCurrency commodity not found',
|
|
1597
|
+
409: 'Price already exists for this currency pair and date'
|
|
1598
|
+
}
|
|
1599
|
+
});
|
|
1600
|
+
}
|
|
1601
|
+
|
|
1602
|
+
/**
|
|
1603
|
+
* List user prices
|
|
1604
|
+
* Returns all price entries for the authenticated user with optional filtering
|
|
1605
|
+
* @param data The data for the request.
|
|
1606
|
+
* @param data.region Region code for tenant context
|
|
1607
|
+
* @param data.currency Filter by currency (e.g., BTC, AAPL, USD)
|
|
1608
|
+
* @param data.quoteCurrency Filter by quote currency (pricing currency, e.g., USD, CNY)
|
|
1609
|
+
* @param data.dateFrom Filter prices from this date (ISO 8601 format)
|
|
1610
|
+
* @param data.dateTo Filter prices to this date (ISO 8601 format)
|
|
1611
|
+
* @param data.search Search term for currency or quoteCurrency (case-insensitive partial match)
|
|
1612
|
+
* @param data.page Page number for pagination (default: 1)
|
|
1613
|
+
* @param data.limit Number of items per page (default: 20, max: 100)
|
|
1614
|
+
* @returns PriceListResponseDto Prices retrieved successfully
|
|
1615
|
+
* @throws ApiError
|
|
1616
|
+
*/
|
|
1617
|
+
public static priceControllerFindAll(
|
|
1618
|
+
data: PriceControllerFindAllData
|
|
1619
|
+
): CancelablePromise<PriceControllerFindAllResponse> {
|
|
1620
|
+
return __request(OpenAPI, {
|
|
1621
|
+
method: 'GET',
|
|
1622
|
+
url: '/api/v1/{region}/bean/prices',
|
|
1623
|
+
path: {
|
|
1624
|
+
region: data.region
|
|
1625
|
+
},
|
|
1626
|
+
query: {
|
|
1627
|
+
currency: data.currency,
|
|
1628
|
+
quoteCurrency: data.quoteCurrency,
|
|
1629
|
+
dateFrom: data.dateFrom,
|
|
1630
|
+
dateTo: data.dateTo,
|
|
1631
|
+
search: data.search,
|
|
1632
|
+
page: data.page,
|
|
1633
|
+
limit: data.limit
|
|
1634
|
+
}
|
|
1635
|
+
});
|
|
1636
|
+
}
|
|
1637
|
+
|
|
1638
|
+
/**
|
|
1639
|
+
* Get price by ID
|
|
1640
|
+
* Returns a single price entry by its ID
|
|
1641
|
+
* @param data The data for the request.
|
|
1642
|
+
* @param data.id Price ID
|
|
1643
|
+
* @param data.region Region code for tenant context
|
|
1644
|
+
* @returns PriceResponseDto Price retrieved successfully
|
|
1645
|
+
* @throws ApiError
|
|
1646
|
+
*/
|
|
1647
|
+
public static priceControllerFindOne(
|
|
1648
|
+
data: PriceControllerFindOneData
|
|
1649
|
+
): CancelablePromise<PriceControllerFindOneResponse> {
|
|
1650
|
+
return __request(OpenAPI, {
|
|
1651
|
+
method: 'GET',
|
|
1652
|
+
url: '/api/v1/{region}/bean/prices/{id}',
|
|
1653
|
+
path: {
|
|
1654
|
+
id: data.id,
|
|
1655
|
+
region: data.region
|
|
1656
|
+
},
|
|
1657
|
+
errors: {
|
|
1658
|
+
404: 'Price not found'
|
|
1659
|
+
}
|
|
1660
|
+
});
|
|
1661
|
+
}
|
|
1662
|
+
|
|
1663
|
+
/**
|
|
1664
|
+
* Update a price
|
|
1665
|
+
* Updates an existing price entry
|
|
1666
|
+
* @param data The data for the request.
|
|
1667
|
+
* @param data.id Price ID
|
|
1668
|
+
* @param data.region Region code for tenant context
|
|
1669
|
+
* @param data.requestBody
|
|
1670
|
+
* @returns PriceResponseDto Price updated successfully
|
|
1671
|
+
* @throws ApiError
|
|
1672
|
+
*/
|
|
1673
|
+
public static priceControllerUpdate(
|
|
1674
|
+
data: PriceControllerUpdateData
|
|
1675
|
+
): CancelablePromise<PriceControllerUpdateResponse> {
|
|
1676
|
+
return __request(OpenAPI, {
|
|
1677
|
+
method: 'PUT',
|
|
1678
|
+
url: '/api/v1/{region}/bean/prices/{id}',
|
|
1679
|
+
path: {
|
|
1680
|
+
id: data.id,
|
|
1681
|
+
region: data.region
|
|
1682
|
+
},
|
|
1683
|
+
body: data.requestBody,
|
|
1684
|
+
mediaType: 'application/json',
|
|
1685
|
+
errors: {
|
|
1686
|
+
404: 'Price not found',
|
|
1687
|
+
409: 'Updated price conflicts with existing price'
|
|
1688
|
+
}
|
|
1689
|
+
});
|
|
1690
|
+
}
|
|
1691
|
+
|
|
1692
|
+
/**
|
|
1693
|
+
* Delete a price
|
|
1694
|
+
* Deletes a price entry (hard delete)
|
|
1695
|
+
* @param data The data for the request.
|
|
1696
|
+
* @param data.id Price ID
|
|
1697
|
+
* @param data.region Region code for tenant context
|
|
1698
|
+
* @returns void Price deleted successfully
|
|
1699
|
+
* @throws ApiError
|
|
1700
|
+
*/
|
|
1701
|
+
public static priceControllerDelete(
|
|
1702
|
+
data: PriceControllerDeleteData
|
|
1703
|
+
): CancelablePromise<PriceControllerDeleteResponse> {
|
|
1704
|
+
return __request(OpenAPI, {
|
|
1705
|
+
method: 'DELETE',
|
|
1706
|
+
url: '/api/v1/{region}/bean/prices/{id}',
|
|
1707
|
+
path: {
|
|
1708
|
+
id: data.id,
|
|
1709
|
+
region: data.region
|
|
1710
|
+
},
|
|
1711
|
+
errors: {
|
|
1712
|
+
404: 'Price not found'
|
|
1713
|
+
}
|
|
1714
|
+
});
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
/**
|
|
1718
|
+
* Bulk create prices
|
|
1719
|
+
* Creates multiple price entries at once (skips duplicates)
|
|
1720
|
+
* @param data The data for the request.
|
|
1721
|
+
* @param data.region Region code for tenant context
|
|
1722
|
+
* @param data.requestBody
|
|
1723
|
+
* @returns PriceResponseDto Prices created successfully
|
|
1724
|
+
* @throws ApiError
|
|
1725
|
+
*/
|
|
1726
|
+
public static priceControllerBulkCreate(
|
|
1727
|
+
data: PriceControllerBulkCreateData
|
|
1728
|
+
): CancelablePromise<PriceControllerBulkCreateResponse> {
|
|
1729
|
+
return __request(OpenAPI, {
|
|
1730
|
+
method: 'POST',
|
|
1731
|
+
url: '/api/v1/{region}/bean/prices/bulk',
|
|
1732
|
+
path: {
|
|
1733
|
+
region: data.region
|
|
1734
|
+
},
|
|
1735
|
+
body: data.requestBody,
|
|
1736
|
+
mediaType: 'application/json'
|
|
1737
|
+
});
|
|
1738
|
+
}
|
|
1739
|
+
}
|
|
1740
|
+
|
|
1194
1741
|
export class RecurringRulesService {
|
|
1195
1742
|
/**
|
|
1743
|
+
* Create a new recurring rule
|
|
1744
|
+
* Creates a new recurring transaction rule for the authenticated user
|
|
1196
1745
|
* @param data The data for the request.
|
|
1197
1746
|
* @param data.region Region code for tenant context
|
|
1198
|
-
* @
|
|
1747
|
+
* @param data.requestBody
|
|
1748
|
+
* @returns RecurringRuleResponseDto Rule created successfully
|
|
1199
1749
|
* @throws ApiError
|
|
1200
1750
|
*/
|
|
1201
|
-
public static
|
|
1202
|
-
data:
|
|
1203
|
-
): CancelablePromise<
|
|
1751
|
+
public static recurringRuleControllerCreate(
|
|
1752
|
+
data: RecurringRuleControllerCreateData
|
|
1753
|
+
): CancelablePromise<RecurringRuleControllerCreateResponse> {
|
|
1204
1754
|
return __request(OpenAPI, {
|
|
1205
1755
|
method: 'POST',
|
|
1206
1756
|
url: '/api/v1/{region}/bean/recurring-rules',
|
|
1207
1757
|
path: {
|
|
1208
1758
|
region: data.region
|
|
1759
|
+
},
|
|
1760
|
+
body: data.requestBody,
|
|
1761
|
+
mediaType: 'application/json',
|
|
1762
|
+
errors: {
|
|
1763
|
+
400: 'Invalid input data (e.g., autoCreate without accounts)',
|
|
1764
|
+
409: 'Rule with same name already exists'
|
|
1209
1765
|
}
|
|
1210
1766
|
});
|
|
1211
1767
|
}
|
|
@@ -1239,19 +1795,30 @@ export class RecurringRulesService {
|
|
|
1239
1795
|
}
|
|
1240
1796
|
|
|
1241
1797
|
/**
|
|
1798
|
+
* Create recurring rule from transaction
|
|
1799
|
+
* Auto-creates a recurring rule using transaction data. User only confirms frequency.
|
|
1242
1800
|
* @param data The data for the request.
|
|
1801
|
+
* @param data.transactionId Source transaction ID
|
|
1243
1802
|
* @param data.region Region code for tenant context
|
|
1244
|
-
* @
|
|
1803
|
+
* @param data.requestBody
|
|
1804
|
+
* @returns RecurringRuleResponseDto Rule created successfully
|
|
1245
1805
|
* @throws ApiError
|
|
1246
1806
|
*/
|
|
1247
|
-
public static
|
|
1248
|
-
data:
|
|
1249
|
-
): CancelablePromise<
|
|
1807
|
+
public static recurringRuleControllerCreateFromTransaction(
|
|
1808
|
+
data: RecurringRuleControllerCreateFromTransactionData
|
|
1809
|
+
): CancelablePromise<RecurringRuleControllerCreateFromTransactionResponse> {
|
|
1250
1810
|
return __request(OpenAPI, {
|
|
1251
1811
|
method: 'POST',
|
|
1252
1812
|
url: '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}',
|
|
1253
1813
|
path: {
|
|
1814
|
+
transactionId: data.transactionId,
|
|
1254
1815
|
region: data.region
|
|
1816
|
+
},
|
|
1817
|
+
body: data.requestBody,
|
|
1818
|
+
mediaType: 'application/json',
|
|
1819
|
+
errors: {
|
|
1820
|
+
404: 'Transaction not found',
|
|
1821
|
+
409: 'Rule with same name already exists or transaction already linked'
|
|
1255
1822
|
}
|
|
1256
1823
|
});
|
|
1257
1824
|
}
|
|
@@ -1282,37 +1849,55 @@ export class RecurringRulesService {
|
|
|
1282
1849
|
}
|
|
1283
1850
|
|
|
1284
1851
|
/**
|
|
1852
|
+
* Update recurring rule
|
|
1853
|
+
* Updates an existing recurring rule
|
|
1285
1854
|
* @param data The data for the request.
|
|
1855
|
+
* @param data.id Rule ID
|
|
1286
1856
|
* @param data.region Region code for tenant context
|
|
1287
|
-
* @
|
|
1857
|
+
* @param data.requestBody
|
|
1858
|
+
* @returns RecurringRuleResponseDto Rule updated successfully
|
|
1288
1859
|
* @throws ApiError
|
|
1289
1860
|
*/
|
|
1290
|
-
public static
|
|
1291
|
-
data:
|
|
1292
|
-
): CancelablePromise<
|
|
1861
|
+
public static recurringRuleControllerUpdate(
|
|
1862
|
+
data: RecurringRuleControllerUpdateData
|
|
1863
|
+
): CancelablePromise<RecurringRuleControllerUpdateResponse> {
|
|
1293
1864
|
return __request(OpenAPI, {
|
|
1294
1865
|
method: 'PATCH',
|
|
1295
1866
|
url: '/api/v1/{region}/bean/recurring-rules/{id}',
|
|
1296
1867
|
path: {
|
|
1868
|
+
id: data.id,
|
|
1297
1869
|
region: data.region
|
|
1870
|
+
},
|
|
1871
|
+
body: data.requestBody,
|
|
1872
|
+
mediaType: 'application/json',
|
|
1873
|
+
errors: {
|
|
1874
|
+
400: 'Invalid input data',
|
|
1875
|
+
404: 'Rule not found'
|
|
1298
1876
|
}
|
|
1299
1877
|
});
|
|
1300
1878
|
}
|
|
1301
1879
|
|
|
1302
1880
|
/**
|
|
1881
|
+
* Delete recurring rule
|
|
1882
|
+
* Soft deletes a recurring rule (sets isActive to false)
|
|
1303
1883
|
* @param data The data for the request.
|
|
1884
|
+
* @param data.id Rule ID
|
|
1304
1885
|
* @param data.region Region code for tenant context
|
|
1305
|
-
* @returns void
|
|
1886
|
+
* @returns void Rule deleted successfully
|
|
1306
1887
|
* @throws ApiError
|
|
1307
1888
|
*/
|
|
1308
|
-
public static
|
|
1309
|
-
data:
|
|
1310
|
-
): CancelablePromise<
|
|
1889
|
+
public static recurringRuleControllerDelete(
|
|
1890
|
+
data: RecurringRuleControllerDeleteData
|
|
1891
|
+
): CancelablePromise<RecurringRuleControllerDeleteResponse> {
|
|
1311
1892
|
return __request(OpenAPI, {
|
|
1312
1893
|
method: 'DELETE',
|
|
1313
1894
|
url: '/api/v1/{region}/bean/recurring-rules/{id}',
|
|
1314
1895
|
path: {
|
|
1896
|
+
id: data.id,
|
|
1315
1897
|
region: data.region
|
|
1898
|
+
},
|
|
1899
|
+
errors: {
|
|
1900
|
+
404: 'Rule not found'
|
|
1316
1901
|
}
|
|
1317
1902
|
});
|
|
1318
1903
|
}
|
|
@@ -1420,113 +2005,576 @@ export class ExpectedTransactionsService {
|
|
|
1420
2005
|
}
|
|
1421
2006
|
|
|
1422
2007
|
/**
|
|
2008
|
+
* Skip expected transaction
|
|
2009
|
+
* Marks an expected transaction as skipped (PENDING -> SKIPPED)
|
|
1423
2010
|
* @param data The data for the request.
|
|
2011
|
+
* @param data.id Expected transaction ID
|
|
1424
2012
|
* @param data.region Region code for tenant context
|
|
1425
|
-
* @returns
|
|
2013
|
+
* @returns ExpectedTransactionResponseDto Expected transaction skipped successfully
|
|
1426
2014
|
* @throws ApiError
|
|
1427
2015
|
*/
|
|
1428
|
-
public static
|
|
1429
|
-
data:
|
|
1430
|
-
): CancelablePromise<
|
|
2016
|
+
public static expectedTransactionControllerSkip(
|
|
2017
|
+
data: ExpectedTransactionControllerSkipData
|
|
2018
|
+
): CancelablePromise<ExpectedTransactionControllerSkipResponse> {
|
|
1431
2019
|
return __request(OpenAPI, {
|
|
1432
2020
|
method: 'POST',
|
|
1433
2021
|
url: '/api/v1/{region}/bean/expected-transactions/{id}/skip',
|
|
1434
2022
|
path: {
|
|
2023
|
+
id: data.id,
|
|
1435
2024
|
region: data.region
|
|
2025
|
+
},
|
|
2026
|
+
errors: {
|
|
2027
|
+
400: 'Cannot skip - not in PENDING status',
|
|
2028
|
+
404: 'Expected transaction not found'
|
|
1436
2029
|
}
|
|
1437
2030
|
});
|
|
1438
2031
|
}
|
|
1439
2032
|
|
|
1440
2033
|
/**
|
|
2034
|
+
* Undo skip
|
|
2035
|
+
* Reverses a skip operation (SKIPPED -> PENDING)
|
|
1441
2036
|
* @param data The data for the request.
|
|
2037
|
+
* @param data.id Expected transaction ID
|
|
1442
2038
|
* @param data.region Region code for tenant context
|
|
1443
|
-
* @returns
|
|
2039
|
+
* @returns ExpectedTransactionResponseDto Skip undone successfully
|
|
1444
2040
|
* @throws ApiError
|
|
1445
2041
|
*/
|
|
1446
|
-
public static
|
|
1447
|
-
data:
|
|
1448
|
-
): CancelablePromise<
|
|
2042
|
+
public static expectedTransactionControllerUndoSkip(
|
|
2043
|
+
data: ExpectedTransactionControllerUndoSkipData
|
|
2044
|
+
): CancelablePromise<ExpectedTransactionControllerUndoSkipResponse> {
|
|
1449
2045
|
return __request(OpenAPI, {
|
|
1450
2046
|
method: 'DELETE',
|
|
1451
2047
|
url: '/api/v1/{region}/bean/expected-transactions/{id}/skip',
|
|
1452
2048
|
path: {
|
|
2049
|
+
id: data.id,
|
|
1453
2050
|
region: data.region
|
|
2051
|
+
},
|
|
2052
|
+
errors: {
|
|
2053
|
+
400: 'Cannot undo - not in SKIPPED status',
|
|
2054
|
+
404: 'Expected transaction not found'
|
|
1454
2055
|
}
|
|
1455
2056
|
});
|
|
1456
2057
|
}
|
|
1457
2058
|
|
|
1458
2059
|
/**
|
|
2060
|
+
* Confirm transaction match
|
|
2061
|
+
* Manually matches an expected transaction with an actual transaction
|
|
1459
2062
|
* @param data The data for the request.
|
|
2063
|
+
* @param data.id Expected transaction ID
|
|
1460
2064
|
* @param data.region Region code for tenant context
|
|
1461
|
-
* @
|
|
2065
|
+
* @param data.requestBody
|
|
2066
|
+
* @returns unknown Match confirmed successfully
|
|
1462
2067
|
* @throws ApiError
|
|
1463
2068
|
*/
|
|
1464
|
-
public static
|
|
1465
|
-
data:
|
|
1466
|
-
): CancelablePromise<
|
|
2069
|
+
public static expectedTransactionControllerConfirmMatch(
|
|
2070
|
+
data: ExpectedTransactionControllerConfirmMatchData
|
|
2071
|
+
): CancelablePromise<ExpectedTransactionControllerConfirmMatchResponse> {
|
|
1467
2072
|
return __request(OpenAPI, {
|
|
1468
2073
|
method: 'POST',
|
|
1469
2074
|
url: '/api/v1/{region}/bean/expected-transactions/{id}/match',
|
|
1470
2075
|
path: {
|
|
2076
|
+
id: data.id,
|
|
1471
2077
|
region: data.region
|
|
2078
|
+
},
|
|
2079
|
+
body: data.requestBody,
|
|
2080
|
+
mediaType: 'application/json',
|
|
2081
|
+
errors: {
|
|
2082
|
+
400: 'Cannot match - not in PENDING status',
|
|
2083
|
+
404: 'Expected or actual transaction not found',
|
|
2084
|
+
409: 'Actual transaction already matched to another rule'
|
|
1472
2085
|
}
|
|
1473
2086
|
});
|
|
1474
2087
|
}
|
|
1475
2088
|
|
|
1476
2089
|
/**
|
|
2090
|
+
* Unmatch transaction
|
|
2091
|
+
* Removes the match between expected and actual transaction (COMPLETED -> PENDING)
|
|
1477
2092
|
* @param data The data for the request.
|
|
2093
|
+
* @param data.id Expected transaction ID
|
|
1478
2094
|
* @param data.region Region code for tenant context
|
|
1479
|
-
* @returns unknown
|
|
2095
|
+
* @returns unknown Match removed successfully
|
|
1480
2096
|
* @throws ApiError
|
|
1481
2097
|
*/
|
|
1482
|
-
public static
|
|
1483
|
-
data:
|
|
1484
|
-
): CancelablePromise<
|
|
2098
|
+
public static expectedTransactionControllerUnmatch(
|
|
2099
|
+
data: ExpectedTransactionControllerUnmatchData
|
|
2100
|
+
): CancelablePromise<ExpectedTransactionControllerUnmatchResponse> {
|
|
1485
2101
|
return __request(OpenAPI, {
|
|
1486
2102
|
method: 'DELETE',
|
|
1487
2103
|
url: '/api/v1/{region}/bean/expected-transactions/{id}/match',
|
|
1488
2104
|
path: {
|
|
2105
|
+
id: data.id,
|
|
1489
2106
|
region: data.region
|
|
2107
|
+
},
|
|
2108
|
+
errors: {
|
|
2109
|
+
400: 'Cannot unmatch - not in COMPLETED status',
|
|
2110
|
+
404: 'Expected transaction not found'
|
|
1490
2111
|
}
|
|
1491
2112
|
});
|
|
1492
2113
|
}
|
|
1493
2114
|
|
|
1494
2115
|
/**
|
|
2116
|
+
* Enter Now
|
|
2117
|
+
* Creates an actual transaction for an expected transaction (YNAB-style Enter Now)
|
|
1495
2118
|
* @param data The data for the request.
|
|
2119
|
+
* @param data.id Expected transaction ID
|
|
1496
2120
|
* @param data.region Region code for tenant context
|
|
1497
|
-
* @
|
|
2121
|
+
* @param data.requestBody
|
|
2122
|
+
* @returns unknown Transaction created successfully
|
|
2123
|
+
* @throws ApiError
|
|
2124
|
+
*/
|
|
2125
|
+
public static expectedTransactionControllerEnterNow(
|
|
2126
|
+
data: ExpectedTransactionControllerEnterNowData
|
|
2127
|
+
): CancelablePromise<ExpectedTransactionControllerEnterNowResponse> {
|
|
2128
|
+
return __request(OpenAPI, {
|
|
2129
|
+
method: 'POST',
|
|
2130
|
+
url: '/api/v1/{region}/bean/expected-transactions/{id}/enter',
|
|
2131
|
+
path: {
|
|
2132
|
+
id: data.id,
|
|
2133
|
+
region: data.region
|
|
2134
|
+
},
|
|
2135
|
+
body: data.requestBody,
|
|
2136
|
+
mediaType: 'application/json',
|
|
2137
|
+
errors: {
|
|
2138
|
+
400: 'Cannot enter - not in PENDING status or missing accounts',
|
|
2139
|
+
404: 'Expected transaction or accounts not found'
|
|
2140
|
+
}
|
|
2141
|
+
});
|
|
2142
|
+
}
|
|
2143
|
+
}
|
|
2144
|
+
|
|
2145
|
+
export class RecurringForecastService {
|
|
2146
|
+
/**
|
|
2147
|
+
* Get cash flow forecast
|
|
2148
|
+
* Returns predicted outflows for the next N months based on active recurring rules
|
|
2149
|
+
* @param data The data for the request.
|
|
2150
|
+
* @param data.region Region code for tenant context
|
|
2151
|
+
* @param data.months Number of months to forecast (1-12, default 3)
|
|
2152
|
+
* @returns ForecastResponseDto Forecast retrieved successfully
|
|
2153
|
+
* @throws ApiError
|
|
2154
|
+
*/
|
|
2155
|
+
public static forecastControllerGetForecast(
|
|
2156
|
+
data: ForecastControllerGetForecastData
|
|
2157
|
+
): CancelablePromise<ForecastControllerGetForecastResponse> {
|
|
2158
|
+
return __request(OpenAPI, {
|
|
2159
|
+
method: 'GET',
|
|
2160
|
+
url: '/api/v1/{region}/bean/recurring/forecast',
|
|
2161
|
+
path: {
|
|
2162
|
+
region: data.region
|
|
2163
|
+
},
|
|
2164
|
+
query: {
|
|
2165
|
+
months: data.months
|
|
2166
|
+
}
|
|
2167
|
+
});
|
|
2168
|
+
}
|
|
2169
|
+
}
|
|
2170
|
+
|
|
2171
|
+
export class ReportingService {
|
|
2172
|
+
/**
|
|
2173
|
+
* Get portfolio value trends
|
|
2174
|
+
*
|
|
2175
|
+
* Returns time series data of portfolio net worth.
|
|
2176
|
+
*
|
|
2177
|
+
* **Multi-currency Support:**
|
|
2178
|
+
* - `series[].byCurrency` - Currency breakdown for each data point
|
|
2179
|
+
* - `byCurrency` - Separate time series grouped by currency
|
|
2180
|
+
* - `warnings` - Exchange rate warnings if conversion failed
|
|
2181
|
+
*
|
|
2182
|
+
* **Parameters:**
|
|
2183
|
+
* - `period`: Time period (1m, 3m, 6m, 1y)
|
|
2184
|
+
* - `granularity`: Data granularity (day, week, month)
|
|
2185
|
+
*
|
|
2186
|
+
* @param data The data for the request.
|
|
2187
|
+
* @param data.region Region code for tenant context
|
|
2188
|
+
* @param data.period Time period
|
|
2189
|
+
* @param data.granularity Data granularity
|
|
2190
|
+
* @returns PortfolioTrendsResponseDto Trends retrieved successfully
|
|
2191
|
+
* @throws ApiError
|
|
2192
|
+
*/
|
|
2193
|
+
public static reportingControllerGetPortfolioTrends(
|
|
2194
|
+
data: ReportingControllerGetPortfolioTrendsData
|
|
2195
|
+
): CancelablePromise<ReportingControllerGetPortfolioTrendsResponse> {
|
|
2196
|
+
return __request(OpenAPI, {
|
|
2197
|
+
method: 'GET',
|
|
2198
|
+
url: '/api/v1/{region}/reporting/portfolio/trends',
|
|
2199
|
+
path: {
|
|
2200
|
+
region: data.region
|
|
2201
|
+
},
|
|
2202
|
+
query: {
|
|
2203
|
+
period: data.period,
|
|
2204
|
+
granularity: data.granularity
|
|
2205
|
+
},
|
|
2206
|
+
errors: {
|
|
2207
|
+
401: 'User not authenticated'
|
|
2208
|
+
}
|
|
2209
|
+
});
|
|
2210
|
+
}
|
|
2211
|
+
|
|
2212
|
+
/**
|
|
2213
|
+
* Get cash-flow trends
|
|
2214
|
+
*
|
|
2215
|
+
* Monthly income / expense / netSavings over a fixed N-month window
|
|
2216
|
+
* (current month + N−1 prior). Missing months are zero-filled (flow metric).
|
|
2217
|
+
*
|
|
2218
|
+
* **Parameters:**
|
|
2219
|
+
* - `period`: 1m | 3m | 6m | 1y (default 6m)
|
|
2220
|
+
* - `granularity`: accepted for API symmetry; v1 returns month buckets
|
|
2221
|
+
*
|
|
2222
|
+
* @param data The data for the request.
|
|
2223
|
+
* @param data.region Region code for tenant context
|
|
2224
|
+
* @param data.period Time period
|
|
2225
|
+
* @param data.granularity Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
2226
|
+
* @returns CashFlowTrendsResponseDto Cash-flow trends retrieved successfully
|
|
2227
|
+
* @throws ApiError
|
|
2228
|
+
*/
|
|
2229
|
+
public static reportingControllerGetCashFlowTrends(
|
|
2230
|
+
data: ReportingControllerGetCashFlowTrendsData
|
|
2231
|
+
): CancelablePromise<ReportingControllerGetCashFlowTrendsResponse> {
|
|
2232
|
+
return __request(OpenAPI, {
|
|
2233
|
+
method: 'GET',
|
|
2234
|
+
url: '/api/v1/{region}/reporting/cash-flow/trends',
|
|
2235
|
+
path: {
|
|
2236
|
+
region: data.region
|
|
2237
|
+
},
|
|
2238
|
+
query: {
|
|
2239
|
+
period: data.period,
|
|
2240
|
+
granularity: data.granularity
|
|
2241
|
+
},
|
|
2242
|
+
errors: {
|
|
2243
|
+
401: 'User not authenticated'
|
|
2244
|
+
}
|
|
2245
|
+
});
|
|
2246
|
+
}
|
|
2247
|
+
|
|
2248
|
+
/**
|
|
2249
|
+
* Generate portfolio snapshot
|
|
2250
|
+
*
|
|
2251
|
+
* Manually generate a portfolio snapshot for a specific date.
|
|
2252
|
+
*
|
|
2253
|
+
* **Multi-currency Support:**
|
|
2254
|
+
* - Fetches balances grouped by currency
|
|
2255
|
+
* - Uses user's baseCurrency setting for conversion
|
|
2256
|
+
* - Stores exchange rates and warnings
|
|
2257
|
+
*
|
|
2258
|
+
* **Use Cases:**
|
|
2259
|
+
* - Testing snapshot generation
|
|
2260
|
+
* - Force regeneration after data correction
|
|
2261
|
+
* - Initial setup for new users
|
|
2262
|
+
*
|
|
2263
|
+
* @param data The data for the request.
|
|
2264
|
+
* @param data.region Region code for tenant context
|
|
2265
|
+
* @param data.requestBody Optional date (defaults to today)
|
|
2266
|
+
* @returns GenerateSnapshotResponse Snapshot generated successfully
|
|
2267
|
+
* @throws ApiError
|
|
2268
|
+
*/
|
|
2269
|
+
public static reportingControllerGenerateSnapshot(
|
|
2270
|
+
data: ReportingControllerGenerateSnapshotData
|
|
2271
|
+
): CancelablePromise<ReportingControllerGenerateSnapshotResponse> {
|
|
2272
|
+
return __request(OpenAPI, {
|
|
2273
|
+
method: 'POST',
|
|
2274
|
+
url: '/api/v1/{region}/reporting/snapshots/generate',
|
|
2275
|
+
path: {
|
|
2276
|
+
region: data.region
|
|
2277
|
+
},
|
|
2278
|
+
body: data.requestBody,
|
|
2279
|
+
mediaType: 'application/json',
|
|
2280
|
+
errors: {
|
|
2281
|
+
400: 'Invalid date format',
|
|
2282
|
+
401: 'User not authenticated'
|
|
2283
|
+
}
|
|
2284
|
+
});
|
|
2285
|
+
}
|
|
2286
|
+
|
|
2287
|
+
/**
|
|
2288
|
+
* Backfill portfolio snapshots
|
|
2289
|
+
*
|
|
2290
|
+
* Generate snapshots for a date range (historical data backfill).
|
|
2291
|
+
*
|
|
2292
|
+
* **Multi-currency Support:**
|
|
2293
|
+
* - Each snapshot includes multi-currency data
|
|
2294
|
+
* - Uses exchange rates available at generation time
|
|
2295
|
+
* - Warnings stored for missing exchange rates
|
|
2296
|
+
*
|
|
2297
|
+
* **Best Practices:**
|
|
2298
|
+
* - Use for initial setup after account configuration
|
|
2299
|
+
* - Run during low-traffic periods for large date ranges
|
|
2300
|
+
* - Existing snapshots are skipped (not regenerated)
|
|
2301
|
+
*
|
|
2302
|
+
* @param data The data for the request.
|
|
2303
|
+
* @param data.region Region code for tenant context
|
|
2304
|
+
* @param data.requestBody
|
|
2305
|
+
* @returns BackfillSnapshotsResponse Backfill completed successfully
|
|
2306
|
+
* @throws ApiError
|
|
2307
|
+
*/
|
|
2308
|
+
public static reportingControllerBackfillSnapshots(
|
|
2309
|
+
data: ReportingControllerBackfillSnapshotsData
|
|
2310
|
+
): CancelablePromise<ReportingControllerBackfillSnapshotsResponse> {
|
|
2311
|
+
return __request(OpenAPI, {
|
|
2312
|
+
method: 'POST',
|
|
2313
|
+
url: '/api/v1/{region}/reporting/snapshots/backfill',
|
|
2314
|
+
path: {
|
|
2315
|
+
region: data.region
|
|
2316
|
+
},
|
|
2317
|
+
body: data.requestBody,
|
|
2318
|
+
mediaType: 'application/json',
|
|
2319
|
+
errors: {
|
|
2320
|
+
400: 'Invalid date format or range',
|
|
2321
|
+
401: 'User not authenticated',
|
|
2322
|
+
409: 'Backfill already in progress for this user'
|
|
2323
|
+
}
|
|
2324
|
+
});
|
|
2325
|
+
}
|
|
2326
|
+
}
|
|
2327
|
+
|
|
2328
|
+
export class UsersService {
|
|
2329
|
+
/**
|
|
2330
|
+
* Delete own user account
|
|
2331
|
+
* @param data The data for the request.
|
|
2332
|
+
* @param data.requestBody
|
|
2333
|
+
* @returns void User deleted successfully
|
|
2334
|
+
* @throws ApiError
|
|
2335
|
+
*/
|
|
2336
|
+
public static userControllerDeleteOwnUser(
|
|
2337
|
+
data: UserControllerDeleteOwnUserData
|
|
2338
|
+
): CancelablePromise<UserControllerDeleteOwnUserResponse> {
|
|
2339
|
+
return __request(OpenAPI, {
|
|
2340
|
+
method: 'DELETE',
|
|
2341
|
+
url: '/api/v1/users',
|
|
2342
|
+
body: data.requestBody,
|
|
2343
|
+
mediaType: 'application/json',
|
|
2344
|
+
errors: {
|
|
2345
|
+
403: 'Invalid access token'
|
|
2346
|
+
}
|
|
2347
|
+
});
|
|
2348
|
+
}
|
|
2349
|
+
|
|
2350
|
+
/**
|
|
2351
|
+
* Get current authenticated user
|
|
2352
|
+
* @param data The data for the request.
|
|
2353
|
+
* @param data.acceptLanguage
|
|
2354
|
+
* @returns UserResponseDto User retrieved successfully
|
|
2355
|
+
* @throws ApiError
|
|
2356
|
+
*/
|
|
2357
|
+
public static userControllerGetUser(
|
|
2358
|
+
data: UserControllerGetUserData
|
|
2359
|
+
): CancelablePromise<UserControllerGetUserResponse> {
|
|
2360
|
+
return __request(OpenAPI, {
|
|
2361
|
+
method: 'GET',
|
|
2362
|
+
url: '/api/v1/users',
|
|
2363
|
+
headers: {
|
|
2364
|
+
'accept-language': data.acceptLanguage
|
|
2365
|
+
}
|
|
2366
|
+
});
|
|
2367
|
+
}
|
|
2368
|
+
|
|
2369
|
+
/**
|
|
2370
|
+
* Sign up new user
|
|
2371
|
+
* Create a new account with auto-generated access token. Protected by Cloudflare Turnstile to prevent automated signup (when enabled).
|
|
2372
|
+
* @param data The data for the request.
|
|
2373
|
+
* @param data.requestBody
|
|
2374
|
+
* @returns SignupResponseDto User created successfully
|
|
2375
|
+
* @throws ApiError
|
|
2376
|
+
*/
|
|
2377
|
+
public static userControllerSignupUser(
|
|
2378
|
+
data: UserControllerSignupUserData
|
|
2379
|
+
): CancelablePromise<UserControllerSignupUserResponse> {
|
|
2380
|
+
return __request(OpenAPI, {
|
|
2381
|
+
method: 'POST',
|
|
2382
|
+
url: '/api/v1/users',
|
|
2383
|
+
body: data.requestBody,
|
|
2384
|
+
mediaType: 'application/json',
|
|
2385
|
+
errors: {
|
|
2386
|
+
400: 'Invalid Turnstile token (when Turnstile is enabled)',
|
|
2387
|
+
403: 'User signup is disabled'
|
|
2388
|
+
}
|
|
2389
|
+
});
|
|
2390
|
+
}
|
|
2391
|
+
|
|
2392
|
+
/**
|
|
2393
|
+
* Delete user by ID (admin only)
|
|
2394
|
+
* @param data The data for the request.
|
|
2395
|
+
* @param data.id User ID to delete
|
|
2396
|
+
* @returns void User deleted successfully
|
|
2397
|
+
* @throws ApiError
|
|
2398
|
+
*/
|
|
2399
|
+
public static userControllerDeleteUser(
|
|
2400
|
+
data: UserControllerDeleteUserData
|
|
2401
|
+
): CancelablePromise<UserControllerDeleteUserResponse> {
|
|
2402
|
+
return __request(OpenAPI, {
|
|
2403
|
+
method: 'DELETE',
|
|
2404
|
+
url: '/api/v1/users/{id}',
|
|
2405
|
+
path: {
|
|
2406
|
+
id: data.id
|
|
2407
|
+
},
|
|
2408
|
+
errors: {
|
|
2409
|
+
403: 'Cannot delete own account or insufficient permissions'
|
|
2410
|
+
}
|
|
2411
|
+
});
|
|
2412
|
+
}
|
|
2413
|
+
|
|
2414
|
+
/**
|
|
2415
|
+
* Get user info by user ID
|
|
2416
|
+
* @param data The data for the request.
|
|
2417
|
+
* @param data.id User ID
|
|
2418
|
+
* @returns unknown User info retrieved successfully
|
|
2419
|
+
* @throws ApiError
|
|
2420
|
+
*/
|
|
2421
|
+
public static userControllerGetUserInfo(
|
|
2422
|
+
data: UserControllerGetUserInfoData
|
|
2423
|
+
): CancelablePromise<UserControllerGetUserInfoResponse> {
|
|
2424
|
+
return __request(OpenAPI, {
|
|
2425
|
+
method: 'GET',
|
|
2426
|
+
url: '/api/v1/users/{id}/info',
|
|
2427
|
+
path: {
|
|
2428
|
+
id: data.id
|
|
2429
|
+
},
|
|
2430
|
+
errors: {
|
|
2431
|
+
403: 'Cannot access other user info without admin permission'
|
|
2432
|
+
}
|
|
2433
|
+
});
|
|
2434
|
+
}
|
|
2435
|
+
|
|
2436
|
+
/**
|
|
2437
|
+
* Update user settings
|
|
2438
|
+
* @param data The data for the request.
|
|
2439
|
+
* @param data.requestBody
|
|
2440
|
+
* @returns unknown Settings updated successfully
|
|
2441
|
+
* @throws ApiError
|
|
2442
|
+
*/
|
|
2443
|
+
public static userControllerUpdateUserSetting(
|
|
2444
|
+
data: UserControllerUpdateUserSettingData
|
|
2445
|
+
): CancelablePromise<UserControllerUpdateUserSettingResponse> {
|
|
2446
|
+
return __request(OpenAPI, {
|
|
2447
|
+
method: 'PUT',
|
|
2448
|
+
url: '/api/v1/users/setting',
|
|
2449
|
+
body: data.requestBody,
|
|
2450
|
+
mediaType: 'application/json',
|
|
2451
|
+
errors: {
|
|
2452
|
+
403: 'Insufficient permissions'
|
|
2453
|
+
}
|
|
2454
|
+
});
|
|
2455
|
+
}
|
|
2456
|
+
|
|
2457
|
+
/**
|
|
2458
|
+
* Get all user settings paginated (admin only)
|
|
2459
|
+
* @param data The data for the request.
|
|
2460
|
+
* @param data.pageNo Page number
|
|
2461
|
+
* @param data.pageSize Page size
|
|
2462
|
+
* @returns unknown Settings list retrieved successfully
|
|
2463
|
+
* @throws ApiError
|
|
2464
|
+
*/
|
|
2465
|
+
public static userControllerGetAllUserSettingsByPage(
|
|
2466
|
+
data: UserControllerGetAllUserSettingsByPageData
|
|
2467
|
+
): CancelablePromise<UserControllerGetAllUserSettingsByPageResponse> {
|
|
2468
|
+
return __request(OpenAPI, {
|
|
2469
|
+
method: 'GET',
|
|
2470
|
+
url: '/api/v1/users/settings-by-page',
|
|
2471
|
+
query: {
|
|
2472
|
+
pageNo: data.pageNo,
|
|
2473
|
+
pageSize: data.pageSize
|
|
2474
|
+
}
|
|
2475
|
+
});
|
|
2476
|
+
}
|
|
2477
|
+
|
|
2478
|
+
/**
|
|
2479
|
+
* Get asset and liability summary for current user
|
|
2480
|
+
* @returns unknown Summary retrieved successfully
|
|
1498
2481
|
* @throws ApiError
|
|
1499
2482
|
*/
|
|
1500
|
-
public static
|
|
1501
|
-
data: ExpectedTransactionController4Data
|
|
1502
|
-
): CancelablePromise<ExpectedTransactionController4Response> {
|
|
2483
|
+
public static userControllerGetAssetLiabilitySummary(): CancelablePromise<UserControllerGetAssetLiabilitySummaryResponse> {
|
|
1503
2484
|
return __request(OpenAPI, {
|
|
1504
|
-
method: '
|
|
1505
|
-
url: '/api/v1/
|
|
1506
|
-
path: {
|
|
1507
|
-
region: data.region
|
|
1508
|
-
}
|
|
2485
|
+
method: 'GET',
|
|
2486
|
+
url: '/api/v1/users/asset-liability-summary'
|
|
1509
2487
|
});
|
|
1510
2488
|
}
|
|
1511
2489
|
}
|
|
1512
2490
|
|
|
1513
|
-
export class
|
|
2491
|
+
export class PropertiesService {
|
|
1514
2492
|
/**
|
|
1515
|
-
* Get
|
|
1516
|
-
*
|
|
2493
|
+
* Get all system properties
|
|
2494
|
+
* @returns unknown Properties retrieved successfully
|
|
2495
|
+
* @throws ApiError
|
|
2496
|
+
*/
|
|
2497
|
+
public static propertyControllerGetAll(): CancelablePromise<PropertyControllerGetAllResponse> {
|
|
2498
|
+
return __request(OpenAPI, {
|
|
2499
|
+
method: 'GET',
|
|
2500
|
+
url: '/api/v1/admin/properties',
|
|
2501
|
+
errors: {
|
|
2502
|
+
401: 'Unauthorized',
|
|
2503
|
+
403: 'Forbidden - insufficient permissions'
|
|
2504
|
+
}
|
|
2505
|
+
});
|
|
2506
|
+
}
|
|
2507
|
+
|
|
2508
|
+
/**
|
|
2509
|
+
* Get property by key
|
|
1517
2510
|
* @param data The data for the request.
|
|
1518
|
-
* @param data.
|
|
1519
|
-
* @returns
|
|
2511
|
+
* @param data.key Property key
|
|
2512
|
+
* @returns unknown Property retrieved successfully
|
|
1520
2513
|
* @throws ApiError
|
|
1521
2514
|
*/
|
|
1522
|
-
public static
|
|
1523
|
-
data:
|
|
1524
|
-
): CancelablePromise<
|
|
2515
|
+
public static propertyControllerGetByKey(
|
|
2516
|
+
data: PropertyControllerGetByKeyData
|
|
2517
|
+
): CancelablePromise<PropertyControllerGetByKeyResponse> {
|
|
1525
2518
|
return __request(OpenAPI, {
|
|
1526
2519
|
method: 'GET',
|
|
1527
|
-
url: '/api/v1/{
|
|
1528
|
-
|
|
1529
|
-
|
|
2520
|
+
url: '/api/v1/admin/properties/{key}',
|
|
2521
|
+
path: {
|
|
2522
|
+
key: data.key
|
|
2523
|
+
},
|
|
2524
|
+
errors: {
|
|
2525
|
+
401: 'Unauthorized',
|
|
2526
|
+
403: 'Forbidden - insufficient permissions',
|
|
2527
|
+
404: 'Property not found'
|
|
2528
|
+
}
|
|
2529
|
+
});
|
|
2530
|
+
}
|
|
2531
|
+
|
|
2532
|
+
/**
|
|
2533
|
+
* Update a system property
|
|
2534
|
+
* @param data The data for the request.
|
|
2535
|
+
* @param data.key Property key
|
|
2536
|
+
* @param data.requestBody
|
|
2537
|
+
* @returns unknown Property updated successfully
|
|
2538
|
+
* @throws ApiError
|
|
2539
|
+
*/
|
|
2540
|
+
public static propertyControllerUpdate(
|
|
2541
|
+
data: PropertyControllerUpdateData
|
|
2542
|
+
): CancelablePromise<PropertyControllerUpdateResponse> {
|
|
2543
|
+
return __request(OpenAPI, {
|
|
2544
|
+
method: 'PUT',
|
|
2545
|
+
url: '/api/v1/admin/properties/{key}',
|
|
2546
|
+
path: {
|
|
2547
|
+
key: data.key
|
|
2548
|
+
},
|
|
2549
|
+
body: data.requestBody,
|
|
2550
|
+
mediaType: 'application/json',
|
|
2551
|
+
errors: {
|
|
2552
|
+
401: 'Unauthorized',
|
|
2553
|
+
403: 'Forbidden - insufficient permissions'
|
|
2554
|
+
}
|
|
2555
|
+
});
|
|
2556
|
+
}
|
|
2557
|
+
|
|
2558
|
+
/**
|
|
2559
|
+
* Delete a system property
|
|
2560
|
+
* @param data The data for the request.
|
|
2561
|
+
* @param data.key Property key
|
|
2562
|
+
* @returns void Property deleted successfully
|
|
2563
|
+
* @throws ApiError
|
|
2564
|
+
*/
|
|
2565
|
+
public static propertyControllerDelete(
|
|
2566
|
+
data: PropertyControllerDeleteData
|
|
2567
|
+
): CancelablePromise<PropertyControllerDeleteResponse> {
|
|
2568
|
+
return __request(OpenAPI, {
|
|
2569
|
+
method: 'DELETE',
|
|
2570
|
+
url: '/api/v1/admin/properties/{key}',
|
|
2571
|
+
path: {
|
|
2572
|
+
key: data.key
|
|
2573
|
+
},
|
|
2574
|
+
errors: {
|
|
2575
|
+
401: 'Unauthorized',
|
|
2576
|
+
403: 'Forbidden - insufficient permissions',
|
|
2577
|
+
404: 'Property not found'
|
|
1530
2578
|
}
|
|
1531
2579
|
});
|
|
1532
2580
|
}
|
|
@@ -1534,19 +2582,29 @@ export class RecurringForecastService {
|
|
|
1534
2582
|
|
|
1535
2583
|
export class BeanTransactionRulesService {
|
|
1536
2584
|
/**
|
|
2585
|
+
* Create a new transaction rule (or upsert if upsertByPayee=true)
|
|
2586
|
+
* Creates a new rule. If upsertByPayee=true, updates existing rule matching payeeKeywords[0] instead of creating duplicate.
|
|
1537
2587
|
* @param data The data for the request.
|
|
1538
2588
|
* @param data.region Region code for tenant context
|
|
1539
|
-
* @
|
|
2589
|
+
* @param data.requestBody
|
|
2590
|
+
* @returns TransactionRuleResponseDto Rule updated successfully (upsert mode)
|
|
1540
2591
|
* @throws ApiError
|
|
1541
2592
|
*/
|
|
1542
|
-
public static
|
|
1543
|
-
data:
|
|
1544
|
-
): CancelablePromise<
|
|
2593
|
+
public static transactionRuleControllerCreate(
|
|
2594
|
+
data: TransactionRuleControllerCreateData
|
|
2595
|
+
): CancelablePromise<TransactionRuleControllerCreateResponse> {
|
|
1545
2596
|
return __request(OpenAPI, {
|
|
1546
2597
|
method: 'POST',
|
|
1547
2598
|
url: '/api/v1/{region}/bean/transaction-rules',
|
|
1548
2599
|
path: {
|
|
1549
2600
|
region: data.region
|
|
2601
|
+
},
|
|
2602
|
+
body: data.requestBody,
|
|
2603
|
+
mediaType: 'application/json',
|
|
2604
|
+
errors: {
|
|
2605
|
+
400: 'Validation failed',
|
|
2606
|
+
401: 'Unauthorized',
|
|
2607
|
+
409: 'Resource conflict - another process is updating this rule'
|
|
1550
2608
|
}
|
|
1551
2609
|
});
|
|
1552
2610
|
}
|
|
@@ -1605,25 +2663,34 @@ export class BeanTransactionRulesService {
|
|
|
1605
2663
|
body: data.requestBody,
|
|
1606
2664
|
mediaType: 'application/json',
|
|
1607
2665
|
errors: {
|
|
2666
|
+
400: 'Validation failed',
|
|
1608
2667
|
401: 'Unauthorized'
|
|
1609
2668
|
}
|
|
1610
2669
|
});
|
|
1611
2670
|
}
|
|
1612
2671
|
|
|
1613
2672
|
/**
|
|
2673
|
+
* Bulk create transaction rules
|
|
1614
2674
|
* @param data The data for the request.
|
|
1615
2675
|
* @param data.region Region code for tenant context
|
|
1616
|
-
* @
|
|
2676
|
+
* @param data.requestBody
|
|
2677
|
+
* @returns BulkCreateRulesResponseDto Bulk create completed
|
|
1617
2678
|
* @throws ApiError
|
|
1618
2679
|
*/
|
|
1619
|
-
public static
|
|
1620
|
-
data:
|
|
1621
|
-
): CancelablePromise<
|
|
2680
|
+
public static transactionRuleControllerBulkCreate(
|
|
2681
|
+
data: TransactionRuleControllerBulkCreateData
|
|
2682
|
+
): CancelablePromise<TransactionRuleControllerBulkCreateResponse> {
|
|
1622
2683
|
return __request(OpenAPI, {
|
|
1623
2684
|
method: 'POST',
|
|
1624
2685
|
url: '/api/v1/{region}/bean/transaction-rules/bulk',
|
|
1625
2686
|
path: {
|
|
1626
2687
|
region: data.region
|
|
2688
|
+
},
|
|
2689
|
+
body: data.requestBody,
|
|
2690
|
+
mediaType: 'application/json',
|
|
2691
|
+
errors: {
|
|
2692
|
+
400: 'Invalid bulk create data',
|
|
2693
|
+
401: 'Unauthorized'
|
|
1627
2694
|
}
|
|
1628
2695
|
});
|
|
1629
2696
|
}
|
|
@@ -1704,37 +2771,59 @@ export class BeanTransactionRulesService {
|
|
|
1704
2771
|
}
|
|
1705
2772
|
|
|
1706
2773
|
/**
|
|
2774
|
+
* Update a transaction rule
|
|
1707
2775
|
* @param data The data for the request.
|
|
2776
|
+
* @param data.ruleId Rule ID to update
|
|
1708
2777
|
* @param data.region Region code for tenant context
|
|
1709
|
-
* @
|
|
2778
|
+
* @param data.requestBody
|
|
2779
|
+
* @returns TransactionRuleResponseDto Rule updated successfully
|
|
1710
2780
|
* @throws ApiError
|
|
1711
2781
|
*/
|
|
1712
|
-
public static
|
|
1713
|
-
data:
|
|
1714
|
-
): CancelablePromise<
|
|
2782
|
+
public static transactionRuleControllerUpdate(
|
|
2783
|
+
data: TransactionRuleControllerUpdateData
|
|
2784
|
+
): CancelablePromise<TransactionRuleControllerUpdateResponse> {
|
|
1715
2785
|
return __request(OpenAPI, {
|
|
1716
2786
|
method: 'PUT',
|
|
1717
2787
|
url: '/api/v1/{region}/bean/transaction-rules/{ruleId}',
|
|
1718
2788
|
path: {
|
|
2789
|
+
ruleId: data.ruleId,
|
|
1719
2790
|
region: data.region
|
|
2791
|
+
},
|
|
2792
|
+
body: data.requestBody,
|
|
2793
|
+
mediaType: 'application/json',
|
|
2794
|
+
errors: {
|
|
2795
|
+
400: 'Validation failed',
|
|
2796
|
+
401: 'Unauthorized',
|
|
2797
|
+
403: 'Forbidden - not owner of rule',
|
|
2798
|
+
404: 'Rule not found',
|
|
2799
|
+
409: 'Resource conflict - rule is being modified by another process'
|
|
1720
2800
|
}
|
|
1721
2801
|
});
|
|
1722
2802
|
}
|
|
1723
2803
|
|
|
1724
2804
|
/**
|
|
2805
|
+
* Delete a transaction rule
|
|
1725
2806
|
* @param data The data for the request.
|
|
2807
|
+
* @param data.ruleId Rule ID to delete
|
|
1726
2808
|
* @param data.region Region code for tenant context
|
|
1727
|
-
* @returns void
|
|
2809
|
+
* @returns void Rule deleted successfully
|
|
1728
2810
|
* @throws ApiError
|
|
1729
2811
|
*/
|
|
1730
|
-
public static
|
|
1731
|
-
data:
|
|
1732
|
-
): CancelablePromise<
|
|
2812
|
+
public static transactionRuleControllerDelete(
|
|
2813
|
+
data: TransactionRuleControllerDeleteData
|
|
2814
|
+
): CancelablePromise<TransactionRuleControllerDeleteResponse> {
|
|
1733
2815
|
return __request(OpenAPI, {
|
|
1734
2816
|
method: 'DELETE',
|
|
1735
2817
|
url: '/api/v1/{region}/bean/transaction-rules/{ruleId}',
|
|
1736
2818
|
path: {
|
|
2819
|
+
ruleId: data.ruleId,
|
|
1737
2820
|
region: data.region
|
|
2821
|
+
},
|
|
2822
|
+
errors: {
|
|
2823
|
+
401: 'Unauthorized',
|
|
2824
|
+
403: 'Forbidden - not owner of rule',
|
|
2825
|
+
404: 'Rule not found',
|
|
2826
|
+
409: 'Resource conflict - rule is being modified by another process'
|
|
1738
2827
|
}
|
|
1739
2828
|
});
|
|
1740
2829
|
}
|
|
@@ -1769,229 +2858,353 @@ export class BeanTransactionRulesService {
|
|
|
1769
2858
|
}
|
|
1770
2859
|
}
|
|
1771
2860
|
|
|
1772
|
-
export class
|
|
2861
|
+
export class BeanCategoryCatalogService {
|
|
1773
2862
|
/**
|
|
1774
|
-
*
|
|
2863
|
+
* List category catalog for a region
|
|
2864
|
+
* Returns the region-scoped category slugs (expense/income/investment/banking/transfer/payment) for the NLP result picker. CN-exclusive payment instruments (huabei/baitiao) appear only under /cn.
|
|
2865
|
+
* @param data The data for the request.
|
|
2866
|
+
* @param data.region Region code for tenant context
|
|
2867
|
+
* @param data.scenario Filter by scenario
|
|
2868
|
+
* @param data.routeBearing Filter by routeBearing (entity-router route() consumes it)
|
|
2869
|
+
* @returns CategoryCatalogListResponseDto Category catalog retrieved successfully
|
|
2870
|
+
* @throws ApiError
|
|
2871
|
+
*/
|
|
2872
|
+
public static categoryCatalogControllerList(
|
|
2873
|
+
data: CategoryCatalogControllerListData
|
|
2874
|
+
): CancelablePromise<CategoryCatalogControllerListResponse> {
|
|
2875
|
+
return __request(OpenAPI, {
|
|
2876
|
+
method: 'GET',
|
|
2877
|
+
url: '/api/v1/{region}/bean/categories',
|
|
2878
|
+
path: {
|
|
2879
|
+
region: data.region
|
|
2880
|
+
},
|
|
2881
|
+
query: {
|
|
2882
|
+
scenario: data.scenario,
|
|
2883
|
+
routeBearing: data.routeBearing
|
|
2884
|
+
}
|
|
2885
|
+
});
|
|
2886
|
+
}
|
|
2887
|
+
}
|
|
2888
|
+
|
|
2889
|
+
export class LifeEventsService {
|
|
2890
|
+
/**
|
|
2891
|
+
* Create a new life event
|
|
2892
|
+
* Creates a new life event entry for the authenticated user. Returns ETag header carrying the row updatedAt.
|
|
1775
2893
|
* @param data The data for the request.
|
|
2894
|
+
* @param data.region Region code for tenant context (decorative for life events)
|
|
1776
2895
|
* @param data.requestBody
|
|
1777
|
-
* @returns
|
|
2896
|
+
* @returns EventResponseDto Life event created successfully
|
|
1778
2897
|
* @throws ApiError
|
|
1779
2898
|
*/
|
|
1780
|
-
public static
|
|
1781
|
-
data:
|
|
1782
|
-
): CancelablePromise<
|
|
2899
|
+
public static eventControllerCreate(
|
|
2900
|
+
data: EventControllerCreateData
|
|
2901
|
+
): CancelablePromise<EventControllerCreateResponse> {
|
|
1783
2902
|
return __request(OpenAPI, {
|
|
1784
|
-
method: '
|
|
1785
|
-
url: '/api/v1/
|
|
2903
|
+
method: 'POST',
|
|
2904
|
+
url: '/api/v1/{region}/bean/events',
|
|
2905
|
+
path: {
|
|
2906
|
+
region: data.region
|
|
2907
|
+
},
|
|
1786
2908
|
body: data.requestBody,
|
|
1787
2909
|
mediaType: 'application/json',
|
|
1788
2910
|
errors: {
|
|
1789
|
-
|
|
2911
|
+
409: 'Life event already exists for this (userId, type, date) combination'
|
|
1790
2912
|
}
|
|
1791
2913
|
});
|
|
1792
2914
|
}
|
|
1793
2915
|
|
|
1794
2916
|
/**
|
|
1795
|
-
*
|
|
2917
|
+
* List user life events
|
|
2918
|
+
* Returns life events for the authenticated user with optional filtering by type, description search, and date range.
|
|
1796
2919
|
* @param data The data for the request.
|
|
1797
|
-
* @param data.
|
|
1798
|
-
* @
|
|
2920
|
+
* @param data.region Region code for tenant context (decorative for life events)
|
|
2921
|
+
* @param data.type Filter by life event type (exact match)
|
|
2922
|
+
* @param data.q Search term for description (case-insensitive partial match)
|
|
2923
|
+
* @param data.from Filter life events from this date (ISO 8601 format)
|
|
2924
|
+
* @param data.to Filter life events to this date (ISO 8601 format)
|
|
2925
|
+
* @param data.page Page number for pagination (default: 1)
|
|
2926
|
+
* @param data.limit Number of items per page (default: 20, max: 100)
|
|
2927
|
+
* @returns EventListResponseDto Life events retrieved successfully
|
|
1799
2928
|
* @throws ApiError
|
|
1800
2929
|
*/
|
|
1801
|
-
public static
|
|
1802
|
-
data:
|
|
1803
|
-
): CancelablePromise<
|
|
2930
|
+
public static eventControllerFindAll(
|
|
2931
|
+
data: EventControllerFindAllData
|
|
2932
|
+
): CancelablePromise<EventControllerFindAllResponse> {
|
|
1804
2933
|
return __request(OpenAPI, {
|
|
1805
2934
|
method: 'GET',
|
|
1806
|
-
url: '/api/v1/
|
|
1807
|
-
|
|
1808
|
-
|
|
2935
|
+
url: '/api/v1/{region}/bean/events',
|
|
2936
|
+
path: {
|
|
2937
|
+
region: data.region
|
|
2938
|
+
},
|
|
2939
|
+
query: {
|
|
2940
|
+
type: data.type,
|
|
2941
|
+
q: data.q,
|
|
2942
|
+
from: data.from,
|
|
2943
|
+
to: data.to,
|
|
2944
|
+
page: data.page,
|
|
2945
|
+
limit: data.limit
|
|
1809
2946
|
}
|
|
1810
2947
|
});
|
|
1811
2948
|
}
|
|
1812
2949
|
|
|
1813
2950
|
/**
|
|
1814
|
-
*
|
|
1815
|
-
*
|
|
2951
|
+
* Get life event by ID
|
|
2952
|
+
* Returns a single life event by its ID. Returns ETag header.
|
|
2953
|
+
* @param data The data for the request.
|
|
2954
|
+
* @param data.id Life event ID
|
|
2955
|
+
* @param data.region Region code for tenant context (decorative for life events)
|
|
2956
|
+
* @returns EventResponseDto Life event retrieved successfully
|
|
2957
|
+
* @throws ApiError
|
|
2958
|
+
*/
|
|
2959
|
+
public static eventControllerFindOne(
|
|
2960
|
+
data: EventControllerFindOneData
|
|
2961
|
+
): CancelablePromise<EventControllerFindOneResponse> {
|
|
2962
|
+
return __request(OpenAPI, {
|
|
2963
|
+
method: 'GET',
|
|
2964
|
+
url: '/api/v1/{region}/bean/events/{id}',
|
|
2965
|
+
path: {
|
|
2966
|
+
id: data.id,
|
|
2967
|
+
region: data.region
|
|
2968
|
+
},
|
|
2969
|
+
errors: {
|
|
2970
|
+
404: 'Life event not found'
|
|
2971
|
+
}
|
|
2972
|
+
});
|
|
2973
|
+
}
|
|
2974
|
+
|
|
2975
|
+
/**
|
|
2976
|
+
* Update a life event
|
|
2977
|
+
* Updates an existing life event. If If-Match header is provided, performs optimistic concurrency check; mismatched updatedAt returns 412.
|
|
1816
2978
|
* @param data The data for the request.
|
|
2979
|
+
* @param data.id Life event ID
|
|
2980
|
+
* @param data.region Region code for tenant context (decorative for life events)
|
|
1817
2981
|
* @param data.requestBody
|
|
1818
|
-
* @returns
|
|
2982
|
+
* @returns EventResponseDto Life event updated successfully
|
|
1819
2983
|
* @throws ApiError
|
|
1820
2984
|
*/
|
|
1821
|
-
public static
|
|
1822
|
-
data:
|
|
1823
|
-
): CancelablePromise<
|
|
2985
|
+
public static eventControllerUpdate(
|
|
2986
|
+
data: EventControllerUpdateData
|
|
2987
|
+
): CancelablePromise<EventControllerUpdateResponse> {
|
|
1824
2988
|
return __request(OpenAPI, {
|
|
1825
|
-
method: '
|
|
1826
|
-
url: '/api/v1/
|
|
2989
|
+
method: 'PUT',
|
|
2990
|
+
url: '/api/v1/{region}/bean/events/{id}',
|
|
2991
|
+
path: {
|
|
2992
|
+
id: data.id,
|
|
2993
|
+
region: data.region
|
|
2994
|
+
},
|
|
1827
2995
|
body: data.requestBody,
|
|
1828
2996
|
mediaType: 'application/json',
|
|
1829
2997
|
errors: {
|
|
1830
|
-
400: '
|
|
1831
|
-
|
|
2998
|
+
400: 'If-Match header is not a valid ISO 8601 date',
|
|
2999
|
+
404: 'Life event not found',
|
|
3000
|
+
409: 'Updated event conflicts with an existing (userId, type, date) combination',
|
|
3001
|
+
412: 'If-Match precondition failed (updatedAt mismatch)'
|
|
1832
3002
|
}
|
|
1833
3003
|
});
|
|
1834
3004
|
}
|
|
1835
3005
|
|
|
1836
3006
|
/**
|
|
1837
|
-
* Delete
|
|
3007
|
+
* Delete a life event
|
|
3008
|
+
* Deletes a life event entry (hard delete). Returns 204.
|
|
1838
3009
|
* @param data The data for the request.
|
|
1839
|
-
* @param data.id
|
|
1840
|
-
* @
|
|
3010
|
+
* @param data.id Life event ID
|
|
3011
|
+
* @param data.region Region code for tenant context (decorative for life events)
|
|
3012
|
+
* @returns void Life event deleted successfully
|
|
1841
3013
|
* @throws ApiError
|
|
1842
3014
|
*/
|
|
1843
|
-
public static
|
|
1844
|
-
data:
|
|
1845
|
-
): CancelablePromise<
|
|
3015
|
+
public static eventControllerDelete(
|
|
3016
|
+
data: EventControllerDeleteData
|
|
3017
|
+
): CancelablePromise<EventControllerDeleteResponse> {
|
|
1846
3018
|
return __request(OpenAPI, {
|
|
1847
3019
|
method: 'DELETE',
|
|
1848
|
-
url: '/api/v1/
|
|
3020
|
+
url: '/api/v1/{region}/bean/events/{id}',
|
|
1849
3021
|
path: {
|
|
1850
|
-
id: data.id
|
|
3022
|
+
id: data.id,
|
|
3023
|
+
region: data.region
|
|
1851
3024
|
},
|
|
1852
3025
|
errors: {
|
|
1853
|
-
|
|
3026
|
+
404: 'Life event not found'
|
|
1854
3027
|
}
|
|
1855
3028
|
});
|
|
1856
3029
|
}
|
|
1857
3030
|
|
|
1858
3031
|
/**
|
|
1859
|
-
*
|
|
3032
|
+
* Slice time-series by a life event (Phase 79)
|
|
3033
|
+
* Returns aggregated time-series for postings matching accountPattern within the half-open date range of the given life event.
|
|
1860
3034
|
* @param data The data for the request.
|
|
1861
|
-
* @param data.id
|
|
1862
|
-
* @
|
|
3035
|
+
* @param data.id Life event ID
|
|
3036
|
+
* @param data.accountPattern
|
|
3037
|
+
* @param data.granularity
|
|
3038
|
+
* @param data.region Region code for tenant context (decorative for life events)
|
|
3039
|
+
* @returns unknown Time-series sliced by the life event range
|
|
1863
3040
|
* @throws ApiError
|
|
1864
3041
|
*/
|
|
1865
|
-
public static
|
|
1866
|
-
data:
|
|
1867
|
-
): CancelablePromise<
|
|
3042
|
+
public static eventControllerGetSlice(
|
|
3043
|
+
data: EventControllerGetSliceData
|
|
3044
|
+
): CancelablePromise<EventControllerGetSliceResponse> {
|
|
1868
3045
|
return __request(OpenAPI, {
|
|
1869
3046
|
method: 'GET',
|
|
1870
|
-
url: '/api/v1/
|
|
3047
|
+
url: '/api/v1/{region}/bean/events/{id}/slice',
|
|
1871
3048
|
path: {
|
|
1872
|
-
id: data.id
|
|
3049
|
+
id: data.id,
|
|
3050
|
+
region: data.region
|
|
3051
|
+
},
|
|
3052
|
+
query: {
|
|
3053
|
+
accountPattern: data.accountPattern,
|
|
3054
|
+
granularity: data.granularity
|
|
1873
3055
|
},
|
|
1874
3056
|
errors: {
|
|
1875
|
-
|
|
3057
|
+
400: 'accountPattern query param is empty',
|
|
3058
|
+
404: 'Life event not found'
|
|
1876
3059
|
}
|
|
1877
3060
|
});
|
|
1878
3061
|
}
|
|
3062
|
+
}
|
|
1879
3063
|
|
|
3064
|
+
export class OnboardingService {
|
|
1880
3065
|
/**
|
|
1881
|
-
*
|
|
3066
|
+
* Bootstrap core accounts + register asset accounts with opening balances (ADR-0113)
|
|
1882
3067
|
* @param data The data for the request.
|
|
3068
|
+
* @param data.region Region code for tenant context
|
|
1883
3069
|
* @param data.requestBody
|
|
1884
|
-
* @returns unknown
|
|
3070
|
+
* @returns unknown Onboarding bootstrap result.
|
|
1885
3071
|
* @throws ApiError
|
|
1886
3072
|
*/
|
|
1887
|
-
public static
|
|
1888
|
-
data:
|
|
1889
|
-
): CancelablePromise<
|
|
3073
|
+
public static onboardingControllerBootstrap(
|
|
3074
|
+
data: OnboardingControllerBootstrapData
|
|
3075
|
+
): CancelablePromise<OnboardingControllerBootstrapResponse> {
|
|
1890
3076
|
return __request(OpenAPI, {
|
|
1891
|
-
method: '
|
|
1892
|
-
url: '/api/v1/
|
|
3077
|
+
method: 'POST',
|
|
3078
|
+
url: '/api/v1/{region}/bean/onboarding',
|
|
3079
|
+
path: {
|
|
3080
|
+
region: data.region
|
|
3081
|
+
},
|
|
1893
3082
|
body: data.requestBody,
|
|
1894
3083
|
mediaType: 'application/json',
|
|
1895
3084
|
errors: {
|
|
1896
|
-
|
|
3085
|
+
422: 'Invalid region/account path/duplicate paths.'
|
|
1897
3086
|
}
|
|
1898
3087
|
});
|
|
1899
3088
|
}
|
|
3089
|
+
}
|
|
1900
3090
|
|
|
3091
|
+
export class BalanceReconciliationService {
|
|
1901
3092
|
/**
|
|
1902
|
-
*
|
|
3093
|
+
* Preview reconciliation (book vs actual)
|
|
3094
|
+
* Computes book balance, diff, Beancount-inferred tolerance, and suggested action without persisting.
|
|
1903
3095
|
* @param data The data for the request.
|
|
1904
|
-
* @param data.
|
|
1905
|
-
* @param data.
|
|
1906
|
-
* @returns
|
|
3096
|
+
* @param data.region Region code for tenant context (decorative for reconciliation)
|
|
3097
|
+
* @param data.requestBody
|
|
3098
|
+
* @returns ReconciliationComputeResultDto Reconciliation preview
|
|
1907
3099
|
* @throws ApiError
|
|
1908
3100
|
*/
|
|
1909
|
-
public static
|
|
1910
|
-
data:
|
|
1911
|
-
): CancelablePromise<
|
|
3101
|
+
public static reconciliationControllerCompute(
|
|
3102
|
+
data: ReconciliationControllerComputeData
|
|
3103
|
+
): CancelablePromise<ReconciliationControllerComputeResponse> {
|
|
1912
3104
|
return __request(OpenAPI, {
|
|
1913
|
-
method: '
|
|
1914
|
-
url: '/api/v1/
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
3105
|
+
method: 'POST',
|
|
3106
|
+
url: '/api/v1/{region}/bean/reconciliations',
|
|
3107
|
+
path: {
|
|
3108
|
+
region: data.region
|
|
3109
|
+
},
|
|
3110
|
+
body: data.requestBody,
|
|
3111
|
+
mediaType: 'application/json',
|
|
3112
|
+
errors: {
|
|
3113
|
+
404: 'Account not found'
|
|
1918
3114
|
}
|
|
1919
3115
|
});
|
|
1920
3116
|
}
|
|
1921
3117
|
|
|
1922
3118
|
/**
|
|
1923
|
-
*
|
|
1924
|
-
*
|
|
3119
|
+
* Record a balance assertion
|
|
3120
|
+
* Persists the reconciliation as a BeanBalance assertion (amount = actual, diffAmount = book − actual). Re-reconciling the same day/currency upserts.
|
|
3121
|
+
* @param data The data for the request.
|
|
3122
|
+
* @param data.region Region code for tenant context (decorative for reconciliation)
|
|
3123
|
+
* @param data.requestBody
|
|
3124
|
+
* @returns ReconciliationRecordDto Balance assertion recorded
|
|
1925
3125
|
* @throws ApiError
|
|
1926
3126
|
*/
|
|
1927
|
-
public static
|
|
3127
|
+
public static reconciliationControllerAssert(
|
|
3128
|
+
data: ReconciliationControllerAssertData
|
|
3129
|
+
): CancelablePromise<ReconciliationControllerAssertResponse> {
|
|
1928
3130
|
return __request(OpenAPI, {
|
|
1929
|
-
method: '
|
|
1930
|
-
url: '/api/v1/
|
|
3131
|
+
method: 'POST',
|
|
3132
|
+
url: '/api/v1/{region}/bean/reconciliations/assert',
|
|
3133
|
+
path: {
|
|
3134
|
+
region: data.region
|
|
3135
|
+
},
|
|
3136
|
+
body: data.requestBody,
|
|
3137
|
+
mediaType: 'application/json',
|
|
3138
|
+
errors: {
|
|
3139
|
+
404: 'Account not found'
|
|
3140
|
+
}
|
|
1931
3141
|
});
|
|
1932
3142
|
}
|
|
1933
|
-
}
|
|
1934
3143
|
|
|
1935
|
-
export class PropertiesService {
|
|
1936
3144
|
/**
|
|
1937
|
-
*
|
|
1938
|
-
*
|
|
3145
|
+
* Generate a pad adjusting entry
|
|
3146
|
+
* When book is outside tolerance, synthesizes a Beancount pad transaction (flag P) booking the diff from source_account and persists it. Source defaults to Equity:Opening-Balances.
|
|
3147
|
+
* @param data The data for the request.
|
|
3148
|
+
* @param data.region Region code for tenant context (decorative for reconciliation)
|
|
3149
|
+
* @param data.requestBody
|
|
3150
|
+
* @returns PadResultDto Pad adjusting entry generated
|
|
1939
3151
|
* @throws ApiError
|
|
1940
3152
|
*/
|
|
1941
|
-
public static
|
|
3153
|
+
public static reconciliationControllerPad(
|
|
3154
|
+
data: ReconciliationControllerPadData
|
|
3155
|
+
): CancelablePromise<ReconciliationControllerPadResponse> {
|
|
1942
3156
|
return __request(OpenAPI, {
|
|
1943
|
-
method: '
|
|
1944
|
-
url: '/api/v1/
|
|
3157
|
+
method: 'POST',
|
|
3158
|
+
url: '/api/v1/{region}/bean/reconciliations/pad',
|
|
3159
|
+
path: {
|
|
3160
|
+
region: data.region
|
|
3161
|
+
},
|
|
3162
|
+
body: data.requestBody,
|
|
3163
|
+
mediaType: 'application/json',
|
|
1945
3164
|
errors: {
|
|
1946
|
-
|
|
1947
|
-
|
|
3165
|
+
400: 'Book already within tolerance — no pad needed',
|
|
3166
|
+
404: 'Account not found'
|
|
1948
3167
|
}
|
|
1949
3168
|
});
|
|
1950
3169
|
}
|
|
1951
3170
|
|
|
1952
3171
|
/**
|
|
1953
|
-
*
|
|
3172
|
+
* List reconciliation history for an account
|
|
3173
|
+
* Returns recorded balance assertions (most recent first). The latest drives the account-detail "Last <date>" badge.
|
|
1954
3174
|
* @param data The data for the request.
|
|
1955
|
-
* @param data.
|
|
1956
|
-
* @
|
|
3175
|
+
* @param data.accountId BeanAccount id
|
|
3176
|
+
* @param data.region Region code for tenant context (decorative for reconciliation)
|
|
3177
|
+
* @returns ReconciliationRecordDto Reconciliation history
|
|
1957
3178
|
* @throws ApiError
|
|
1958
3179
|
*/
|
|
1959
|
-
public static
|
|
1960
|
-
data:
|
|
1961
|
-
): CancelablePromise<
|
|
3180
|
+
public static reconciliationControllerHistory(
|
|
3181
|
+
data: ReconciliationControllerHistoryData
|
|
3182
|
+
): CancelablePromise<ReconciliationControllerHistoryResponse> {
|
|
1962
3183
|
return __request(OpenAPI, {
|
|
1963
3184
|
method: 'GET',
|
|
1964
|
-
url: '/api/v1/
|
|
3185
|
+
url: '/api/v1/{region}/bean/accounts/{accountId}/reconciliations',
|
|
1965
3186
|
path: {
|
|
1966
|
-
|
|
3187
|
+
accountId: data.accountId,
|
|
3188
|
+
region: data.region
|
|
1967
3189
|
},
|
|
1968
3190
|
errors: {
|
|
1969
|
-
|
|
1970
|
-
403: 'Forbidden - insufficient permissions',
|
|
1971
|
-
404: 'Property not found'
|
|
3191
|
+
404: 'Account not found'
|
|
1972
3192
|
}
|
|
1973
3193
|
});
|
|
1974
3194
|
}
|
|
3195
|
+
}
|
|
1975
3196
|
|
|
3197
|
+
export class BeanExportService {
|
|
1976
3198
|
/**
|
|
3199
|
+
* Export Beancount ledger as ZIP
|
|
3200
|
+
* Export all user Beancount data as a ZIP file containing ledger.beancount and yearly files in community format.
|
|
1977
3201
|
* @returns unknown
|
|
1978
3202
|
* @throws ApiError
|
|
1979
3203
|
*/
|
|
1980
|
-
public static
|
|
3204
|
+
public static exportControllerExportBeancount(): CancelablePromise<ExportControllerExportBeancountResponse> {
|
|
1981
3205
|
return __request(OpenAPI, {
|
|
1982
|
-
method: '
|
|
1983
|
-
url: '/api/v1/
|
|
1984
|
-
});
|
|
1985
|
-
}
|
|
1986
|
-
|
|
1987
|
-
/**
|
|
1988
|
-
* @returns void
|
|
1989
|
-
* @throws ApiError
|
|
1990
|
-
*/
|
|
1991
|
-
public static propertyController1(): CancelablePromise<PropertyController1Response> {
|
|
1992
|
-
return __request(OpenAPI, {
|
|
1993
|
-
method: 'DELETE',
|
|
1994
|
-
url: '/api/v1/admin/properties/{key}'
|
|
3206
|
+
method: 'GET',
|
|
3207
|
+
url: '/api/v1/{region}/bean/export/beancount'
|
|
1995
3208
|
});
|
|
1996
3209
|
}
|
|
1997
3210
|
}
|
|
@@ -2001,6 +3214,7 @@ export class BeanImportService {
|
|
|
2001
3214
|
* Import a bill file
|
|
2002
3215
|
* Upload and process a bill file (CSV, PDF, OFX, etc.). The system automatically identifies the file type, extracts transactions, validates them, and stores only validated transactions to the database. Maximum file size: 50MB. Only 1 import per user at a time (concurrent imports rejected with 429).
|
|
2003
3216
|
* @param data The data for the request.
|
|
3217
|
+
* @param data.region Region code for tenant context
|
|
2004
3218
|
* @param data.formData Bill file to import
|
|
2005
3219
|
* @returns ImportResultDto File imported successfully
|
|
2006
3220
|
* @throws ApiError
|
|
@@ -2011,6 +3225,9 @@ export class BeanImportService {
|
|
|
2011
3225
|
return __request(OpenAPI, {
|
|
2012
3226
|
method: 'POST',
|
|
2013
3227
|
url: '/api/v1/{region}/bean/import/file',
|
|
3228
|
+
path: {
|
|
3229
|
+
region: data.region
|
|
3230
|
+
},
|
|
2014
3231
|
formData: data.formData,
|
|
2015
3232
|
mediaType: 'multipart/form-data',
|
|
2016
3233
|
errors: {
|
|
@@ -2026,6 +3243,7 @@ export class BeanImportService {
|
|
|
2026
3243
|
* Identify file type
|
|
2027
3244
|
* Upload a file to check if it can be processed by any registered importer. Does not perform actual import - useful for pre-validation. Uses user-specific importer configuration.
|
|
2028
3245
|
* @param data The data for the request.
|
|
3246
|
+
* @param data.region Region code for tenant context
|
|
2029
3247
|
* @param data.formData File to identify
|
|
2030
3248
|
* @returns IdentifyResultDto File identification result
|
|
2031
3249
|
* @throws ApiError
|
|
@@ -2036,6 +3254,9 @@ export class BeanImportService {
|
|
|
2036
3254
|
return __request(OpenAPI, {
|
|
2037
3255
|
method: 'POST',
|
|
2038
3256
|
url: '/api/v1/{region}/bean/import/identify',
|
|
3257
|
+
path: {
|
|
3258
|
+
region: data.region
|
|
3259
|
+
},
|
|
2039
3260
|
formData: data.formData,
|
|
2040
3261
|
mediaType: 'multipart/form-data',
|
|
2041
3262
|
errors: {
|
|
@@ -2044,6 +3265,32 @@ export class BeanImportService {
|
|
|
2044
3265
|
});
|
|
2045
3266
|
}
|
|
2046
3267
|
|
|
3268
|
+
/**
|
|
3269
|
+
* Import a Beancount file in community format
|
|
3270
|
+
* 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.
|
|
3271
|
+
* @param data The data for the request.
|
|
3272
|
+
* @param data.region Region code for tenant context
|
|
3273
|
+
* @param data.formData Beancount file to import
|
|
3274
|
+
* @returns unknown Beancount file imported successfully
|
|
3275
|
+
* @throws ApiError
|
|
3276
|
+
*/
|
|
3277
|
+
public static fileImportControllerImportBeancount(
|
|
3278
|
+
data: FileImportControllerImportBeancountData
|
|
3279
|
+
): CancelablePromise<FileImportControllerImportBeancountResponse> {
|
|
3280
|
+
return __request(OpenAPI, {
|
|
3281
|
+
method: 'POST',
|
|
3282
|
+
url: '/api/v1/{region}/bean/import/beancount',
|
|
3283
|
+
path: {
|
|
3284
|
+
region: data.region
|
|
3285
|
+
},
|
|
3286
|
+
formData: data.formData,
|
|
3287
|
+
mediaType: 'multipart/form-data',
|
|
3288
|
+
errors: {
|
|
3289
|
+
400: 'Bad request - invalid file or no file uploaded'
|
|
3290
|
+
}
|
|
3291
|
+
});
|
|
3292
|
+
}
|
|
3293
|
+
|
|
2047
3294
|
/**
|
|
2048
3295
|
* Get importer configuration
|
|
2049
3296
|
* Returns the current configuration for the specified importer. Creates default configuration if none exists.
|
|
@@ -2071,37 +3318,55 @@ export class BeanImportService {
|
|
|
2071
3318
|
}
|
|
2072
3319
|
|
|
2073
3320
|
/**
|
|
3321
|
+
* Update importer configuration
|
|
3322
|
+
* Updates the configuration for the specified importer. Partial updates are supported.
|
|
2074
3323
|
* @param data The data for the request.
|
|
3324
|
+
* @param data.importerId Importer identifier. Supported importers: alipay, alipay-web, wechat, boc, boc-credit, ccb, cmb, cmbc, cmbc-credit, icbc, icbc-credit, hsbc-hk-credit, hsbc-hk-debit
|
|
2075
3325
|
* @param data.region Region code for tenant context
|
|
2076
|
-
* @
|
|
3326
|
+
* @param data.requestBody Partial configuration update. Only provided fields will be updated.
|
|
3327
|
+
* @returns ImporterConfigDto Configuration updated successfully
|
|
2077
3328
|
* @throws ApiError
|
|
2078
3329
|
*/
|
|
2079
|
-
public static
|
|
2080
|
-
data:
|
|
2081
|
-
): CancelablePromise<
|
|
3330
|
+
public static importerConfigControllerUpdateConfig(
|
|
3331
|
+
data: ImporterConfigControllerUpdateConfigData
|
|
3332
|
+
): CancelablePromise<ImporterConfigControllerUpdateConfigResponse> {
|
|
2082
3333
|
return __request(OpenAPI, {
|
|
2083
3334
|
method: 'PUT',
|
|
2084
3335
|
url: '/api/v1/{region}/bean/import/config/{importerId}',
|
|
2085
3336
|
path: {
|
|
3337
|
+
importerId: data.importerId,
|
|
2086
3338
|
region: data.region
|
|
3339
|
+
},
|
|
3340
|
+
body: data.requestBody,
|
|
3341
|
+
mediaType: 'application/json',
|
|
3342
|
+
errors: {
|
|
3343
|
+
400: 'Invalid input - Validation failed',
|
|
3344
|
+
404: 'Configuration not found'
|
|
2087
3345
|
}
|
|
2088
3346
|
});
|
|
2089
3347
|
}
|
|
2090
3348
|
|
|
2091
3349
|
/**
|
|
3350
|
+
* Reset configuration to default
|
|
3351
|
+
* Resets the configuration for the specified importer to default values. This operation overwrites all existing configuration.
|
|
2092
3352
|
* @param data The data for the request.
|
|
3353
|
+
* @param data.importerId Importer identifier. Supported importers: alipay, alipay-web, wechat, boc, boc-credit, ccb, cmb, cmbc, cmbc-credit, icbc, icbc-credit, hsbc-hk-credit, hsbc-hk-debit
|
|
2093
3354
|
* @param data.region Region code for tenant context
|
|
2094
|
-
* @returns
|
|
3355
|
+
* @returns ImporterConfigDto Configuration reset successfully
|
|
2095
3356
|
* @throws ApiError
|
|
2096
3357
|
*/
|
|
2097
|
-
public static
|
|
2098
|
-
data:
|
|
2099
|
-
): CancelablePromise<
|
|
3358
|
+
public static importerConfigControllerResetConfig(
|
|
3359
|
+
data: ImporterConfigControllerResetConfigData
|
|
3360
|
+
): CancelablePromise<ImporterConfigControllerResetConfigResponse> {
|
|
2100
3361
|
return __request(OpenAPI, {
|
|
2101
3362
|
method: 'POST',
|
|
2102
3363
|
url: '/api/v1/{region}/bean/import/config/{importerId}/reset',
|
|
2103
3364
|
path: {
|
|
3365
|
+
importerId: data.importerId,
|
|
2104
3366
|
region: data.region
|
|
3367
|
+
},
|
|
3368
|
+
errors: {
|
|
3369
|
+
400: 'Invalid input - Unsupported importer'
|
|
2105
3370
|
}
|
|
2106
3371
|
});
|
|
2107
3372
|
}
|
|
@@ -2133,7 +3398,7 @@ export class ProviderSyncService {
|
|
|
2133
3398
|
*
|
|
2134
3399
|
* @param data The data for the request.
|
|
2135
3400
|
* @param data.providerName Provider name
|
|
2136
|
-
* @param data.region Region code
|
|
3401
|
+
* @param data.region Region code for tenant context
|
|
2137
3402
|
* @param data.requestBody
|
|
2138
3403
|
* @returns ProviderSyncResponseDto Sync completed successfully
|
|
2139
3404
|
* @throws ApiError
|
|
@@ -2161,13 +3426,20 @@ export class ProviderSyncService {
|
|
|
2161
3426
|
/**
|
|
2162
3427
|
* Get supported providers
|
|
2163
3428
|
* Returns a list of all providers supported by the sync endpoint.
|
|
3429
|
+
* @param data The data for the request.
|
|
3430
|
+
* @param data.region Region code for tenant context
|
|
2164
3431
|
* @returns SupportedProvidersResponseDto List of supported providers
|
|
2165
3432
|
* @throws ApiError
|
|
2166
3433
|
*/
|
|
2167
|
-
public static providerSyncControllerGetSupportedProviders(
|
|
3434
|
+
public static providerSyncControllerGetSupportedProviders(
|
|
3435
|
+
data: ProviderSyncControllerGetSupportedProvidersData
|
|
3436
|
+
): CancelablePromise<ProviderSyncControllerGetSupportedProvidersResponse> {
|
|
2168
3437
|
return __request(OpenAPI, {
|
|
2169
3438
|
method: 'GET',
|
|
2170
3439
|
url: '/api/v1/{region}/bean/import/provider/supported',
|
|
3440
|
+
path: {
|
|
3441
|
+
region: data.region
|
|
3442
|
+
},
|
|
2171
3443
|
errors: {
|
|
2172
3444
|
401: 'Missing or invalid authentication'
|
|
2173
3445
|
}
|
|
@@ -2179,6 +3451,7 @@ export class ProviderSyncService {
|
|
|
2179
3451
|
* Returns whether a specific provider is supported.
|
|
2180
3452
|
* @param data The data for the request.
|
|
2181
3453
|
* @param data.providerName Provider name to check
|
|
3454
|
+
* @param data.region Region code for tenant context
|
|
2182
3455
|
* @returns unknown Provider support status
|
|
2183
3456
|
* @throws ApiError
|
|
2184
3457
|
*/
|
|
@@ -2189,7 +3462,8 @@ export class ProviderSyncService {
|
|
|
2189
3462
|
method: 'GET',
|
|
2190
3463
|
url: '/api/v1/{region}/bean/import/provider/{providerName}/supported',
|
|
2191
3464
|
path: {
|
|
2192
|
-
providerName: data.providerName
|
|
3465
|
+
providerName: data.providerName,
|
|
3466
|
+
region: data.region
|
|
2193
3467
|
},
|
|
2194
3468
|
errors: {
|
|
2195
3469
|
401: 'Missing or invalid authentication'
|
|
@@ -2198,10 +3472,106 @@ export class ProviderSyncService {
|
|
|
2198
3472
|
}
|
|
2199
3473
|
}
|
|
2200
3474
|
|
|
3475
|
+
export class ExternalAccountLinksService {
|
|
3476
|
+
/**
|
|
3477
|
+
* Create an external account → BeanAccount mapping (ADR-0113)
|
|
3478
|
+
* @param data The data for the request.
|
|
3479
|
+
* @param data.region Region code for tenant context
|
|
3480
|
+
* @param data.requestBody
|
|
3481
|
+
* @returns ExternalAccountLinkResponseDto Link created.
|
|
3482
|
+
* @throws ApiError
|
|
3483
|
+
*/
|
|
3484
|
+
public static externalAccountLinkControllerCreate(
|
|
3485
|
+
data: ExternalAccountLinkControllerCreateData
|
|
3486
|
+
): CancelablePromise<ExternalAccountLinkControllerCreateResponse> {
|
|
3487
|
+
return __request(OpenAPI, {
|
|
3488
|
+
method: 'POST',
|
|
3489
|
+
url: '/api/v1/{region}/bean/external-account-links',
|
|
3490
|
+
path: {
|
|
3491
|
+
region: data.region
|
|
3492
|
+
},
|
|
3493
|
+
body: data.requestBody,
|
|
3494
|
+
mediaType: 'application/json',
|
|
3495
|
+
errors: {
|
|
3496
|
+
422: 'beanAccountId not owned, or an active link already exists.'
|
|
3497
|
+
}
|
|
3498
|
+
});
|
|
3499
|
+
}
|
|
3500
|
+
|
|
3501
|
+
/**
|
|
3502
|
+
* List the user's active external account links
|
|
3503
|
+
* @param data The data for the request.
|
|
3504
|
+
* @param data.provider
|
|
3505
|
+
* @param data.region Region code for tenant context
|
|
3506
|
+
* @returns ExternalAccountLinkListResponseDto Links retrieved.
|
|
3507
|
+
* @throws ApiError
|
|
3508
|
+
*/
|
|
3509
|
+
public static externalAccountLinkControllerFindAll(
|
|
3510
|
+
data: ExternalAccountLinkControllerFindAllData
|
|
3511
|
+
): CancelablePromise<ExternalAccountLinkControllerFindAllResponse> {
|
|
3512
|
+
return __request(OpenAPI, {
|
|
3513
|
+
method: 'GET',
|
|
3514
|
+
url: '/api/v1/{region}/bean/external-account-links',
|
|
3515
|
+
path: {
|
|
3516
|
+
region: data.region
|
|
3517
|
+
},
|
|
3518
|
+
query: {
|
|
3519
|
+
provider: data.provider
|
|
3520
|
+
}
|
|
3521
|
+
});
|
|
3522
|
+
}
|
|
3523
|
+
|
|
3524
|
+
/**
|
|
3525
|
+
* Get a single external account link
|
|
3526
|
+
* @param data The data for the request.
|
|
3527
|
+
* @param data.id
|
|
3528
|
+
* @param data.region Region code for tenant context
|
|
3529
|
+
* @returns ExternalAccountLinkResponseDto Link retrieved.
|
|
3530
|
+
* @throws ApiError
|
|
3531
|
+
*/
|
|
3532
|
+
public static externalAccountLinkControllerFindOne(
|
|
3533
|
+
data: ExternalAccountLinkControllerFindOneData
|
|
3534
|
+
): CancelablePromise<ExternalAccountLinkControllerFindOneResponse> {
|
|
3535
|
+
return __request(OpenAPI, {
|
|
3536
|
+
method: 'GET',
|
|
3537
|
+
url: '/api/v1/{region}/bean/external-account-links/{id}',
|
|
3538
|
+
path: {
|
|
3539
|
+
id: data.id,
|
|
3540
|
+
region: data.region
|
|
3541
|
+
},
|
|
3542
|
+
errors: {
|
|
3543
|
+
422: 'Link not found or not owned by the user.'
|
|
3544
|
+
}
|
|
3545
|
+
});
|
|
3546
|
+
}
|
|
3547
|
+
|
|
3548
|
+
/**
|
|
3549
|
+
* Soft-delete (disconnect) an external account link
|
|
3550
|
+
* @param data The data for the request.
|
|
3551
|
+
* @param data.id
|
|
3552
|
+
* @param data.region Region code for tenant context
|
|
3553
|
+
* @returns void Link soft-deleted; historical transactions are unaffected.
|
|
3554
|
+
* @throws ApiError
|
|
3555
|
+
*/
|
|
3556
|
+
public static externalAccountLinkControllerRemove(
|
|
3557
|
+
data: ExternalAccountLinkControllerRemoveData
|
|
3558
|
+
): CancelablePromise<ExternalAccountLinkControllerRemoveResponse> {
|
|
3559
|
+
return __request(OpenAPI, {
|
|
3560
|
+
method: 'DELETE',
|
|
3561
|
+
url: '/api/v1/{region}/bean/external-account-links/{id}',
|
|
3562
|
+
path: {
|
|
3563
|
+
id: data.id,
|
|
3564
|
+
region: data.region
|
|
3565
|
+
}
|
|
3566
|
+
});
|
|
3567
|
+
}
|
|
3568
|
+
}
|
|
3569
|
+
|
|
2201
3570
|
export class ImportTelemetryService {
|
|
2202
3571
|
/**
|
|
2203
3572
|
* Receive anonymous parser failure telemetry
|
|
2204
3573
|
* @param data The data for the request.
|
|
3574
|
+
* @param data.region Region code for tenant context
|
|
2205
3575
|
* @param data.requestBody
|
|
2206
3576
|
* @returns unknown Telemetry report received
|
|
2207
3577
|
* @throws ApiError
|
|
@@ -2212,6 +3582,34 @@ export class ImportTelemetryService {
|
|
|
2212
3582
|
return __request(OpenAPI, {
|
|
2213
3583
|
method: 'POST',
|
|
2214
3584
|
url: '/api/v1/{region}/bean/import/parser-telemetry',
|
|
3585
|
+
path: {
|
|
3586
|
+
region: data.region
|
|
3587
|
+
},
|
|
3588
|
+
body: data.requestBody,
|
|
3589
|
+
mediaType: 'application/json',
|
|
3590
|
+
errors: {
|
|
3591
|
+
401: 'Unauthorized'
|
|
3592
|
+
}
|
|
3593
|
+
});
|
|
3594
|
+
}
|
|
3595
|
+
|
|
3596
|
+
/**
|
|
3597
|
+
* Receive anonymous zero-hit coverage miss report
|
|
3598
|
+
* @param data The data for the request.
|
|
3599
|
+
* @param data.region Region code for tenant context
|
|
3600
|
+
* @param data.requestBody
|
|
3601
|
+
* @returns unknown Coverage miss report received
|
|
3602
|
+
* @throws ApiError
|
|
3603
|
+
*/
|
|
3604
|
+
public static telemetryControllerReportCoverageMiss(
|
|
3605
|
+
data: TelemetryControllerReportCoverageMissData
|
|
3606
|
+
): CancelablePromise<TelemetryControllerReportCoverageMissResponse> {
|
|
3607
|
+
return __request(OpenAPI, {
|
|
3608
|
+
method: 'POST',
|
|
3609
|
+
url: '/api/v1/{region}/bean/import/parser-coverage-miss',
|
|
3610
|
+
path: {
|
|
3611
|
+
region: data.region
|
|
3612
|
+
},
|
|
2215
3613
|
body: data.requestBody,
|
|
2216
3614
|
mediaType: 'application/json',
|
|
2217
3615
|
errors: {
|
|
@@ -2219,6 +3617,29 @@ export class ImportTelemetryService {
|
|
|
2219
3617
|
}
|
|
2220
3618
|
});
|
|
2221
3619
|
}
|
|
3620
|
+
|
|
3621
|
+
/**
|
|
3622
|
+
* Coverage metrics (uncovered format aggregation)
|
|
3623
|
+
* @param data The data for the request.
|
|
3624
|
+
* @param data.region Region code for tenant context
|
|
3625
|
+
* @param data.topN Top-N uncovered formats (default 10)
|
|
3626
|
+
* @returns unknown Coverage metrics
|
|
3627
|
+
* @throws ApiError
|
|
3628
|
+
*/
|
|
3629
|
+
public static telemetryControllerGetCoverageMetrics(
|
|
3630
|
+
data: TelemetryControllerGetCoverageMetricsData
|
|
3631
|
+
): CancelablePromise<TelemetryControllerGetCoverageMetricsResponse> {
|
|
3632
|
+
return __request(OpenAPI, {
|
|
3633
|
+
method: 'GET',
|
|
3634
|
+
url: '/api/v1/{region}/bean/import/parser-coverage-metrics',
|
|
3635
|
+
path: {
|
|
3636
|
+
region: data.region
|
|
3637
|
+
},
|
|
3638
|
+
query: {
|
|
3639
|
+
topN: data.topN
|
|
3640
|
+
}
|
|
3641
|
+
});
|
|
3642
|
+
}
|
|
2222
3643
|
}
|
|
2223
3644
|
|
|
2224
3645
|
export class BeanNlpService {
|
|
@@ -2226,6 +3647,7 @@ export class BeanNlpService {
|
|
|
2226
3647
|
* Process natural language input
|
|
2227
3648
|
* Parse natural language text (Chinese/English) describing a transaction. Supports multi-turn dialogue for collecting missing information. When confidence < 0.75, returns "confirm" action requiring user verification. User can reply with confirmation words (确认/yes/ok) or provide corrections. Examples: "yesterday Starbucks spent 35 yuan", "today lunch 28 yuan", "spent $50 at Walmart"
|
|
2228
3649
|
* @param data The data for the request.
|
|
3650
|
+
* @param data.region Region code for tenant context
|
|
2229
3651
|
* @param data.requestBody Natural language transaction input with optional session ID
|
|
2230
3652
|
* @returns NlpResponseDto NLP processing result - either created transaction or asking for more info
|
|
2231
3653
|
* @throws ApiError
|
|
@@ -2236,6 +3658,9 @@ export class BeanNlpService {
|
|
|
2236
3658
|
return __request(OpenAPI, {
|
|
2237
3659
|
method: 'POST',
|
|
2238
3660
|
url: '/api/v1/{region}/bean/nlp/process',
|
|
3661
|
+
path: {
|
|
3662
|
+
region: data.region
|
|
3663
|
+
},
|
|
2239
3664
|
body: data.requestBody,
|
|
2240
3665
|
mediaType: 'application/json',
|
|
2241
3666
|
errors: {
|
|
@@ -2249,16 +3674,20 @@ export class BeanNlpService {
|
|
|
2249
3674
|
* Clear dialogue session
|
|
2250
3675
|
* Clear the current NLP dialogue session. Use this to cancel an ongoing multi-turn dialogue.
|
|
2251
3676
|
* @param data The data for the request.
|
|
3677
|
+
* @param data.region Region code for tenant context
|
|
2252
3678
|
* @param data.sessionId Specific session ID to clear (defaults to user session)
|
|
2253
3679
|
* @returns void Session cleared successfully
|
|
2254
3680
|
* @throws ApiError
|
|
2255
3681
|
*/
|
|
2256
3682
|
public static nlpControllerClearSession(
|
|
2257
|
-
data: NlpControllerClearSessionData
|
|
3683
|
+
data: NlpControllerClearSessionData
|
|
2258
3684
|
): CancelablePromise<NlpControllerClearSessionResponse> {
|
|
2259
3685
|
return __request(OpenAPI, {
|
|
2260
3686
|
method: 'DELETE',
|
|
2261
3687
|
url: '/api/v1/{region}/bean/nlp/session',
|
|
3688
|
+
path: {
|
|
3689
|
+
region: data.region
|
|
3690
|
+
},
|
|
2262
3691
|
query: {
|
|
2263
3692
|
sessionId: data.sessionId
|
|
2264
3693
|
},
|
|
@@ -2272,16 +3701,20 @@ export class BeanNlpService {
|
|
|
2272
3701
|
* Get current session state
|
|
2273
3702
|
* Get the current NLP dialogue session state. Useful for debugging and displaying session context in UI.
|
|
2274
3703
|
* @param data The data for the request.
|
|
3704
|
+
* @param data.region Region code for tenant context
|
|
2275
3705
|
* @param data.sessionId Specific session ID to get (defaults to user session)
|
|
2276
3706
|
* @returns unknown Current session state (or null if no active session)
|
|
2277
3707
|
* @throws ApiError
|
|
2278
3708
|
*/
|
|
2279
3709
|
public static nlpControllerGetSession(
|
|
2280
|
-
data: NlpControllerGetSessionData
|
|
3710
|
+
data: NlpControllerGetSessionData
|
|
2281
3711
|
): CancelablePromise<NlpControllerGetSessionResponse> {
|
|
2282
3712
|
return __request(OpenAPI, {
|
|
2283
3713
|
method: 'GET',
|
|
2284
3714
|
url: '/api/v1/{region}/bean/nlp/session',
|
|
3715
|
+
path: {
|
|
3716
|
+
region: data.region
|
|
3717
|
+
},
|
|
2285
3718
|
query: {
|
|
2286
3719
|
sessionId: data.sessionId
|
|
2287
3720
|
},
|
|
@@ -2306,162 +3739,110 @@ export class BeanPlatformsService {
|
|
|
2306
3739
|
}
|
|
2307
3740
|
|
|
2308
3741
|
/**
|
|
2309
|
-
*
|
|
2310
|
-
* @throws ApiError
|
|
2311
|
-
*/
|
|
2312
|
-
public static platformController(): CancelablePromise<PlatformControllerResponse> {
|
|
2313
|
-
return __request(OpenAPI, {
|
|
2314
|
-
method: 'POST',
|
|
2315
|
-
url: '/api/v1/bean/platforms'
|
|
2316
|
-
});
|
|
2317
|
-
}
|
|
2318
|
-
|
|
2319
|
-
/**
|
|
2320
|
-
* Get platform list for current user
|
|
2321
|
-
* @returns unknown List of platforms with user binding status
|
|
2322
|
-
* @throws ApiError
|
|
2323
|
-
*/
|
|
2324
|
-
public static platformControllerGetPlatformList(): CancelablePromise<PlatformControllerGetPlatformListResponse> {
|
|
2325
|
-
return __request(OpenAPI, {
|
|
2326
|
-
method: 'GET',
|
|
2327
|
-
url: '/api/v1/bean/platforms/list'
|
|
2328
|
-
});
|
|
2329
|
-
}
|
|
2330
|
-
|
|
2331
|
-
/**
|
|
2332
|
-
* @returns unknown
|
|
2333
|
-
* @throws ApiError
|
|
2334
|
-
*/
|
|
2335
|
-
public static platformController1(): CancelablePromise<PlatformController1Response> {
|
|
2336
|
-
return __request(OpenAPI, {
|
|
2337
|
-
method: 'PUT',
|
|
2338
|
-
url: '/api/v1/bean/platforms/{id}'
|
|
2339
|
-
});
|
|
2340
|
-
}
|
|
2341
|
-
|
|
2342
|
-
/**
|
|
2343
|
-
* @returns void
|
|
2344
|
-
* @throws ApiError
|
|
2345
|
-
*/
|
|
2346
|
-
public static platformController2(): CancelablePromise<PlatformController2Response> {
|
|
2347
|
-
return __request(OpenAPI, {
|
|
2348
|
-
method: 'DELETE',
|
|
2349
|
-
url: '/api/v1/bean/platforms/{id}'
|
|
2350
|
-
});
|
|
2351
|
-
}
|
|
2352
|
-
}
|
|
2353
|
-
|
|
2354
|
-
export class SymbolsService {
|
|
2355
|
-
/**
|
|
2356
|
-
* Search for symbols
|
|
2357
|
-
* Search symbols by query with optional filters for asset class, area, and indices
|
|
3742
|
+
* Create a new platform
|
|
2358
3743
|
* @param data The data for the request.
|
|
2359
|
-
* @param data.
|
|
2360
|
-
* @
|
|
2361
|
-
* @param data.assetClass Asset class filter
|
|
2362
|
-
* @param data.area Geographic area filter (e.g., CN, US)
|
|
2363
|
-
* @param data.query Search query string
|
|
2364
|
-
* @returns unknown Symbols found successfully
|
|
3744
|
+
* @param data.requestBody
|
|
3745
|
+
* @returns unknown Platform created successfully
|
|
2365
3746
|
* @throws ApiError
|
|
2366
3747
|
*/
|
|
2367
|
-
public static
|
|
2368
|
-
data:
|
|
2369
|
-
): CancelablePromise<
|
|
3748
|
+
public static platformControllerCreate(
|
|
3749
|
+
data: PlatformControllerCreateData
|
|
3750
|
+
): CancelablePromise<PlatformControllerCreateResponse> {
|
|
2370
3751
|
return __request(OpenAPI, {
|
|
2371
|
-
method: '
|
|
2372
|
-
url: '/api/v1/
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
assetSubClass: data.assetSubClass,
|
|
2376
|
-
assetClass: data.assetClass,
|
|
2377
|
-
area: data.area,
|
|
2378
|
-
query: data.query
|
|
2379
|
-
},
|
|
3752
|
+
method: 'POST',
|
|
3753
|
+
url: '/api/v1/bean/platforms',
|
|
3754
|
+
body: data.requestBody,
|
|
3755
|
+
mediaType: 'application/json',
|
|
2380
3756
|
errors: {
|
|
2381
|
-
|
|
3757
|
+
409: 'Platform already exists'
|
|
2382
3758
|
}
|
|
2383
3759
|
});
|
|
2384
3760
|
}
|
|
2385
3761
|
|
|
2386
3762
|
/**
|
|
2387
|
-
* Get
|
|
2388
|
-
* Retrieve detailed symbol information including optional historical data
|
|
3763
|
+
* Get platform list for current user
|
|
2389
3764
|
* @param data The data for the request.
|
|
2390
|
-
* @param data.
|
|
2391
|
-
* @
|
|
2392
|
-
* @param data.includeHistoricalData Include historical price data (0 or 1)
|
|
2393
|
-
* @returns unknown Symbol data retrieved successfully
|
|
3765
|
+
* @param data.region Region code (ISO 3166-1 alpha-2) that biases within-type-bucket ordering (local-region platforms first). Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
|
|
3766
|
+
* @returns PlatformListItemDto List of platforms with user binding status
|
|
2394
3767
|
* @throws ApiError
|
|
2395
3768
|
*/
|
|
2396
|
-
public static
|
|
2397
|
-
data:
|
|
2398
|
-
): CancelablePromise<
|
|
3769
|
+
public static platformControllerGetPlatformList(
|
|
3770
|
+
data: PlatformControllerGetPlatformListData = {}
|
|
3771
|
+
): CancelablePromise<PlatformControllerGetPlatformListResponse> {
|
|
2399
3772
|
return __request(OpenAPI, {
|
|
2400
3773
|
method: 'GET',
|
|
2401
|
-
url: '/api/v1/
|
|
2402
|
-
path: {
|
|
2403
|
-
dataSource: data.dataSource,
|
|
2404
|
-
symbol: data.symbol
|
|
2405
|
-
},
|
|
3774
|
+
url: '/api/v1/bean/platforms/list',
|
|
2406
3775
|
query: {
|
|
2407
|
-
|
|
2408
|
-
},
|
|
2409
|
-
errors: {
|
|
2410
|
-
400: 'Invalid data source',
|
|
2411
|
-
404: 'Symbol not found'
|
|
3776
|
+
region: data.region
|
|
2412
3777
|
}
|
|
2413
3778
|
});
|
|
2414
3779
|
}
|
|
2415
3780
|
|
|
2416
3781
|
/**
|
|
2417
|
-
*
|
|
2418
|
-
* Retrieve historical symbol data for a specific date
|
|
3782
|
+
* Match platforms by name or alias
|
|
2419
3783
|
* @param data The data for the request.
|
|
2420
|
-
* @param data.
|
|
2421
|
-
* @param data.
|
|
2422
|
-
* @
|
|
2423
|
-
* @returns unknown Historical data retrieved successfully
|
|
3784
|
+
* @param data.q Search query — Chinese name, English name, or abbreviation
|
|
3785
|
+
* @param data.region Region code (ISO 3166-1 alpha-2) that biases within-tier ordering (local-region platforms first); also the intended categoryOverrides key. Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
|
|
3786
|
+
* @returns PlatformMatchResponseDto Matching platforms with overall match type and truncation flag
|
|
2424
3787
|
* @throws ApiError
|
|
2425
3788
|
*/
|
|
2426
|
-
public static
|
|
2427
|
-
data:
|
|
2428
|
-
): CancelablePromise<
|
|
3789
|
+
public static platformControllerMatchPlatforms(
|
|
3790
|
+
data: PlatformControllerMatchPlatformsData
|
|
3791
|
+
): CancelablePromise<PlatformControllerMatchPlatformsResponse> {
|
|
2429
3792
|
return __request(OpenAPI, {
|
|
2430
3793
|
method: 'GET',
|
|
2431
|
-
url: '/api/v1/
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
symbol: data.symbol
|
|
2436
|
-
},
|
|
2437
|
-
errors: {
|
|
2438
|
-
400: 'Invalid date format',
|
|
2439
|
-
404: 'Symbol data not found for specified date'
|
|
3794
|
+
url: '/api/v1/bean/platforms/match',
|
|
3795
|
+
query: {
|
|
3796
|
+
q: data.q,
|
|
3797
|
+
region: data.region
|
|
2440
3798
|
}
|
|
2441
3799
|
});
|
|
2442
3800
|
}
|
|
2443
3801
|
|
|
2444
3802
|
/**
|
|
2445
|
-
*
|
|
3803
|
+
* Update a platform
|
|
3804
|
+
* @param data The data for the request.
|
|
3805
|
+
* @param data.id Platform ID
|
|
3806
|
+
* @param data.requestBody
|
|
3807
|
+
* @returns unknown Platform updated successfully
|
|
2446
3808
|
* @throws ApiError
|
|
2447
3809
|
*/
|
|
2448
|
-
public static
|
|
3810
|
+
public static platformControllerUpdate(
|
|
3811
|
+
data: PlatformControllerUpdateData
|
|
3812
|
+
): CancelablePromise<PlatformControllerUpdateResponse> {
|
|
2449
3813
|
return __request(OpenAPI, {
|
|
2450
3814
|
method: 'PUT',
|
|
2451
|
-
url: '/api/v1/
|
|
3815
|
+
url: '/api/v1/bean/platforms/{id}',
|
|
3816
|
+
path: {
|
|
3817
|
+
id: data.id
|
|
3818
|
+
},
|
|
3819
|
+
body: data.requestBody,
|
|
3820
|
+
mediaType: 'application/json',
|
|
3821
|
+
errors: {
|
|
3822
|
+
404: 'Platform not found'
|
|
3823
|
+
}
|
|
2452
3824
|
});
|
|
2453
3825
|
}
|
|
2454
|
-
}
|
|
2455
3826
|
|
|
2456
|
-
export class DefaultService {
|
|
2457
3827
|
/**
|
|
2458
|
-
*
|
|
3828
|
+
* Delete a platform
|
|
3829
|
+
* @param data The data for the request.
|
|
3830
|
+
* @param data.id Platform ID
|
|
3831
|
+
* @returns void Platform deleted successfully
|
|
2459
3832
|
* @throws ApiError
|
|
2460
3833
|
*/
|
|
2461
|
-
public static
|
|
3834
|
+
public static platformControllerDelete(
|
|
3835
|
+
data: PlatformControllerDeleteData
|
|
3836
|
+
): CancelablePromise<PlatformControllerDeleteResponse> {
|
|
2462
3837
|
return __request(OpenAPI, {
|
|
2463
|
-
method: '
|
|
2464
|
-
url: '/api/v1/
|
|
3838
|
+
method: 'DELETE',
|
|
3839
|
+
url: '/api/v1/bean/platforms/{id}',
|
|
3840
|
+
path: {
|
|
3841
|
+
id: data.id
|
|
3842
|
+
},
|
|
3843
|
+
errors: {
|
|
3844
|
+
404: 'Platform not found'
|
|
3845
|
+
}
|
|
2465
3846
|
});
|
|
2466
3847
|
}
|
|
2467
3848
|
}
|
|
@@ -2471,16 +3852,20 @@ export class DashboardService {
|
|
|
2471
3852
|
* Get net worth overview
|
|
2472
3853
|
* Returns total net worth with breakdown of assets and liabilities
|
|
2473
3854
|
* @param data The data for the request.
|
|
3855
|
+
* @param data.region Region code for tenant context
|
|
2474
3856
|
* @param data.date Date for balance calculation (ISO 8601 format)
|
|
2475
3857
|
* @returns NetWorthResponseDto Net worth retrieved successfully
|
|
2476
3858
|
* @throws ApiError
|
|
2477
3859
|
*/
|
|
2478
3860
|
public static dashboardControllerGetNetWorth(
|
|
2479
|
-
data: DashboardControllerGetNetWorthData
|
|
3861
|
+
data: DashboardControllerGetNetWorthData
|
|
2480
3862
|
): CancelablePromise<DashboardControllerGetNetWorthResponse> {
|
|
2481
3863
|
return __request(OpenAPI, {
|
|
2482
3864
|
method: 'GET',
|
|
2483
3865
|
url: '/api/v1/{region}/dashboard/net-worth',
|
|
3866
|
+
path: {
|
|
3867
|
+
region: data.region
|
|
3868
|
+
},
|
|
2484
3869
|
query: {
|
|
2485
3870
|
date: data.date
|
|
2486
3871
|
},
|
|
@@ -2494,20 +3879,26 @@ export class DashboardService {
|
|
|
2494
3879
|
* Get accounts grouped by platform
|
|
2495
3880
|
* Returns accounts with balances grouped by financial platform
|
|
2496
3881
|
* @param data The data for the request.
|
|
3882
|
+
* @param data.region Region code for tenant context
|
|
2497
3883
|
* @param data.groupBy Grouping strategy
|
|
2498
3884
|
* @param data.date Date for balance calculation (ISO 8601 format)
|
|
3885
|
+
* @param data.accountId Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
|
|
2499
3886
|
* @returns unknown Accounts retrieved successfully. Response type depends on groupBy parameter.
|
|
2500
3887
|
* @throws ApiError
|
|
2501
3888
|
*/
|
|
2502
3889
|
public static dashboardControllerGetAccounts(
|
|
2503
|
-
data: DashboardControllerGetAccountsData
|
|
3890
|
+
data: DashboardControllerGetAccountsData
|
|
2504
3891
|
): CancelablePromise<DashboardControllerGetAccountsResponse> {
|
|
2505
3892
|
return __request(OpenAPI, {
|
|
2506
3893
|
method: 'GET',
|
|
2507
3894
|
url: '/api/v1/{region}/dashboard/accounts',
|
|
3895
|
+
path: {
|
|
3896
|
+
region: data.region
|
|
3897
|
+
},
|
|
2508
3898
|
query: {
|
|
2509
3899
|
groupBy: data.groupBy,
|
|
2510
|
-
date: data.date
|
|
3900
|
+
date: data.date,
|
|
3901
|
+
accountId: data.accountId
|
|
2511
3902
|
},
|
|
2512
3903
|
errors: {
|
|
2513
3904
|
401: 'User not authenticated'
|
|
@@ -2520,6 +3911,7 @@ export class DashboardService {
|
|
|
2520
3911
|
* Returns income, expenses, and savings for a monthly period
|
|
2521
3912
|
* @param data The data for the request.
|
|
2522
3913
|
* @param data.period Period in YYYY-MM format
|
|
3914
|
+
* @param data.region Region code for tenant context
|
|
2523
3915
|
* @returns CashFlowResponseDto Cash flow retrieved successfully
|
|
2524
3916
|
* @throws ApiError
|
|
2525
3917
|
*/
|
|
@@ -2529,6 +3921,9 @@ export class DashboardService {
|
|
|
2529
3921
|
return __request(OpenAPI, {
|
|
2530
3922
|
method: 'GET',
|
|
2531
3923
|
url: '/api/v1/{region}/dashboard/cash-flow',
|
|
3924
|
+
path: {
|
|
3925
|
+
region: data.region
|
|
3926
|
+
},
|
|
2532
3927
|
query: {
|
|
2533
3928
|
period: data.period
|
|
2534
3929
|
},
|
|
@@ -2538,126 +3933,88 @@ export class DashboardService {
|
|
|
2538
3933
|
}
|
|
2539
3934
|
});
|
|
2540
3935
|
}
|
|
2541
|
-
}
|
|
2542
3936
|
|
|
2543
|
-
export class ReportingService {
|
|
2544
3937
|
/**
|
|
2545
|
-
* Get
|
|
2546
|
-
*
|
|
2547
|
-
* Returns time series data of portfolio net worth.
|
|
2548
|
-
*
|
|
2549
|
-
* **Multi-currency Support:**
|
|
2550
|
-
* - `series[].byCurrency` - Currency breakdown for each data point
|
|
2551
|
-
* - `byCurrency` - Separate time series grouped by currency
|
|
2552
|
-
* - `warnings` - Exchange rate warnings if conversion failed
|
|
2553
|
-
*
|
|
2554
|
-
* **Parameters:**
|
|
2555
|
-
* - `period`: Time period (1m, 3m, 6m, 1y)
|
|
2556
|
-
* - `granularity`: Data granularity (day, week, month)
|
|
2557
|
-
*
|
|
3938
|
+
* Get expenses/income grouped by functional category
|
|
3939
|
+
* Returns amounts pre-aggregated by functional category (account-path Group segment) with server-side multi-currency conversion. flow=expense (default) aggregates ^Expenses: accounts; flow=income aggregates ^Income: accounts (issue #518)
|
|
2558
3940
|
* @param data The data for the request.
|
|
2559
|
-
* @param data.
|
|
2560
|
-
* @param data.
|
|
2561
|
-
* @
|
|
3941
|
+
* @param data.region Region code for tenant context
|
|
3942
|
+
* @param data.groupBy Grouping strategy
|
|
3943
|
+
* @param data.period Time window (1m = current calendar month)
|
|
3944
|
+
* @param data.flow Account root to aggregate (expense → ^Expenses:, income → ^Income:)
|
|
3945
|
+
* @returns ExpensesByCategoryResponseDto Expenses retrieved successfully
|
|
2562
3946
|
* @throws ApiError
|
|
2563
3947
|
*/
|
|
2564
|
-
public static
|
|
2565
|
-
data:
|
|
2566
|
-
): CancelablePromise<
|
|
3948
|
+
public static dashboardControllerGetExpenses(
|
|
3949
|
+
data: DashboardControllerGetExpensesData
|
|
3950
|
+
): CancelablePromise<DashboardControllerGetExpensesResponse> {
|
|
2567
3951
|
return __request(OpenAPI, {
|
|
2568
3952
|
method: 'GET',
|
|
2569
|
-
url: '/api/v1/{region}/
|
|
3953
|
+
url: '/api/v1/{region}/dashboard/expenses',
|
|
3954
|
+
path: {
|
|
3955
|
+
region: data.region
|
|
3956
|
+
},
|
|
2570
3957
|
query: {
|
|
3958
|
+
groupBy: data.groupBy,
|
|
2571
3959
|
period: data.period,
|
|
2572
|
-
|
|
3960
|
+
flow: data.flow
|
|
2573
3961
|
},
|
|
2574
3962
|
errors: {
|
|
3963
|
+
400: 'Invalid groupBy or period',
|
|
2575
3964
|
401: 'User not authenticated'
|
|
2576
3965
|
}
|
|
2577
3966
|
});
|
|
2578
3967
|
}
|
|
3968
|
+
}
|
|
2579
3969
|
|
|
3970
|
+
export class InvestmentService {
|
|
2580
3971
|
/**
|
|
2581
|
-
*
|
|
2582
|
-
*
|
|
2583
|
-
* Manually generate a portfolio snapshot for a specific date.
|
|
2584
|
-
*
|
|
2585
|
-
* **Multi-currency Support:**
|
|
2586
|
-
* - Fetches balances grouped by currency
|
|
2587
|
-
* - Uses user's baseCurrency setting for conversion
|
|
2588
|
-
* - Stores exchange rates and warnings
|
|
2589
|
-
*
|
|
2590
|
-
* **Use Cases:**
|
|
2591
|
-
* - Testing snapshot generation
|
|
2592
|
-
* - Force regeneration after data correction
|
|
2593
|
-
* - Initial setup for new users
|
|
2594
|
-
*
|
|
3972
|
+
* Get per-holding unrealized + realized P&L
|
|
3973
|
+
* Average-cost unrealized P&L per account × commodity, plus cumulative realized P&L on sold lots (method = FIFO | average, default average).
|
|
2595
3974
|
* @param data The data for the request.
|
|
2596
|
-
* @param data.
|
|
2597
|
-
* @
|
|
3975
|
+
* @param data.region Region code for tenant context
|
|
3976
|
+
* @param data.asOf As-of date (ISO 8601), defaults to today
|
|
3977
|
+
* @param data.accountId Scope to a single account
|
|
3978
|
+
* @param data.method Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
|
|
3979
|
+
* @returns HoldingPnlResponseDto Holding P&L retrieved successfully
|
|
2598
3980
|
* @throws ApiError
|
|
2599
3981
|
*/
|
|
2600
|
-
public static
|
|
2601
|
-
data:
|
|
2602
|
-
): CancelablePromise<
|
|
3982
|
+
public static holdingPnlControllerGetHoldingPnl(
|
|
3983
|
+
data: HoldingPnlControllerGetHoldingPnlData
|
|
3984
|
+
): CancelablePromise<HoldingPnlControllerGetHoldingPnlResponse> {
|
|
2603
3985
|
return __request(OpenAPI, {
|
|
2604
|
-
method: '
|
|
2605
|
-
url: '/api/v1/{region}/
|
|
2606
|
-
|
|
2607
|
-
|
|
3986
|
+
method: 'GET',
|
|
3987
|
+
url: '/api/v1/{region}/investment/holdings/pnl',
|
|
3988
|
+
path: {
|
|
3989
|
+
region: data.region
|
|
3990
|
+
},
|
|
3991
|
+
query: {
|
|
3992
|
+
asOf: data.asOf,
|
|
3993
|
+
accountId: data.accountId,
|
|
3994
|
+
method: data.method
|
|
3995
|
+
},
|
|
2608
3996
|
errors: {
|
|
2609
|
-
400: 'Invalid date format',
|
|
3997
|
+
400: 'Invalid asOf format/value/future date, invalid accountId format, or unsupported method',
|
|
2610
3998
|
401: 'User not authenticated'
|
|
2611
3999
|
}
|
|
2612
4000
|
});
|
|
2613
4001
|
}
|
|
2614
|
-
|
|
2615
|
-
/**
|
|
2616
|
-
* Backfill portfolio snapshots
|
|
2617
|
-
*
|
|
2618
|
-
* Generate snapshots for a date range (historical data backfill).
|
|
2619
|
-
*
|
|
2620
|
-
* **Multi-currency Support:**
|
|
2621
|
-
* - Each snapshot includes multi-currency data
|
|
2622
|
-
* - Uses exchange rates available at generation time
|
|
2623
|
-
* - Warnings stored for missing exchange rates
|
|
2624
|
-
*
|
|
2625
|
-
* **Best Practices:**
|
|
2626
|
-
* - Use for initial setup after account configuration
|
|
2627
|
-
* - Run during low-traffic periods for large date ranges
|
|
2628
|
-
* - Existing snapshots are skipped (not regenerated)
|
|
2629
|
-
*
|
|
2630
|
-
* @param data The data for the request.
|
|
2631
|
-
* @param data.requestBody
|
|
2632
|
-
* @returns BackfillSnapshotsResponse Backfill completed successfully
|
|
2633
|
-
* @throws ApiError
|
|
2634
|
-
*/
|
|
2635
|
-
public static reportingControllerBackfillSnapshots(
|
|
2636
|
-
data: ReportingControllerBackfillSnapshotsData
|
|
2637
|
-
): CancelablePromise<ReportingControllerBackfillSnapshotsResponse> {
|
|
2638
|
-
return __request(OpenAPI, {
|
|
2639
|
-
method: 'POST',
|
|
2640
|
-
url: '/api/v1/{region}/reporting/snapshots/backfill',
|
|
2641
|
-
body: data.requestBody,
|
|
2642
|
-
mediaType: 'application/json',
|
|
2643
|
-
errors: {
|
|
2644
|
-
400: 'Invalid date format or range',
|
|
2645
|
-
401: 'User not authenticated',
|
|
2646
|
-
409: 'Backfill already in progress for this user'
|
|
2647
|
-
}
|
|
2648
|
-
});
|
|
2649
|
-
}
|
|
2650
4002
|
}
|
|
2651
4003
|
|
|
2652
4004
|
export class ApiKeysService {
|
|
2653
4005
|
/**
|
|
2654
|
-
*
|
|
4006
|
+
* Create API key
|
|
4007
|
+
* Generates a new API key for the authenticated user
|
|
4008
|
+
* @returns unknown API key created successfully
|
|
2655
4009
|
* @throws ApiError
|
|
2656
4010
|
*/
|
|
2657
|
-
public static
|
|
4011
|
+
public static apiKeysControllerCreateApiKey(): CancelablePromise<ApiKeysControllerCreateApiKeyResponse> {
|
|
2658
4012
|
return __request(OpenAPI, {
|
|
2659
4013
|
method: 'POST',
|
|
2660
|
-
url: '/api/v1/auth/api-keys'
|
|
4014
|
+
url: '/api/v1/auth/api-keys',
|
|
4015
|
+
errors: {
|
|
4016
|
+
403: 'Insufficient permissions to create API key'
|
|
4017
|
+
}
|
|
2661
4018
|
});
|
|
2662
4019
|
}
|
|
2663
4020
|
}
|
|
@@ -2667,7 +4024,7 @@ export class AuthService {
|
|
|
2667
4024
|
* Anonymous login with access token
|
|
2668
4025
|
* @param data The data for the request.
|
|
2669
4026
|
* @param data.requestBody
|
|
2670
|
-
* @returns
|
|
4027
|
+
* @returns AnonymousLoginResponseDto Login successful
|
|
2671
4028
|
* @throws ApiError
|
|
2672
4029
|
*/
|
|
2673
4030
|
public static authControllerAccessTokenLogin(
|
|
@@ -2685,6 +4042,19 @@ export class AuthService {
|
|
|
2685
4042
|
}
|
|
2686
4043
|
}
|
|
2687
4044
|
|
|
4045
|
+
export class DefaultService {
|
|
4046
|
+
/**
|
|
4047
|
+
* @returns unknown
|
|
4048
|
+
* @throws ApiError
|
|
4049
|
+
*/
|
|
4050
|
+
public static cacheControllerFlushCache(): CancelablePromise<CacheControllerFlushCacheResponse> {
|
|
4051
|
+
return __request(OpenAPI, {
|
|
4052
|
+
method: 'POST',
|
|
4053
|
+
url: '/api/v1/cache/flush'
|
|
4054
|
+
});
|
|
4055
|
+
}
|
|
4056
|
+
}
|
|
4057
|
+
|
|
2688
4058
|
export class ExchangeRateService {
|
|
2689
4059
|
/**
|
|
2690
4060
|
* Get exchange rate for currency pair
|
|
@@ -2743,6 +4113,21 @@ export class HealthService {
|
|
|
2743
4113
|
});
|
|
2744
4114
|
}
|
|
2745
4115
|
|
|
4116
|
+
/**
|
|
4117
|
+
* Check OpenBB schema status
|
|
4118
|
+
* @returns unknown OpenBB status
|
|
4119
|
+
* @throws ApiError
|
|
4120
|
+
*/
|
|
4121
|
+
public static healthControllerCheckOpenBb(): CancelablePromise<HealthControllerCheckOpenBbResponse> {
|
|
4122
|
+
return __request(OpenAPI, {
|
|
4123
|
+
method: 'GET',
|
|
4124
|
+
url: '/api/v1/health/openbb',
|
|
4125
|
+
errors: {
|
|
4126
|
+
503: 'OpenBB unavailable'
|
|
4127
|
+
}
|
|
4128
|
+
});
|
|
4129
|
+
}
|
|
4130
|
+
|
|
2746
4131
|
/**
|
|
2747
4132
|
* Check Redis connection health
|
|
2748
4133
|
* @returns unknown Redis is healthy
|
|
@@ -2811,69 +4196,6 @@ export class HealthService {
|
|
|
2811
4196
|
}
|
|
2812
4197
|
});
|
|
2813
4198
|
}
|
|
2814
|
-
|
|
2815
|
-
/**
|
|
2816
|
-
* Check health of a specific data enhancer
|
|
2817
|
-
* @param data The data for the request.
|
|
2818
|
-
* @param data.name Data enhancer name
|
|
2819
|
-
* @returns unknown Data enhancer is healthy
|
|
2820
|
-
* @throws ApiError
|
|
2821
|
-
*/
|
|
2822
|
-
public static healthControllerGetHealthOfDataEnhancer(
|
|
2823
|
-
data: HealthControllerGetHealthOfDataEnhancerData
|
|
2824
|
-
): CancelablePromise<HealthControllerGetHealthOfDataEnhancerResponse> {
|
|
2825
|
-
return __request(OpenAPI, {
|
|
2826
|
-
method: 'GET',
|
|
2827
|
-
url: '/api/v1/health/data-enhancer/{name}',
|
|
2828
|
-
path: {
|
|
2829
|
-
name: data.name
|
|
2830
|
-
},
|
|
2831
|
-
errors: {
|
|
2832
|
-
401: 'Unauthorized',
|
|
2833
|
-
503: 'Data enhancer unavailable'
|
|
2834
|
-
}
|
|
2835
|
-
});
|
|
2836
|
-
}
|
|
2837
|
-
|
|
2838
|
-
/**
|
|
2839
|
-
* Check health of all data providers
|
|
2840
|
-
* @returns unknown Data providers health status
|
|
2841
|
-
* @throws ApiError
|
|
2842
|
-
*/
|
|
2843
|
-
public static healthControllerCheckDataProviders(): CancelablePromise<HealthControllerCheckDataProvidersResponse> {
|
|
2844
|
-
return __request(OpenAPI, {
|
|
2845
|
-
method: 'GET',
|
|
2846
|
-
url: '/api/v1/health/data-providers',
|
|
2847
|
-
errors: {
|
|
2848
|
-
401: 'Unauthorized',
|
|
2849
|
-
503: 'Data providers check failed'
|
|
2850
|
-
}
|
|
2851
|
-
});
|
|
2852
|
-
}
|
|
2853
|
-
|
|
2854
|
-
/**
|
|
2855
|
-
* Check health of a specific data provider
|
|
2856
|
-
* @param data The data for the request.
|
|
2857
|
-
* @param data.dataSource Data source identifier
|
|
2858
|
-
* @returns unknown Data provider is healthy
|
|
2859
|
-
* @throws ApiError
|
|
2860
|
-
*/
|
|
2861
|
-
public static healthControllerGetHealthOfDataProvider(
|
|
2862
|
-
data: HealthControllerGetHealthOfDataProviderData
|
|
2863
|
-
): CancelablePromise<HealthControllerGetHealthOfDataProviderResponse> {
|
|
2864
|
-
return __request(OpenAPI, {
|
|
2865
|
-
method: 'GET',
|
|
2866
|
-
url: '/api/v1/health/data-provider/{dataSource}',
|
|
2867
|
-
path: {
|
|
2868
|
-
dataSource: data.dataSource
|
|
2869
|
-
},
|
|
2870
|
-
errors: {
|
|
2871
|
-
400: 'Invalid data source',
|
|
2872
|
-
401: 'Unauthorized',
|
|
2873
|
-
503: 'Data provider unavailable'
|
|
2874
|
-
}
|
|
2875
|
-
});
|
|
2876
|
-
}
|
|
2877
4199
|
}
|
|
2878
4200
|
|
|
2879
4201
|
export class InfoService {
|
|
@@ -2890,92 +4212,52 @@ export class InfoService {
|
|
|
2890
4212
|
}
|
|
2891
4213
|
}
|
|
2892
4214
|
|
|
2893
|
-
export class
|
|
2894
|
-
/**
|
|
2895
|
-
* Get asset logo by data source and symbol
|
|
2896
|
-
* @param data The data for the request.
|
|
2897
|
-
* @param data.dataSource Data source identifier (e.g., YAHOO, COINGECKO)
|
|
2898
|
-
* @param data.symbol Asset symbol (e.g., AAPL, BTC)
|
|
2899
|
-
* @returns unknown Logo image stream (favicon)
|
|
2900
|
-
* @throws ApiError
|
|
2901
|
-
*/
|
|
2902
|
-
public static logoControllerGetLogoByDataSourceAndSymbol(
|
|
2903
|
-
data: LogoControllerGetLogoByDataSourceAndSymbolData
|
|
2904
|
-
): CancelablePromise<LogoControllerGetLogoByDataSourceAndSymbolResponse> {
|
|
2905
|
-
return __request(OpenAPI, {
|
|
2906
|
-
method: 'GET',
|
|
2907
|
-
url: '/api/v1/market/logos/{dataSource}/{symbol}',
|
|
2908
|
-
path: {
|
|
2909
|
-
dataSource: data.dataSource,
|
|
2910
|
-
symbol: data.symbol
|
|
2911
|
-
},
|
|
2912
|
-
errors: {
|
|
2913
|
-
401: 'Unauthorized',
|
|
2914
|
-
404: 'Logo not found for the specified asset',
|
|
2915
|
-
503: 'Service unavailable'
|
|
2916
|
-
}
|
|
2917
|
-
});
|
|
2918
|
-
}
|
|
2919
|
-
|
|
4215
|
+
export class MarketDataService {
|
|
2920
4216
|
/**
|
|
2921
|
-
*
|
|
4217
|
+
* Search market symbols by name or code
|
|
4218
|
+
* Ranked search over the openbb catalog. Empty `q` returns [].
|
|
2922
4219
|
* @param data The data for the request.
|
|
2923
|
-
* @param data.
|
|
2924
|
-
* @
|
|
4220
|
+
* @param data.q Search term — matched against symbol and instrument name. Empty string returns [].
|
|
4221
|
+
* @param data.limit Maximum number of results (clamped 1..50)
|
|
4222
|
+
* @param data.exchange Filter by exchange code (e.g. US, HK, SS, SZ)
|
|
4223
|
+
* @param data.assetType Filter by OpenBB asset_type (e.g. stock, etf)
|
|
4224
|
+
* @returns SymbolSearchResultDto Ranked search results
|
|
2925
4225
|
* @throws ApiError
|
|
2926
4226
|
*/
|
|
2927
|
-
public static
|
|
2928
|
-
data:
|
|
2929
|
-
): CancelablePromise<
|
|
4227
|
+
public static symbolControllerSearch(
|
|
4228
|
+
data: SymbolControllerSearchData
|
|
4229
|
+
): CancelablePromise<SymbolControllerSearchResponse> {
|
|
2930
4230
|
return __request(OpenAPI, {
|
|
2931
4231
|
method: 'GET',
|
|
2932
|
-
url: '/api/v1/market/
|
|
4232
|
+
url: '/api/v1/market/symbols/search',
|
|
2933
4233
|
query: {
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
503: 'Service unavailable'
|
|
4234
|
+
q: data.q,
|
|
4235
|
+
limit: data.limit,
|
|
4236
|
+
exchange: data.exchange,
|
|
4237
|
+
assetType: data.assetType
|
|
2939
4238
|
}
|
|
2940
4239
|
});
|
|
2941
4240
|
}
|
|
2942
|
-
}
|
|
2943
4241
|
|
|
2944
|
-
export class MarketDataService {
|
|
2945
4242
|
/**
|
|
2946
|
-
* Get market
|
|
2947
|
-
* Retrieves market data and asset profile for a given symbol and data source
|
|
4243
|
+
* Get a market symbol quote
|
|
2948
4244
|
* @param data The data for the request.
|
|
2949
|
-
* @param data.
|
|
2950
|
-
* @
|
|
2951
|
-
* @returns unknown Market data retrieved successfully
|
|
4245
|
+
* @param data.symbol
|
|
4246
|
+
* @returns SymbolQuoteDto Symbol quote
|
|
2952
4247
|
* @throws ApiError
|
|
2953
4248
|
*/
|
|
2954
|
-
public static
|
|
2955
|
-
data:
|
|
2956
|
-
): CancelablePromise<
|
|
4249
|
+
public static symbolControllerGetQuote(
|
|
4250
|
+
data: SymbolControllerGetQuoteData
|
|
4251
|
+
): CancelablePromise<SymbolControllerGetQuoteResponse> {
|
|
2957
4252
|
return __request(OpenAPI, {
|
|
2958
4253
|
method: 'GET',
|
|
2959
|
-
url: '/api/v1/market
|
|
4254
|
+
url: '/api/v1/market/symbols/{symbol}/quote',
|
|
2960
4255
|
path: {
|
|
2961
|
-
dataSource: data.dataSource,
|
|
2962
4256
|
symbol: data.symbol
|
|
2963
4257
|
},
|
|
2964
4258
|
errors: {
|
|
2965
|
-
|
|
2966
|
-
404: 'Market data not found'
|
|
4259
|
+
404: 'Symbol not found in the openbb catalog'
|
|
2967
4260
|
}
|
|
2968
4261
|
});
|
|
2969
4262
|
}
|
|
2970
|
-
|
|
2971
|
-
/**
|
|
2972
|
-
* @returns unknown
|
|
2973
|
-
* @throws ApiError
|
|
2974
|
-
*/
|
|
2975
|
-
public static marketDataController(): CancelablePromise<MarketDataControllerResponse> {
|
|
2976
|
-
return __request(OpenAPI, {
|
|
2977
|
-
method: 'POST',
|
|
2978
|
-
url: '/api/v1/market-data/{dataSource}/{symbol}'
|
|
2979
|
-
});
|
|
2980
|
-
}
|
|
2981
4263
|
}
|