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