@firela/api-types 0.0.0-canary.9256c41b → 0.0.0-canary.97006feb
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 +856 -856
- package/dist/index.d.ts +856 -856
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +924 -923
- package/src/generated/services.gen.ts +441 -441
- package/src/generated/types.gen.ts +874 -872
|
@@ -143,26 +143,14 @@ import type {
|
|
|
143
143
|
ExpectedTransactionControllerEnterNowResponse,
|
|
144
144
|
ForecastControllerGetForecastData,
|
|
145
145
|
ForecastControllerGetForecastResponse,
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
TransactionRuleControllerExportData,
|
|
155
|
-
TransactionRuleControllerExportResponse,
|
|
156
|
-
TransactionRuleControllerGetStatisticsData,
|
|
157
|
-
TransactionRuleControllerGetStatisticsResponse,
|
|
158
|
-
TransactionRuleControllerGetDetailData,
|
|
159
|
-
TransactionRuleControllerGetDetailResponse,
|
|
160
|
-
TransactionRuleControllerUpdateData,
|
|
161
|
-
TransactionRuleControllerUpdateResponse,
|
|
162
|
-
TransactionRuleControllerDeleteData,
|
|
163
|
-
TransactionRuleControllerDeleteResponse,
|
|
164
|
-
TransactionRuleControllerTestData,
|
|
165
|
-
TransactionRuleControllerTestResponse,
|
|
146
|
+
ReportingControllerGetPortfolioTrendsData,
|
|
147
|
+
ReportingControllerGetPortfolioTrendsResponse,
|
|
148
|
+
ReportingControllerGetCashFlowTrendsData,
|
|
149
|
+
ReportingControllerGetCashFlowTrendsResponse,
|
|
150
|
+
ReportingControllerGenerateSnapshotData,
|
|
151
|
+
ReportingControllerGenerateSnapshotResponse,
|
|
152
|
+
ReportingControllerBackfillSnapshotsData,
|
|
153
|
+
ReportingControllerBackfillSnapshotsResponse,
|
|
166
154
|
UserControllerDeleteOwnUserData,
|
|
167
155
|
UserControllerDeleteOwnUserResponse,
|
|
168
156
|
UserControllerGetUserData,
|
|
@@ -185,6 +173,26 @@ import type {
|
|
|
185
173
|
PropertyControllerUpdateResponse,
|
|
186
174
|
PropertyControllerDeleteData,
|
|
187
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,
|
|
188
196
|
EventControllerCreateData,
|
|
189
197
|
EventControllerCreateResponse,
|
|
190
198
|
EventControllerFindAllData,
|
|
@@ -266,14 +274,6 @@ import type {
|
|
|
266
274
|
DashboardControllerGetExpensesResponse,
|
|
267
275
|
HoldingPnlControllerGetHoldingPnlData,
|
|
268
276
|
HoldingPnlControllerGetHoldingPnlResponse,
|
|
269
|
-
ReportingControllerGetPortfolioTrendsData,
|
|
270
|
-
ReportingControllerGetPortfolioTrendsResponse,
|
|
271
|
-
ReportingControllerGetCashFlowTrendsData,
|
|
272
|
-
ReportingControllerGetCashFlowTrendsResponse,
|
|
273
|
-
ReportingControllerGenerateSnapshotData,
|
|
274
|
-
ReportingControllerGenerateSnapshotResponse,
|
|
275
|
-
ReportingControllerBackfillSnapshotsData,
|
|
276
|
-
ReportingControllerBackfillSnapshotsResponse,
|
|
277
277
|
ApiKeysControllerCreateApiKeyResponse,
|
|
278
278
|
AuthControllerAccessTokenLoginData,
|
|
279
279
|
AuthControllerAccessTokenLoginResponse,
|
|
@@ -2161,534 +2161,691 @@ export class RecurringForecastService {
|
|
|
2161
2161
|
}
|
|
2162
2162
|
}
|
|
2163
2163
|
|
|
2164
|
-
export class
|
|
2164
|
+
export class ReportingService {
|
|
2165
2165
|
/**
|
|
2166
|
-
*
|
|
2167
|
-
*
|
|
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
|
+
*
|
|
2168
2179
|
* @param data The data for the request.
|
|
2169
2180
|
* @param data.region Region code for tenant context
|
|
2170
|
-
* @param data.
|
|
2171
|
-
* @
|
|
2181
|
+
* @param data.period Time period
|
|
2182
|
+
* @param data.granularity Data granularity
|
|
2183
|
+
* @returns PortfolioTrendsResponseDto Trends retrieved successfully
|
|
2172
2184
|
* @throws ApiError
|
|
2173
2185
|
*/
|
|
2174
|
-
public static
|
|
2175
|
-
data:
|
|
2176
|
-
): CancelablePromise<
|
|
2186
|
+
public static reportingControllerGetPortfolioTrends(
|
|
2187
|
+
data: ReportingControllerGetPortfolioTrendsData
|
|
2188
|
+
): CancelablePromise<ReportingControllerGetPortfolioTrendsResponse> {
|
|
2177
2189
|
return __request(OpenAPI, {
|
|
2178
|
-
method: '
|
|
2179
|
-
url: '/api/v1/{region}/
|
|
2190
|
+
method: 'GET',
|
|
2191
|
+
url: '/api/v1/{region}/reporting/portfolio/trends',
|
|
2180
2192
|
path: {
|
|
2181
2193
|
region: data.region
|
|
2182
2194
|
},
|
|
2183
|
-
|
|
2184
|
-
|
|
2195
|
+
query: {
|
|
2196
|
+
period: data.period,
|
|
2197
|
+
granularity: data.granularity
|
|
2198
|
+
},
|
|
2185
2199
|
errors: {
|
|
2186
|
-
|
|
2187
|
-
401: 'Unauthorized',
|
|
2188
|
-
409: 'Resource conflict - another process is updating this rule'
|
|
2200
|
+
401: 'User not authenticated'
|
|
2189
2201
|
}
|
|
2190
2202
|
});
|
|
2191
2203
|
}
|
|
2192
2204
|
|
|
2193
2205
|
/**
|
|
2194
|
-
* Get
|
|
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
|
+
*
|
|
2195
2215
|
* @param data The data for the request.
|
|
2196
2216
|
* @param data.region Region code for tenant context
|
|
2197
|
-
* @param data.
|
|
2198
|
-
* @param data.
|
|
2199
|
-
* @
|
|
2200
|
-
* @param data.learningSource Filter by learning source. Omit this parameter or pass empty string to get manually created rules (learningSource is null in database).
|
|
2201
|
-
* @param data.autoApplyEnabled Filter by auto-apply status
|
|
2202
|
-
* @returns TransactionRuleListResponseDto List of rules
|
|
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
|
|
2203
2220
|
* @throws ApiError
|
|
2204
2221
|
*/
|
|
2205
|
-
public static
|
|
2206
|
-
data:
|
|
2207
|
-
): CancelablePromise<
|
|
2222
|
+
public static reportingControllerGetCashFlowTrends(
|
|
2223
|
+
data: ReportingControllerGetCashFlowTrendsData
|
|
2224
|
+
): CancelablePromise<ReportingControllerGetCashFlowTrendsResponse> {
|
|
2208
2225
|
return __request(OpenAPI, {
|
|
2209
2226
|
method: 'GET',
|
|
2210
|
-
url: '/api/v1/{region}/
|
|
2227
|
+
url: '/api/v1/{region}/reporting/cash-flow/trends',
|
|
2211
2228
|
path: {
|
|
2212
2229
|
region: data.region
|
|
2213
2230
|
},
|
|
2214
2231
|
query: {
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
enabled: data.enabled,
|
|
2218
|
-
learningSource: data.learningSource,
|
|
2219
|
-
autoApplyEnabled: data.autoApplyEnabled
|
|
2232
|
+
period: data.period,
|
|
2233
|
+
granularity: data.granularity
|
|
2220
2234
|
},
|
|
2221
2235
|
errors: {
|
|
2222
|
-
401: '
|
|
2236
|
+
401: 'User not authenticated'
|
|
2223
2237
|
}
|
|
2224
2238
|
});
|
|
2225
2239
|
}
|
|
2226
2240
|
|
|
2227
2241
|
/**
|
|
2228
|
-
*
|
|
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
|
+
*
|
|
2229
2256
|
* @param data The data for the request.
|
|
2230
2257
|
* @param data.region Region code for tenant context
|
|
2231
|
-
* @param data.requestBody
|
|
2232
|
-
* @returns
|
|
2258
|
+
* @param data.requestBody Optional date (defaults to today)
|
|
2259
|
+
* @returns GenerateSnapshotResponse Snapshot generated successfully
|
|
2233
2260
|
* @throws ApiError
|
|
2234
2261
|
*/
|
|
2235
|
-
public static
|
|
2236
|
-
data:
|
|
2237
|
-
): CancelablePromise<
|
|
2262
|
+
public static reportingControllerGenerateSnapshot(
|
|
2263
|
+
data: ReportingControllerGenerateSnapshotData
|
|
2264
|
+
): CancelablePromise<ReportingControllerGenerateSnapshotResponse> {
|
|
2238
2265
|
return __request(OpenAPI, {
|
|
2239
2266
|
method: 'POST',
|
|
2240
|
-
url: '/api/v1/{region}/
|
|
2267
|
+
url: '/api/v1/{region}/reporting/snapshots/generate',
|
|
2241
2268
|
path: {
|
|
2242
2269
|
region: data.region
|
|
2243
2270
|
},
|
|
2244
2271
|
body: data.requestBody,
|
|
2245
2272
|
mediaType: 'application/json',
|
|
2246
2273
|
errors: {
|
|
2247
|
-
400: '
|
|
2248
|
-
401: '
|
|
2274
|
+
400: 'Invalid date format',
|
|
2275
|
+
401: 'User not authenticated'
|
|
2249
2276
|
}
|
|
2250
2277
|
});
|
|
2251
2278
|
}
|
|
2252
2279
|
|
|
2253
2280
|
/**
|
|
2254
|
-
*
|
|
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
|
+
*
|
|
2255
2295
|
* @param data The data for the request.
|
|
2256
2296
|
* @param data.region Region code for tenant context
|
|
2257
2297
|
* @param data.requestBody
|
|
2258
|
-
* @returns
|
|
2298
|
+
* @returns BackfillSnapshotsResponse Backfill completed successfully
|
|
2259
2299
|
* @throws ApiError
|
|
2260
2300
|
*/
|
|
2261
|
-
public static
|
|
2262
|
-
data:
|
|
2263
|
-
): CancelablePromise<
|
|
2301
|
+
public static reportingControllerBackfillSnapshots(
|
|
2302
|
+
data: ReportingControllerBackfillSnapshotsData
|
|
2303
|
+
): CancelablePromise<ReportingControllerBackfillSnapshotsResponse> {
|
|
2264
2304
|
return __request(OpenAPI, {
|
|
2265
2305
|
method: 'POST',
|
|
2266
|
-
url: '/api/v1/{region}/
|
|
2306
|
+
url: '/api/v1/{region}/reporting/snapshots/backfill',
|
|
2267
2307
|
path: {
|
|
2268
2308
|
region: data.region
|
|
2269
2309
|
},
|
|
2270
2310
|
body: data.requestBody,
|
|
2271
2311
|
mediaType: 'application/json',
|
|
2272
2312
|
errors: {
|
|
2273
|
-
400: 'Invalid
|
|
2274
|
-
401: '
|
|
2313
|
+
400: 'Invalid date format or range',
|
|
2314
|
+
401: 'User not authenticated',
|
|
2315
|
+
409: 'Backfill already in progress for this user'
|
|
2275
2316
|
}
|
|
2276
2317
|
});
|
|
2277
2318
|
}
|
|
2319
|
+
}
|
|
2278
2320
|
|
|
2321
|
+
export class UsersService {
|
|
2279
2322
|
/**
|
|
2280
|
-
*
|
|
2323
|
+
* Delete own user account
|
|
2281
2324
|
* @param data The data for the request.
|
|
2282
|
-
* @param data.
|
|
2283
|
-
* @
|
|
2284
|
-
* @returns ExportRulesResponseDto Exported rules
|
|
2325
|
+
* @param data.requestBody
|
|
2326
|
+
* @returns void User deleted successfully
|
|
2285
2327
|
* @throws ApiError
|
|
2286
2328
|
*/
|
|
2287
|
-
public static
|
|
2288
|
-
data:
|
|
2289
|
-
): CancelablePromise<
|
|
2329
|
+
public static userControllerDeleteOwnUser(
|
|
2330
|
+
data: UserControllerDeleteOwnUserData
|
|
2331
|
+
): CancelablePromise<UserControllerDeleteOwnUserResponse> {
|
|
2290
2332
|
return __request(OpenAPI, {
|
|
2291
|
-
method: '
|
|
2292
|
-
url: '/api/v1/
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
region: data.region
|
|
2296
|
-
},
|
|
2333
|
+
method: 'DELETE',
|
|
2334
|
+
url: '/api/v1/users',
|
|
2335
|
+
body: data.requestBody,
|
|
2336
|
+
mediaType: 'application/json',
|
|
2297
2337
|
errors: {
|
|
2298
|
-
|
|
2299
|
-
401: 'Unauthorized'
|
|
2338
|
+
403: 'Invalid access token'
|
|
2300
2339
|
}
|
|
2301
2340
|
});
|
|
2302
2341
|
}
|
|
2303
2342
|
|
|
2304
2343
|
/**
|
|
2305
|
-
* Get
|
|
2344
|
+
* Get current authenticated user
|
|
2306
2345
|
* @param data The data for the request.
|
|
2307
|
-
* @param data.
|
|
2308
|
-
* @
|
|
2309
|
-
* @returns RuleStatisticsResponseDto Rule statistics
|
|
2346
|
+
* @param data.acceptLanguage
|
|
2347
|
+
* @returns unknown User retrieved successfully
|
|
2310
2348
|
* @throws ApiError
|
|
2311
2349
|
*/
|
|
2312
|
-
public static
|
|
2313
|
-
data:
|
|
2314
|
-
): CancelablePromise<
|
|
2350
|
+
public static userControllerGetUser(
|
|
2351
|
+
data: UserControllerGetUserData
|
|
2352
|
+
): CancelablePromise<UserControllerGetUserResponse> {
|
|
2315
2353
|
return __request(OpenAPI, {
|
|
2316
2354
|
method: 'GET',
|
|
2317
|
-
url: '/api/v1/
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
region: data.region
|
|
2321
|
-
},
|
|
2322
|
-
errors: {
|
|
2323
|
-
401: 'Unauthorized'
|
|
2355
|
+
url: '/api/v1/users',
|
|
2356
|
+
headers: {
|
|
2357
|
+
'accept-language': data.acceptLanguage
|
|
2324
2358
|
}
|
|
2325
2359
|
});
|
|
2326
2360
|
}
|
|
2327
2361
|
|
|
2328
2362
|
/**
|
|
2329
|
-
*
|
|
2363
|
+
* Sign up new user
|
|
2364
|
+
* Create a new account with auto-generated access token. Protected by Cloudflare Turnstile to prevent automated signup (when enabled).
|
|
2330
2365
|
* @param data The data for the request.
|
|
2331
|
-
* @param data.
|
|
2332
|
-
* @
|
|
2333
|
-
* @returns TransactionRuleResponseDto Rule details
|
|
2366
|
+
* @param data.requestBody
|
|
2367
|
+
* @returns SignupResponseDto User created successfully
|
|
2334
2368
|
* @throws ApiError
|
|
2335
2369
|
*/
|
|
2336
|
-
public static
|
|
2337
|
-
data:
|
|
2338
|
-
): CancelablePromise<
|
|
2370
|
+
public static userControllerSignupUser(
|
|
2371
|
+
data: UserControllerSignupUserData
|
|
2372
|
+
): CancelablePromise<UserControllerSignupUserResponse> {
|
|
2339
2373
|
return __request(OpenAPI, {
|
|
2340
|
-
method: '
|
|
2341
|
-
url: '/api/v1/
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
region: data.region
|
|
2345
|
-
},
|
|
2374
|
+
method: 'POST',
|
|
2375
|
+
url: '/api/v1/users',
|
|
2376
|
+
body: data.requestBody,
|
|
2377
|
+
mediaType: 'application/json',
|
|
2346
2378
|
errors: {
|
|
2347
|
-
|
|
2348
|
-
403: '
|
|
2349
|
-
404: 'Rule not found'
|
|
2379
|
+
400: 'Invalid Turnstile token (when Turnstile is enabled)',
|
|
2380
|
+
403: 'User signup is disabled'
|
|
2350
2381
|
}
|
|
2351
2382
|
});
|
|
2352
2383
|
}
|
|
2353
2384
|
|
|
2354
2385
|
/**
|
|
2355
|
-
*
|
|
2386
|
+
* Delete user by ID (admin only)
|
|
2356
2387
|
* @param data The data for the request.
|
|
2357
|
-
* @param data.
|
|
2358
|
-
* @
|
|
2359
|
-
* @param data.requestBody
|
|
2360
|
-
* @returns TransactionRuleResponseDto Rule updated successfully
|
|
2388
|
+
* @param data.id User ID to delete
|
|
2389
|
+
* @returns void User deleted successfully
|
|
2361
2390
|
* @throws ApiError
|
|
2362
2391
|
*/
|
|
2363
|
-
public static
|
|
2364
|
-
data:
|
|
2365
|
-
): CancelablePromise<
|
|
2392
|
+
public static userControllerDeleteUser(
|
|
2393
|
+
data: UserControllerDeleteUserData
|
|
2394
|
+
): CancelablePromise<UserControllerDeleteUserResponse> {
|
|
2366
2395
|
return __request(OpenAPI, {
|
|
2367
|
-
method: '
|
|
2368
|
-
url: '/api/v1/
|
|
2396
|
+
method: 'DELETE',
|
|
2397
|
+
url: '/api/v1/users/{id}',
|
|
2369
2398
|
path: {
|
|
2370
|
-
|
|
2371
|
-
region: data.region
|
|
2399
|
+
id: data.id
|
|
2372
2400
|
},
|
|
2373
|
-
body: data.requestBody,
|
|
2374
|
-
mediaType: 'application/json',
|
|
2375
2401
|
errors: {
|
|
2376
|
-
|
|
2377
|
-
401: 'Unauthorized',
|
|
2378
|
-
403: 'Forbidden - not owner of rule',
|
|
2379
|
-
404: 'Rule not found',
|
|
2380
|
-
409: 'Resource conflict - rule is being modified by another process'
|
|
2402
|
+
403: 'Cannot delete own account or insufficient permissions'
|
|
2381
2403
|
}
|
|
2382
2404
|
});
|
|
2383
2405
|
}
|
|
2384
2406
|
|
|
2385
2407
|
/**
|
|
2386
|
-
*
|
|
2408
|
+
* Get user info by user ID
|
|
2387
2409
|
* @param data The data for the request.
|
|
2388
|
-
* @param data.
|
|
2389
|
-
* @
|
|
2390
|
-
* @returns void Rule deleted successfully
|
|
2410
|
+
* @param data.id User ID
|
|
2411
|
+
* @returns unknown User info retrieved successfully
|
|
2391
2412
|
* @throws ApiError
|
|
2392
2413
|
*/
|
|
2393
|
-
public static
|
|
2394
|
-
data:
|
|
2395
|
-
): CancelablePromise<
|
|
2414
|
+
public static userControllerGetUserInfo(
|
|
2415
|
+
data: UserControllerGetUserInfoData
|
|
2416
|
+
): CancelablePromise<UserControllerGetUserInfoResponse> {
|
|
2396
2417
|
return __request(OpenAPI, {
|
|
2397
|
-
method: '
|
|
2398
|
-
url: '/api/v1/{
|
|
2418
|
+
method: 'GET',
|
|
2419
|
+
url: '/api/v1/users/{id}/info',
|
|
2399
2420
|
path: {
|
|
2400
|
-
|
|
2401
|
-
region: data.region
|
|
2421
|
+
id: data.id
|
|
2402
2422
|
},
|
|
2403
2423
|
errors: {
|
|
2404
|
-
|
|
2405
|
-
403: 'Forbidden - not owner of rule',
|
|
2406
|
-
404: 'Rule not found',
|
|
2407
|
-
409: 'Resource conflict - rule is being modified by another process'
|
|
2424
|
+
403: 'Cannot access other user info without admin permission'
|
|
2408
2425
|
}
|
|
2409
2426
|
});
|
|
2410
2427
|
}
|
|
2411
2428
|
|
|
2412
2429
|
/**
|
|
2413
|
-
*
|
|
2430
|
+
* Update user settings
|
|
2414
2431
|
* @param data The data for the request.
|
|
2415
|
-
* @param data.ruleId Rule ID to test
|
|
2416
|
-
* @param data.region Region code for tenant context
|
|
2417
2432
|
* @param data.requestBody
|
|
2418
|
-
* @returns
|
|
2433
|
+
* @returns unknown Settings updated successfully
|
|
2419
2434
|
* @throws ApiError
|
|
2420
2435
|
*/
|
|
2421
|
-
public static
|
|
2422
|
-
data:
|
|
2423
|
-
): CancelablePromise<
|
|
2436
|
+
public static userControllerUpdateUserSetting(
|
|
2437
|
+
data: UserControllerUpdateUserSettingData
|
|
2438
|
+
): CancelablePromise<UserControllerUpdateUserSettingResponse> {
|
|
2424
2439
|
return __request(OpenAPI, {
|
|
2425
|
-
method: '
|
|
2426
|
-
url: '/api/v1/
|
|
2427
|
-
path: {
|
|
2428
|
-
ruleId: data.ruleId,
|
|
2429
|
-
region: data.region
|
|
2430
|
-
},
|
|
2440
|
+
method: 'PUT',
|
|
2441
|
+
url: '/api/v1/users/setting',
|
|
2431
2442
|
body: data.requestBody,
|
|
2432
2443
|
mediaType: 'application/json',
|
|
2433
2444
|
errors: {
|
|
2434
|
-
|
|
2435
|
-
403: 'Forbidden - not owner of rule',
|
|
2436
|
-
404: 'Rule not found'
|
|
2445
|
+
403: 'Insufficient permissions'
|
|
2437
2446
|
}
|
|
2438
2447
|
});
|
|
2439
2448
|
}
|
|
2440
|
-
}
|
|
2441
2449
|
|
|
2442
|
-
export class UsersService {
|
|
2443
2450
|
/**
|
|
2444
|
-
*
|
|
2451
|
+
* Get all user settings paginated (admin only)
|
|
2445
2452
|
* @param data The data for the request.
|
|
2446
|
-
* @param data.
|
|
2447
|
-
* @
|
|
2453
|
+
* @param data.pageNo Page number
|
|
2454
|
+
* @param data.pageSize Page size
|
|
2455
|
+
* @returns unknown Settings list retrieved successfully
|
|
2448
2456
|
* @throws ApiError
|
|
2449
2457
|
*/
|
|
2450
|
-
public static
|
|
2451
|
-
data:
|
|
2452
|
-
): CancelablePromise<
|
|
2458
|
+
public static userControllerGetAllUserSettingsByPage(
|
|
2459
|
+
data: UserControllerGetAllUserSettingsByPageData
|
|
2460
|
+
): CancelablePromise<UserControllerGetAllUserSettingsByPageResponse> {
|
|
2453
2461
|
return __request(OpenAPI, {
|
|
2454
|
-
method: '
|
|
2455
|
-
url: '/api/v1/users',
|
|
2456
|
-
|
|
2457
|
-
|
|
2462
|
+
method: 'GET',
|
|
2463
|
+
url: '/api/v1/users/settings-by-page',
|
|
2464
|
+
query: {
|
|
2465
|
+
pageNo: data.pageNo,
|
|
2466
|
+
pageSize: data.pageSize
|
|
2467
|
+
}
|
|
2468
|
+
});
|
|
2469
|
+
}
|
|
2470
|
+
|
|
2471
|
+
/**
|
|
2472
|
+
* Get asset and liability summary for current user
|
|
2473
|
+
* @returns unknown Summary retrieved successfully
|
|
2474
|
+
* @throws ApiError
|
|
2475
|
+
*/
|
|
2476
|
+
public static userControllerGetAssetLiabilitySummary(): CancelablePromise<UserControllerGetAssetLiabilitySummaryResponse> {
|
|
2477
|
+
return __request(OpenAPI, {
|
|
2478
|
+
method: 'GET',
|
|
2479
|
+
url: '/api/v1/users/asset-liability-summary'
|
|
2480
|
+
});
|
|
2481
|
+
}
|
|
2482
|
+
}
|
|
2483
|
+
|
|
2484
|
+
export class PropertiesService {
|
|
2485
|
+
/**
|
|
2486
|
+
* Get all system properties
|
|
2487
|
+
* @returns unknown Properties retrieved successfully
|
|
2488
|
+
* @throws ApiError
|
|
2489
|
+
*/
|
|
2490
|
+
public static propertyControllerGetAll(): CancelablePromise<PropertyControllerGetAllResponse> {
|
|
2491
|
+
return __request(OpenAPI, {
|
|
2492
|
+
method: 'GET',
|
|
2493
|
+
url: '/api/v1/admin/properties',
|
|
2458
2494
|
errors: {
|
|
2459
|
-
|
|
2495
|
+
401: 'Unauthorized',
|
|
2496
|
+
403: 'Forbidden - insufficient permissions'
|
|
2460
2497
|
}
|
|
2461
2498
|
});
|
|
2462
2499
|
}
|
|
2463
2500
|
|
|
2464
2501
|
/**
|
|
2465
|
-
* Get
|
|
2502
|
+
* Get property by key
|
|
2466
2503
|
* @param data The data for the request.
|
|
2467
|
-
* @param data.
|
|
2468
|
-
* @returns unknown
|
|
2504
|
+
* @param data.key Property key
|
|
2505
|
+
* @returns unknown Property retrieved successfully
|
|
2469
2506
|
* @throws ApiError
|
|
2470
2507
|
*/
|
|
2471
|
-
public static
|
|
2472
|
-
data:
|
|
2473
|
-
): CancelablePromise<
|
|
2508
|
+
public static propertyControllerGetByKey(
|
|
2509
|
+
data: PropertyControllerGetByKeyData
|
|
2510
|
+
): CancelablePromise<PropertyControllerGetByKeyResponse> {
|
|
2474
2511
|
return __request(OpenAPI, {
|
|
2475
2512
|
method: 'GET',
|
|
2476
|
-
url: '/api/v1/
|
|
2477
|
-
|
|
2478
|
-
|
|
2513
|
+
url: '/api/v1/admin/properties/{key}',
|
|
2514
|
+
path: {
|
|
2515
|
+
key: data.key
|
|
2516
|
+
},
|
|
2517
|
+
errors: {
|
|
2518
|
+
401: 'Unauthorized',
|
|
2519
|
+
403: 'Forbidden - insufficient permissions',
|
|
2520
|
+
404: 'Property not found'
|
|
2479
2521
|
}
|
|
2480
2522
|
});
|
|
2481
2523
|
}
|
|
2482
2524
|
|
|
2483
2525
|
/**
|
|
2484
|
-
*
|
|
2485
|
-
* Create a new account with auto-generated access token. Protected by Cloudflare Turnstile to prevent automated signup (when enabled).
|
|
2526
|
+
* Update a system property
|
|
2486
2527
|
* @param data The data for the request.
|
|
2528
|
+
* @param data.key Property key
|
|
2487
2529
|
* @param data.requestBody
|
|
2488
|
-
* @returns
|
|
2530
|
+
* @returns unknown Property updated successfully
|
|
2489
2531
|
* @throws ApiError
|
|
2490
2532
|
*/
|
|
2491
|
-
public static
|
|
2492
|
-
data:
|
|
2493
|
-
): CancelablePromise<
|
|
2533
|
+
public static propertyControllerUpdate(
|
|
2534
|
+
data: PropertyControllerUpdateData
|
|
2535
|
+
): CancelablePromise<PropertyControllerUpdateResponse> {
|
|
2494
2536
|
return __request(OpenAPI, {
|
|
2495
|
-
method: '
|
|
2496
|
-
url: '/api/v1/
|
|
2537
|
+
method: 'PUT',
|
|
2538
|
+
url: '/api/v1/admin/properties/{key}',
|
|
2539
|
+
path: {
|
|
2540
|
+
key: data.key
|
|
2541
|
+
},
|
|
2497
2542
|
body: data.requestBody,
|
|
2498
2543
|
mediaType: 'application/json',
|
|
2499
2544
|
errors: {
|
|
2500
|
-
|
|
2501
|
-
403: '
|
|
2545
|
+
401: 'Unauthorized',
|
|
2546
|
+
403: 'Forbidden - insufficient permissions'
|
|
2502
2547
|
}
|
|
2503
2548
|
});
|
|
2504
2549
|
}
|
|
2505
2550
|
|
|
2506
2551
|
/**
|
|
2507
|
-
* Delete
|
|
2552
|
+
* Delete a system property
|
|
2508
2553
|
* @param data The data for the request.
|
|
2509
|
-
* @param data.
|
|
2510
|
-
* @returns void
|
|
2554
|
+
* @param data.key Property key
|
|
2555
|
+
* @returns void Property deleted successfully
|
|
2511
2556
|
* @throws ApiError
|
|
2512
2557
|
*/
|
|
2513
|
-
public static
|
|
2514
|
-
data:
|
|
2515
|
-
): CancelablePromise<
|
|
2558
|
+
public static propertyControllerDelete(
|
|
2559
|
+
data: PropertyControllerDeleteData
|
|
2560
|
+
): CancelablePromise<PropertyControllerDeleteResponse> {
|
|
2516
2561
|
return __request(OpenAPI, {
|
|
2517
2562
|
method: 'DELETE',
|
|
2518
|
-
url: '/api/v1/
|
|
2563
|
+
url: '/api/v1/admin/properties/{key}',
|
|
2519
2564
|
path: {
|
|
2520
|
-
|
|
2565
|
+
key: data.key
|
|
2521
2566
|
},
|
|
2522
2567
|
errors: {
|
|
2523
|
-
|
|
2568
|
+
401: 'Unauthorized',
|
|
2569
|
+
403: 'Forbidden - insufficient permissions',
|
|
2570
|
+
404: 'Property not found'
|
|
2524
2571
|
}
|
|
2525
2572
|
});
|
|
2526
2573
|
}
|
|
2574
|
+
}
|
|
2527
2575
|
|
|
2576
|
+
export class BeanTransactionRulesService {
|
|
2528
2577
|
/**
|
|
2529
|
-
*
|
|
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.
|
|
2530
2580
|
* @param data The data for the request.
|
|
2531
|
-
* @param data.
|
|
2532
|
-
* @
|
|
2581
|
+
* @param data.region Region code for tenant context
|
|
2582
|
+
* @param data.requestBody
|
|
2583
|
+
* @returns TransactionRuleResponseDto Rule updated successfully (upsert mode)
|
|
2533
2584
|
* @throws ApiError
|
|
2534
2585
|
*/
|
|
2535
|
-
public static
|
|
2536
|
-
data:
|
|
2537
|
-
): CancelablePromise<
|
|
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> {
|
|
2538
2620
|
return __request(OpenAPI, {
|
|
2539
2621
|
method: 'GET',
|
|
2540
|
-
url: '/api/v1/
|
|
2622
|
+
url: '/api/v1/{region}/bean/transaction-rules',
|
|
2541
2623
|
path: {
|
|
2542
|
-
|
|
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
|
|
2543
2632
|
},
|
|
2544
2633
|
errors: {
|
|
2545
|
-
|
|
2634
|
+
401: 'Unauthorized'
|
|
2546
2635
|
}
|
|
2547
2636
|
});
|
|
2548
2637
|
}
|
|
2549
2638
|
|
|
2550
2639
|
/**
|
|
2551
|
-
*
|
|
2640
|
+
* Validate transaction rule configuration
|
|
2552
2641
|
* @param data The data for the request.
|
|
2642
|
+
* @param data.region Region code for tenant context
|
|
2553
2643
|
* @param data.requestBody
|
|
2554
|
-
* @returns
|
|
2644
|
+
* @returns ValidateRuleResponseDto Validation result
|
|
2555
2645
|
* @throws ApiError
|
|
2556
2646
|
*/
|
|
2557
|
-
public static
|
|
2558
|
-
data:
|
|
2559
|
-
): CancelablePromise<
|
|
2647
|
+
public static transactionRuleControllerValidate(
|
|
2648
|
+
data: TransactionRuleControllerValidateData
|
|
2649
|
+
): CancelablePromise<TransactionRuleControllerValidateResponse> {
|
|
2560
2650
|
return __request(OpenAPI, {
|
|
2561
|
-
method: '
|
|
2562
|
-
url: '/api/v1/
|
|
2651
|
+
method: 'POST',
|
|
2652
|
+
url: '/api/v1/{region}/bean/transaction-rules/validate',
|
|
2653
|
+
path: {
|
|
2654
|
+
region: data.region
|
|
2655
|
+
},
|
|
2563
2656
|
body: data.requestBody,
|
|
2564
2657
|
mediaType: 'application/json',
|
|
2565
2658
|
errors: {
|
|
2566
|
-
|
|
2659
|
+
400: 'Validation failed',
|
|
2660
|
+
401: 'Unauthorized'
|
|
2567
2661
|
}
|
|
2568
2662
|
});
|
|
2569
2663
|
}
|
|
2570
2664
|
|
|
2571
2665
|
/**
|
|
2572
|
-
*
|
|
2666
|
+
* Bulk create transaction rules
|
|
2573
2667
|
* @param data The data for the request.
|
|
2574
|
-
* @param data.
|
|
2575
|
-
* @param data.
|
|
2576
|
-
* @returns
|
|
2668
|
+
* @param data.region Region code for tenant context
|
|
2669
|
+
* @param data.requestBody
|
|
2670
|
+
* @returns BulkCreateRulesResponseDto Bulk create completed
|
|
2577
2671
|
* @throws ApiError
|
|
2578
2672
|
*/
|
|
2579
|
-
public static
|
|
2580
|
-
data:
|
|
2581
|
-
): CancelablePromise<
|
|
2673
|
+
public static transactionRuleControllerBulkCreate(
|
|
2674
|
+
data: TransactionRuleControllerBulkCreateData
|
|
2675
|
+
): CancelablePromise<TransactionRuleControllerBulkCreateResponse> {
|
|
2582
2676
|
return __request(OpenAPI, {
|
|
2583
|
-
method: '
|
|
2584
|
-
url: '/api/v1/
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
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'
|
|
2588
2687
|
}
|
|
2589
2688
|
});
|
|
2590
2689
|
}
|
|
2591
2690
|
|
|
2592
2691
|
/**
|
|
2593
|
-
*
|
|
2594
|
-
* @
|
|
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
|
|
2595
2697
|
* @throws ApiError
|
|
2596
2698
|
*/
|
|
2597
|
-
public static
|
|
2699
|
+
public static transactionRuleControllerExport(
|
|
2700
|
+
data: TransactionRuleControllerExportData
|
|
2701
|
+
): CancelablePromise<TransactionRuleControllerExportResponse> {
|
|
2598
2702
|
return __request(OpenAPI, {
|
|
2599
2703
|
method: 'GET',
|
|
2600
|
-
url: '/api/v1/
|
|
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
|
+
}
|
|
2601
2713
|
});
|
|
2602
2714
|
}
|
|
2603
|
-
}
|
|
2604
2715
|
|
|
2605
|
-
export class PropertiesService {
|
|
2606
2716
|
/**
|
|
2607
|
-
* Get
|
|
2608
|
-
* @
|
|
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
|
|
2609
2722
|
* @throws ApiError
|
|
2610
2723
|
*/
|
|
2611
|
-
public static
|
|
2724
|
+
public static transactionRuleControllerGetStatistics(
|
|
2725
|
+
data: TransactionRuleControllerGetStatisticsData
|
|
2726
|
+
): CancelablePromise<TransactionRuleControllerGetStatisticsResponse> {
|
|
2612
2727
|
return __request(OpenAPI, {
|
|
2613
2728
|
method: 'GET',
|
|
2614
|
-
url: '/api/v1/
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
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'
|
|
2618
2736
|
}
|
|
2619
2737
|
});
|
|
2620
2738
|
}
|
|
2621
2739
|
|
|
2622
2740
|
/**
|
|
2623
|
-
* Get
|
|
2741
|
+
* Get transaction rule detail
|
|
2624
2742
|
* @param data The data for the request.
|
|
2625
|
-
* @param data.
|
|
2626
|
-
* @
|
|
2743
|
+
* @param data.ruleId Rule ID
|
|
2744
|
+
* @param data.region Region code for tenant context
|
|
2745
|
+
* @returns TransactionRuleResponseDto Rule details
|
|
2627
2746
|
* @throws ApiError
|
|
2628
2747
|
*/
|
|
2629
|
-
public static
|
|
2630
|
-
data:
|
|
2631
|
-
): CancelablePromise<
|
|
2748
|
+
public static transactionRuleControllerGetDetail(
|
|
2749
|
+
data: TransactionRuleControllerGetDetailData
|
|
2750
|
+
): CancelablePromise<TransactionRuleControllerGetDetailResponse> {
|
|
2632
2751
|
return __request(OpenAPI, {
|
|
2633
2752
|
method: 'GET',
|
|
2634
|
-
url: '/api/v1/
|
|
2753
|
+
url: '/api/v1/{region}/bean/transaction-rules/{ruleId}',
|
|
2635
2754
|
path: {
|
|
2636
|
-
|
|
2755
|
+
ruleId: data.ruleId,
|
|
2756
|
+
region: data.region
|
|
2637
2757
|
},
|
|
2638
2758
|
errors: {
|
|
2639
2759
|
401: 'Unauthorized',
|
|
2640
|
-
403: 'Forbidden -
|
|
2641
|
-
404: '
|
|
2760
|
+
403: 'Forbidden - not owner of rule',
|
|
2761
|
+
404: 'Rule not found'
|
|
2642
2762
|
}
|
|
2643
2763
|
});
|
|
2644
2764
|
}
|
|
2645
2765
|
|
|
2646
2766
|
/**
|
|
2647
|
-
* Update a
|
|
2767
|
+
* Update a transaction rule
|
|
2648
2768
|
* @param data The data for the request.
|
|
2649
|
-
* @param data.
|
|
2769
|
+
* @param data.ruleId Rule ID to update
|
|
2770
|
+
* @param data.region Region code for tenant context
|
|
2650
2771
|
* @param data.requestBody
|
|
2651
|
-
* @returns
|
|
2772
|
+
* @returns TransactionRuleResponseDto Rule updated successfully
|
|
2652
2773
|
* @throws ApiError
|
|
2653
2774
|
*/
|
|
2654
|
-
public static
|
|
2655
|
-
data:
|
|
2656
|
-
): CancelablePromise<
|
|
2775
|
+
public static transactionRuleControllerUpdate(
|
|
2776
|
+
data: TransactionRuleControllerUpdateData
|
|
2777
|
+
): CancelablePromise<TransactionRuleControllerUpdateResponse> {
|
|
2657
2778
|
return __request(OpenAPI, {
|
|
2658
2779
|
method: 'PUT',
|
|
2659
|
-
url: '/api/v1/
|
|
2780
|
+
url: '/api/v1/{region}/bean/transaction-rules/{ruleId}',
|
|
2660
2781
|
path: {
|
|
2661
|
-
|
|
2782
|
+
ruleId: data.ruleId,
|
|
2783
|
+
region: data.region
|
|
2662
2784
|
},
|
|
2663
2785
|
body: data.requestBody,
|
|
2664
2786
|
mediaType: 'application/json',
|
|
2665
2787
|
errors: {
|
|
2788
|
+
400: 'Validation failed',
|
|
2666
2789
|
401: 'Unauthorized',
|
|
2667
|
-
403: 'Forbidden -
|
|
2790
|
+
403: 'Forbidden - not owner of rule',
|
|
2791
|
+
404: 'Rule not found',
|
|
2792
|
+
409: 'Resource conflict - rule is being modified by another process'
|
|
2668
2793
|
}
|
|
2669
2794
|
});
|
|
2670
2795
|
}
|
|
2671
2796
|
|
|
2672
2797
|
/**
|
|
2673
|
-
* Delete a
|
|
2798
|
+
* Delete a transaction rule
|
|
2674
2799
|
* @param data The data for the request.
|
|
2675
|
-
* @param data.
|
|
2676
|
-
* @
|
|
2800
|
+
* @param data.ruleId Rule ID to delete
|
|
2801
|
+
* @param data.region Region code for tenant context
|
|
2802
|
+
* @returns void Rule deleted successfully
|
|
2677
2803
|
* @throws ApiError
|
|
2678
2804
|
*/
|
|
2679
|
-
public static
|
|
2680
|
-
data:
|
|
2681
|
-
): CancelablePromise<
|
|
2805
|
+
public static transactionRuleControllerDelete(
|
|
2806
|
+
data: TransactionRuleControllerDeleteData
|
|
2807
|
+
): CancelablePromise<TransactionRuleControllerDeleteResponse> {
|
|
2682
2808
|
return __request(OpenAPI, {
|
|
2683
2809
|
method: 'DELETE',
|
|
2684
|
-
url: '/api/v1/
|
|
2810
|
+
url: '/api/v1/{region}/bean/transaction-rules/{ruleId}',
|
|
2685
2811
|
path: {
|
|
2686
|
-
|
|
2812
|
+
ruleId: data.ruleId,
|
|
2813
|
+
region: data.region
|
|
2687
2814
|
},
|
|
2688
2815
|
errors: {
|
|
2689
2816
|
401: 'Unauthorized',
|
|
2690
|
-
403: 'Forbidden -
|
|
2691
|
-
404: '
|
|
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'
|
|
2692
2849
|
}
|
|
2693
2850
|
});
|
|
2694
2851
|
}
|
|
@@ -3802,163 +3959,6 @@ export class InvestmentService {
|
|
|
3802
3959
|
}
|
|
3803
3960
|
}
|
|
3804
3961
|
|
|
3805
|
-
export class ReportingService {
|
|
3806
|
-
/**
|
|
3807
|
-
* Get portfolio value trends
|
|
3808
|
-
*
|
|
3809
|
-
* Returns time series data of portfolio net worth.
|
|
3810
|
-
*
|
|
3811
|
-
* **Multi-currency Support:**
|
|
3812
|
-
* - `series[].byCurrency` - Currency breakdown for each data point
|
|
3813
|
-
* - `byCurrency` - Separate time series grouped by currency
|
|
3814
|
-
* - `warnings` - Exchange rate warnings if conversion failed
|
|
3815
|
-
*
|
|
3816
|
-
* **Parameters:**
|
|
3817
|
-
* - `period`: Time period (1m, 3m, 6m, 1y)
|
|
3818
|
-
* - `granularity`: Data granularity (day, week, month)
|
|
3819
|
-
*
|
|
3820
|
-
* @param data The data for the request.
|
|
3821
|
-
* @param data.region Region code for tenant context
|
|
3822
|
-
* @param data.period Time period
|
|
3823
|
-
* @param data.granularity Data granularity
|
|
3824
|
-
* @returns PortfolioTrendsResponseDto Trends retrieved successfully
|
|
3825
|
-
* @throws ApiError
|
|
3826
|
-
*/
|
|
3827
|
-
public static reportingControllerGetPortfolioTrends(
|
|
3828
|
-
data: ReportingControllerGetPortfolioTrendsData
|
|
3829
|
-
): CancelablePromise<ReportingControllerGetPortfolioTrendsResponse> {
|
|
3830
|
-
return __request(OpenAPI, {
|
|
3831
|
-
method: 'GET',
|
|
3832
|
-
url: '/api/v1/{region}/reporting/portfolio/trends',
|
|
3833
|
-
path: {
|
|
3834
|
-
region: data.region
|
|
3835
|
-
},
|
|
3836
|
-
query: {
|
|
3837
|
-
period: data.period,
|
|
3838
|
-
granularity: data.granularity
|
|
3839
|
-
},
|
|
3840
|
-
errors: {
|
|
3841
|
-
401: 'User not authenticated'
|
|
3842
|
-
}
|
|
3843
|
-
});
|
|
3844
|
-
}
|
|
3845
|
-
|
|
3846
|
-
/**
|
|
3847
|
-
* Get cash-flow trends
|
|
3848
|
-
*
|
|
3849
|
-
* Monthly income / expense / netSavings over a fixed N-month window
|
|
3850
|
-
* (current month + N−1 prior). Missing months are zero-filled (flow metric).
|
|
3851
|
-
*
|
|
3852
|
-
* **Parameters:**
|
|
3853
|
-
* - `period`: 1m | 3m | 6m | 1y (default 6m)
|
|
3854
|
-
* - `granularity`: accepted for API symmetry; v1 returns month buckets
|
|
3855
|
-
*
|
|
3856
|
-
* @param data The data for the request.
|
|
3857
|
-
* @param data.region Region code for tenant context
|
|
3858
|
-
* @param data.period Time period
|
|
3859
|
-
* @param data.granularity Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
3860
|
-
* @returns CashFlowTrendsResponseDto Cash-flow trends retrieved successfully
|
|
3861
|
-
* @throws ApiError
|
|
3862
|
-
*/
|
|
3863
|
-
public static reportingControllerGetCashFlowTrends(
|
|
3864
|
-
data: ReportingControllerGetCashFlowTrendsData
|
|
3865
|
-
): CancelablePromise<ReportingControllerGetCashFlowTrendsResponse> {
|
|
3866
|
-
return __request(OpenAPI, {
|
|
3867
|
-
method: 'GET',
|
|
3868
|
-
url: '/api/v1/{region}/reporting/cash-flow/trends',
|
|
3869
|
-
path: {
|
|
3870
|
-
region: data.region
|
|
3871
|
-
},
|
|
3872
|
-
query: {
|
|
3873
|
-
period: data.period,
|
|
3874
|
-
granularity: data.granularity
|
|
3875
|
-
},
|
|
3876
|
-
errors: {
|
|
3877
|
-
401: 'User not authenticated'
|
|
3878
|
-
}
|
|
3879
|
-
});
|
|
3880
|
-
}
|
|
3881
|
-
|
|
3882
|
-
/**
|
|
3883
|
-
* Generate portfolio snapshot
|
|
3884
|
-
*
|
|
3885
|
-
* Manually generate a portfolio snapshot for a specific date.
|
|
3886
|
-
*
|
|
3887
|
-
* **Multi-currency Support:**
|
|
3888
|
-
* - Fetches balances grouped by currency
|
|
3889
|
-
* - Uses user's baseCurrency setting for conversion
|
|
3890
|
-
* - Stores exchange rates and warnings
|
|
3891
|
-
*
|
|
3892
|
-
* **Use Cases:**
|
|
3893
|
-
* - Testing snapshot generation
|
|
3894
|
-
* - Force regeneration after data correction
|
|
3895
|
-
* - Initial setup for new users
|
|
3896
|
-
*
|
|
3897
|
-
* @param data The data for the request.
|
|
3898
|
-
* @param data.region Region code for tenant context
|
|
3899
|
-
* @param data.requestBody Optional date (defaults to today)
|
|
3900
|
-
* @returns GenerateSnapshotResponse Snapshot generated successfully
|
|
3901
|
-
* @throws ApiError
|
|
3902
|
-
*/
|
|
3903
|
-
public static reportingControllerGenerateSnapshot(
|
|
3904
|
-
data: ReportingControllerGenerateSnapshotData
|
|
3905
|
-
): CancelablePromise<ReportingControllerGenerateSnapshotResponse> {
|
|
3906
|
-
return __request(OpenAPI, {
|
|
3907
|
-
method: 'POST',
|
|
3908
|
-
url: '/api/v1/{region}/reporting/snapshots/generate',
|
|
3909
|
-
path: {
|
|
3910
|
-
region: data.region
|
|
3911
|
-
},
|
|
3912
|
-
body: data.requestBody,
|
|
3913
|
-
mediaType: 'application/json',
|
|
3914
|
-
errors: {
|
|
3915
|
-
400: 'Invalid date format',
|
|
3916
|
-
401: 'User not authenticated'
|
|
3917
|
-
}
|
|
3918
|
-
});
|
|
3919
|
-
}
|
|
3920
|
-
|
|
3921
|
-
/**
|
|
3922
|
-
* Backfill portfolio snapshots
|
|
3923
|
-
*
|
|
3924
|
-
* Generate snapshots for a date range (historical data backfill).
|
|
3925
|
-
*
|
|
3926
|
-
* **Multi-currency Support:**
|
|
3927
|
-
* - Each snapshot includes multi-currency data
|
|
3928
|
-
* - Uses exchange rates available at generation time
|
|
3929
|
-
* - Warnings stored for missing exchange rates
|
|
3930
|
-
*
|
|
3931
|
-
* **Best Practices:**
|
|
3932
|
-
* - Use for initial setup after account configuration
|
|
3933
|
-
* - Run during low-traffic periods for large date ranges
|
|
3934
|
-
* - Existing snapshots are skipped (not regenerated)
|
|
3935
|
-
*
|
|
3936
|
-
* @param data The data for the request.
|
|
3937
|
-
* @param data.region Region code for tenant context
|
|
3938
|
-
* @param data.requestBody
|
|
3939
|
-
* @returns BackfillSnapshotsResponse Backfill completed successfully
|
|
3940
|
-
* @throws ApiError
|
|
3941
|
-
*/
|
|
3942
|
-
public static reportingControllerBackfillSnapshots(
|
|
3943
|
-
data: ReportingControllerBackfillSnapshotsData
|
|
3944
|
-
): CancelablePromise<ReportingControllerBackfillSnapshotsResponse> {
|
|
3945
|
-
return __request(OpenAPI, {
|
|
3946
|
-
method: 'POST',
|
|
3947
|
-
url: '/api/v1/{region}/reporting/snapshots/backfill',
|
|
3948
|
-
path: {
|
|
3949
|
-
region: data.region
|
|
3950
|
-
},
|
|
3951
|
-
body: data.requestBody,
|
|
3952
|
-
mediaType: 'application/json',
|
|
3953
|
-
errors: {
|
|
3954
|
-
400: 'Invalid date format or range',
|
|
3955
|
-
401: 'User not authenticated',
|
|
3956
|
-
409: 'Backfill already in progress for this user'
|
|
3957
|
-
}
|
|
3958
|
-
});
|
|
3959
|
-
}
|
|
3960
|
-
}
|
|
3961
|
-
|
|
3962
3962
|
export class ApiKeysService {
|
|
3963
3963
|
/**
|
|
3964
3964
|
* Create API key
|