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